bcrypto / btok

Cryptographic tokens
4 stars 4 forks source link

Правила блокировки PIN не ясны #39

Closed andrewkostevich closed 5 years ago

andrewkostevich commented 5 years ago

Согласно п. 6.3 "если при заблокированном PIN пароль PUK вводится неверно 10 раз, то PIN блокируется навсегда". Что означает "PIN блокируется навсегда"? Может ли быть выполнена деактивация заблокированного навсегда PIN, затем активация и смена PIN?

agievich commented 5 years ago

"Блокируется навсегда" означает, что разблокировать нельзя. И активировать нельзя. Блокировка/разблокировка -- это внутренние механизмы карты (контроль знания секретов аутентификации). Активация/деактивация -- это принудительное внешнее управление объектами аутентификации.

Предложение: добавить пояснения в п. 6.3, сделав текст однозначно понимаемым.

andrewkostevich commented 5 years ago

Если PIN не может быть никак возобновлен, то доступ к личному ключу ЭЦП и всем функциям ЭЦП утерян.

Что следует делать в случае "блокировки навсегда" кроме блокировки аутентификации по PIN:

olegotory commented 5 years ago

@andrewkostevich писал: "Если PIN заблокирован и CAN напечатан на карте, то доступ ко всем функциям eID сохраняется по CAN (таблица 8). Это несет риск несанкционированной аутентификации и доступа к персональным данным в случае кражи ID-карты".

Поясню некоторые моменты:

  1. Доступ по CAN к данным eID может получить только аутентифицированный терминал, в сертификате которого указано соответствующее право.
  2. Практически все данные eID печатаются на самой карте.
  3. При краже карты не важно, был заблокирован PIN или нет, у злоумышленника фактически одинаковые возможности (если он не знает PIN и не угадал его с трех попыток).
  4. В зарубежных спецификациях ничего не говорится о каких-то дополнительных действиях при блокировке PIN.

Считаю, что в случае "блокировки навсегда" кроме блокировки аутентификации по PIN ничего делать не нужно:

andrewkostevich commented 5 years ago
  1. Практически все данные eID печатаются на самой карте

Речь в возможности получения злоумышленником доступа к электронным сервисам от имени пользователя при краже карты

  1. Доступ по CAN к данным eID может получить только аутентифицированный терминал, в сертификате которого указано соответствующее право.

Согласен. Считаю, что в стандарте следует обратить внимание, что право аутентификации по CAN не должно предоставляться обычным терминалам, а только терминалам инспекционных систем

  1. В зарубежных спецификациях ничего не говорится о каких-то дополнительных действиях при блокировке PIN.

В Signature creation and administration for eIDAS token (https://www.ssi.gouv.fr/uploads/2015/09/eidas_tr_signature_part1_v1_rc9-4.pdf) определяется жизненный цикл приложения eSign (см. тикет #16), требования к его активам в каждом состоянии, вводится состояние TERMINATED, в котором ключи ЭЦП уничтожены (ключи eID уничтожать нельзя для аутентификации по CAN)

olegotory commented 5 years ago

Согласно "Signature creation and administration for eIDAS token" в состояние TERMINATED для личного ключа производится переход при вызове apdu-команды TERMINATE (см. п. 3.7.18): "This command is used to turn the state of the [eSign application], a key or a user credential to the terminated state". В нашем стандарте такая команда определена. В документе eIDAS я нигде не нашел, что в состояние TERMINATED происходит переход при полной блокировке PIN. Поэтому считаю, что наш стандарт никак не противоречит документу eIDAS в части блокировки PIN и уничтожения личного ключа.

agievich commented 5 years ago

Речь в возможности получения злоумышленником доступа к электронным сервисам от имени пользователя при краже карты

Идет речь о доступе по CAN при краже карты? Но при чем здесь блокировка PIN?

Согласен. Считаю, что в стандарте следует обратить внимание, что право аутентификации по CAN не должно предоставляться обычным терминалам, а только терминалам инспекционных систем

В BTOK нет понятия "терминал инспекционных систем".

Вопрос свелся к следующему: следует ли при блокировке PIN уничтожать лк ЭЦП? Варианты ответа:

  1. Да, обязательно.
  2. Да, опционально.
  3. Нет, это даже не обсуждается (так сейчас).

Вслед за @olegotory я не нашел в приведенном тексте прямых указаний на ответ Да. Этот ответ проблематичен по нескольким причинам:

Ситуация станет еще запутаннее, если будет принято предложение #18, и будет введен дополнительный PIN, обслуживающий eSign. Следует ли уничтожать лк ЭЦП при блокировке глобального PIN, или только локального?

В целом, сохраняю свое Предложение: добавить пояснения в п. 6.3, сделав текст однозначно понимаемым.

alexshibkov commented 5 years ago

Для удаления личных ключей ЭЦП необходимы дополнительные команды - целесообразность?

agievich commented 5 years ago

Нет, о дополнительных командах речь не идет. Идет речь о том, что ключи должны (?) удаляться при возникновении определенных внутренних событий.

alexshibkov commented 5 years ago

Кто-то должен дать команду на активацию процедуры удаления ключей.

ср, 27 февр. 2019 г., 17:09 Sergey Agievich notifications@github.com:

Нет, о дополнительных командах речь не идет. Идет речь о том, что ключи должны (?) удаляться при возникновении определенных внутренних событий.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/bcrypto/btok/issues/39#issuecomment-467875187, or mute the thread https://github.com/notifications/unsubscribe-auth/AsFH5eRBXM6ySTEZjELCwM_mx9wXdnK0ks5vRpG1gaJpZM4ak15A .

agievich commented 5 years ago

@alexshibkov: Не идет речь о внешней команде. Идет речь о побочном эффекте (удаление ключей) при обработке других команд (10 попыток ввода неверного PUK).

Считаю, что вопрос достаточно обсужден. Реакция представлена в #45. Продолжение дискуссии (если в нем есть необходимость) переносится туда.