Вспомогательные криптографические протоколы
Связующий протокол
Вряд ли Антон является единственным клиентом Дмитрия. Скорее всего, Дмитрий уже ставил отметки о времени создания на документы других людей, прежде чем с аналогичной просьбой к нему обратился Антон. А это значит, что отметке о времени создания документа Антона предшествует какая-то отметка, внесенная в документ другого человека. Более того, разумно предположить, что в скором времени к Дмитрию поступят и другие документы, которые потребуется снабдить отметкой о времени создания.
Пусть А – это идентификатор Антона, присвоенный ему в компьютерной сети, Нn – хэш-значение документа, для которого Антон хочет получить отметку о времени создания, a Tn-1 – отметка о времени создания предыдущего документа. Тогда, чтобы затруднить сговор между Антоном и Дмитрием, можно воспользоваться так называемым связующим протоколом:
- Антон посылает Дмитрию Нn и А.
- Дмитрий отсылает обратно Антону Tn = Sk(n,A,Hn,Tn,In-1,Hn-1,Tn-1,Ln), где Ln представляет собой следующую связующую информацию, подвергнутую хэшированию при помощи функции Н вида Ln = H(In-1,Hn-1,Tn-1,Ln-1). Здесь наличие Sk свидетельствует о том, что сообщение подписано цифровой подписью Дмитрия. Присутствие А необходимо, чтобы идентифицировать Антона в качестве получателя этого сообщения. Параметр n задает порядковый номер отметки о времени создания документа, хэш-значение которого Дмитрий получил от Антона. Тn – это сама отметка о времени. Остальные параметры перечисляют идентификатор, хэш-значение, отметку времени и связующую информацию, которые были вычислены для предыдущего документа, присланного Дмитрию для постановки отметки о времени создания.
- После того как Дмитрий получит следующий документ, на который потребуется поставить отметку о времени создания, он перешлет Антону идентификатор In+1 своего очередного клиента, приславшего этот документ.
Теперь, если кто-то поставит под сомнение время создания документа Антоном, он может связаться с In-1 и In+1, т. е. с авторами предыдущего и следующего документов, присланных Дмитрию. Если и у них возникнут сомнения относительно времени создания документов, то они, в свою очередь, могут обратиться к In-2 и In+2. Каждый из них может доказать, что на его документ была поставлена отметка времени, предшествующая отметке следующего клиента и идущая за отметкой предыдущего.
Связующий протокол значительно осложняет сговор между Антоном и Дмитрием. Дмитрий не сможет перенести отметку о времени создания документа в будущее, поскольку тогда от него потребуется умение это будущее предсказывать – он должен точно знать, какой именно документ будет прислан непосредственно перед этим моментом времени. Точно так же Дмитрий будет не в состоянии сделать отметку о времени создания документа более ранней, чем это есть на самом деле: она должна быть встроена во временную отметку следующего документа, а на этот документ соответствующая отметка уже поставлена. У Антона и Дмитрия остается единственная возможность смошенничать: они могут породить цепочку фиктивных документов до и после документа Антона, причем эта цепочка должна быть настолько длинной, чтобы у проверяющего не хватило терпения изучить ее до самого конца.