商密科普:(二)商用密码核心技术
发布日期:2023-06-19从发展应用实践来看,商用密码核心技术主要包括密码算法、密钥和密码协议等三个方面:
密码算法
密码算法包括对称密码算法、公钥密码算法和杂凑算法。为了保障商用密码安全,国家密码管理部门制定了一系列密码算法标准,包括SM2、SM3、SM4、SM9、祖冲之密码算法(即“ZUC算法”)等。其中SM2、SM9为公钥密码算法,SM3为杂凑算法,其余均为对称密码算法。
SM2算法基于椭圆曲线上离散对数计算困难问题,密钥长度为256比特,包括SM2加密算法和SM2数字签名算法。SM9是一种基于身份标识的公钥密码算法,也被称为标识密码,采用256比特的椭圆曲线。SM3算法摘要长度为256比特,利用了简单运算的充分多次迭代,其安全性及效率与SHA-256相当。SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等。
对称密码又可分为分组密码和序列密码。其中SM4为分组密码,分组长度和密钥长度为128比特。SM4算法是SM系列算法中使用最为广泛的密码算法。ZUC算法是序列密码算法,采用128比特的主密钥和128比特初始向量作为输入参数。该算法速度快,常用于移动通信4G网络。
目前我国SM系列密码算法大多已经纳入ISO/IEC国际标准,ZUC算法已经作为国际第四代移动通信加密标准,这标志着我国密码算法国际标准体系已初步成型,为有效保障网络空间安全贡献了中国智慧,提供了中国方案。
密钥
密钥是控制密码运算过程中的一串不可预测的随机数。如果用户拥有密钥,就可以对密文进行解密获得相应的明文;在算法足够安全的情况下,如果用户没有密钥,那么通过猜测密钥的方式来破译明文的概率几乎为零。比如密钥长度为128比特,则攻击者需要进行2的128次方的试验。所以必须保证密码算法中所使用的密钥的安全,密钥需秘密保存,并且密钥空间必须足够庞大,以致无法穷尽。
密钥易受到许多威胁,比如密钥材料的泄漏、窜改、未授权删除、不彻底销毁、未授权撤销、假冒、延迟执行密钥管理功能以及密钥的滥用。针对上述存在的威胁,密钥的保护方法包括采用密码技术的保护、采用非密码技术的保护、采用物理手段的保护和采用组织手段的保护。采用密码技术的保护比如用加密技术来对抗密钥泄漏和未授权使用,用数据完整性机制来对抗窜改,用数字签名技术来对抗冒充;采用非密码技术的保护比如对密钥进行时间标记;采用物理手段的保护比如进行脱机来存储密钥材料;采用组织手段的保护是指对密钥材料进行级别划分,每级密钥只用于保护下级密钥,最低级密钥可直接用于提供数据安全服务。
密钥是密码安全的根本,需要进行严格管理,制定科学合理的安全策略。密钥管理是根据安全策略,对密钥的产生、分发、存储、更新、归档、撤销、备份、恢复和销毁等密钥全生命周期的管理。
密码协议
密码协议是密码应用的交互规则,是将密码算法应用于具体使用环境的重要密码技术。密码协议的目的不仅仅是为了简单的秘密性,通过密码协议可以进行实体之间的认证、在实体之间安全地分配密钥或其它各种秘密、确认发送和接收消息的不可否认性等。
现实情况下,应用密码算法实现特定安全功能是十分复杂的,不同的使用环境需要不同的密码协议,不同的安全功能也由不同的密码协议实现。因此,密码技术中存在多种多样的密码协议,如密钥交换协议、密钥分发协议、身份认证协议、电子支付协议、不经意传输协议等。比如经典的Diffie-Hellman 密钥交换协议,双方通过互相交换信息,使得通信的双方能在非安全的信道中协商出相同的共享密钥,进而进行后续的加密操作。
密码协议的安全性对密码应用至关重要。密码协议的安全性不仅由密码算法的安全性决定,也由交互规则的安全性决定,交互规则出现漏洞,则协议就会受到攻击者的攻击。密码协议面临的典型攻击有消息重放攻击、中间人攻击、已知密钥攻击、平行会话攻击、交错攻击以及其他类型的攻击等。所以常在协议中加入随机数、时间戳等参数,以加强密码协议的安全性。密码协议的安全性分析方法有基于逻辑推理的分析方法、基于模型检验的分析方法、基于定理证明的分析方法和密码学可证明安全分析方法。密码协议的分析与设计一直是密码学界的重要研究内容。
声明:内容来源中国信通院云计算与大数据研究所,转载目的在于传递更多信息。如有侵权,请联系本站处理。