2016-04-22 2 views
0

У меня есть инструмент, который вручную анализирует трафик ssl/http с помощью библиотеки openssl. В большинстве случаев это нормально работает, но не удалось расширить клиентский/серверный расширение usese Extended Master Secret.TLS Extended Master Secret- расчет сеанса hash

Сбой на последнем этапе рукопожатия, где выполняется проверка данных, введенных в действие.

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

К сожалению, это не работает для меня.

Таким образом, мой вопрос, который именно для пакетов tls должен быть хэширован для генерации правильного главного ключа?

Будет благодарен за любые комментарии. Спасибо.

PS: Я загрузил экспериментальную версию openssl из github, где эта функциональность реализована.

openssl s_server/s_client использует расширение corespond, Ican видит его в Wireshark и способен декодировать трафик с помощью файла pem сервера.

+0

Stack Overflow - это сайт для вопросов программирования и развития. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше спросить [Суперпользователя] (http://superuser.com/) или [Информационный стековый обмен] (http://security.stackexchange.com/). Также [Где я размещаю вопросы о Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww

+0

openssl - это криптографическая программа программирования, и это вопрос, о какой функции мне нужно позвонить (и в каком порядке) перед вызовом функции tls1_generate_master_secret. Почему этот вопрос не о разработке? Благодарю. – user1503944

+0

Вопрос не содержит ссылок на код, даже строки из вашего специального инструмента или OpenSSL. Это не имеет никакого отношения к программированию: *** «... мой вопрос, который точно должен упаковывать, должен быть хэширован для генерации правильного главного ключа» ***. Вы должны перенести его на сайт, разработанный для вашего вопроса. Или, оставьте его здесь и не получите ответов. Одевают. – jww

ответ

1

Вам необходимо выполнить следующие действия для создания хэш сессии

1) Добавляет все рукопожатия сообщения, кроме зашифрованным рукопожатий в порядке прибытия, пожалуйста, не включают в себя заголовок записи для рукопожатия. только сообщения и заголовки сообщений

2) Hash их основе, просто сказать, алгоритм хеширования изменяется в зависимости от Cipher Suite, и Protocal версии TLS1 и TLS1.1 его смесь SHA1 и MD5 (16 бит каждый) TLS1. 2 его главным образом SHA256 или SHA384 на основе набора шифров.

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