一、前 言

很早以前就从影视作品中看到这样的一幕--美国总统、国务卿、参谋长等高官坐在五角大楼办公室里面,现场指挥飞机用导弹攻击地面目标,同时直观看到攻击后的结果,然后一起开心鼓掌微笑···。现实中真的能做到还是仅仅存在于电影电视作品?通过仔细分析美军现役密码装备特点与设计实现思路, 可以确信美军真的能做到, 美军 C5ISR 真的就是这样设计的,美军是如何做到的?值得我们分析分析。

二、美军密码装备的特点

C5ISR 是美军一直追求的目标,为此美军密码装备的设计指导思想是强调战场信息互联互通保障,为美军实现作战指挥综合信息的全时段、多手段、高时效的动态安全保护,全面支持全球信息网格, 密码系统在全球栅格网上的任何地方提供安全的信息传递, 为 C5ISR 、IT 和武器系统提供有保证的机密性、完整性和身份验证服务。

根据目前已公开并收集到的情报资料汇总, 美陆海空三军、海岸警卫队、海军陆战队等在役密码装备 48 种(包含系列),纵览这些密码装备产品,表现出如下几个方面的突出特点:

1 、应用面极广

许多保密机产品说明书中都表明它不仅仅装备于陆军, 海军、空军 ···,甚至装备于国防部、国土安全部 … . ,更有甚者,它们还广泛装备于遍布全球的友军。要做到这点,背后支持它的必须具有以下能力:

1)超强的互联互通能力

美军陆海空密码装备不仅能与美军陆海空自己的密码装备之间实现互联互通, 还能跨军兵种互通甚至与外国的互通。

比如: 美军的 AltaSec®KG-250 与外国互通(FI)的 HAIPE (高保障 IP密码机互通规范) ®高速 IP 网络加密机,该保密机通过了美国国家安全局(NSA)认证, KG-250 可编程适合与外国互通(FI)。由于有了 NSA 颁发的证书, Viasat 公司就能将这款王牌密码机提供给更广泛的用户团体, 其中包括美国国防部、国土安全部和经授权的其它国家。 KG-250 是首台通过NSA 认证、拥有 Suite B I类密码算法的高保障 IP 加密(HAIPE)设备, 也是第一种完全符合 HAIPE 互通规范和外国互通(HAIPE IS-FI)标准的产品。它允许用户在 Suite A I 类或 Suite B I 类密码算法之间进行变换并改进了密钥管理功能,因而能更好地支持多国部队作战。借助其可编程能力,用户在战场上可以升级新的外国互通能力。

KG-250 同时支持密码现代化和 HAIPE IS,代表着加密产品的重大突破。KG-250 软件遵守 HAIPE 标准,为融合、匹配不同供应商的产品提供了机会,同时还可根据具体用户应用选择满足性能、联网与安全、环境需求的最佳产品。

2007 年 10 月, ViaSat 公司宣布获取美国空军加密支持组(CPSG)870万的合同, 购置 2000 台产品, 接受操作与存储培训, 购买系统测试装置及软件维修与支持, 计划 2012 年 7 月完成交付。

2)超强的跨安全域能力

多款密码装备在美军中同时实现保护绝密、机密、秘密甚至非密信息,美军无论是在链路层还是网络层,无论是有线还是无线终端方面均大量部署和装备了这样的具有多安全域、多安全级的产品。比如:

KIV- 19M 链路加密机:KIV- 19M 是群路加密设备(TED),提供所有密级数字数据业务的密码保密,传输速率达 50Mbits/s。它可存储 5 条不同业务算法, 可通过终端用户进行选择来配置。每条 KIV- 19M 的信道可独立配置来处理业务。这样,每条信道可使用相同或不同的算法,并且,可对每条信道独立加密,以支持各个安全级别,包括绝密级。

ProtecD@R®网络加密机(KG-202):KG-202 ProtecD@R 网络加密机用于保护存储在网络上的静态数据(DAR), 支持固定的和可移动的介质。美国国家安全局已授权 KG-202 可加密可移动和固定存储设备的绝密级及以下的信息。

Sectera Edge 智能手机:Sectera Edge 智能手机通过结合无线电话和个人数字助理(PDA)的功能来保护无线语音和数据。它经过认证可以保护分类为绝密及以下的无线语音通信, 以及访问电子邮件和分类为机密及以下网站。据称 Sectera Edge 是唯一一款可通过单键按键在保密和非密 PDA之间切换的中小企业设备。

安全终端设备(办公室):Office/STE 在数字和模拟网络中提供语音和数据加密。STE 家族的用户包括美国国防威胁减少机构、美国国防信息系统局、美国司法部和美国海军。STE 获得 NSA 认证, 可用于从非保密到绝密/敏感分类信息(TS/SCI)的业务通信。

2 、装备量极大

从美军密码安全装备的研制和订货合同金额可见, 数十亿美金就完成了上百万台套装备的交付和服务, 每台套价格不足 1000 美金, 价格真心便宜。要做到如此, 必须具备极好的芯片化、模块化、可编程、可重构能力。

美军现役加密系统中研制和装备了大量的模块化和芯片化的加密设备,密码模块化和芯片化是美军CM 计划五大基石之一,通过模块化和芯片化,更能确保安全稳健、加密算法合规性、互操作性、可释放性和可编程性,从而实现了缩小体积、降低功耗、降低成本、增长产品生命周期的目标。

