Центр сертификации против хранимого открытого ключа - PullRequest
2 голосов
/ 27 января 2010

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

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

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

Спасибо, Владимир

1 Ответ

1 голос
/ 27 января 2010

если обе стороны уже знают это и согласны с тем, что это не изменится ... тогда я не могу обойтись без необходимости?

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

Обычно тогда вы подписываете банку своим ключом и отправляете ключ вместе с вашей программой. Теперь у нас проблема с яйцом и курицей: откуда они знают, что ключ от тебя?

Это то место, куда входит центр сертификации; ключ CA - уже на их компьютере, поэтому они оставляют это на CA, чтобы проверить, кто вы и подписать ваш открытый ключ. Затем, когда пользователь получает открытый ключ, проверяет, что он был подписан ЦС, и проверяет, что ключ был подписан ключом, он знает , что ключ принадлежит вам, и, таким образом, файл должен быть от вас , поскольку вы единственный, кто мог подписать его с помощью закрытого ключа.

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

...