除了抗量子计算攻击外,下一代密码算法还面临应用环境变化的新需求。现代密码学主要解决开放互联网络“通信外包”带来的安全需求,而目前云计算、大数据等应用模式的新需求是“计算外包”带来的安全问题。这一变化影响了密码算法的功能模型与安全模型,是下一代密码算法面临的主要问题之一。
一、适应新应用需求的密码
(一)密文计算
密文计算的含义指无须解密直接对密文计算处理,达到与直接处理明文数据相同的效果。现代密码学的功能模型和安全模型的一个基本出发点是防范攻击者从信道发起攻击,即防范攻击者在信道上进行窃听、篡改、重放等攻击。基于这一模型设计的公钥加密、数字签名、密钥交换、身份认证等密码算法和协议很好地处理了怎样在不安全的信道上安全通信的问题。
随着云计算、大数据等应用的出现,信息的安全需求已从信道扩展到了终端,从传输扩展到了存储和处理。在云计算应用环境中,用户把数据的计算任务或存储任务外包给云服务器,又不想让服务器得到自己的数据。这一需求从功能上对密码算法提出了新的要求,即密码算法需支持密文状态下的同态操作,使云服务器可在密文状态下计算与处理数据,这就是同态密码。
大部分同态密码只支持在密文状态下对数据进行某些特定的计算和处理,目前全同态密码的效率还无法达到实用化需求。
(二)极限性能
随着信息技术应用环境的多样化,各种应用环境对密码算法的性能需求出现了分化,同一个密码算法越来越难以同时满足各种应用环境在时延、吞吐率、功耗、成本等方面不同的性能要求。
这些新的应用不要求密码算法同时满足所有的安全性与性能指标,却对某些具体的性能指标有苛刻的要求,互联网金融在处理峰值交易时对密码算法的吞吐率有很高要求,工业控制系统对密码算法的时延有严格要求,射频识别等应用对密码算法的硬件实现成本有较高要求。针对特殊应用环境,设计满足极限性能要求的密码算法,也是当前密码领域的研究热点之一。
二、抵抗新型攻击的密码
(一)抵抗密钥攻击
现代密码算法的基本设计准则是算法公开,安全性完全依靠密钥的保密。根据此设计准则,传统的密码算法设计在假定密钥和随机数安全的情况下考虑算法的安全性,即把密码算法抽象为一个黑盒子,攻击者无法获得密钥和随机数的任何信息,只能通过设定的接口与密码算法进行交互。
然而,随着移动便携终端设备的流行,攻击者逐渐有了通过侧信道、病毒等诸多手段获取密钥和随机数等信息,或对密钥进行篡改的能力。因此,设计能容忍密钥攻击的密码算法,以保证信息系统在入侵情况下的健壮性,这是密码理论与技术一个新的发展趋势。
(二)抵抗后门攻击
现代密码算法设计理论的发展使密码算法的强度有了严谨的论证,很难直接破解。然而,所有密码算法的安全都依赖高质量的随机数,如果随机数发生器被植入后门,那么所有的安全性论证都失去了基础。当前,如何使密码算法在随机数发生器被植入后门的情况下还可以安全工作,已成为一个新的设计目标,这一类密码被称为“后斯诺登密码”。