我在纽约长大,一直想成为一名间谍。当我1968年1月大学毕业时,冷战和越南战争正在激烈进行,间谍似乎是一个危险的职业选择。所以我成了一名电气工程师,为一家美国国防承包商设计实时频谱分析仪。
1976年,在参观华沙的波兰陆军博物馆时,我见到了一台二战时期著名的德国密码机恩尼格玛。我被它迷住了。几年后,我有幸参观了这台密码机的制造公司Crypto AG(CAG)在瑞士斯坦豪森的庞大总部,并与那里的一位高级密码学家成为了朋友。我的朋友给了我一本由公司创始人鲍里斯•哈格林(Boris Hagelin)撰写的公司内部史。其中提到了1963年的密码机HX-63。
与恩尼格玛一样,HX-63是一种机电密码系统,被称为转轮密码机。它是CAG制造的唯一一款机电转轮机,比著名的恩尼格玛还要先进和安全。事实上,在当时,它可以说是有史以来最安全的转轮机。我很想弄一台,但我怀疑我能否弄到手。
快进到2010年。当时我正在一个昏暗的地下三层的法国军事通信基地。在二星将军和通信官的陪同下,我进入了一间保密室,里面放满了古老的军用无线电和密码机。瞧!我很惊讶地看到一台Crypto AG HX-63,几十年来它一直未被认出,被放在一个布满灰尘、灯光昏暗的架子上。
我小心翼翼地取出这台16公斤重的机器。它的右侧有一个手摇柄,机器可以在没有电源的条件下操作。当我小心地转动手摇柄,在机械键盘上打字时,9个转轮开始向前移动,凸纹印刷轮轻轻地敲击着纸带。我当场决定尽我所能找到一台我能修复的HX-63。
弗里德曼担心的原因很容易理解。HX-63大约10600个可能的密钥组合;用现代术语来说,这相当于一个2000位二进制密钥。相比之下,现在用于保护政府、银行和许多其他部门敏感信息的高级加密标准通常使用128位或256位密钥。
同样令人担忧的是,CAG是一家可以向任何政府、企业或个人销售的瑞士私企。弗里德曼在美国国家安全局的工作是确保美国政府能够获取世界各国政府和威胁的敏感、加密通信。但由HX-63加密的通信将是不可破译的。
弗里德曼和哈格林是好朋友。二战期间,弗里德曼帮助哈格林成为一个非常富有的人。弗里德曼对哈格林的一台密码机提出改造建议,这为美军批准哈格林的专利铺平了道路,由此诞生的密码机M-209-B在战争期间成了主力,在战场上大约部署了14万台。20世纪50年代,弗里德曼和哈格林的亲密关系促使美国情报部门和这家瑞士公司达成了一系列被统称为“绅士协议”的谅解协议。哈格林同意不向美国情报部门列出的国家出售最安全的密码机,美国情报部门也可秘密获取CAG的各种机器、计划、销售记录和其他数据。
虽然H-460失败了,但它的继任机器H-4605却售出了数千台。H-4605是在美国国家安全局的协助下设计出来的。为了生成随机数,它使用了多个基于当时新兴的互补金属氧化物半导体(CMOS)电子技术的移位寄存器。这些数字并非从不重复的真实随机数,而是由数学算法从初始“种子”中生成的伪随机数。
这种数学算法是由美国国家安全局创造的,它可以解密用该机器加密的任何消息。通俗地说,这款机器被开了“后门”。这是CAG新时代的开始。从那时起,它的电子机器,如HC-500系列,都是由美国国家安全局秘密设计的,有时还得到摩托罗拉等合作企业的帮助。这项美国-瑞士行动的代号为“Rubicon”。所有CAG机器的后门一直持续到2018年该公司被清算。
在2018年以前,上述部分细节是CAG员工泄露出来的,大部分是《华盛顿邮报》和欧洲两家广播公司——德国电视二台和瑞士德语广播电视在后续调查中发现的。2020年2月11日《华盛顿邮报》发表的文章引发了密码学、信息安全和情报领域的大风暴。
这些披露内容严重损害了瑞士谨慎和可靠的声誉。它们引发了民事和刑事诉讼以及瑞士政府的调查,并在今年5月导致瑞士情报局长简-菲利普•高丁(Jean-Philippe Gaudin)辞职,他曾就如何处理披露事件与国防部长发生争执。事实上,当时的这些事情与如今这个年代有一点有趣的相似性:后门越来越普遍,美国联邦调查局以及其他美国情报和执法机构偶尔也会与智能手机制造商为获取手机加密数据发生争执。
在此次披露之前,我就对HX-63深深地着迷,它是最后一台伟大的转轮机。2020年,为在巴黎的一家密码学家和信息安全专家的专业组织数字与信息安全预备役协会开展研究工作时,经过多年的谈判,我获得了一台HX-63,我几乎不敢相信我的好运气。这台特殊的装置与我十年前看到的那台不同,从1963年起就一直没有被动过。我立即开始计划修复这台在历史上十分著名的机器。
要了解转轮密码机的工作原理,我们首先需要回顾一下密码学的基本目标:用其他字母替换消息(称为“明文”)中的每个字母,以生成一条不可读的消息(称为“密文”)。每次都进行相同的替换是不够的,例如,用Q替换每一个F,用H替换每一个K。这种单码替代密码很容易被破解。
转轮密码机机通过转轮来解决这个问题。转轮密码机有一个圆盘,其直径大约与冰球相当,但更薄。在圆盘的两侧,沿边缘均匀分布着26个金属触点,每个触点对应一个英文字母。圆盘内部的导线连接圆盘一侧和另一侧的触点。圆盘电连接一个类似打字机的键盘。当用户按下键盘的一个键,比如W时,电流会流向转轮一侧W的位置。然后经转轮中的一根导线,从另一个位置流出,比如L。但是这次敲击后,转轮会旋转一个或多个位置。因此,当下次用户敲击W键时,该字母将被加密成其他字母,而不是L。
虽然这比简单的置换更具挑战性,但对于训练有素的密码分析员来说,破解这样一台简单的单转轮密码机简直是小菜一碟。所以转轮密码机使用多个转轮。例如,恩尼格玛有三转轮版,也有四转轮版。在操作中,每个转轮的移动间隔都与其他转轮不同:敲击一次按键可以移动一个或两个转轮,或者全部转轮。操作员为了进一步提高加密方案的复杂性,可选择在密码机中插入不同的转轮、使用不同的转轮接线。军用恩尼格玛也有一个插接板,可以在键盘输入和输出指示灯处交换特定的两个字母。
随着电子和软件加密技术的出现,转轮密码机时代最终在1970年左右结束了,不过有一款叫做Fialka的苏联转轮密码机部一直沿用到了20世纪80年代。
HX-63挑战了密码学的极限。首先,它有一组9个可拆卸的转轮。还有一个“修改器”——一个由41个旋转开关组成的阵列,每个开关都有41个位置,就像恩尼格玛上的插接板一样,进一步增加密码的复杂性。我拿到的机器有一个铸铝底座、一个电源、一个电机驱动器、一个机械键盘和一台用于显示输入文本和加密或解密文本的纸带打印机。底座上的功能控制开关可切换4种模式:关机、“清除”(测试)、加密和解密。
在加密模式下,操作员键入明文,加密的消息会在纸带上打印出来。根据转轮组和修改器的多种排列,每个键盘输入的明文字母都会被加密,生成密文字母。在解密模式下,这个过程是相反的。用户输入加密消息,原始消息和解密消息会在纸带上逐字打印出来。
要开始加密消息,我们需要(从12个转轮中)选择9个转轮,然后设置转轮销,确定转轮相对于其他转轮的步进运动。接下来,按照从右向左的特定顺序将转轮放置在机器中,并将每个转轮放置在特定的起始位置。最后,将41个修改器开关中的每一个都设置为先前确定的位置。要解密消息,必须在接收方完全相同的机器中重新创建这些相同的转轮和设置,以及修改器。所有这些转轮和修改器的位置、接线和设置统称为“密钥”。
除了手摇柄外,HX-63还包括一块镍镉电池,以便在没有电源的情况下运行转轮电路和打印机。一个12伏的直流线性电源可为电机和打印机供电,并为电池充电。精密的12伏电机连续运转,通过减速齿轮和离合器驱动转轮和打印机轴。按下键盘的一个键松开一个机械止动块,齿轮驱动装置推动机器完成一个周期,转动轴,推动转轮并打印字符。
打印机有两个凸纹字母轮,敲击键盘就会发生旋转,并通过4个电磁阀和棘轮装置停在想要的字母处。根据转轮组和键盘的输出,机械轴编码器可感知字母打印轮的位置,并在想要的字母处停止旋转。每个字母轮都有自己的编码器。一个在纸带的左半部分打印输入内容;另一个在纸带的右半部分打印输出内容。一个字母轮停止后,凸轮会释放打印锤,在纸带上敲击凸纹字母。最后一步,电机推进纸带,这个周期完成,同时机器为下一个字母做好了准备。
清洁和润滑机器后,我敲了几下键盘。我欣喜地看到9个密码转轮全部可以转动,机器在纸带上打印了几个字符。但打印出来的内容有断续的空白和扭曲变形。我更换了已被腐蚀的镍镉电池,重新连接了电源变压器,然后慢慢地接入交流电源。令我惊讶的是,敲击几下键盘,电机、转轮和打印机都能工作,突然齿轮发出咬合撞击声,塑料碎片从机器中飞出。打印工作完全停止,我的心跳也几乎停止了。
我决定将HX-63分解成几个模块:先拆下转轮组,然后是打印机。底座包含键盘、电源和控件。打印机的内部有4个塑料“缓冲器”,用于缓冲和定位控制杆,使棘轮停在指定的字母处。这些缓冲器已经腐烂了。此外,给字母轮的油墨泡沫盘也烂了,胶粘碎片堵塞了字母轮。
我还有一些令人意外也很值得庆幸的发现。为了修复损坏的打印机零部件,我需要一根密实的橡胶管。我发现广泛使用的氯丁橡胶真空软管非常合适。我用钻床和一根铁棍作为芯轴,将软管切割成几段,每一段都是精确的10毫米。但打印机内部深处的空间,也就是放置塑料减震器的位置,被很多轴和控制杆挡住了,拆除和更换这些东西似乎非常危险。因此,我使用直角长嘴钳和牙科工具在机械下操作新减震器。经过数小时灵巧敏捷的“手术”后,我将减震器安装好了。
又做了几次修复之后,我只剩一个麻烦了:纸带卡纸。我装了一卷新的纸带,但没有注意到这卷纸带的芯稍小一点。纸带被撕扯得卡在了字母轮下,而且卡得很深,难以取出。我陷入困境,不过后来有一惊喜的发现。HX-63配有带锯齿边的不锈钢片,专门用于取出被卡住的纸带。我终于清除了卡纸,完成了修复工作。
以下是HX-63的回注工作原理。在加密模式下,电流沿一个方向流过所有转轮,每个转轮都引入了一种独特的排列。在流过最后一个转轮后,电流通过同一个转轮再反向流经所有转轮。然而,当电流反向流经转轮时,它走的是一条不同的路线,即为此预留的15条额外电路路径。确切的路径不仅取决于转轮的接线,还取决于41个修改器的位置。因此,可能的电路配置总数是26!×15!,大约等于5.2×10381。而且9个转轮的每一条内部连接均有26!种不同的接线方式。此外,转轮的增量由41个机械销控制。综合起来,不同密钥的组合总数约为10600个。
与此同时,哈格林在1953年也为该技术申请了美国专利,他打算将其用于后来的HX-63。令人惊讶的是,虽然斯莫尔已经为该技术申请了专利,哈格林却在1957年也获得了专利(专利号:2802047)。对弗里德曼而言,他一直担心哈格林使用回注技术,因为这项技术已经使用在一系列非常重要的美国密码机上,还因为这对美国国家安全局随意监听政府和军方通信的能力构成了巨大威胁。
1977年,罗纳德•克拉克(Ronald Clark)在一本关于弗里德曼的传记《破解“紫色”的人》(The Man Who Broke Purple)中提到了弗里德曼和哈格林之间导致HX-63被取消的一系列会晤。2014年,美国国家安全局的《威廉•F. 弗里德曼文件集》进一步详细披露了这件事。
Crypto AG与美国情报部门的秘密交易被披露引发了一场令人愤怒的丑闻,但从另一个角度来看,Rubicon是历史上最成功的间谍行动之一,也是现代后门的先驱。如今,不仅仅是情报机构在利用后门窃取“秘密”消息和交易。Windows 10的“遥测”功能也在持续不断地监视着用户的活动和数据。苹果Mac也不安全。时常出现恶意软件允许攻击者控制Mac电脑的消息;比较有名的是大约2016年的埃莉诺MAC后门。2020年底,网络安全公司火眼披露,恶意软件为供应链和政府服务器上的SolarWinds Orion平台开了一个后门。有一系列恶意软件对Orion进行攻击,这款名为SUNBURST是其中的第一个。全面的损失情况尚不清楚。
而且这台机器还有后续。我最近发现,我在Crypto AG的联系人,我称之为“C”吧,也是瑞士情报机构的一名安全人员。几十年来,在作为Crypto AG高层的同时,“C”还是美国中央情报局和瑞士情报机构的后台通道,甚至在美国中央情报局还有一个代号。我那古怪的瑞士老朋友一直都知道一切!
作者:Jon D. Paul