2012-01-29 4 views
2

Я работаю над решением для единого входа, чтобы моя компания могла интегрироваться с другими поставщиками.аутентификация и подписи с открытым/закрытым ключом

Поскольку я занимаюсь своими исследованиями, меня постоянно сбивает с толку.

Мое понимание ключа Public/Private заключается в том, что данные всегда зашифровываются открытым ключом поставщика и дешифруются с использованием их закрытого ключа. Все идет нормально.

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

Так как же мой закрытый ключ используется для шифрования сообщения ... и как открытый ключ может расшифровать сообщение? Я думал, что асимметричные клавиши этого не позволяют ... i.e Открытый ключ всегда шифрует, а закрытый ключ всегда расшифровывается. Любые объяснения будут очень благодарны ..!

ответ

2

Разница между симметричным и асимметричным шифрованием - это наличие только частных и открытых ключей.

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

+1

Да, так работают и сертификаты Root. Браузер проверяет сертификат, предоставленный сервером, на корневой сертификат, установленный в браузере. Открытый ключ Root CA используется для дешифрования «зашифрованного» открытого ключа в сертификате. Но правильно ли говорить, что шифрование секретного ключа должно использоваться только для подписания и т. Д., А фактические бизнес-данные всегда должны быть зашифрованы с использованием открытого ключа поставщика. –

+0

Ну, корневые сертификаты основаны на концепции RSA-криптографии (http: //en.wikipedia.org/wiki/RSA_ (алгоритм)), о котором я упоминал в своем ответе. Но вы также можете использовать бизнес-данные для шифрования с помощью своего личного ключа. Обычно это так, как вы описали. Но вы теоретически можете дешифровать и шифровать все с помощью клавиш. – blacklwhite

2

я нашел эту ссылку очень полезным: http://www.nusphere.com/products/library/ssl.htm

HTH Ohad

EDIT

через 2,5 года, я вижу, что связь нарушена. Итак, this one is good as well.

И в случае, если она будет сломана еще раз в 2,5 года, начиная с сегодняшнего дня, вот резюме:

Открытый ключ, что предполагает его название - Public. Сделано доступно всем через общедоступный репозиторий или каталог . С другой стороны, закрытый ключ должен оставаться конфиденциальным его соответствующему владельцу.

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

Открытый ключ Криптография может поэтому обеспечить конфиденциальность. Однако еще одним важным аспектом криптографии с открытым ключом является его способность создать цифровую подпись.

+0

Ссылка мертва ... – Mike

+0

да .... 2,5 года прошло .... я обновил ответ – OhadR

 Смежные вопросы

  • Нет связанных вопросов^_^