通信保密中的可编程应用技术分析
2015年7月07日 17:11 作者:刘 昱 上海信息技术研究所 200032刘 昱 上海信息技术研究所 200032
【文章摘要】
主要研究通信保密中的可编程应用技术,介绍了ASIC 密码技术、SOC 密码芯片技术与基于基础单元模块库的可编程密码技术,对可编程应用技术在通信保密中的应用进行了研究。
【关键词】
通信保密;可编程应用技术
当前的保密设备多使用设备上的固定密码算法进行加密,这种加密方式灵活性较差并且受资源限制比较严重,保密设备密码算法更新周期较长,通信保密中的可编程技术能够明显改善传统保密设备的缺陷,提高保密设备的安全性。
1 概况
信息安全对国家安全、主权、社会稳定以及民族文化继承发展都非常重要,对企业决策信息、技术保护、战略规划和持续发展都密切相关,信息安全技术作为一门涉及到多学科的技术,正在越来越受到关注。
近些年,信息化水平不断提高,无论是国家、企业还是个人,通信保密的需求都越来越迫切,对通信加密设备的安全防护、多安全级加密、产品升级换代能力都提出了很高的要求。为了实现这些能力,要求通信加密设备能够按照任务需求实现设备加密算法的动态加载、及时更换或者随时销毁。可编程密码算法技术能够灵活的实现算法替换,还能够实现算法的后续升级,能够适应未来一段时间之内的信息数据加密需要。
2 密码算法
密码算法是一种数据变换函数,能够实现通信或者存储数据的加密与解密,当前常见的密码算法主要有分组密码、序列密码、公钥密码和散列函数等,是通信信息安全、信息交互完整性检测等服务的重要数学基础。密码系统安全性不仅仅是指密码算法自身的安全性,加解密过程密钥安全性也至关重要,密钥被窃取,密码安全性也就不再存在。
3 可编程密码算法
可编程密码算法最早出现美国解决多级安全过程,美国军方认为采用可编程信息保护算法能够实现真正意义上的多级安全操作,但是在现在关于可编程密码还没有形成统一的定义。美国国家安全局定义可编程密码算法为一套能够改变加密算法和加密密钥,使得宿主设备能够相互操作的硬件软件。
基于这种定义,可编程密码算法技术可理解为密码模块和密码设备具有根据外部加载算法指令输入的信息实现内部防护算法逻辑、参数配置的重构或者重组的工作模式,这种模式设备内置算法的更新升级工作非常方便,能够实现和未来一段时间内保密设备之间的互通。
4 可编程加密技术在通信保密中的应用
4.1 ASIC 密码技术
ASIC 密码技术是一种采用专用集成电路进行加密的技术,使用固定在密码芯片上的算法实现编程,由于将算法编程,这种技术有着非常快的加密速度,并且适用于绝大多数算法,但是编程芯片上的算法相对固定,无法重新下载防护算法。现阶段信息系统对安全保密工作的要求不断变化,ASIC 密码技术难以满足要求。
4.2 SOC 密码芯片技术
SOC 密码芯片采用了系统级芯片,通过更换带有完整防护算法或者部分算法核的密码芯片或者模块来实现防护密码的编程,对比直接更换密码模块,更换芯片的费用相对低廉,并且有着比ASIC 更高的灵活性,速度更快,但是这种技术的算法更换需要通过IP Core 实现,费用较高,研发周期较长,而且进行升级换代就需要重新设计全部设备中的IP Core,同样是一种可行性不高的算法。
4.3 基于基础单元模块库的可编程密码技术
首先构件一个基础单元模块库,按照软硬件运行特性进行基础单元模块划分布局,保证可编程密码芯片的软硬功能,并通过一套可编程指令控制基础单元模块,实现信息防护算法的编程,由于无需通过宏模块之前的连线实现算法可编程, 方便了基础单元模块的再生,提高了可编程能力,升级也更加方便。
5 可编程应用技术的通讯应用
5.1 可编程指令集安全性
可编程指令集安全性主要是可编程指令集编码中心和指令传输过程的安全,对于可编程指令集,主要面临着非法用户、物理攻击、非法操作、剽窃管理数据等方面威胁。
非法用户可能会侵入计算机管理平台损毁管理数据,造成计算机管理平台发送的管理数据失去正确性,可能会给可编程信息保护算法模块发布其他非法工作指令。
物理攻击手段主要有拆卸破坏等形式,通过物理手段造成管理数据破坏。非法操作则是合法用户基于非法目的的数据篡改或者非法指令下达。
剽窃管理数据则可能发生了计算机管理数据明存情况,低密级用户就可能剽窃高密级管理数据,如果计算机管理平台主要通过公共网络接入,管理数据可能会面临来自网络的黑客攻击。
5.2 构建算法基础单元库
算法基础单元库是构建可编程课程保护算法的基础工作,要求尽可能减少模块数量,采用有限基础单元实现更多的密码算法,进行基础单元设计,要保证各种类型基础单元都能够完成这种类型内全部密码变换,保证每个基础单元都能够适应最多的算法,提高基础单元适应性。
首先划分模块库模块,分为线性与非线性基础单元模块两类,同时进一步细分,将分组密码与序列密码独自应用到基础单元模块,分成两个子模块库进行布置,共同用到的基础单元模块库要布置在相同的子模块库中。
之后,依据算法基础单元模块准则提取基础单元模块,按照模块最大适应性原则进行基础单换模块设计,最后进行基础单元模块密码性能分析测试,开展不同运行平台上运行效率测试分析。
5.3 算法基础单元参数配置控制
可编程信息保护算法基础单元参数配置主要有指令集制定以及目标算法需要基础单元参数配置。不同的基础单元模块有着相同的参数格式,统一为模块序号、输入输出数据宽度等信息,但是基础单元模块的参数存在一定不同,例如很多基础单元不包含任何元素,有一些包含元素。
算法可编程控制技术主要有可编程指令分析与模块调用两部分内容,可编程指令解析技术按照算法可编程指令格式制定,算法调用技术对算法最终实现非常重要。本次研究应用的算法首先配置任务模块,按照解析算法可编程指令获取算法信息,分解为若干任务单元,同时进行任务模块的配置,包括输入输出端口、模块程序初始化等内容。
之后根据协议通过模块序号实现调用,根据输入模块个数、被输入模块序号识别模块至今逻辑关系,最后编译任务模块为算法队列,为降低基础单元模块调用造成的延迟,具体防护算法的模块序号从算法流程低端开始编号,并列模块序号编号可忽略先后顺序。
6 结束语
信息安全关系到国家安全与社会稳定,对企业决策信息、技术保护与战略规划和持续发展都非常重要,可编程应用技术是通信保密中的核心技术,对提高国家信息安全有着重要意义。
【参考文献】
[1]MAHESH CHAND.GD I+ 图形程序设计[M]. 韩江译. 北京: 电子工业出版社,2013.
[2] 肖如良. 超椭圆曲线密码体制的理论与实现[M]. 北京: 经济管理出版社,2012.
[3] 柯海清, 冯启明. 数据加密技术及网络应用[J]. 武汉理工大学学报( 交通科学与工程版),2012.6.130
信息工程
Information Technology