Протокол меток времени с перекрёстной проверкой времени
Условные обозначения
М1, М2 — метки. М1<М2, если можно проверить по цепочке хэшей, что М2 выдана позже М1. 1
Другие условные обозначения взяты отсюда.
Роли
Нам сервис отличается от СервисМетокВремени тем, что он выдаёт метки, содержащие хэш, но не время (сервисные метки). Время же ставят клиенты. 2 3 Клиент может выполнять роли:
* автор — заказывает регистрацию документа;
* проверяющий — проверяет правильность регистрации документа;
* хранитель контрольных меток или хранитель времени — контрольная метка содержит сервисную метку и время 4.
Операции
Сервис регистрирует документы. Также сервис выдаёт цепочку меток по запросу.
Хранитель контрольных меток периодически запрашивает последнюю сервисную метку у сервиса, приписывает к ней время получения метки, определяемое по собственным часам, и сохраняет как контрольную метку. По запросу он может выдавать контрольные метки.
Автор заказывает регистрацию документа. Для этого он отправляет документ Д на сервис. Сервис выдаёт метку МД для этого документа. Автор получает у сервиса цепочку меток ЦД, начинающуюся с МД. Кроме того, ЦД должна удовлетворять условию, что в ЦД должно входить не менее ККМ (например, ККМ = 100) меток, являющихся контрольными 5 6 Только после того, как автор обнаружил нужное количество контрольных меток, он сохраняет ЦД 7 и публикует свой документ.
Автор доказывает регистрацию документа проверяющему. Автор передаёт проверяющему ЦД, Д и декларируемый момент регистрации документа В. Проверяющий проверяет, что в ЦД присутствует хэш Д. Проверяющий запрашивает у хранителей контрольные метки. Он запрашивает только те метки, которые больше В и близки к В. Круг хранителей проверяющий определяет сам. Кроме того, проверяющий сам может быть хранителем, его доверие к его собственным меткам, разумеется, наивысшее. Преимущество: круг лиц, которым доверяет проверяющий, он выбирает сам. Проверяющий выбирает те контрольные метки, которые входят в ЦД, из них выбирает наиболее ранние метки, их время и будет надёжным временем Д.
Проверяющий иногда проверяет правильность контрольных меток. 8 Конфликтующими считаются контрольные метки М1 и М2, у которых М1<М2 и М1.Timestamp > М2.Timestamp. (М1<М2 определяется на основании ЦД.) Ясно, что одна из конфликтующих меток поддельная. Какая именно, это решается как-то. Хранитель контрольных меток, от которого получена поддельная метка, исключается из круга доверия. Преимущество: скомпрометированные хранители контрольных меток обнаруживаются автоматически.
1 Строго говоря, на метках можно определить отношение частичного строгого порядка (<). Сначала задаём отношение (<-) таким образом: М2.Ref-Hash = hash(М1) эквивалентно М1<-М2. Отношение (<) есть транзитивное замыкание отношения (<-).
2 Преимущество: все атаки со стороны сервиса, когда сервис проставляет неправильное время, теперь вынуждены совершать клиенты. Клиентов много, поэтому можно устроить им перекрёстную проверку.
3 Поскольку у нас сервис не проставляет времени, мы будем называть его не сервисом меток времени, а сервисом связывания хэшей.
4 СервисМетокВремени одновременно выполняет роль сервиса связывания хэшей и роль хранителя контрольных меток. То есть, сервис меток времени тоже может работать по данному протоколу, и мы можем заимствовать форматы данных и др.
5 Это условие можно проверить, запросив контрольные метки у круга доверия.
6 Сохраняя ЦД, автор одновременно зеркалирует метки. Можно доказать, что каждая метка будет зеркалирована не менее ККМ раз. А раз есть зеркалирование, то сервис может вообще не хранить архив меток.
7 ЦД является доказательством регистрации документа. Кто ещё обязан сохранять доказательства, если не сам автор?
8 Например, проверяет сразу после получения контрольной метки.
© 2009 Анонимные пользователи
Материал распространяется на условиях
CreativeCommons-Attribution-ShareAlike