Приветствую всех участников обсуждения.
> > Ну да ладно, главное, что без случайной добавки. >... Вы имели в виду. Не нижесказанное ли случайно?
Вероятно имеется ввиду аналог salt в *nix системах, который сохраняется вместе с паролем. В S-mail, насколько я понимаю, такого нет.
> Схема защиты ключа (примерная на основе декомпиляции, как я > её понимаю): > После генерации пара ключей (шифра и подписи) > зашифровывается симметричным алгоритмом > по котенкации значений имя+пароль+"65536" > Это значение разбивается на пять(?) фрагментов из которых > два(?) избыточные > (судя по алгоритму цифры c ? могут меняться). Фрагменты > дополняются > случайными значениями > из на основе полученных из генератора случаных чисел > SRandom > и фрагментами открытых ключей. > После некоторых запутанных манипуляций получившиеся > фрагменыт отсылаются на сервер где > зашифровываются высланными туда же ключами вида > имя+пароль+"i", где i E [0;5]
Вот как я понял схему защиты секретного ключа:
После генерации пары ключей их секретные части объединяются в один массив, который шифруется при помощи CAST128 с ключом SHA(userName, password, 65536). Понятно, что userName - имя пользователя, password - его пароль. Далее используется классическая схема разделения секретов (3,5), что означает, что из данных (в данном случае это зашифрованные секретные ключи) генерируется 5 частей, из которых любых трех достаточно, чтобы восстановить исходные данные. При наличии у злоумышленника любых двух задача получения данных нерешаема.
(Bruce Schneier "Applied Cryptography" гл. 23.2). При генерации этих пяти частей как раз и используются случайные данные. Далее каждая из полученных частей сохраняется на своем сервере ключей. В качестве пароля для доступа к каждой части используется SHA(userName, password, i), где i - номер части.
> Сама пересылка с сервером идёт по https://, так что риск > подмена пересылаемых значений (которого опасается > CyberVlad ) не превышает риска для любых схем с открытым > ключём.
Все пересылки секретных частей происходят по SSL, причем для каждого из пяти серверов есть свой SSL сертификат (не используется т.н. wildcard сертификаты). Сервера секретных ключей имеют адреса ks[i].s-mail.com, где i - номер сервера.
> Это конечно очень примерная схема.
Схема очень близка к оригиналу :) Там в хелпе так все и написано.
> > А в человеческую фантазию я не верю. > Лично я для шифров использую буквенно-цифровую смесь > набранную случайным набором > на клаве, частично зашитую на макрос, так что остаётся > запомнить маленький фрагмент 5-8 с.
> НАПРИМЕР: > > nk}B084YblfSDb34b`-fKJRF-434UFNA4n;jf=4onf
Мощно!!!
У меня пароли поменьше :)
WBR N. Killer
|