X509: в чем разница между цифровой подписью и отказом от авторства - PullRequest
24 голосов
/ 12 августа 2010

Мне приходится иметь дело с сертификатами, выданными швейцарским почтовым отделением на USB-токенах. Там поставьте два сертификата на один токен. В полях их предполагаемого использования одно имеет «не отрицание», а другое - цифровую подпись.

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

Может ли кто-нибудь объяснить мне, в чем разница, пожалуйста? И если бы у вас было предложение о том, в какой ситуации один должен быть выбран другим, это также поможет.

Ответы [ 6 ]

36 голосов
/ 06 апреля 2012

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

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

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

См. Википедию: http://en.wikipedia.org/wiki/Non-repudiation
См. Также соответствующий RFC: http://www.faqs.org/rfcs/rfc3280.html (раздел 4.2.1.3)

6 голосов
/ 12 декабря 2013

«цифровая подпись» означает, что вы можете гарантировать происхождение документа или идентификатор пользователя; это АУТЕНТИФИКАЦИЯ.

«безотказность» означает, что документ утвержден, это обязательство по содержанию, также называемое ЭЛЕКТРОННАЯ ПОДПИСЬ (не цифровая подпись).

Надеюсь, это поможет, потому что люди всегда задают этот вопрос даже в 2013 году ...

Franck.

6 голосов
/ 13 августа 2010

Я разговариваю с парнем, который его реализовал, и, по-видимому, они намеревались использовать сертификат «безотказность» для / действительно / подписи документов и сертификат «цифровой подписи», который будет использоваться для аутентификации.

4 голосов
/ 12 августа 2010

Интересный вопрос, и ваши мысли совпадают с моими.

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

Самое лучшее, что я могу выразить в моем понимании после прочтения статьи, это то, что использование безотказности означает, что «я действительно намеревался подписать это, и я действительно понимаю последствия подписав это. "

Извините, это не полный ответ, но я надеюсь, что это поможет.

РЕДАКТИРОВАТЬ 4 апреля 2014

Мне снова дали больше очков. Ответ от @Calrion намного лучше, поэтому отправляйте любые +1 таким образом.

1 голос
/ 05 апреля 2017

«цифровая подпись» должна использоваться для аутентификации (именно вы подписали это), тогда как «безотказность» означает, что вы знаете, что вы подписали.

Если вы используете свой личный сертификат для аутентификации (на каком-либо сервере), аутентификация работает следующим образом: во время установления соединения ваш браузер (или другое ПО) подписывает некоторые случайные данные, предоставленные сервером, чтобы доказать, что это вы на другой стороне , Но ключевым моментом является то, что вы не можете контролировать, какие данные вы подписываете. Таким образом, сервер может отправлять вместо случайных данных отправку «Я, Петр Новонти, отдаю все свои деньги Джеймсу Кларку».

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

0 голосов
/ 31 октября 2017

На этой странице даны достаточно четкие описания всех основных применений:

https://www.ibm.com/support/knowledgecenter/en/SSKTMJ_9.0.1/admin/conf_keyusageextensionsandextendedkeyusage_r.html.

...