一种基于特殊单向因子的初始向量构造方法
2023-04-29邓赟许克智赵越
邓赟 许克智 赵越
摘要:序列密码已成为许多重要领域应用的主流密码体制,而大多无线通信系统都存在信道传输资源紧张的情况,无法为密码应用提供充足的信道资源保障,给系统的安全性带来了一定挑战.针对特定条件下遇到的安全通信的难题,文中提出了一种基于特殊单向因子的初始向量构造方法.采用该方法构造的初始向量可在占用较少信道资源情况下,满足安全通信需求,同时兼顾非易失性存储器擦写的频率保证设备使用寿命.
关键词:一次一密;单向因子;通信计数器;周期计数器
收稿日期: 2022-09-11
基金项目: 国家自然科学基金与企业创新发展联合基金(U20B2049)
作者简介: 邓赟(1983-),女,高级工程师,硕士,研究方向为信息安全与通信保密,系统总体设计、卫星通信技术,嵌入式软件开发. E-mail: 21792471@qq.com
通讯作者: 许克智.E-mail: 1494541855@qq.com
An initial vector construction method based on special oneway factor
DENG Yun, XU Ke-Zhi, ZHAO Yue
(The No.30 Institute of CETC, Chengdu 610041, China)
Sequence cipher has been the maninstresam cipher used in many important fields,but most wireless communication systems have a shortage of channel transmission resoures,which cannot provide sufficient channel resources for cryptographic applications and brings some challenges to the system security.Aiming at the problem of secure communication under specific conditions,a method of initial vector construction based on spcial oneway factor is proposed in this paper.The initial vector constructed by this method can meet the needs of secure communication while occupying less channelresources while taking into account the flash erase frequency to ensure the secvice life of the equipment.
One time pad;Unidirectional factor; Communication counter; Period counter
1 引 言
1949年Shannon证明了“一次一密”密码体制在理论上是不可破译的[1-3].长期以来,人们试图以序列密码方式仿效“一次一密”密码体制,从而促进了序列密码的研究和发展.序列密码又称流密码,是将明文串逐位地加密成密文字符[4].目前,序列密码的理论已经非常成熟,而且具有工程实现容易、处理效率高和错误传播少等特点,所以序列密码成为许多重要领域应用的主流密码体制.其中二元加法流密码是当前最为常用的序列密码体制.
为了应用安全,序列密码应使用尽可能长的密钥[5],而长密钥的存储和分配都更为困难.于是,人们使用一个短的种子密钥作为密钥源,通过密钥序列生成器进行扩展产生一个较长的伪随机序列,再使用产生的伪随机序列(即密钥序列)对信息数据进行加解密处理[6-8],如图1所示.这样的密钥序列可具有极大的周期、良好的统计特性和抗线性分析等特性,能够满足序列密码的应用需求.
密钥序列的产生主要由密钥源和密钥序列生成器决定[9,10].在实际系统中,密钥序列生成器的生成算法已经确定,而密钥源根据需要定期进行更换.因此为了保证系统的使用安全,在密钥源更换周期内,密钥序列生成器每次扩展产生密钥序列时所使用的初始状态(即初始向量IV,须随密文一起通过信道传输)需要满足一定的随机性或唯一性要求.
无线系统大多由于通信信道实际传输的载荷资源有限[11],无法为密码应用提供更多的信息传输空间,但如果不在信道上传输的满足一次一密需求的初始向量,将导致系统存在安全使用隐患.由此,研究并设计资源占比小且安全可行的序列密码初始向量构造方法,是保障用户在信道载荷资源受限等特定条件下的安全通信和使用的重要手段.
2 初始向量的常见构造
基于当前的科学技术水平条件,为保证系统使用安全,在密钥源满足安全分配[9]、存储和使用要求时,初始向量(IV)主要有两种构造方法:随机因子构造方法和单向因子构造方法.
2.1 随机因子构造方法
在系统通信信道传输资源非常充裕时,可根据所选用算法的要求,产生足够长度的随机数,将随机数作为初始向量参与序列算法运算产生密钥序列,然后将作为初始向量的随机数全部传递至收方,用以扩展产生与发方一致的密钥序列.
随着密码学技术和破译技术的发展,新设计的序列算法要求的初始向量长度几乎都不低于128 bit,对于大多无线通信系统来说,除了密文以外还要额外增加128 bit的传输数据几乎是不可能实现的.因此可根据系统用户数量、通信频度等实际使用情况,以初始向量重要概率不大于万分之一计算初始向量需要的最小比特变化量空间2m.通过产生m 长度随机数,将其作为随机因子IK,与填充数Df进行拼接生成满足算法长度要求的初始向量(即IV=IK‖Df),在信道上仅需传输m比特随机因子IK即可,如图2所示.该构造方法简单高效,在各类系统中多有应用.
2.2 简单单向因子构造方法
在系统通信信道传输资源较为紧缺,无法满足m bit长度随机因子的传输需求时,初始向量构造方式需要重新设计,不适合再采用随机因子构造方法.
一般来说,可采用单向因子方法构造初始向量,该方式通过引入一个严格单向变化的单向因子IK,与填充数Df进行拼接生成满足算法长度要求的初始向量(即IV=IK‖Df)即可确保初始向量的唯一性,通信时仅需将单向因子IK通过信道传输至收方,可大幅减少对信道传输资源的占用,实现密钥序列的一次一密,达到保障系统安全使用的目标.
在实际应用过程中,如果系统中存在有单向递增或递减信息,能严格保证单向不重复,例如时间基准[12]、角度变化、空间位置等,又或者基于纯粹的数字计数器,均可作为单向因子,构造生成初始向量,如图3所示.
但通常情况下,实际系统中很难存在有严格单向的信息,比如时间信息发生紊乱回滚、空间轨迹出现往返交叉等都将会影响单向因子的单向性出现偏差,引发单向因子失序出现重用情况(如图4所示),由此同一密钥序列多次产生、重复使用,导致系统存在安全隐患.因此,基于纯粹的数字计数器构造简单单向因子,是一种最常用的实现“一次一密”的方法.
3 特殊单向因子的模型设计
从理论上看,纯数字计数器可作为一种简单高效的单向因子,用来构造序列密码初始向量,具有不受外部因素影响、保证自身严格单向性的突出优点.即便在系统中存在有多方使用同一密钥源时,也可在通信发起方的初始向量单向因子中同时引入发起方设备标识与数字计数器,实现一次一密.不过,用纯数字计数器作为单向因子,需要设备频繁记录更新当前的计数器数值,并保存在设备的非易失性存储器中,避免出现重用现象,尤其是在设备重新上电之后.这就带来了一个现实难题,以当前的技术水平,一般元器件厂家提供的器件非易失性存储器擦写次数约在10万次,如果频繁擦写存储器来记录计数器的最新数值,必然将会缩短设备的使用寿命,通信越频繁,则设备寿命越短.因此,如果系统通信信道传输资源受限,并且系统内无可靠的单向信息可供利用时,对纯数字计数器的单向因子构造序列密码初始向量的方式需要进行特殊设计,以满足系统安全通信和使用寿命的多方面需求.
摒弃单一数字计数器,采用多重数字计数器来组成单向因子,可设计为通信计数器和周期计数器两部分(如图4所示),计数器变化规则为:(a)通信计数器:开机时,通信计算器设置为0,设备通过信道传输每发送1包密文信息,通信计数器加1,通信计数器累加至最大值再翻转为0;(b)周期计数器:当密钥更换时,周期计算器设置为0,通信计算器变为0时,周期计数器加1.
评估系统中信息发送设备的发包频度和最大发包次数,合理设置通信计数器和周期计数器的表示范围(比特长度)即可避免重用,在设备非易失性存储器中仅需记录周期计数器数值可有效减少擦写次数.
4 单向因子应用设计
4.1 设计实现
假设某系统中设备通过信道传输的发包频度为1包/min,则该设备每天的最大发包次数为24×60=1440次.如果密钥源更换周期为30 d,则更换周期内设备的最大发包次数为30×1440=43 200次.
(1)采用随机数构造初始向量.如果采用随机数作为初始向量不能做的绝对的一次一密,以满足重用概率不大于万分之一计算,随机因子IK的长度m至少需要29 bit,则需要通过信道传输的数据长度至少为29 bit.
(2)以单一数字计数器构造初始向量.根据一个密钥更换周期内,最大通信频度43 200次,如果以单一数字计数器作为单向因子IK构造初始向量,单向因子长度仅需16 bit,需要通过信道传输的数据长度为16 bit.
设备每发送1包信息,计数器加1,同时需将计数器数值记录于非易失性存储器,以保证突发掉电或关机时,重新开机后数字计数器仍然继续递增.因此每天需擦写非易失性存储器1440次.按非易失性存储器最大擦写次数10万次计算,设备使用寿命则为100 000÷1440=69.44 d.显然,对于通信频度高的系统,依托单一数字计数器作为单向因子的设计不具备实用性,因此考虑采用通信计数器和周期计数器组合构成特殊单向因子IK.
(3)以特殊单向因子构造初始向量.参考单一数字计数器构造初始向量,同样以通过信道传输的数据长度为16 bit来设计特殊单向因子IK.
对于频繁开关机设备,每次开机均需将周期计数器加1,如果按每30 min开关机1次,则每天开关机48次,那么周期计数器在一个密钥更换周期内的最大值为31×48=1488,则需使用11 bit位表示才可确保在密钥源更换周期内不重复(保证一次一密),通信计数器长度则为5 bit.30 min内最大通信次数为30次,小于通信计数器变化量25,所以不会出现因通信计算器翻转置0引起周期计数器变化,仅考虑因开机导致的周期计数器变化而擦写非易失性存储器.按非易失性存储器10万次擦写使用寿命,设备可以使用100 000÷48=2083 d,约5.7 y.对于常年不关机运行的设备,开机时通信计数器置0,每加密发送1包信息通信计数器数值加1.通信计数器长度为5 bit,通信计数器变化量为25,每加密发送32包信息通信计数器发生翻转自动置0、周期计数器加1,擦写1次非易失性存储器.以每天发包1440次,则每天擦写非易失性存储器45次,按非易性存储器10万次擦写使用寿命,能支持设备使用100 000÷45=2222 d,约6 y.所以采用特殊单向因子构造初始向量比直接采用单一数字计数器作为单向因子构造初始向量,大大地延长了设备的使用寿命.此外如果信道资源允许,还可以通过增加通信计数器的长度,降低周期计数器变化引起的对非易失性存储器的擦写频度来延长设备的使用寿命,通信计数器每增加1 bit,设备使用寿命翻1倍.
按照上述规则,根据系统实际情况来合理设置单向因子IK中的通信计数器和周期计数器的长度,确保单向因子IK在密钥源更换周期内的单向性保证序列密码初始向量不重复,实现系统一次一密安全通信;同时只需将周期计数器记录在设备的非易失性存储器而通信计数器数值仅保存在设备缓存中,大大降低了对非易失性存储器擦写次数,有效提高设备使用寿命;又尽量少占用信道传输资源,减轻信道传输负担,在信道传输资源较为紧张的无线系统应用中,具有较为广泛的使用前景.
4.2 测试与分析
以某CPU芯片为硬件平台,对产生几种不同因子进行测试,测试方法及测试结果如表1所示.对几种不同因子构造方式的特点如表2所示.
根据测试结果分析,采用特殊单向因子和简单单向因子构造的IK能实现无重用,但对存储器的使用寿命都会产生一定的影响;采用随机因子构造IK会出现一定概率的重用,但可不依赖存储器技术发展.因此设计具有更高性能的真随机数发生器[13-19]以及研究使用可靠性更高的存储器[20-24],也是优化初始向量构造的重要手段.
在系统实际建设时,需从系统应用安全性、对信道传输资源需求、设备使用寿命和技术实现复杂程度等多方面统筹进行考虑,选择满足系统实际情况的初始向量构造方法,使得系统综合使用效能最大化.
5 结 论
本文在传统的序列密码初始向量构造方法基础上,针对单向因子生成,提出了基于通信计数器和周期计数器等多重组合式数字计数器的特殊方法.该方法根据应用系统实际情况,结合信道传输资源要求,通过合理计算表示通信计数器和周期计数器,可在占用较少通信资源的情况下,不以损害系统使用寿命为代价,保证系统信息传输一次一密、满足系统安全通信要求.
参考文献:
[1]张昕,谢宾铭,赵云,等.基于一次一密的可信存储网关[J].南京师大学报:自然科学版,2018, 41: 26.
[2]刘海峰,陶建萍.基于改进AES的一次一密加密算法的实现[J].科学技术与工程,2019, 19: 146.
[3]Li T, Zhou S D. Achievable secrec rate region of two-way communication with secret key feedback[J].Tsinghua Sci Technol, 2018, 23: 126.
[4]曲彤洲,戴紫彬,陈琳,等.一种面向序列密码的混合粒度并行运算单元[J].电子与信息学报,2022, 44: 1.
[5]孙莹.ZUC和SNOW3G序列密码相关免疫的连续密钥字最大长度[J].中国电子科学研究院学报,2022, 11: 1107.
[6]王明兴,苗三立,朱明.佳轻量级序列密码研究进展[J].网络与信息安全,2020, 39: 25.
[7]张玉安, 冯登国.一种实用的仿一次一密分组加密方案[J]. 北京邮电大学学报,2005, 28: 101.
[8]艾心,吴鸣旦,武旭东,等.一次一密SM4算法的设计[J].网络空间安全,2018, 9: 20.
[9]温婉琳,李宁,郑小博.融合量子密钥的即时通信加密策略选择模型[J].北京信息科技大学学报,2020,35: 27.
[10]Wang X, Jin L, Lou Y M, et al.Analysis and application of endogenous wireless security principle for key generation [J].China Commun, 2021(4): 99.
[11]王旭东,樊强,李振伟,等.一种无线网络量子密匙分配协议[J].计算机与数学工程,2021, 49: 1405.
[12]王亚慧.时间控制加密技术的安全性增强研究[D].开封: 河南大学, 2021.
[13]王思翔.新型真随机数发生器设计与研究[D].西安: 西安电子科技大学, 2020.
[14]罗芳,欧庆于,周学广,等.故障扰动下振荡环型真随机数发生器安全特性及度量方法研究[J].电子与信息学报,2022, 44: 2093.
[15]李冰, 涂云晶, 陈帅,等. 基于SRAM物理不可克隆函数的高效真随机种子发生器设计 [J]. 电子与信息学报,2017, 39: 1458.
[16]白冰.量子随机数发生器集成化及量子随机性实验研究[D].合肥: 中国科学技术大学,2021.
[17]曾心宇.量子随机数发生器中随机性量化及实时后处理方案研究[D].南京: 南京邮电大学, 2022.
[18]刘晨曦.基于广义测量的量子随机性认证、随机数生成及后处理的研究[D].南京: 南京邮电大学, 2020.
[19]Daemen J, Dobraunig C, Eichlseder M, et al.Protecting against statistical ineffective fault attacks[J].IACR T Crypt Hardw Emb Sy, 2020(3): 508.
[20]董燕.存储器数据保持寿命预测方法研究[J].中国集成电路,2022, 272: 77.
[21]董燕,蒋玉茜,王西国.存储器循环擦写耐久性与数据保持可靠性[J].中国集成电路,2022, 274: 85.
[22]周锋.一种基于存储芯片的小型数据备份算法及应用[J].单片机与嵌入式系统应用,2022(10): 52.
[23]高鹏,汪东升,王海霞.采用最大修改字节重定向写入策略的相变存储器延寿方法[J].计算机研究与发展,2019,56: 2733.
[24]Burr G W,Brightsky M J,Sebastian A, et al.Recent progress in phase-change memory technology[J].IEEE J Emerg Selec Topics Circu Syst, 2016,6: 146.
引用本文格式:
中 文: 邓赟,许克智,赵越.一种基于特殊单向因子的初始向量构造方法[J]. 四川大学学报: 自然科学版, 2023, 60: 063002.
英 文: Deng Y, Xu K Z, Zhao Y.An initial vector construction method based on special oneway factor [J]. J Sichuan Univ: Nat Sci Ed, 2023, 60: 063002.