4.2 阈下信道

    假设Alice和Bob被捕入狱。他将去男牢房,而她则进女牢房。看守Walter愿意让Alice和Bob交换消息,但他不允许他们加密。Walter认为他们可能会商讨一个逃跑计划,因此,他想能够阅读他们说的每个细节。

    Walter也希望欺骗Alice和Bob,他想让他们中的一个将一份欺诈的消息当作来自另一个的真实消息。Alice和Bob愿意冒这种欺骗的危险,否则他们根本无法联络,而他们必须商讨他们的计划。为了完成这件事,他们不得不欺骗看守,并找出一个秘密通讯的方法。他们不得不建立一个阈下信道,即完全在Walter视野内的他们之间的一个秘密通信信道,即使消息本身并不包含秘密信息。通过交换完全无害的签名的消息,他们可以来回传送秘密信息,并骗过Walter,即使Walter正在监视所有的通信。

    一个简易的阈下信道可以是句子中单词的数目。句子中奇数个单词对应“1”,而偶数个单词对应“0”。因此,当你读这种仿佛无关的段落时,我已将消息“101”送给了在现场的我方的人。这种技术的问题在于它仅仅是密码(见1.2节);没有密钥,安全性依赖于算法的保密性。

    Gustavus Simmons发明了传统数字签名算法中阈下信道的概念[1458,1473]。由于阈下消息隐藏在看似正常数字签名的文本中,这是一种迷惑人的形式。Walter看到来回传递的签名的无害消息,但他完全看不到通过阈下信道传递的信息。事实上,阈下信道签名算法与通常的签名算法不能区别至少对Walter是这样。Walter不仅不能读阈下信道消息,而且他也不知道阈下信道消息已经出现:

    一般地,协议看起来像下面这样:

        (1)Alice产生一个无害消息,最好随机;

        (2)用与Bob共享的秘密密钥,Alice对这个无害信息这样签名,她在签名中隐藏她的阈下信息(这是阈下信道协议的内容,见23.3节);

        (3)Alice通过Walter发送签名消息给Bob;

        (4)Walter读这份无害的消息并检查签名,没发现什么问题,他将这份签了名的消息传递给Bob;

        (5)Bob检查这份无害消息的签名,确认消息来自于Alice;

        (6)Bob忽略无害的消息,而用他与Alice共享的秘密密钥,提取阈下消息。

    怎样欺骗呢?Walter不相信任何人,别的人也不相信他。他是可以阻止通讯,但他没法构造虚假信息。由于他没法产生任何有效的签名,Bob将在第五步中检测出他的意图。并且由于他不知道共享密钥,他没法阅读阈下信息。更重要的是,他不知道阈下信息在那里。用数字签名算法签名后的消息消息与在签名中嵌入到签名中的阈下消息看上去没有不同。

    Alice和Bob之间的欺骗问题就更多。在阈下信道的一些实现中,Bob需要从阈下信道读的秘密信息与Alice需要签名的无害信息是相同的。如果这样,Bob能够冒充Alice。他能对消息签名而声称该消息来源于她,而对此Alice无能为力。如果她要给他发送阈下消息,她不得不相信他不会滥用她的私钥。

    别的阈下信道实现中没有这个问题。由Alice和Bob共享的秘密密钥允许Alice给Bob发送阈下信息,但这个密钥与Alice的私钥不同, 并不允许Bob对消息签名。Alice也就不必相信Bob不会滥用她的私钥了。

阈下信道的应用

    阈下信道的最显见的应用是在间谍网中。如果每人都收发签名消息,间谍在签名文件中发送阈下信息就不会被注意到。当然,敌方的间谍也可以做同样的事。

    用一个阈下信道,Alice可以在受到威胁时安全地对文件签名。她可以在签名文件时嵌入阈下消息,说“我被胁迫”。别的应用则更为微妙,公司可以签名文件,嵌入阈下信息,允许它们在文档整个文档有效期内被跟踪。政府可以“标记”数字货币。恶意的签名程序可能泄露其签名中的秘密信息。其可能性是无穷的。

杜绝阈下的签名

    Alice和Bob互相发送签名消息,协商合同的条款。他们使用数字签名协议。然而,这个合同谈判是用来掩护Alice和Bob间谍活动的。当他们使用数字签名算法时,他们不关心所签名的消息。他们利用签名中的阈下信道彼此传送秘密信息。然而,反间谍机构不知道合同谈判以及签名消息的应用只是表面现象。因此人们创立了杜绝阈下的签名方案。这些数字签名方案不能被变更让其包含阈下信道。细节见[480,481]。