第二节 安全信息传输模型及技术
一、安全相关通信参考结构
综合看来,开放传输系统和封闭传输系统主要架构如图2-1所示,图中,所有的通信元素根据信息流连接起来,以在安全相关设备之间进行安全相关信息交换。参考结构也显示了一个非安全相关的接口,它不总是存在的,一个典型的应用可以是用于发送到维护中心的诊断信息。
除了安全相关通信的来源和目的地,参考结构涉及的安全相关通信系统,可分为:
(1)包含于安全相关设备中的安全相关传输功能。这些功能确保真实性、完整性、及时性和数据的顺序。
(2)保护安全相关信息的安全相关加密技术,它们既可以通过在安全相关设备中纳入其而实现,也可以让其以外的安全相关设备通过安全技术审核来实现。这些技术保护了第3类传输系统中的安全相关信息,但在第1类或第2类传输系统的情况下不需要。
(3)非安全相关的,开放或封闭的传输系统,其本身可能包含传输保护功能、访问保护功能。
封闭传输系统(第1类)的特点如下:
(1)连接到传输系统的设备(安全相关或非安全相关)数量是已知和固定的;
(2)未经授权访问的风险认为是可以忽略的;
图2-1 安全相关通信的参考结构
(3)传输系统(例如,根据设计假设的传输媒介、环境等)在系统生命周期过程中是固定且不变的。
开放传输系统(第2或3类)可以包含下列一部分或全部特征:
(1)要素,指由传输系统用户依照用户不知道的程序产生和表达的读取、存储、处理或重传数据。用户的数量一般是未知的,安全相关的设备、非安全相关的设备和与轨道应用无关的设备都可以连接在开放传输系统中。
(2)各种传输介质,用户未知其传输特征以及对外部影响的敏感度。
(3)网络控制和管理系统依照对用户未知的程序,通过开放传输系统端点之间的一种或多种传输介质组成的任何通道实现报文路由(和动态路由重置)。
(4)安全相关应用设计者不知道传输系统的其他用户以未知的格式发送未知的信息量。
此外,第3类开放传输系统可能受到对于传输系统怀有恶意目的的非法访问。
二、安全信息传输技术
在通信系统中,面向安全的应用和非安全的应用通常使用同一条通信链路,如图2-2所示。具体在实现一定SIL等级的功能安全通信时,通常将常规通信所使用的硬件和软件看作黑色通道,并且对它们传输可靠性不做假定。
在安全应用与原有黑色通道的标准协议之间增加安全通信层,其中的安全通信协议通过一系列的防护措施保证面向安全应用的数据传输的故障—安全特性。而标准应用(非安全)仍可使用原有黑色通道的标准协议,这样做有以下益处:
(1)非安全的标准应使用成熟的标准通信协议以减少开发、维护难度;
(2)分层处理可以使安全通信协议相对独立于原有黑色通道的标准协议;
(3)安全通信协议可以针对不同的标准协议。
图2-2 安全应用和非安全应用共用链路
由上述可见,安全信息传输在标准通信(非安全通信)的基础上增加安全协议层来实现。安全层中采用的安全技术可能包括序列号、时间戳、超时、源和目标标识符、反馈信息、认证、安全编码和加密等,在具体实施中采用何种安全技术取决于通用、非安全通信链路的类型,即是封闭传输系统,还是开放传输系统。
(一)序列号
序列号是指在发送端和接收端间交换的每条报文上加一个流水号,这样接收端可以校验发送端提供的报文的顺序,能够减少消息受到重复、删除、插入和乱序等威胁产生的风险。
在实施过程中,需要确定以下要求:
(1)序列号长度;
(2)序列号初始化和翻转的规定;
(3)消息顺序打乱后恢复的规定。
(二)时间戳
当一个实体接收到信息时,信息的含义通常与时间有关。信息和时间之间的相关程度根据应用有所区别。在某些情况下,旧的信息可能无用无害,但在其他情况下可能对用户造成潜在危险。根据交换信息(循环、所控制的事件等)进程中的行为不同,解决方案可能不同。
体现时间—信息关系的一种解决方案是给信息加时间戳。根据应用要求,这种信息可以替代序列号或与序列号结合使用。
安全案例应证明与进程安全完整性等级、安全相关进程性质以及以下性质相关的恰当性:
(1)时间增量;
(2)时间增量的精度;
(3)计时器大小;
(4)计时器绝对值(如UTC(世界标准时间)或其他任何全局时钟);
(5)各种实体计时器的同步性;
(6)信息生成和添加时间戳之间的延时;
(7)检查时间戳和使用该信息之间的延时。
(三)超时
超时是指传输中(典型地是周期性的),接收端可以校验两个报文间的延时是否超过预定允许的最大时间。如果超过,应视为错误,如图2-3所示。
图2-3 报文单向发送的超时防护
如果反馈通道可用,发送端可执行监督。当发送报文i时发送端启动计时器,报文i的接收端用与之相关的确认报文j响应。如果发送端没有在预定时间内收到相应确认报文j,应视为错误,如图2-4所示。
图2-4 报文双向发送的超时防护
安全案例应证明与进程安全完整性等级、安全相关进程性质以及以下性质相关的恰当性:
(1)可接受的延时;
(2)超时的精确性。
(四)源和目标标识符
多方通信过程中,在收到的信息使用之前,需要采用适当的方法校验所有收到信息的来源。报文应包括允许采取这些方法的附加数据。
报文应包括一个唯一的源标识符或一个唯一的宿标识符或两者均含。应根据安全相关应用具体选择。标识符添加在应用的安全相关传输功能中。
(1)报文中包括源标识符可以使报文的用户核实报文来自指定源,而不需要用户之间的任何会话。举例来说,这在单向或广播通信系统中是有用的。
(2)报文中包括宿标识符可以使报文的用户核实报文确实是发给它们的,而不需要用户之间的任何会话。举例来说,这在单向或广播通信系统中是有用的,可以选择宿标识符识别单个宿或用户组。
安全案例应证明与进程安全完整性等级、安全相关进程性质以及以下性质相关的恰当性:整个传输系统中实体标识符的唯一性;标识符数据字段大小。
(五)反馈消息
在合适的传输通道可用时,安全苛求信息的接收端可以给发送端发送一个反馈消息。反馈消息的内容可包括:
(1)源自原始报文内容,格式可以相同或改变的数据;
(2)接收端添加的从自己本地用户进程信息中推导出的数据;
(3)为安全或安全防护目的附加的数据。
使用这种反馈消息可以从以下不同方面增强进程的安全性:
(1)明确确认接收到有效、实时的报文;
(2)明确确认接收到损坏的报文;
(3)以便能采取合适的措施;
(4)确认接收设备的识别号;
(5)有助于发送和接收设备的时钟同步;
(6)有助于设备间的动态校验程序。
反馈通道本身并不提供对任何已识别威胁的防护措施,只是在应用级为其他防护措施提供使能机制。因此对这个反馈通道没有特殊的安全要求。
反馈消息的使用通过多种途径提高过程的安全性:
(1)通过提供对合法及时消息接收的确认;
(2)通过提供对失真消息接收的确认;
(3)通过确认接收设备的身份;
(4)通过帮助发送和接收设备时钟同步;
(5)通过帮助部件之间动态检查流程。
(六)认证
开放传输系统可能引入来自其他(未知)用户的报文的风险,该报文混淆了来自指定源(以伪装形式)的信息。安全相关进程里适当设计识别进程,可以提供此威胁的防护措施。有两种认证程序:双向认证和动态认证。
(1)双向认证:当返回通信通道可用时,信息发送端和接收端之间实体标识符的交换可以提供额外保障,确信通信确实在指定双方进行。
(2)动态认证:发送端和接收端之间信息动态交换,包括接收端对发送端的发送数据的转换和反馈,可以确保通信双方不仅拥有正确的身份,而且行为方式与预期的一致。这种动态认证进程可以用在通信安全相关进程间信息传输前和/或在信息传输过程中。
认证过程构成安全相关应用进程的一部分,具体要求应在安全需求规范中定义。
(七)安全编码
通常,在开放传输系统中,传输编码用于检测位和/或突发错误,通过纠错技术提高传输质量。尽管这些传输编码可能很有效,因为硬件故障、外部影响或系统错误仍会失效。从安全角度看,安全相关进程不应相信这些传输编码。因此,需要由安全相关进程控制附加的安全编码来检测报文损坏。
安全案例应证明与进程安全完整性等级、安全相关进程性质以及以下性质相关的恰当性:
(1)检测所有期望错误类型的能力;
(2)检测消息损坏的概率。
安全编码应不同于传输编码。这些不同在于:
(1)使用不同的算法;
(2)相同的算法使用不同的配置参数。例如,两个基于CRC的密码多项式应不同。如果两个多项式含有相同的因子,它们对安全编码的性能贡献在安全分析中应予以忽略。
在封闭传输系统中,设计者可以简单地选择不同于传输编码的安全编码,因为能够充分了解传输系统。在开放传输系统中,商用传输系统使用的安全编码能够满足此要求。
安全编码将检测:
(1)传输故障,例如,由EMI引起。
(2)由不可信任输系统的硬件故障引起的系统故障。
为了满足所要求的安全完整性等级,安全编码须比能够预期的故障更复杂,例如基于CRC,以检测典型故障和错误并采取行动。可假设在非可信传输系统中的硬件失效不能产生合法安全编码。分析至少包括:
(1)传输线中断;
(2)所有位都为逻辑0;
(3)所有位都为逻辑1;
(4)消息颠倒;
(5)同步滑动(在串行通信场合);
(6)随机错误;
(7)突发错误;
(8)系统错误,如重复错误图样;
(9)以上所有情况的组合。
安全编码性能的概率分析应与安全目标一致。应提供故障模式模型,确认和验证为计算做出的所有假设。
通过使用二进制对称信道(BSC)模型计算线性码的未检测出错误的概率。当使用非二进制码时,q进制对称信道(QSC)更适合。该标准建议限制由这些模型计算最坏情况值的可能性。
BSC对由EMI引起的随机故障是非常适合的,但通常非可信传输系统可消除简单随机故障,因此如果安全编码检测到错误,通常会干扰安全相关信息的许多位。因为尚无一个简单模型适合这些情况,该标准建议不要使用比最坏情况值更低的未检测到错误的概率,最坏情况值为BSC应用条件下误码率的一半。
(八)加密
如果不能排除开放式传输系统网络内的恶意攻击,可以使用加密技术。当安全相关传输系统使用公共网络、无线传输系统、传输系统与公共网络连接时,这是通常的情况。
针对通过给安全相关应用的消息的故意袭击,应通过加密技术保护安全相关消息。
为了避免来自未授权发送者的伪装,可通过下列解决方案满足这一要求:
(1)使用能够提供加密保护的安全编码;
(2)应用安全编码后加密消息;
(3)给安全编码增加加密编码。
这些技术可以结合安全编码机制使用或分开使用。
加密技术意味着密钥和算法的使用,有效程度取决于算法的强度和密钥的保密性。密钥的保密性取决于密钥的长度和管理。
安全案例应证明与进程安全完整性等级、安全相关进程性质以及以下性质相关的恰当性:
(1)加密技术的技术性选择,包括:加密算法的性能(如对称的或非对称的)、密钥特性(如固定的或基于会话的);所选密钥长度的合理性、密钥更改的频率、密钥的物理存储。
(2)密码结构的技术选择,包括:当安全相关设备之外实现时检查加密过程正确运行(操作阶段之前和期间)。
(3)管理活动,包括:密钥生产、存储、分配和撤销;设备管理;与恶意攻击的风险有关的加密技术适当性的评审过程。
加密算法应用于所有用户数据,还可用于没有传输但发送端和接收端已知的一些附加数据(隐含数据)。
应该对潜在攻击者的性质、动机、财政和技术方法进行合理的假设,同时考虑到在系统生命周期中可以期望的修改(技术性的,如计算机能力增强、快速处理器成本降低、算法知识的扩展;社会性的,如经济冲突、恶意破坏加剧等)。
对于密钥管理,推荐采用标准化技术(如ISO/IEC 11770标准)。
安全编码和加密技术的选择和使用应根据下列情况决定:
(1)是否可以排除非法访问;
(2)建议使用的加密编码的类型;
(3)安全相关访问保护进程是否与安全相关进程分离。
三、安全通信报文结构
在封闭传输系统中,只有授权的用户才能访问;但在开放传输系统中,存在非法访问的可能性。为此,开放传输系统除了采用与封闭传输系统相同的防护措施外,还需采用独立的访问保护层,或由使用加密机制的安全协议提供保护。与封闭传输系统和开放传输系统相对应的报文分类如图2-5所示。
在图2-6中,“安全相关传输功能”模块提供序列号、时间戳、超时、源和目标标识符等安全措施,“独立的安全相关访问保护进程”模块提供认证、安全编码和加密等安全措施。
消息类型A0和A1的报文结构如图2-7所示。
消息类型B0的报文结构如图2-8所示。
消息类型B1的报文结构如图2-9所示。
图2-5 安全相关传输系统的报文分类
图2-6 独立的访问保护层使用示意图
图2-7 消息类型A0和A1的报文结构
图2-8 消息类型B0的报文结构
图2-9 消息类型B1的报文结构