比如:美军现役密码模块和芯片中有 Citadel®加密引擎、 DVP-200 数据话音保密单元、 KGV-7211 型可编程嵌入式加密装置、可嵌入 KG-84COMSEC 模块、 KIV-7HS/7HSA 模块、 KIV-7HS 和 KIV-7HSA 链路加密模块、 KIV-7HSB 网络 TDMA-TIP 兼容加密模块、 Sierra II 可编程加密模块、AcropolisTM II 可编程密码系统芯片等。

以 Citadel®加密引擎为例, 它为美国和国际用户提供军事和政府等级保护,可以嵌入到所有的现代通讯设备。它具有可配置密钥长度和多种算法选项, 可用于导出,使得 Citadel 适用于各种通信产品。

Sierra II 可编程加密模块由一个小型化的印刷线路组件、定制的专用集成电路(ASIC)和嵌入在无线电和其他语音和数据通信设备中的支持软件组成,用于在传输和存储之前加密机密信息,低功耗适用于电池供电的应用,具有传统和未来的算法支持和高级可编程性。

AcropolisTM II 可编程密码系统芯片 ASIC/模块作为数字加密设备, 为当前及未来通信系统提供高级信息安全。设备采用美国国家标准与技术研究所(NIST)高级加密标准(AES)算法, 以满足军用(美国及国际用户)和商用的加密需求, AcropolisTM II 采用电源供电, 支持算法软件可编程,适用于军事电台、无线电局域网、远程传感器、制导弹药、遥感勘测应用、无人机及其它设备。AcropolisTM II 对数字通信进行加、解密, 包括多种打包和未打包的数字化语音、视频及数据通信。

在做好模块化、芯片化、可编程、可重构的同时, 美军密码装备同时获得了体积小、功耗低、价格便宜、服役周期超长的巨大好处。

三、特点背后的机理

美军密码装备呈现出的超强互通能力、超强的灵活性、规模装备部署且价格低廉、服役周期超长、功能综合全面、适应范围广阔 … 等等诸多特点,实质是在密码相关技术上诸多“黑科技”关键技术支撑所致。通过一层层扒开这些安全与保密产品,我们不难发现这些技术的线索所在。

1 、架构层面的安全技术-安全协议设计

众所周知, 通信系统要实现互联互通性, 不是单纯在终端设备上发力做好功课就能行的,必须在系统架构层面有合理的顶层规划和设计,而这种系统层面的设计落地体现最终是落在通信协议上,密码安全保密系统同样如此,美军密码安全装备能做到超强的互联互通甚至跨多级安全域,必定是在协议层面做好了顶层设计。仔细阅读保密机产品手册,不难发现HAIPE 频繁出现在链路、网络等等加密机中, 而 SCIP 则高频出现在终端安全产品说明书上, 可以说正是它们架构起了保密安全互通的骨架, HAIPE、SCIP 是什么?它们如何工作的呢?

1)HAIPE

HAIPE(High Assurance Internet Protocol Encryptor,高保障 IP 协议加密器),它是一种遵从美国国家安全局(NSA)制定的 HAIPE IS 规范的 1类加密设备,也是新一代因特网密文传输协议的工业标准。HAIPE IS 是美国防部、国家安全局为在广域网和其它专用域网络上实施无缝保密通信行动而制定的一套高保障 IP 加密互操作规范,其前身是 HAIP IS ( HighAssurance Internet Protocol Interoperability Specification,高保障 IP 协议互操作规范),目的是确保未来 IP 网络加密设备的互通性, 推进各类 IPSec 加密产品标准化,尤其是对IPv6协议的支持。HAIPE IS在增强互通能力的同时,力求简化网络管理和配置的复杂度。HAIPE 使用的密码系统是 NSA 指定的作为密码现代化规划系列的 Suite A 和 Suite B 类, HAIPE IS 规范基于 IPSec安全体系结构, 对其作了一些额外的限制和功能加强, 使得安全强度更高,互操作性更强。一个显著的增强功能是使用预置的密钥加密多播数据的能力, 只要进行数据传输之前在所有将参与多播会话的 HAIPE 设备上配置相同的密钥即可。

HAIPE IS 不包含任何特定实现、环境或性能方面的需求。它定义一套网络层加密实现的核心和扩展功能。核心功能定义了最低限度的基本能力:

· HAIPE 到 HAIPE 的互操作性;

· HAIPE 到网络基础设施的互操作性;

· HAIPE 到管理基础设施的互操作性;

· HAIPE 到密钥管理基础设施的互操作性。

扩展功能定义了额外的控制和管理平面能力, 以及原有的业务流保护能力以支持原有的 HAIPE 实现。扩展功能适合于某些特定实现, 面向特定的用户及使用场合。

HAIPE IS 规范当前装备最多的有两个流行的版本,一是 HAIPE IS 1.3.5,一个是 HAIPE IS 3.1.2(目前最新的版本已经升级到了4.x) ,3.X 版对 1.3.5 提供后向兼容支持。1.3.5 版只提供了基本的 IPSec 加密产品互通性操作规范框架, 而 3.X 版提供了许多前版本未支持的关键功能或增强。

· 支持高效带宽变换,减少数据包封装的间接开销;

· 支持传输封装模式,进一步减少额外开销;

