Каждый готовый протокол попадает в реестр: хеш записи включает хеш предыдущей записи, пачка записей сворачивается в корень дерева Меркла, корень пишется в файл и заверяется меткой времени государственной службы НУЦ РК (RFC 3161) и OpenTimestamps. Изменить или убрать запись задним числом, не разорвав цепочку до заверенного корня, нельзя. Файл корня не содержит ни номеров протоколов, ни их содержимого. В ту же цепочку пишутся служебные записи: журнал входа администратора eFix под пользователем (причина, срок, завершение) и шаги споров по протоколам — тоже только хешами.
5465e4b7abd0e54940cdcc941b8586aaa5c3252b,
отпечаток реестра выпуска d09a530f402bf0287c2bfe7584c0b981ba5d1de60de8d237ec772d83bbae4a01;
самопроверка 17.10.2026 21:46:51 UTC+5 (Алматы):
совпало 328 из 328 файлов.
| № | Выпущен | Записи | Корень (SHA-256) | Метка НУЦ РК | OpenTimestamps | Файлы |
|---|---|---|---|---|---|---|
| 27 | 17.10.2026 17:06:56 | 770–781 (12) | 536e0dec8cd03a8465f4c9ec5147d8f4e8be83e6011c5e3b92dd2afa65c2c844 |
есть, 2026-10-17T12:06:59.335245+00:00 | передана | json · tsr · ots |
| 26 | 17.10.2026 11:06:55 | 720–769 (50) | b1131340e251bc3642ecb2c91cabbeae716a04ff41bd096cc3b8506f107153c8 |
есть, 2026-10-17T06:06:56.251071+00:00 | передана | json · tsr · ots |
| 25 | 17.10.2026 05:06:55 | 715–719 (5) | 524c5222e4dabb1a1ad0dec65af25247b43ea141080faadce0c1030e29d2c9c8 |
есть, 2026-10-17T00:06:56.348347+00:00 | передана | json · tsr · ots |
| 24 | 16.10.2026 23:42:24 | 713–714 (2) | 0229e5f9a1ff0444d3f26a105b623ee676506f9e53cac2f978e8ddb2ed2d8a76 |
есть, 2026-10-16T18:42:55.308633+00:00 | передана | json · tsr · ots |
| 23 | 16.10.2026 23:06:55 | 665–712 (48) | e1a0e9ccb71c6f848d66417f6cdad81a179af567fc88750d242fef8f46f7ea44 |
есть, 2026-10-16T18:06:59.028185+00:00 | передана | json · tsr · ots |
| 22 | 16.10.2026 17:05:53 | 651–664 (14) | ab99a7a73fad144197908034902a2bd82c16dcad555b896d0713f64cfd89f4c2 |
есть, 2026-10-16T12:05:54.500506+00:00 | передана | json · tsr · ots |
| 21 | 16.10.2026 11:05:52 | 601–650 (50) | e2ed6f34e21ca7046affd37dfba072dc1c882a69f2077876abb3a38e4c0e3d15 |
есть, 2026-10-16T06:05:53.255895+00:00 | передана | json · tsr · ots |
| 20 | 16.10.2026 05:05:52 | 597–600 (4) | 25b5fcf942de6b8713c20948a0db1f37aa5cf78746cec68d1c32376ce918e26d |
есть, 2026-10-16T00:05:53.020759+00:00 | передана | json · tsr · ots |
| 19 | 15.10.2026 23:05:52 | 548–596 (49) | c7aa8a58f554fe31e412405cb77b4de9efc7d98d81bed7720db5ca7d7b2c2bd7 |
есть, 2026-10-15T18:05:53.658532+00:00 | передана | json · tsr · ots |
| 18 | 15.10.2026 17:05:56 | 539–547 (9) | eb5ee34699e977701dd2d9c4831cd0381b1d5edfcf6630bc6d5609ef46db0e33 |
есть, 2026-10-15T12:06:02.980862+00:00 | передана | json · tsr · ots |
| 17 | 15.10.2026 11:03:21 | 487–538 (52) | 882c049efa91be660428f4b83871632c1032897b9851ee29511fd394061b6529 |
есть, 2026-10-15T06:03:22.486764+00:00 | передана | json · tsr · ots |
| 16 | 15.10.2026 05:03:21 | 483–486 (4) | 334927441ae595aa2478878cc44810d7c5b39bc3990d57c6b839c93f06660978 |
есть, 2026-10-15T00:03:23.250267+00:00 | передана | json · tsr · ots |
| 15 | 14.10.2026 23:03:21 | 474–482 (9) | b7977d82da622f509ec14bcb69b8e9babfb121873084028adbd010f9540c0be3 |
есть, 2026-10-14T18:03:24.359380+00:00 | передана | json · tsr · ots |
| 14 | 14.10.2026 17:03:21 | 434–473 (40) | eee829fb1aebd7b826bc0a54026fe659144f12e7dfa1ca457c81493cb251f659 |
есть, 2026-10-14T12:03:26.762097+00:00 | передана | json · tsr · ots |
| 13 | 14.10.2026 11:03:21 | 379–433 (55) | 1cf4e0fe94c3e3d8c2bbea87ef0936f05907c45aea3b35859b6698456ab368ae |
есть, 2026-10-14T06:03:33.598885+00:00 | передана | json · tsr · ots |
| 12 | 14.10.2026 05:03:21 | 373–378 (6) | 8cf17af44d05feac520b71f221dbf8788729c8fc26f595f78d4ff189db0f25e5 |
есть, 2026-10-14T00:03:24.024559+00:00 | передана | json · tsr · ots |
| 11 | 13.10.2026 23:03:21 | 370–372 (3) | 05a1f4de982771f39819c3f7d8aab68c3b47fe89d54cacfe6a7d6b45f4026f10 |
есть, 2026-10-13T18:03:25.448107+00:00 | передана | json · tsr · ots |
| 10 | 13.10.2026 17:03:21 | 369–369 (1) | 5d2cd35b4761837557377baf0a29d214ce2216307cc080a16ff4b042dba73aa2 |
есть, 2026-10-13T12:03:21.997944+00:00 | передана | json · tsr · ots |
| 9 | 13.10.2026 11:03:21 | 317–368 (52) | a393c590aa32b1af85cfc9e4c343f0b643a05d2f64e3e1ec80aadb5c8164590b |
есть, 2026-10-13T06:03:24.263683+00:00 | передана | json · tsr · ots |
| 8 | 12.10.2026 23:03:20 | 312–316 (5) | 54000a274b735cdfed5dd13230432b6949fe84e0134a97ccddf76aa2dc000a29 |
есть, 2026-10-12T18:03:22.376781+00:00 | передана | json · tsr · ots |
| 7 | 12.10.2026 17:03:20 | 311–311 (1) | 7083dd6556c8cd93e39229e4819185bb6f39438c60721a4c2ba9668ee56f4ec5 |
есть, 2026-10-12T12:03:24.094085+00:00 | передана | json · tsr · ots |
| 6 | 12.10.2026 11:09:40 | 262–310 (49) | 7502738f432964a462ea01c55b3548581e78c7393eaab09cce2bacc009ef44ac |
есть, 2026-10-12T06:09:42.120687+00:00 | передана | json · tsr · ots |
| 5 | 11.10.2026 23:03:18 | 259–261 (3) | 526e717bab670335fd7d99e2fe3c0afba40c34444590e1b70df6eef50f2927bd |
есть, 2026-10-11T18:03:18.879673+00:00 | передана | json · tsr · ots |
| 4 | 11.10.2026 17:03:18 | 258–258 (1) | 00836d8db3482bb578adfc8c1214fcf1ad462b581a075a600ee4d430caf9fc96 |
есть, 2026-10-11T12:03:19.210691+00:00 | передана | json · tsr · ots |
| 3 | 11.10.2026 11:03:18 | 219–257 (39) | cba032d5d124f90c9feb0b7d13448efcbc4f30a2c782fe1e8ea312c1cffea60d |
есть, 2026-10-11T06:03:19.788552+00:00 | передана | json · tsr · ots |
| 2 | 10.10.2026 23:03:17 | 218–218 (1) | 3c2fbc5c4f0470abca9eb6e2b03ec723fe16e9483c632ef58e68384b55e965d4 |
есть, 2026-10-10T18:03:20.583855+00:00 | передана | json · tsr · ots |
| 1 | 10.10.2026 20:02:24 | 1–217 (217) | f71d270c7e1eff7dc93698b57760e382decb158f33052098249a3fe0b243691b |
есть, 2026-10-10T15:02:29.291023+00:00 | передана | json · tsr · ots |
Подпись протокола и квитанция времени в ней проверяются, пока действуют сертификаты подписанта
и службы времени. Архивная метка — новая квитанция НУЦ РК и OpenTimestamps над файлом, в котором
записаны хеш последнего корня реестра и хеш предыдущей метки вместе с её квитанцией. Пока цепочка
продолжается (первая метка — как только есть заверённый корень, далее раз в квартал, досрочно —
при смене ключа подписанта и за год до истечения сертификата подписанта или службы времени),
факт существования каждого протокола доказуем и после истечения сертификатов. Evidence record
протокола с цепочкой меток — на его странице проверки; экспортный пакет всех файлов ленты
со скриптами проверки: efix-transparency.zip.
Внешний монитор (любая третья сторона, стандартная библиотека Python): python tools/monitor_transparency.py https://efix.kz ./папка —
по расписанию докачивает корни и метки через latest.json, проверяет непрерывность
цепочек и квитанции и поднимает тревогу, если история переписана или откатилась.
| № | Выпущена | Повод | Корень | Предыдущая | Файл (SHA-256) | Метка НУЦ РК | OpenTimestamps | Файлы |
|---|---|---|---|---|---|---|---|---|
| 2 | 11.10.2026 19:58:45 | signer_cert_expiry | № 4 | № 1 | e45e32132fe601ea1272be02d573dbbfdff2e9d2d9a6ef191d7e290ccc31de42 |
есть, 2026-10-11T14:58:49Z сертификат службы до 27.10.2028 |
передана | json · tsr · ots |
| 1 | 10.10.2026 20:05:24 | first | № 1 | — | 33daea35362fed6b593869de40e3393f233991189205fb65ea592e94616efe74 |
есть, 2026-10-10T15:05:27Z сертификат службы до 27.10.2028 |
передана | json · tsr · ots |
Протоколы с 11.10.2026 несут, кроме ЭЦП НУЦ РК, второй подписной контейнер protocol.pdf.mldsa.p7s на те же
итоговые байты — техническую страховку на случай ослабления классических алгоритмов. Ниже — все сертификаты eFix,
которыми он когда-либо ставился; сертификат не удаляется и после смены ключа, иначе старые протоколы нечем проверить.
Каждый сертификат входит в код выпуска, поэтому его отпечаток заверен в журнале выпусков (подпись, метка НУЦ РК,
OpenTimestamps), а внешний монитор сигналит, если опубликованный сертификат исчез или изменился. Проверка контейнера —
«Как проверить», раздел 2а.
| Сертификат | Действует | Отпечаток SHA-256 (как печатает openssl x509 -fingerprint -sha256, без двоеточий) |
|---|---|---|
| efix-mldsa65-20261011.pem | 2026-10-11 — 2051-10-11 | 9e9506595606ae33e0089d7aeec5b701bfa79b62db425b4fcb2cd4952b904d34 |
Политика для архивных меток. Сегодня ни НУЦ РК, ни другие службы меток времени не выпускают постквантовых квитанций RFC 3161, поэтому архивные метки выше ставятся классическим алгоритмом службы. Когда появится служба меток с подписью ML-DSA (или другим алгоритмом FIPS 204/205), очередная архивная метка будет выпущена ею досрочно и накроет всю прежнюю цепочку — так же, как метка выпускается при смене ключа и до истечения сертификатов; прежние квитанции сохраняются. До тех пор постквантовую страховку каждого протокола даёт его собственный контейнер ML-DSA.
python tools/verify_ledger.py доказательство.json ledger-root-NNNNNN.json — скрипт из репозитория, только стандартная библиотека Python: он пересчитает хеш записи из её полей, проведёт путь Меркла до корня и сверит корень с файлом.python tools/verify_ledger.py --chain ledger-root-000001.json ledger-root-000002.json … — каждый корень несёт хеш предыдущего..tsr — любой программой RFC 3161 (например, openssl ts -verify), .ots — на opentimestamps.org или ots verify. Они удостоверяют SHA-256 самого файла корня.