Обмен ключами Диффи-Хеллмана по сети или любой другой обмен ключами - PullRequest
0 голосов
/ 04 октября 2018

Каков правильный подход к созданию сквозного зашифрованного сервиса?

Мой мыслительный процесс -

  1. Создание открытых ключей и закрытых ключей для пользователя, передача ключа с использованием открытого ключа получателю на этапе рукопожатия (когда два пользователя общаются в чатеинициировать чат)

  2. Как только ключи получены обеими сторонами, я предполагаю, что библиотека pycrypto может быть использована для шифрования сообщения на стороне Tx, и то же самое можно расшифровать на стороне Rx, используяобщий ключ на первом шаге.

Моя проблема - как я могу добиться обмена ключами DH?У нас есть библиотеки в Python?

PS: приложение создается с использованием gRPC,

Спасибо

1 Ответ

0 голосов
/ 04 октября 2018

Как насчет того, чтобы не изобретать велосипед заново:

import socket
import ssl
s = socket.socket(...)
secure = ssl.wrap_socket(s, keyfile="mykey", certfile="mycert")

openssl установит сеанс ssl и выполнит согласование.После этого вы можете общаться через защищенную розетку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...