· 引入 Suite B 加密系统,扩展可利用的公开密码算法;

· 增强的基于区分服务、拥塞通知、流标签的 QoS 域旁路功能;

· 改进的多播代理支持,同时支持 Host 模式和 Proxy 模式;

· 采用 IPv4 、IPv6 双栈技术,对 IPv4 和 IPv6 流量提供独立支持

· 支持 IPv6 的流标签旁路、自动地址分配和邻居发现;

· 可扩展的对等体发现,引入 GDC ( Generic Discovery Client)协议, 允 许在大型网络上 HAIPE 设备动态定位对等 HAIPE 设备并与之建立安全关 联;

· 对所有 HAIPE 兼容设备的标准化安全网络管理。

HAIPE 是对 IETF 的 IPSec 协议族的扬弃, 它取消了 IPSec 体系中不太实用的 AH 协议,只保留了 ESP 协议,支持 ESP 隧道模式和传输模式保护,IKE 协商使用专用的 HAIPE IKE,同时增强了多播支持和动态路由功能。例如使用IETF 的ESPv3 加密和封装明文的IPv4 或IPv6 流量,使用 SNMPv3支持扩展网络管理, 使用 RIPv2 和 RIPng 路由选择协议提供 HAIPE 本地路由发现能力。IETF 定义了一套基于 AES (Advanced Encryption Standard)和GCM ( Galois Counter Mode)算法的加密变换,而 HAIPE IS 3.X 中指定的Suite B 加密模式也是基于 AES 和 GCM 算法。HAIPE 通过这些对 IPSec 协议的精简和增强来提供高可靠性业务流量保护、网络规划和管理能力。HAIPE IS 规范继承的 IPSec 安全组件包括:安全策略 SP、安全策略数据库SPD、加密变换、安全关联 SA、安全关联数据库 SAD、网络地址翻译穿越NAT T 等。增加的安全组件有:

· PEPT ( Peer Enclave Prefix Table)对等封闭网域前缀表, 指定对等 HAIPE 设备保护的封闭网域地址范围、对等 HAIPE 设备的接口地址信息;

· LEPT ( Local Enclave Prefix Table)本地封闭网域前缀表, 指定本地 HAIPE 设备保护的封闭网域地址范围、本地 HAIPE 设备的接口地址信息;

· MAMT ( Multicast Address Mapping Table)多播地址映射表,支持 HAIPE 实现 IP 多播功能;

· HIKE ( HAIPE IKE ) HAIPE 专用的 IKE 版本,支持 HAIPE 与同一 对等体的多 SA 协商;

· SPMT ( Security Policy Mapping Table)安全策略映射表, 用于手动配 置 SP 与 SA 的关联,特别是支持 HAIPE 与同一对等体建立多 SA隧道;

· TFS ( Traffic Flow Security)业务流安全,支持固定包长和可变包长 两种模式,以增加 HAIPE 加密的包开销来换取安全度的提高;

· TMTT ( Transport Mode Topology Table)传输模式拓扑表, HAIPE 3.X 中支持 ESPv3 传输模式的新数据结构,存储传输模式 SA 关联的数据源和目标地址映射, 用于数据包入站处理时重建被传输模式SA 剥离的原始 IP 报头。

HAIPE 设备及加密保护原理是怎么样的呢?

一个 HAIPE 设备是一个典型的安全网关, 用于保护两个封闭网络域(Enclave,也称为飞地) 跨越不信任的或者低密级网络交换私密数据,实现端到端的业务流安全(机密性和完整性)。HAIPE 设备既可用作飞地或节点保护, 也可作为一个单独的设备或者内嵌入终端或主机中。HAIPE 设备作为新一代因特网密文传输协议设备,兼有高安全和高性能双重特征,高安全体现在它支持高强度加密算法 AES、MEDLEY、BATON 和完整性算法GCM-0 到GCM- 128 以及BIP-32等,高性能体现在它属于硬件级加密设备,能够高速处理数据包的加解密和封装。HAIPE 设备只有两个以太网接口,PT ( Plain Text 接口和 CT (Cipher Text)接口, PT 接口连接的被保护网络称作PT 网域, PT 接口与 PT 网域之间是明文通信, CT 接口连接的外部共享网络称为 CT 网域,CT 接口跨越 CT 网域连接到对端 HAIPE 设备的 CT 接口,本地 CT 接口与对端 CT 接口之间的数据通过 ESP 加密隧道传输, 对 CT 网域透明。HAIPE 设备配置复杂度较传统 IPSec 设备大为降低,对等设备之间支持 GDC (Generic Discovery Client)动态发现。LEPT 表可通过 HAIPE 设备 PT 接口上被动 RIP 路由协议获悉并填充, PEPT 既可以手动配置,也可以通过 GDC 动态发现协议进行获悉并填充, 但 HAIPE 设备一般更倾向于手动配置 PEPTa HAIPE I .3.5 设备只支持 ESP 隧道模式保护, 而 HAIPE 3.X设备同时支持 ESP 隧道模式和传输模式保护。HAIPE ESP 隧道模式类似IPSec ESP 隧道模式,外层隧道 IP 报头使用本地 CT 接口地址作为源 IP 地址, 远端 CT 接口地址作为目的 IP 地址。HAIPE ESP 传输模式跟 IPSec ESP传输模式则有较大不同,出站处理时加密前剥离原数据包中的 PT IP 报头,只加密数据载荷部分, 然后使用本地 CT 接口地址作为源 IP 地址, 远端 CT接口地址作为目的 IP 地址重建一个新的 IP 报头进行封装, 这需要手动配置传输模式 SA 和 PT 源地址一目标地址映射,而且一个 PT 源地址一目标地址映射关联一个单独的传输模式 SA,接收方 HAIPE 设备根据入站处理的SA 及其关联的传输模式拓扑表(Transport Mode Topology Table)查找对应的源 IP 地址和目标 IP 地址对以重建原来的 IP 报头,从而进行可路由的 PT网域转发。

两个对等 HAIPE 设备分别前置在受保护网络的边缘, 当需要进行机密通信时, HAIPE 设备或手动配置或动态发现对方,完成加密参数的协商,在 CT 接口之间建立 ESP 加密隧道。通信时发送方 PT 网域的明文数据包到达 HAIPE 的 PT 接口时被送交加密和封装模块进行处理, 处理完毕转至 CT接口,然后通过 ESP 隧道转发到对端,对端 CT 接口把密文送交解封装和解密模块,处理完毕后转至 PT 接口, 然后在接收方 PT 网域进行常规转发至目的地。

2)SCIP (安全通信互操作性协议)

