В дополнение к ответу Brian Phillips: существует также мерзавец-cvsserver , который функционирует как сервер CVS, но на самом деле репозиторий мерзавца доступа..., но он имеет некоторые ограничения.
Он будет прыгать, если "флаг равенства" (также известный как «нулевой флаг») в регистре FLAGS
. Это устанавливается в результате арифметических операций или таких инструкций, как TEST
и CMP
.
Например: (если память мне не изменяет, это правильно:
Вы можете использовать схему ответа на запрос. Скажем, и клиент, и сервер знают секрет S. Тогда сервер может быть уверен, что клиент знает пароль (не раскрывая его):
Изменить:
Здесь есть проблема с актуальностью R и тем фактом, что HTTP не имеет состояния. Это можно сделать, если сервер создаст секрет, назовем его Q, который знает только сервер . Затем протокол выглядит следующим образом:
Обратите внимание, поскольку H (R, Q) не может быть подделано с помощью клиент, H (R, Q) действует как cookie (и, следовательно, может быть реализован как cookie).
Другое изменение:
Предыдущее изменение протокола неверно, поскольку любой, кто наблюдал H (R, Q) похоже, может воспроизвести его с правильным хешем. Сервер должен помнить, какие R уже не актуальны. Я CW
HTTPS настолько мощный, потому что использует асимметричную криптографию. Этот тип криптографии не только позволяет вам создать зашифрованный туннель, но и убедиться, что вы разговариваете с нужным человеком, а не с хакером.
Вот исходный код Java, в котором для связи используется асимметричный шифр RSA (используемый PGP): http://www.hushmail.com/services/downloads/