2013-12-08 2 views
2

В сообщениях TLS hanshake Клиент отправляет предварительный мастер-сервер на Сервер.Разница между основным ключом и ключом сеанса в TLS

Обе стороны создают главный ключ и используют его для получения ключей сеанса для TLS. Мой вопрос: почему они не просто главный ключ в качестве симметричного ключа для шифрования сообщения? Зачем им нужно извлекать из него мастер-ключ?

Благодаря,

+1

Этот вопрос не соответствует теме, потому что речь идет о безопасности, а не о программировании. Это было бы более подходящим для http://security.stackexchange.com –

ответ

4

1) Главный секрет имеет фиксированный размер (48 байт), который часто меньше, чем количество ключевого материала, необходимого для симметричных ключей. Например, для набора шифров TLS_RSA_WITH_AES_256_CBC_SHA требуются два симметричных ключа длиной 32 байта каждый, два вектора инициализации длиной 16 байт каждый и два секреты MAC длиной 20 байтов каждый, всего 136 байтов.

2) Протокол TLS допускает множественные соединения в пределах его сеансов. Таким образом, даже если мастер-секрет достаточно длинный, чтобы обеспечить весь материал для одного соединения, не было бы достаточно для всех возможных соединений.

3) Процесс TLS генерации симметричных ключей из основной тайны использует односторонние хэши для защиты главного тайна от злоумышленника, который знает некоторые симметричные ключи. Если главный секрет и симметричные ключи были одинаковыми (или легко вычислимыми друг от друга), эта гарантия безопасности была бы невозможна.

+0

Отличный ответ –

Смежные вопросы