安全通信互操作性协议( SCIP)是用于语音和数据安全通信的多国标准,适用于电路交换的一对一连接而不是数据包交换的网络。SCIP 源自美国政府于 2003 年提出与其他国家共享 FNBDT (未来的窄带数字终端)的详细信息。SCIP 支持许多不同的模式,包括采用不同密码的国家和跨国模式。许多国家和行业开发 SCIP 设备来支持 SCIP 的跨国和国家模式。

SCIP 可在广泛的通信系统上运行, 包括商业有线电话、军用无线电、通信卫星、 IP 语音和几种不同的蜂窝电话标准。因此, 除了 2400 Hz 的最小带宽外,它不对基础信道有任何要求。这类似于拨号调制解调器,因为一旦建立连接, 两台 SCIP 设备首先会协商所需的参数, 然后以可能的最佳方式进行通信。

从 2001 年开始,美国从 CONDOR 安全手机开始使用 SCIP 或 FNBDT系统, 该标准涵盖了宽带以及窄带语音和数据安全性。

SCIP 由国防部数字语音处理器联盟(DDVPC)与美国国家安全局合作设计,旨在解决早期的 NSA 语音加密系统(包括 STU-III 和安全终端设备(STE))的问题。由于当时基础通信系统与更现代的无线系统的互操作性存在问题。尽管 STE 可以升级为可与 SCIP 一起使用,但 STU-III 无法做到。由于各个政府机构已经拥有超过 35 万部 STU-III 电话, 每部电话的成本为数千美元,因此升级替代存在一定的阻力。

SCIP 标准包含多个组件:密钥管理, 语音压缩,加密以及针对语音,数据和多媒体应用的信令计划。

密钥管理( 120):要建立安全呼叫, 必须协商新的流量加密密钥(TEK)。对于 1类安全性的SCIP信令使用增强的FIREFLY 消息系统进行密钥交换。FIREFLY 是基于公钥密码学的 NSA 密钥管理系统。商业级应用中有一种是采用的 Diffie-Hellman 密钥交换。

STE 使用安全令牌将安全语音功能限制为授权用户使用,而其他 SCIP设备仅需要 PIN 码, 安全性为 1 类的采用 7 位 PIN 码, 非密类采用 4 位 PIN码。

使用语音编码器(声码器) 进行语音压缩:SCIP 可以与各种声码器一起使用。该标准至少需要支持混合激励线性预测(MELP)编码(一种称为MELPe 的增强型 MELP 算法),并具有额外的预处理、分析器和合成器功能,以提高清晰度和噪声鲁棒性。旧的 MELP 和新的 MELPe 可以互操作,并且都以 2400 bit / s 的速度运行, 每 22.5 毫秒发送一个 54 位数据帧, 但是MELPe 具有可选的 1200 bit / s 和 600 bit / s 的附加速率。

2400 bit / s MELPe 是 SCIP 唯一需要的强制性语音编码器。终端中可以支持其他语音编码器。如果呼叫中涉及的所有终端都支持相同的编码器(在呼叫建立的协商阶段商定), 并且网络可以支持所需的吞吐量, 则可以使用这些功能。G.729D 是 SCIP 终端中得到最广泛支持的非强制性语音编码器,因为它在较高的语音质量之间提供了很好的折衷,而又不会显著增加所需的吞吐量。

加密( SCIP 23x):SCIP 23x 系列文档定义了 SCIP 的多国和国内模式使用的安全性。SCIP 231 定义了可以在多国使用的基于 AES 的密码, SCIP232 定义了替代的跨国密码解决方案。一些国家已经定义或正在定义自己的 SCIP 国家安全模式。美国国家模式( SCIP 230):SCIP 230 定义了 SCIP 美国国家模式的密码方案。为了安全起见, SCIP 使用在计数器模式下运行的分组密码。为每个呼叫协商一个新的流量加密密钥(TEK)。分组密码被送入 64 位状态向量( SV)作为输入。如果密码的分组大小大于 64 位,则添加固定填充符。

