LINUX.ORG.RU
ФорумTalks

Нетехнический вопрос про TSL - передача открытого ключа


0

1

допустим есть две железяки, каждая со своим RSA ключом, между железяками надо установить tcp соединение через ssl

как я правильно накурил манов (в API я пока не лез) надо хотябы на одной железяке получить получить публичный ключ с другой (очевидно, сделать это достоверно исключая mitm)?

отсюда вытекает второй вопрос: насколько адекватно будет передавать ключ в qr-code

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

Пусть распечатывают в 2-х экземплярах, и несут оффлайн с подписью генерального и печатью фирмы. Ну, так банки делают :-)

Black_Shadow ★★★★★
()
Ответ на: комментарий от Deleted

In the original description, the Diffie–Hellman exchange by itself does not provide authentication of the communicating parties and is thus vulnerable to a man-in-the-middle attack.

оттуда

да и вообще этот протокол не решает проблему доверия открытому ключу

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Тогда только HASH ключа на бумажке. Ну или web of trust, но там тоже без обмена хешами в аналоговом виде никак не обойтись.

Deleted
()
Последнее исправление: somestuff (всего исправлений: 1)

подписать ключ с помощью gpg. естественно останется вопрос аутентчиности публичного ключа, но 100% гарантию дает только личная встреча и с человеком которого вы знаете лично. ведь даже человек может прийти другой.

prizident ★★★★★
()
Ответ на: комментарий от Deleted

Зараженная распознавалка qr может изменить ключ. Ну и в любом случае бумажку с qr нужно показывать при личной встрече, поэтому лучше просто переписать hash.

Deleted
()
Последнее исправление: somestuff (всего исправлений: 1)

Открытый ключ содержится в сертификате

Генерируешь свой CA сертификат, передаёшь его клиенту любым способом, чтобы он его у себя установил, проверить на предмет MITM можно по телефону, просишь клиента посмотреть хэш сертификата и прочитать тебе его вслух, маловероятно, что спецслужбы научились подделывать речь в реалтайме и без предварительной подготовки.

Потом клиент генерирует у себя CSR и присылает тебе, ты подписываешь ему сертификат

Harald ★★★★★
()
Ответ на: комментарий от Deleted

забыл написать о том что основное условие отсутствие CA, иначе ответом на весь топик было бы RTFM

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

Harald ★★★★★
()
Ответ на: комментарий от Deleted

ну если заражен девайс, то тут уже ничего не поделать

Deleted
()
Ответ на: комментарий от Deleted

ну тогда смысла шифровать особо нету, можешь плейн-текстом гонять, результат тот же будет :)

Harald ★★★★★
()
Ответ на: комментарий от Deleted

установку CA, генерирование ключей, отправку тебе CSR и получение от тебя сертификата - всё это можно автоматизировать, чтобы делалось одной кнопкой «сделать за...сь»

Но проверка голосом остаётся в силе

Harald ★★★★★
()
Ответ на: комментарий от Harald

Но проверка голосом остаётся в силе

Ну и ты естественно, узнавать клиента по голосу должен. И он тебя

Harald ★★★★★
()
Ответ на: комментарий от Harald

сертификат то зачем? а так железяки находятся рядом, по условию

Deleted
()
Ответ на: комментарий от af5

вопрос, по сути, как обойтись без pki. так как довернного сертификационного центра нет в принципе

Deleted
()

А другая железяка разве будет уверена, что общается именно с первой, а не с кем-то ещё?

NeXTSTEP ★★
()
Ответ на: комментарий от Deleted

Надо в обе железяки поместить публичные ключи, руками поместить, прошить блеать. Одна железяка подписывает свои сообщения _своим_ приватным ключем, другая проверяет подпись публичным той железяки, от которой пришло сообщение. Все. Раз нет доверенного центра сертификации, все что ты можешь - это убедиться, что пришедшее сообщение подписано приватным ключем, соответствующим заранее известному публичному. Подразумевая, что публичный никто подменить не мог. Убедиться, что публичный ключ не подменили, можно получив его подписанным нормальной ЭЦП, с центром сертификации, либо на дискетке при личной встрече, либо зашифрованным симметричным шифрованием с передачей ключа голосом или другим надежным способом.

shimshimshim
()
Ответ на: комментарий от NeXTSTEP

допустим они лежат на одном столе

Deleted
()
Ответ на: комментарий от Deleted

Не является, если есть подозрения, что атакующий активно мониторит коммуникации и может подменить код другим кодом, сделанным самостоятельно. Можно в qr-код кодировать сообщение, зашифрованное симметричным способом и передавать ключ по телефону или при личной встрече, тогда будет надежно. Можно публичные ключи публиковать в надежном публичном месте - допустим на где-нибудь на сайте (будет аналог доверенного центра) - но это если исключить возможность взлома самого сайта. Вообще все зависит от модели угроз, от чего защищаемся, от хакера васи, от ФСБ с MitM или от бандюганов с паяльниками.

shimshimshim
()
Ответ на: комментарий от Deleted

так как довернного сертификационного центра нет в принципе

ну так организуй его, в чём проблема?

Harald ★★★★★
()
Ответ на: комментарий от Deleted

предпологается что qr-code считывается прямо с экрана устройства

Если я захочу устроить целенаправленную MITM атаку на такую систему, мне хватит squid и пары скриптов. И никакие qr коды с экрана не спасут, я поменяю их по пути от тебя к пользователю на свои.

Deleted
()
Ответ на: комментарий от Deleted

Вообще между qr-кодом и передачей обычным текстом нет никакой разницы. Одно в другое преобразуется мгновенно при помощи всем известных алгоритмов. То есть либо оба варианты для твоей задачи секурны,, либо оба не секурны, при условии, что в qr-коде кодируется текс теб изменений.

Ты кстати уверен, что вообще имеешь право делать устройства с шифрованием? Они ведь не пройдут сертификацию, если у вас в конторе нет программистов, получивших определенное число часов обучения по теме ИБ - постановление правительства РФ #313. И вообще, для каждой области где используется шифрование, есть свои требования и свои классы защиты. Если просто вкрячить обмен ключами в железки без соответствия законам РФ, в случае чего все это шифрование будет филькиной грамотой, в суде проигнорируется.

shimshimshim
()
Ответ на: комментарий от Deleted

ты их перехватишь в воздухе? смотри устройство публикует свой публичный ключ на своём экране, второе устройство считывает его с экрана первого устрйства, вопрос - где ты впихнешь свой сквид?

Deleted
()
Ответ на: комментарий от Deleted

Я полумал, что qr код будет читаться телефоном из браузера пользователя.

Deleted
()
Ответ на: комментарий от shimshimshim

если у вас в конторе

это планируется опенсурсный проект для параноиков, и не только, но полагается что они никому не доверяют, в тч мне

Deleted
()
Ответ на: комментарий от Deleted

ты их перехватишь в воздухе? смотри устройство публикует свой публичный ключ на своём экране, второе устройство считывает его с экрана первого устрйства, вопрос - где ты впихнешь свой сквид?

А кроме экрана у устройств других способов связи между собой нету? Если их физически можно поместить рядом для обмена ключами, почему бы вообще симметричное шифрование не использовать? А ключ по кабелю передавать

Harald ★★★★★
()
Ответ на: комментарий от Harald

для обмена данными будет симметричное, открытый ключ на этапе «знакомства» нужен и для идентификации

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

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.