ZAS Communicator
ZAS Communicator Opensource Project: secure voice, file transfer and text chat.
Комментарии, советы, предложения?
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Нормы пользования. Некоторые права на материалы сайта защищены по условиям лицензии CreativeCommons. Движок
openSpace 0.8.25a и дизайн сайта © 2006-2007 Vlad "SATtva" Miller.
|
||||||||||||||||||||||||||
В любом случае придется хранить, обновлять и доступаться до информации, соединяющей идентификатор абонента в системе, произвольное описание абонента и его текущие IP:port. Альтернативы две – выделенный сервер или распределенная DHT. Cерверная система намного проще, однако сервера крайне уязвимы. Через проблему cервера или DHT уже прошли p2p файлообменные сети.
Можно найти всех абонентов, содержащих в user info подстроку gegel и/или подстроку torphone, например. И показывать, скажем, только тех, у которых в user id есть последовательность битов 0x12345.
http://www.zas-comm.ru
Невозможно. Приняты меры. Для этого есть аутентификация.
1. При установлении связи происходит взаимная аутентификация сторон с помощью электронной подписи. Чтобы аутентификация работала, мне нужно один раз убедиться, что мой визави Вася Печкин действительно имеет user id 1234 5678 .... (всего 256 бит). После чего я добавляю Васю Печкина в доверенные юзера.
2. Кроме того, в нижней части окна показываетcя число: session id. Это хеш от общего секрета, установленного при Diffie Hellman обмене с другой стороной. Session id должно быть одинаково у обеих сторон; можно взаимно свериться в любой момент.
3. Чтобы создать клон ника, нужно cгенерить фальшивую пару ключей подписи. Для этого нужно сгенерировать другой прообраз для заданного значения хеш функции размером 256 бит. Притом прообраз должен выглядеть как валидный ключ.
4. Можно стать человеком посередине если украсть секретный ключ подписи и пароль, которым закрыт ключ; но это уже не из области криптографии.
http://www.zas-comm.ru
И напишу! – Чхал я на ваш этот ZAS глюкатор, если даже на главной якобы русской странице вместо русского пиндосовская англосаксятина вроде этой -
Это что по-вашему – русский??
Глубоко имел в виду тех, кто не любит свой родной язык! И их поделия – тоже!
Как-то плохо это согласуется с анонимностью участников и их сеансов связи.
А нет других сетей, предлагающих настоящую анонимность (ну разве что Freenet), поэтому любой продукт, требующий анонимности, будет завязан на Tor в любом случае.
Это как латынь в средние века. Хочешь написать точно, правильно и грамотно — пиши на языке оригинала. Язык CS — английский.
В ZAS каждый участник имеет произвольное текстовое поле, в которое он может поставить любые слова, по которым его будет возможно найти в DHT. Участники идентифицируются 256-битным userid, поиск нужен только для удобства установления связи в первый раз. Текстового поля можно и не вводить; а можно и изменить в любой момент.
Можно одновременно работать от нескольких разных identities.
Не бывает и не может быть общедоступных сетей, обеспечивающих анонимность. TOR и Freenet – не исключения.
Анонимность может обеспечить система прокси серверов, где все верифицированы, то есть личная система и только для своих хозяев. Например, ботнеты или тот же Скайп.
Протокол ZAS допускает туннели с произвольным числом хопов. Это сделано не столько для анонимности, а для борьбы с проблемой NAT loopback. Сейчас эта фича не используется. Но в принципе можно сделать и анонимизацию; с теми же неизбежными проблемами с недоверием что и у всех остальных систем.
http://www.zas-comm.ru
Необщедоступные сети неанонимны заведомо. Даже GCHQ это понимает.
комментариев: 393 документов: 4 редакций: 0
Опишите в конце концов Ваш протокол в виде, как, например, описан OTR. Или хоть как нибудь. А то приходится лишь догадываться о вашей аутентификации.
Вот только непонятно – он генерирует на разных машинах разные TOX ID, как и TorChat. А если нужно запустить с другой машины? Как контакт-лист свой сохранить и залогиниться под первым TOX ID, который уже безопасно передан всем знакомым?
Посмотрите же наконец файл diffie_hellman.cpp; там предельно очевидно.
Каждый пользователь идентифицируется 256-битным userid.
Userid вычисляется как хеш от открытого ключа проверки подписи этого пользователя. Userid = hash(K).
1) A->B:
* A выбирает g,X,p. (g – генератор, X – секретное число, p – модуль). Посылает g,(g^X)%p, p.
2) B->A:
*B выбирает секретное число Y. вычисляет общий секрет S = ((g^X)^Y)%p
из общего секрета получаются разные ключи для шифрования и MAC данных (MAC данных и аутентификация протокола – разные сущности).
* вычисляется ответное значение: (g^Y)%p,
* вычисляется хеш: H = hash { g, p, g^X%P, g^Y%P } от открытых значений.
* H подписывается подписью B: Sb = SignB(H)
* Берется { Sb, Kb }. Kb = ключ проверки подписи B. Эти значения зашифровываются потоковым шифром с добавлением MAC.
Response = cipher { Sb, Kb, MAC }
Посылается значение (g^Y)%P и Response.
3) A->B:
* A вычисляет общий секрет S = ((g^Y)^X)%p, из секрета получает ключи для MAC и шифрования,
* расшифровывает Response
* вычисляется хеш: H = hash { g, p, g^X%P, g^Y%P } от открытых значений.
* проверяет MAC, проверяет подпись B. Если известно что userid B соответствует Васе Печкину, то A убедился в том, что B действительно Вася Печкин.
* подписывает H подписью A: Sa = SignA(H)
* Берется { Sa, Ka }. Ka = ключ проверки подписи A. Эти значения зашифровываются потоковым шифром с добавлением MAC.
Посылается значение Confirmation = cipher { Sb, Kb, MAC }
4) B расшифровывает Confirmation, проверяет MAC и подпись. Если B известно что userid A cоответствует Пупкину, то B убедился в том, что A действительно Пупкин.
Все ключи MAC и шифрования во всех направлениях разные. Userid передаются по каналу в зашифрованном виде. Протокол обеспечивает сильную взаимную аутентификацию, невидимую третьей стороне. Обеспечивается и отрицаемость.
Примерно так. Вспомогательные детали типа проверки валидности g,P – отдельная история; здесь не приведены для ясности.
Т.е. код никто не подписывает?
Только говношифропанки считают, что спецификаця на код — это сам код. Люди сначала пишут спеки, потом к спекам код. Шифрпанки сначала пишут код, а соответствующие спеки часто даже сами не знают.
Приятно иметь дело с умным интеллигентным собеседником. Вы cами хоть что-нибудь полезное делать умеете?
Если вам не нравится устройство мира, обращайтесь в лигу сексуальных реформ. © Остап Бендер.
http://www.zas-comm.ru
комментариев: 9796 документов: 488 редакций: 5664
Так это же классический разоблачительный литературный портрет жулика, авантюриста, демагога и манипулятора. А вы его так опрометчиво цитируете в качестве аргументации своих убеждений.
Наверное, ваш проект делается по методике Остапа Бендера. Нью-Васюки прилагаются? Международный шахматный турнир когда будет?
А по поводу сабжа: " Предмет моей лекции — плодотворная дебютная идея. Что такое, товарищи, дебют и что такое, товарищи, идея? Дебют, товарищи, — это «Quasi una fantasia». А что такое, товарищи, значит идея? Идея, товарищи, — это человеческая мысль, облечённая в логическую шахматную форму."