Saturday, August 5, 2017

Israeli electronic ID bowels

Недавно мимо меня пробегало новенькое израильское удостоверение личности (теудат зеут) - уже не бумажка, а смарткарта - и я, конечно, тут же его зацапал глянуть, что на ентой смарткарте есть. Мда. После потрошения ейного сертификата могу честно сказать - построено ужасно, просто ужасно.
Collapse )


Технические потроха:

1. Поле AIA - линк на службу проверки статуса сертификатов, OCSP:
Такой хост DNS-у просто неизвестен, и служба, соответственно, недоступна.

Время жизни CRL - три дня. Что означает, если моё удостоверение покрано, то даже если МВД отзовёт сертификат немедленно - то может пройти полных три дня, пока он перестанет приниматься сторонами, проверяющими этот CRL.

2. Поле AIA - линк на вышестоящий сертификат выглядит так:
Этим идиотам никто не объяснил, что использовать HTTPS для линков в AIA и CDP нельзя? Потому что может возникнуть логическая петля?
Да к тому же и линк битый.

То есть если у меня есть корневой сертификат, и мне надо проверить сертификат со смарткарты, а промежуточного у меня нет - то увы мне. Цепочку не выстроить.

Аналогичный линк с промежуточного на корневой:
Опять HTTPS, но на этот раз хотя б линк не битый. Зато сервер отдаёт сертификат с неправильным MIME-type: text/html вместо application/x-x509-ca-cert.

3. Линки на CRL - их два:
В конечном:
В промежуточном:
Второй в паре - битый, хост crl2.igcas.gov.il на подключения не отвечает.

4. Линки на документы с policy:
В промежуточном:
В корневом:
Как ни странно, рабочие, хотя один из них с HTTPS, причём сайт оборудован неизвестным никому сертификатом, поэтому браузер выбрасывает ошибку. Впрочем, кто её читает, эту галиматью?

5. В поле SAN значится такое:
  • Principal Name=номер_ID@res.igcas.gov.il
Такой хост DNS-у неизвестен. Не то, чтобы это проблема, но жалко: можно было бы каждому сделать официальный мейлбокс или алиас.

6. Поле "Enhanced Key Usage":
  • Client Authentication
  • Smart Card Logon
А почему не Document Signing, к примеру? Да, шифровать ключом, у которого нет бэкапа, и впрямь не стоит - но почему не дать людям возможность документы подписывать, например?

7. Subject корневого выглядит вот так: 
    CN = Residents eID Root CA 12-01
    OU = Population and Immigration Authority
    O = Government of Israel
    C = IL

А почему бы не произвезти его от главного государственного сертификата, тем более, что такой, похоже, есть: Government of Israel Root CA G2 (правда, эти кретины отдают его мало того, что в бинарном формате, так ещё и с кривым MIME-type)? Чтобы цепочку доверия можно было легче выстроить?


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

Если кто хочет повтыкать в детали сам - припадайте. "Leaf" сертификат со смарткарты не выкладываю из соображений приватности владельца, а правительственные - на здоровье.

No comments:

Post a Comment