分组密码的输出与 MELP 数据帧进行异或运算以创建密文, 然后将其传输。保留状态向量的低两位用于数据帧长于分组密码输出的应用。接下来的 42 位是计数器。四位用于表示传输模式。这允许不止一种模式, 例如语音和数据,以相同的 TEK 同时操作。高阶 16 位是发送者 ID,这允许单个通道上的多个发送者都使用相同的 TEK。由于整体 SCIP 加密实际上是一种流密码加密,因此对于给定的 TEK,永远不能对相同的状态向量值使用两次。在 MELP 数据速率下, 一个 42 位计数器允许进行三千多年无重复加密呼叫。

对于安全性为 1 类的 SCIP 使用密钥长度为 128 位的 BATON 或其他分组长度为 128 位的密码(例如 AES), SCIP 指定使用每个密码输出分组对两个数据帧进行加密, 第一个从第 1 位开始, 第二个从第 57 位(即下一个字节边界)开始。有些商业级别的应用使用 Triple DES 密码。

信令计划(210):SCIP 信令计划对于 SCIP 的所有国家和跨国模式都是通用的。SCIP 有两种强制性的传输类型,强制数据服务使用带有前向纠错(FEC)的 ARQ 协议来确保可靠的传输。接收点确认数据块的正确接收,并在必要时可以请求重传一个数据块。对于语音, SCIP 只需发送语音数据帧流(通常是 MELPe 帧,但如果已在终端之间协商, 则可能是 G.729D 或其他编解码器)。为了节省语音通话的功率, 如果没有语音输入, SCIP 将停止发送。大约每秒钟发送一次。每个同步块都发送加密计数器的低 14 位。14 位足以覆盖超过六分钟的淡出时间。其余状态向量的一部分也将被发送, 以便在接收到三个同步块后,将恢复整个状态向量。这样可以处理更长的 衰落,并允许具有适当 TEK 的电台加入多电台网络并在 1.5 秒内同步。

可用性: 截至 2011 年 3 月, IAD 网站公开提供了一系列 SCIP 文件,包括 SCIP-210 信令标准。在此之前, SCIP 规范并未广泛散布或易于访问。这使得供政府使用的协议在政府或国防工业之外相当“不透明”。由于 1 类安全性的传输协议实施方案并没有公开发布, 因此无法公开验证其安全性。

2、内核层面的安全保证--算法

美军通过对密码机产品的模块化、可编程可重构芯片化实现,达成了满足性能、灵活性条件下的缩小体积、降低功耗、降低成本、增长产品生命周期的目标。由于模块与芯片主要核心功能都是围绕实现密码算法,从事过密码模块和芯片实现的人都知道,密码算法差异性极大,实现起来难度、性能、功耗等差别也特别大,即使在确定的密码算法实现方面也不自觉地遵循着2/8原则,即20%的精力、资源完成了80%的实现,而剩下的80%的精力和资源面对和解决的是20%甚至更少的部分。但是,在面临完全未知的未来的密码算法时,这种比例关系远胜2/8原则!为实现未知算法的可编程、可重构适配,在架构设计阶段就开始面临着巨大挑战,灵活性直接与性能、功耗、造价冲突,无论是采用FPGA方式的实现还是采用处理器调度固化的加密要素单元方式实现的可编程、可重构,都无法真正做到无边界的性能、功耗、灵活性平衡兼顾,那美军是如何做到的呢?

(一)美军密码算法概况

美国密码算法标准是由NIST制定,国家安全局(NSA)负责美军密码装备评测和使用规划,NSA在加密方面对绝大多数工作进行了有效分类,同时它有时也会参与标准流程制定或以其他方式发布有关加密算法。

美国国家安全局(NSA)将加密设备分为四种产品类型,将算法分为两类。具体为:

(1)1类加密

1类加密产品是指NSA认可的,用于机密或敏感的美国政府信息的分类或受控密码产品,包括经NSA分类或认证的用于加密和解密机密和敏感的国家安全信息的加密设备、单元或组件。

名称

类型

标准

应用

装备

ACCORDIAN

R21-TECH-13-00

AIM\\SafeXcel-3340\\PSIAM

AES(256-b)

分组密码

FIPS 197

巨量

巨量

BATON

分组密码

多种

PKCS#11\\CDSA\\CSSM\\AIM\\CYPRIS\\APCO Project 25\\MYK-85\\Fortezza Plus\\SecNet-11\\Sierra\\SafeXcel-3340\\PSIAM

BAYLESS

CYPRIS

BYTEMAN

CYPRIS

CARDIGAN

CYPRIS

CARDHOLDER

卫星上连加密

CYPRIS\\KI-17\\U-AYJ\\Flight 加密芯片\\MYK-16\\CXS-810\\CXS-2000\\MCU-100\\MCU-600

CARIBOU

卫星上连加密

U-TXZ\\MYK-15A

CRAYON

AIM\\CYPRIS

FASTHASH

密码HASH功能

1类hash

PKCS #11\\CDSA/CSSM

FIREFLY/Enhanced FIREFLY

EKMS公钥密钥产生

AIM\\SafeXcel-3340\\SecNet54\\ViaSat\\KG-25x\\PSIAM

GOODSPEED

Sierra II

HAVE QUICK

Antijam LPI/LPD 话音加密

CYPRIS

JACKNIFE

AIM IFF Mode 5

JOSEKI

