Защищённый сервис обмена сообщениями
От: JacobR  
Дата: 11.10.21 12:55
Оценка:
Здравствуйте, коллеги.
На “тимбилдинге”, возник такой вопрос, а возможно ли организовать такой сервис обмена сообщений, в котором невозможно было бы прочитать сообщения даже имея возможность модифицировать код сервиса, без знания пароля пользователей.
Видится такая схема:
На клиенте задается логин, пароль, генерятся соль, ключи для RSA Kpub, Kpr, приватный ключ зашифровывается с помощью пароля и соли и таким образом на сервере для каждого пользователя храниться:
соль, публичный ключ и зашифрованный приватный.

Процесс отправки сообщения выглядит так:
Клиент через TLS/SSL соединяется с сервером, проходит какая-то авторизация, сервер удостоверяется что клиент это тот самый клиент, дальше сервер посылает клиенту открытый ключ адресата, и затем клиент шифрует сообщение открытым ключом (или генерирует ключ для АЕS им шифрует письмо, а сам ключ AES уже шифрует открытым ключом адресата), и шифрованное сообщение отправляется на сервер, где его получит адресат, который сначала своим паролём расшифрует свой приватный ключ и следом текст сообщения.
В такой схеме данные на сервере хранятся зашифрованными, ключей к расшифровке сообщений на сервере нет, без знания пароля клиента, расшифровать тексты писем за исключением брутфорса нельзя. Но все ровно это не защищает от того, что на сервере могут установить “MITM” в котором будут отдавать открытый ключ не адресата, а “свой”, таким образом прослушивая переписку. Выглядит так что это не решаемая задача, либо каждый участник переписки должен иметь подписанные своим сертификатом открытые ключи, что конечно не масштабируемо на миллионы пользователей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.