Closed andrewkostevich closed 5 years ago
В п. 12.2.16 предлагается написать следующим образом:
Коды 63C0, 63C1 могут быть возвращены только при инициализации протокола для PIN (CAN и PUK не могут быть приостановлены и заблокированы, см. п. 6.3). Про управление паролем (подтверждение, изменение, разблокировка) сказано в п. 12.3.4. Дополнительно про возобновление PIN по CAN и разблокировку PIN по PUK сказано в п. 6.3, в частности, про возобновление сказано:
Если счетчик достигает значения 1, то PIN приостанавливается и далее требуется ввести CAN. Ввод CAN не изменяет счетчик. При верном CAN пароль PIN возобновляется — его снова можно ввести.
63CX: протокол не может быть инициализирован
Это не корректное исправление:
При успешной инициализации протокола защищенное соединение «терминал — КТ», если оно было установлено ранее, закрывается.
А что делать с защищенным соединением «КП — КТ»?
Или требовать чтобы перед инициализацией BPACE все защищенные соединения были закрыты и инициализацию делать только из состояния IS?
В TR-03110 "Advanced Security Mechanisms for Machine Readable Travel Documents and eIDAS Token – Part 3: Common Specifications" для команды инициализации проткола PACE (п. B.14.1) коды 63CX, 6283 отнесены к предупреждению (Warning), т.е. они не рассматриваются как ошибка при инициализации. При выполнении первого шала протокола PACE, если будут возвращены коды 63C0, 63C1, 6283, то это уже рассматривается как ошибка выполнения шага протокола (Authentication failed).
Защищенное соединение «терминал — КТ» после выполнения команды инициализации должно быть разорвано после успешного выполнения команды инициализации, т.е. после возврата одного из кодов 9000, 63CX, 6283.
Защищенное соединение «КП — КТ» после выполнения команды инициализации должно быть разорвано только в случаях, указанных в п. 12.4.5. Новое защищенное соединение «КП — КТ» устанавливается после успешного выполнения всех шагов протокола BPACE.
В п. 12.2.16 предлагается написать следующим образом:
Так какой код возврата у APDU если
Как КП понять, что нужно проверить CAN если она получил от карты код 63C1 (см. также #71)? Если CAN проверен - то 63C1 уже не является кодом ошибки (иначе невозможно получить 63C0).
У apdu инициализации протокола код будет один и тот же как для приостановленного (1), так и для возобновленного (2) PIN -- 63C1. У apdu выполнения первого шага протокола будет возвращен код 63С1 в первом случае и код, отличный от 63С1 (например, 9000, если шаг протокола выполнен успешно) -- во втором.
Предлагаю корректировки команд. В виде PR #73.
Код 63C0 нельзя называть кодом успеха: протокол BPACE не должен выполняться или должен?
Код 63C1 нельзя называть кодом успеха при использовании PIN до подтверждения CAN: протокол BPACE не должен выполняться или должен? Команда инициализации должны быть повторена с CAN. Код 63C1 не позволяет понять, нужно ли проверить CAN для начала сеанса BPACE для разблокировки PIN (#71)
В случае 63C0 нужны ли дополнительные действия: закрывать защищенное соединение «КП — КТ»