R21-TECH-0062-92\\R21-TECH-13-97\\R21-TECH-13-98)

加密算法固件保护

AIM\\ PSIAM

JUNIPER

分组密码

PKCS #11\\CDSA/CSSM

KEESEE

AIM\\CYPRIS\\PSIAM

Mark XII IFF

IFF

AIM

MAYFLY

非对称密码

PKCS #11\\CDSA/CSSM

MEDLEY

R21-TECH-30-01

AIM\\SecNet54\\SafeXcel-3340\\ViaSat KG25x\\PSIAM

PEGASUS

卫星数据下行

KG-227\\KG-228\\KI-17\\U-BLW\\U-BLX\\MYK-17\\CXS-810\\CXS-2000\\MCU-100\\MCU-600

PHALANX

AIM\\CYPRIS

SAVILLE

窄带加密

AIM\\CYPRIS\\Windster\\VINSON

VALLOR

TTY 潜艇

AIM

WALBURN

宽带加密

AIM\\KG-81/94/194/95

PADSTONE

CYPRIS\\Windster

WEASEL

SafeXcel-3340

(2)2类加密

2类加密产品是指NSA认可的用于获取敏感但非机密的美国政府信息的非密设备、单元或组件。

名称

类型

标准

应用

装备

CORDOBA

CYPRIS\\Windster

KEA

非对称密码

R21-Tech-23-94

密钥交换和数字签名

Fortezza\\Fortezza Plus\\Palladium Secure Modem

SKIPJACK

分组密码

R21-Tech-044-91

机密算法

Fortezza\\Fortezza Plus\\Palladium Secure Modem

(3)3类加密

非密设备、单元或组件,如果适当地加上了密钥,则可用于加密或解密非密的美国敏感政府或商业信息,并保护需要与标准商业惯例一致的保护机制的系统。3类加密算法是指NIST认可的、已注册并已发布FIPS的算法,用于获取敏感但非密类的美国政府和商业信息。

名称

类型

标准

使用

设备

DES

数据加密标准

分组密码

FIPS 46-3

普遍存在

普遍存在

AES

高级加密标准

分组密码

FIPS 197

巨量

巨量

DSA

数字签名算法

数字签名系统

FIPS 186

巨量

巨量

SHA

安全散列算法

密码HASH功能

FIPS 180-2

普遍存在

普遍存在

(4)4类加密

4类加密算法是指由NIST注册但未发布FIPS的算法。未经NSA或NIST认证可用于任何政府用途的未经评估的商业密码设备、单元或组件。

在美军及盟军的涉及的4类加密中分别采用Suite A和Suite B两类密码算法,它们分别对应为:

(1)Suite A密码

Suite A密码是一组NSA未发布的算法,旨在用于高度敏感的通信和关键身份验证系统。

据查到的公开资料统计表明,Suite A 算法主要包含(不仅限与)以下种类:

· ACCORDION

· BATON

· CDL 1

· CDL 2

· FFC

· FIREFLY

· JOSEKI

· KEESEE

· MAYFLY

· MEDLEY

· MERCATOR

· SAVILLE

· SHILLELAGH

· WALBURN

· WEASEL

(2)Suite B密码

Suite B密码是一组NSA认可的加密算法,可用作非机密信息和大多数机密信息的可互操作的密码基础。Suite B于2005年2月16日宣布,并于2016年淘汰。之后NSA发布商业国家安全算法(CNSA),它是一组用于替代NSA Suite B加密技术的算法,直到发布后量子加密标准为止。

2015年8月,NSA宣布,计划“在不远的将来”过渡到可抵抗量子攻击的新密码,“不幸的是,椭圆曲线使用量的增长与量子计算研究的持续发展相抵触,因此有必要重新评估我们的密码策略”。NSA建议:“对于尚未过渡到Suite B算法的那些合作伙伴和供应商,我们建议此时不要为此花费大量资金,而要为即将到来的抗量子算法过渡做准备”,预计新标准将在2024年左右发布。

据公开查到的资料表明,Suite B算法主要有:

· 密钥长度分别为128位和256位的高级加密标准(AES)。对于流数据,AES应该与低带宽流量的计数器模式(CTR)或高带宽流量的Galois /计数器模式(GCM)操作模式一起使用(请参阅分组密码操作模式)--对称密码

· 椭圆曲线数字签名算法(ECDSA)--数字签名

· 椭圆曲线Diffie-Hellman(ECDH)--密钥协商

· 安全哈希算法2(SHA-256和SHA-384)--消息摘要

(二)美军典型密码算法特点

美军广泛使用的密码算法涵盖对称密码算法和非对称密码算法,对称密码算法中又分为分组密码算法和序列密码算法两大类,数据的加解密依托对称密码算法进行,非对称密码算法主要用于数字签名、认证和密钥分发等,从应用面最广的AES以及名气比较大的SAVILLI,初步可见美军密码算法设计使用的一些特点。

(1)分组加密算法的典范AES

2001年11月26日,NIST正式宣布选择Rijndael算法作为高级数据加密标准,简称AES。Rijndael算法是由比利时科学家Joan Daernen和Vincent Rijrnen提出的,它是一种明文分组长度和密钥长度均可变的分组密码算法。其明文分组长度和密钥长度都可独立地设定为128, 192或256比特,与密钥相关的迭代轮数Nr分别为10、12、14轮。在AES高级加密标准规范中限定明文分组长度只能是128比特,密钥长度可选择三者中任意一种。

