Как реализовать пассивную аутентификацию в считывателе смарт-карт?

Я обнаружил, что на ICAO 9303_11 5.1: Система проверки выполняет следующие шаги:

  1. Система проверки ДОЛЖНА считывать объект защиты документа (SO D ) (который ДОЛЖЕН содержать сертификат лица, подписывающего документы (C DS ), см. также Doc 9303-10) с бесконтактной ИС.

  2. Система проверки ДОЛЖНА построить и проверить путь сертификации от якоря доверия к сертификату лица, подписывающего документы, который используется для подписи объекта защиты документа (SO D ) в соответствии с Doc 9303-12.

  3. Система проверки ДОЛЖНА использовать проверенный открытый ключ лица, подписывающего документы (KPu DS), для проверки подписи объекта защиты документа (SO D).
  4. Система проверки МОЖЕТ считывать соответствующие группы данных с бесконтактной ИС.
  5. Система проверки ДОЛЖНА гарантировать подлинность и неизменность содержимого группы данных путем хеширования содержимого и сравнения результата с соответствующим значением хеш-функции в объекте защиты документа (SO D ).

Я застрял на шаге 2. Что такое путь сертификата и как построить и проверить путь сертификации от якоря доверия к сертификату лица, подписывающего документы?
Кто-нибудь может мне помочь?


comment
Обратите внимание, что jmrtd уже работает на Android, поэтому я не уверен, что вы пытаетесь запрограммировать, но вместо этого вы можете присоединиться к ним. Скажи привет Мартейну, если да :)   -  person Maarten Bodewes    schedule 29.07.2017


Ответы (1)


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

Первый ключ в цепочке, Ключ ЦС подписи страны, сохраняется в паспорте во время производства и уже должен быть доступен.

В общих чертах процесс выглядит так:

  • Выберите корень
  • Следуйте цепочке сертификатов до самого паспорта, т.е. е. проверьте подпись сертификата и в положительном случае извлеките содержащийся открытый ключ для следующего шага.
person guidot    schedule 28.07.2017
comment
Итак: pkddownloadsg.icao.int/download и некоторые сертификаты также доступны на сайте jmrtd: jmrtd.org/certificates.shtml. - person Maarten Bodewes; 29.07.2017
comment
CSCA (Country Signing CA) не хранится в паспорте. Это якорь доверия, который должен предоставить терминал. Сертификат лица, подписывающего документы, подписанный CSCA, должен быть частью EF.SOD, который представляет собой файл на чипе паспорта. Таким образом, построение цепочки здесь происходит в обратном порядке. Мы считываем сертификат DS с чипа и должны идентифицировать якорь доверия, который подписал сертификат DS в нашем наборе якорей доверия. - person Daniel Heldt; 31.07.2017