id: Гость   вход   регистрация
текущее время 11:06 16/04/2024
создать
просмотр
редакции
ссылки

Это старая редакция страницы Черновики / Статьи / Сервисметоквремени / tm-verify за 02/05/2008 16:39.


tm-verify: автоматизация проверки нотариального журнала


Оглавление документа:

Описание


РУС
Утилита tm-verify предназначена для автоматической проверки записей аудиторского журнала TimeMarker.org в операционной системе Linux. Для работы программы требуется GnuPG и интерпретатор Python.


ENG
tm-verify is a utility program that automates verification of TimeMarker.org audit log chains under Linux operating system. Requires installed GnuPG and Python interpreter.

Функциональность


  • Сверяет подписи с файлов меток.
  • Проверяет связность цепочки меток по хэшам.
  • Выводит диагностику и результат проверки.

Как использовать


  • Взять из нотариального журнала цепочку меток, распаковать в произвольный каталог.
  • Выполнить: ./tm-verify.py [путь к каталогу]. Если не указать путь, проверяется текущий каталог. Подробности через ./tm-verify.py --help.

Текущие ограничения


  • Все метки, лежащие в конкретном каталоге, должны идти последовательно. Скажем, если в каталоге лежат метки 51, 52, 53, 55, 56, 57, то метка 55 выдаст ошибку связности хэшей из-за отсутствия метки 54. Проверка продолжится несмотря на ошибку, но имейте в виду.
  • Поскольку состояние подписей проверяется только по коду возврата GnuPG (а не через интерфейс статусов), убедитесь, чтобы GnuPG в обычном режиме не возвращал никаких ошибок (типа ненайденных связок ключей и т.п.), иначе все подписи будут опознаваться как повреждённые.
  • По той же причине, что и в предыдущем пункте, существует возможность атаки на процесс сверки цепочек: если взломщик подменит архив с цепочкой меток и тем или иным образом подбросит свой открытый ключ на связку пользователя, программа завершится с корректным результатом (сами подписи ведь верны; другое дело, что проставлены посторонним ключом).
  • Проверка ведётся только по хэшам SHA-512.
  • Не проверяются дополнительные поля: последовательность номеров меток и дат их выдачи и их принадлежность к одному сервису (всё это также оставляет потенциал для атаки).

Планы развития

Ближайшие


  • Проверка соответствия дополнительных полей меток: Signed-by, Number, Timestamp (последовательность номеров и дат и принадлежность всех меток одному сервису).
  • Проверка состояния подписей через интерфейс статусов GnuPG.
  • Проверка связности цепочек по обоим хэш-алгоритмам (RIPEMD160 в дополнение к SHA512).
  • Распараллеливание процессов сверки подписей и связности цепочек.

Отдалённые (после выхода API)


  • Автоматическое скачивание цепочек.
  • Возможность демонизации программы и/или её исполнение по крону.

Код