AES算法采用分组密码的方形算法结构,对轮函数进行迭代运算。加解密过程中除了最后一轮外,每轮都执行相同的操作。加密过程的轮函数包括:字节替换、行移位、列混合和轮密钥加四种基本运算;AES解密过程轮函数包括:逆行移位、逆字节替换、轮密钥加和逆列混合四种基本运算。解密过程中轮函数各操作是加密过程的逆操作,但操作顺序不同于加密过程。其中,轮密钥加所用的轮密钥是由密钥扩展得到。加密过程中,密钥扩展可以实时为加密操作提供加密轮密钥;而解密过程中,需要先进行密钥扩展,产生各轮解密轮密钥后,再进行解密操作。其中,解密轮密钥是逆序使用加密轮密钥。128比特的AES算法结构如下图所示。

在AES算法中,数据操作在状态矩阵中进行,其中状态矩阵是以字节为元素的二维矩阵。长度为128比特的状态矩阵如下表所示。

AES的硬件实现具有性能好、安全强度高等优点,而且硬件实现可以根据需要选择面积或速度优先,十分灵活方便。

从AES算法结构来看,行移位不需要逻辑门,轮密钥加只需简单的异或门,只有字节代换和列混合操作相对比较复杂点。当希望获得AES的高性能实现时,重点做好字节替换和逆字节替换、列混合和逆列混合的组合电路实现即可达成。对于AES硬件高性能实现中,最主流的方式是采用轮内流水线设计的方式,可以在每轮之间插入轮外流水线寄存器,而且在每轮中也可以插入轮内流水线寄存器来缩短每轮关键路径的长度,从而大幅度的提高AES的数据吞吐率。

针对AES的不同工作模式可以采用不同的硬件实现思路,比如在反馈模式下,由于数据分组在加解密过程中要按顺序进行,所以数据分组加解密时都以串行的方式进行,这时提高性能主要依靠内部流水线结构处理速度的提高,因为插入流水寄存器可以分割运算单元从而提高逻辑电路时钟频率,而在引起面积增长很小的情况下实现良好的速度。而在非反馈模式下,由于前后数据分组的运算之间没有依赖关系,因此前后所有的运算都可以并行执行。在非反馈的情况下,可以采用外部流水线结构,由于外部流水线技术采用并行处理数据块的方法,以减少总的执行时间,从而提高实现速度,即提高了吞吐率。

总之,对于AES的硬件实现,根据实现的电路结构不同而不同。要不以面积换取高速(目前不需要很好的工艺就能轻松实现几十千兆每秒的线速加解密),要不以较低速度换取更小资源占用(仅仅用两千多个等效逻辑门就能实现完整的AES算法,功耗甚至低至完全满足无线传感器、智能卡等需求),这两种方式都可以需根据实际设计需要进行灵活选择。

(2)序列密码算法的代表SAVILLI

尽管今天随着IP网络的普及与利用,分组密码似乎有一统对称密码的天下的趋势,但序列密码的设计与分析一直依然是密码学中的核心问题之一。序列密码有以下几个突出优点:其一,序列密码算法的结构较分组密码简单;其二,序列密码有较为理想的数学分析工具,如频谱理论和技术、代数等等;其三,分组密码的一个不足之处在于相同的明文对应相同的密文组,给密码分析者充分利用明文语言的多余度提供了可能性。其四,目前大多数国家的军事和外交保密通信仍然以序列密码为主。

美军SAVILLI序列密码算法是由NSA和GCHQ(英国情报机构政府通讯总部)联合设计,具有两种工作模式:KAK(密钥自动密钥)和CTAK(密文自动密钥)模式,SAVILLE基于非线性有限状态机(支持4种配置模式),每个输出位内部循环数十次迭代,有限状态机的非线性部分用非线性反馈移位寄存器(NLFSR)来实现,采用120位长度的密钥,使用8位错误检测代码来保护密钥免受误码和设备故障的影响。

非线性反馈移位寄存器型序列密码是将非线性反馈移位寄存器作为初始乱源的序列密码,由于其硬件实现的资源开销少,此类序列密码在资源极端受限的环境中得到广泛使用。基于非线性反馈移位寄存器的序列密码算法是直到2004年欧洲NESSIE和eSTREAM计划之后才大量出现,主要是用于抵抗基于LFSR线性性质而发展的(快速)相关攻击与(快速)代数攻击等。由于NLFSR的研究还处在起步阶段,目前现有的方法对基于NLFSR而设计的算法都不太有效,想要恢复NLFSR的内部状态还是非常困难的。比如eSTREAM计划最终入选算法中的Trivium就是基于NFSR结构。由于NLFSR这些算法的内部状态往往很大,因此从理论上讲,其存在较小状态转移圈的概率很小,在实际中可以忽略不计。最为重要的是,基于非线性反馈移位寄存器的序列密码算法的安全性分析,目前还没有统一的模式和路线,因此在相当长时间内都是很主流的一类设计方案。

美军SAVILLI序列密码算法不是同步序列密码,而是自同步序列密码,自同步序列密码的密钥流依赖于之前的明/密文信息,有点类似于分组算法密文反馈模式的,即密文参与密钥流的生成过程,这使得这类序列密码的安全性从理论上分析起来非常困难。

