Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
;) Ну общая-то цель понятна...
24.03.04 16:38 Число просмотров: 1485
Автор: cybervlad <cybervlad> Статус: Elderman
|
> > Если ониужеизвестны, зачем шифровать на открытых > > ключах? > > Аутентифмкация и выработка сеансового ключа для > симетричного шифрования. ;) Ну общая-то цель понятна...
Я имел ввиду, если перед началом соединения ключи уже известны, то можно просто по Диффи-Хеллмену посчитать общий секрет, зашифровать на нем случайно сгенеренный сеансовый ключ (ну, плюс метку времени, с учетом перечисленных тобой угроз), получить от другой стороны аналогичную посылку и канал готов. Но раз тут набор из большого количества точек, а не звезда, то это не пойдет.
> > Посылаем метку времени клиента, зашифрованную на > открытом > > ключе сервера? И зачем она серверу? > > Временные штампы предотвращают повтор сообщений. Т.е. в роли случайного числа. Ок.
> > для работы. Зачем сюда еще добавлять метку времени > сервера > > и возвращать метку клиента? > > Так клиент убеждается в подлинности сервера, что тот > получил первое сообщение и может его расшифровать. Ок
> > > Step 3. Client --> Server > > > Esr_pub_key [ HASH[SID, SK, Rs] ] > > А этот шаг вообще непонятно зачем > > Этот шаг для подтверждения того, что клиент получил > правильные SID и SK. ИМХО - лишнее. Если он получил их неправильными, то после расшифрования потока от него бред получится. Хотя, одна посылка - не принципиально...
> запрашивает соединение). На самом деле это две полностью > равноправные точки. ПРинципиальный момент...
> Думаю, здесь есть два недостатка. > 1) Один раз перехватив зашифрованный ID клиента можно будет > создавать большое колличесво соединений, закрывающихся по Согласен, без тайм-штампа - никак.
> 2) Также клиенту можнобудет отправлять старые ключи, > прехватив новый - установлденно неверное соединение. Такого А цель? DoS? Так ее и в предлагаемой схеме можно устроить, если исходить из того, что злоумышленник может подменять сообщения в канале. КЛиент будет отвечать хешем с непарвильным SID,SK, и тот же результат: "установлденно неверное соединение"
Может так:
"инициатор соединения" - Клиент
"принимающий соединение" - Сервер
E,pkserv - шифрование на открытом ключе сервера
E,pkclient - шифрование на открытом ключе клиента
E,K - шифроание на общем секретном ключе
Клиент:
посылает E,pkserv(time1,key1)
Сервер:
посылает E,pkclient(time2,key2,time1)
вычисляет K=key1 xor key2
Клиент:
проверяет time1
вычисляет K=key1 xor key2
посылает E,K(time2)
Сервер:
проверяет time2
По шагам одинаково, ибо хендшейк все равно, меньше чем за 3 не сделать...
|
|
|