综合Suite A和Suite B涉及的所有密码算法,对称和非对称算法非常完备、整齐且精炼,涉及算法数量并不庞杂、发散,非常收敛,这为高效、可编程、可重构的芯片化、模块化设计实现提供了非常有力的支撑。其中分组算法以AES算法为例,算法设计本身非常简洁(轮数不多,非线性变换的S盒也不是太大)、灵活、高效且安全,非常有利于软件和硬件实现,非常节约实现资源,从而为降低成本和批量化打下了基础。即便是美军在Clipper芯片和Fortezza PC卡中使用的分组加密算法Skipjack,尽管采用的是非平衡的Feistel结构(每一轮将状态分割为两部分大小不相同的子分组),轮数为32轮,密钥长度为80比特、明文和密文长度均为64比特,也体现出有快的加/解密速度和短的密钥编制时间、仅使用异或和查表运算(实现起来简单)、加/解密的速度不受密钥大小影响(密钥可扩大到1024比特)等优点;再者,序列密码(流密码)算法以SAVILLI算法为例,算法的实现非常简单,便于软硬件实施,同时序列密码加密和解密的速度都还比较快,安全性高,没有或只有有限的错误传播,这使得它在军事应用中得到了比较广泛的应用。

四、结 语

美军密码装备设计实现过程中至始至终透露和体现出一系列设计指导思想和哲学,值得我们借鉴和学习。

1、简单替代复杂,展现设计精巧

美军密码装备通过精巧的安全协议设计,利用通用的互联网基础设施全面实现了C4ISR甚至未来的C5ISR,通过收敛的算法规划与精巧的算法设计为规模化、低成本打下了基础。

单纯从HAIPE和SCIP两个安全协议来看,简单、高效、适应性强,但并没有牺牲安全性,真正体现了其安全系统顶层设计能力和水平,简单而不简陋,值得我们借鉴。

2、以少替代多,获得了实惠

美军密码装备总量巨大,但花钱并不多,做到这点是在底层采用了有限、收敛的算法适配广阔的应用和海量的装备,充分体现了少即是多的哲学,批量化、规模化的设计生产带来了标准化、系列化的落地和成本下降收益。

在通用与专用中选择了通用,在开放与封闭中选择了开放,这都是省钱的好思路。通过实施与军事和商业通信标准兼容,实现与北约、盟军和联军安全通信。

3、有序、渐进升级换代,极大保护了已有投资

美军密码装备更新换代数量巨大,但因得益于顶层规划设计有方,通过有序、渐进升级,实现了新一代装备向前兼容,比如新一代的无论是网络加密设备还是终端用户保密设备,硬件接口几乎全部能向前兼容,技术体制继承性非常好,协议与软件采用逐步更新方式实现升级,这样不仅节省资源实现了密码装备的升级换代,而且在技术上实现的是可叠加式的进步,也有利于人才培养与技术积累。以最普通的密钥注入端口为例,早期采用的DS-102接口可满足密钥注入的需求,后来逐步增加升级到支持密钥注入、跳频、GPS、敌我识别、软件升级,最后升级换代到DS-101接口规范,其外观、物理尺寸并没变,功能上涵盖了DS-102的全部功能,并且增加了算法替换、异步数据传输、HDLC协议支持…等新功能,不仅节省了大量的接口硬件设计资源,而且还使得原有的密钥注入设备不至于无法使用,最大程度保护了已有投资。

4、多方面考虑安全,确保整机与系统的安全

NSA综合考量诸多因素以确保通信和信息的安全(NSA术语中的COMSEC和INFOSEC),除注重密码算法规划和设计、安全协议的设计和布局、密钥管理的高度可靠外,NSA还异常注重以下几个方面:

· TEMPEST--保护纯文本不受电子,声音或其他辐射的损害。

· 防篡改、自毁--即使在未经授权的情况下物理访问加密系统或将其捕获的情况下,也能确保安全性。

· 符合军事规格--以适应移动平台的尺寸、重量、功耗、MTBF和坚固性。

· 电磁脉冲防护--防止核爆炸效应,特别是电磁脉冲。

· 确保与军事和商业通信标准兼容。

· 控制成本-确保加密设备价格合理,以便需要加密的单位都能拥有。除初始购买价格外,还有许多成本,包括操作和维护系统以及确保其安全性和密钥分发的人力成本。

· 与北约、盟军和联军实现安全通信,而不会危及安全。

5、大胆、自信,勇于创新。

美军密码装备应用方面出奇地大胆,不仅体现在密码装备量大面广,而且甚至将保护从非密到绝密信息的密码安全装备直接连接互联网,体现了美军的自信;在密码装备采用的技术体制看,也十分大胆,直接基于已经暴露众多漏洞和安全缺陷的公开的IP网络,无疑需要极大的勇气;在密码装备的核心算法方面,密钥管理基于公钥算法,这在密码现代化计划起初的2004年前后也颇为大胆,因为当时业界对公钥的安全性还存在一定疑虑;军用密码装备用于数据加密的分组密码算法采用公开的、和商用一样的AES算法,展现了美军对AES的深刻理解与高度信任,序列密码算法采用当时还不太流行的非线性移位反馈寄存器构建,比较少见的自同步工作模式…这些都暗示美军在密码算法的创新和研究方面走在了业界的前面。

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。