中国软件评测中心 徐丽娟
一、“密码”和“口令”
现实生活中提到的“密码”一词,比如人们日常使用的开机“密码”、微信“密码”、银行卡支付“密码”等,这些“密码”实际上是口令。口令只是进入个人计算机、手机、电子邮箱或者个人银行账户的“通行证”,它是一种简单、初级的身份认证手段。这些口令与《密码法》草案中的“密码”不同,真正的“密码”,藏在安全支付设备中、藏在网络系统内,默默守护国家秘密信息安全、守护我们每个人的信息安全。
《密码法》中的密码指的是使用特定变换的方法对信息等进行加密保护、安全认证的产品、技术和服务。《密码法》共五章四十四条,对密码分为核心密码、普通密码和商用密码进行分类管理。其中,核心密码、普通密码用于保护国家秘密信息,核心密码保护信息的最高密级为绝密级,普通密码保护信息的最高密级为机密级。核心密码、普通密码属于国家秘密。密码管理部门依照本法和有关法律、行政法规、国家有关规定对核心密码、普通密码实行严格统一管理。商用密码用于保护不属于国家秘密的信息。公民、法人和其他组织可以依法使用商用密码保护网络与信息安全。
二、商用密码
我国自行研发的自主可控商用密码算法主要包括:ZUC,SM2,SM3,SM4和SM9等,这些密码算法涵盖了对称密码中的序列密码,分组密码,非对称密码中的椭圆曲线密码,以及密码杂凑算法,把它们组合起来可以为各种需要密码技术作为支撑的行业应用提供坚实可靠的基础。
1.对称密码算法
序列密码ZUC(祖冲之)算法和分组密码(SM4)算法都属于对称密码算法,也就是说,加密一方和解密一方使用完全相同的密钥来分别进行加密和解密,从而提供保密性(机密性)保证。
ZUC算法目前主要用于通信领域。2011年9月,我国以ZUC算法为核心的加密算法128-EEA3和完整性保护算法128-EIA3,与美国AES、欧洲SNOW 3G共同成为了4G移动通信密码算法国际标准。
SM4算法最初作为我国自主无线局域网安全标准WAPI的专用密码算法发布,后成为分组密码算法国家行业标准。由于SM4算法最初用于无线局域网芯片WAPI协议中,支持SM4算法的WAPI无线局域网芯片已超过350多个型号,全球累计出货量超过70亿颗。在金融领域,仅统计支持 SM4 算法的智能密码钥匙出货量已超过 1.5 亿个。
2.非对称密码算法
非对称密码算法又称公钥密码算法,公钥密码算法包括公钥加密和私钥签名(即数字签名,可提供真实性、不可否认性保证)两种主要用途,打破了对称密码算法加密和解密必须使用相同密钥的限制。公钥加密算法加密和解密使用不同的密钥。其中加密的密钥被公开,称为公钥;解密的密钥被保密,称为私钥。公钥、私钥是密切关联的,从私钥可推导出公钥,但从公钥推导出私钥是计算上不可行的。SM2算法(椭圆曲线公钥密码算法)和SM9算法(标识密码算法)是我国颁布的商用密码标准算法中的公钥密码算法,常见的国外公钥密码算法有RSA、ECDSA算法等。
基于SM2算法的数字签名技术已在我国电子认证领域广泛应用。SM2算法于2017年被国际标准化组织(ISO)采纳,成为国际标准ISO/IEC 14888-3的一部分。SM9算法将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,不需要数字证书、证书库或密钥库,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。同SM2算法一起,SM9数字签名算法也在2017年被ISO采纳,成为国际标准ISO/IEC 14888-3的一部分。
3.密码杂凑算法
密码杂凑算法又称杂凑函数、哈希(hash)算法、哈希函数,是把任意长的输入串转化成固定长的输出串的一种函数。我国商用密码标准中的密码杂凑算法是SM3算法,并于2018年10月成为国际标准。SM3算法的输出长度固定为256比特。输入长度在理论上是无限制的。在实践中根据填充规范的要求,输入长度不能超过264比特。只使用SM3算法不能提供完整性保护,而是需要配合密钥使用,即带密钥的杂凑算法(HMAC):利用杂凑算法,将一个密钥和一个消息作为输入,生成一个消息摘要作为输出。HMAC可用作数据完整性检验,检验数据是否被非授权地改变;也可用作消息鉴别,保证消息源的合法性等。
SM3 算法应用非常广泛。如在智能电网领域,采用SM3算法的智能电表接近10亿用户,均能安全稳定运行。在金融系统,目前大约有7亿多银行磁条卡更新为密码芯片卡,动态令牌累计发行7726万支,这些卡片及令牌均使用了SM3算法。
三、等级保护中的密码
中国软件评测中心连续四年获评网络安全等级保护测评机构先进单位,我们看到在等级保护中也有许多与密码相关的要求,GB/T 22239-2019《信息安全技术网络安全等级保护基本要求》中与密码相关的要求如下:
1.真实性
应在通信前基于密码技术对通信的双方进行验证或认证;
应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
2.保密性
应采用密码技术保证通信过程中数据的保密性。
应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;
应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
3.完整性
应采用校验技术或密码技术保证通信过程中数据的完整性;
应采用密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
应采用密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
(4)不可否认性
在可能涉及法律责任认定的应用中,应采用密码技术提供数据原发证据和数据接收证据,实现数据原发行为的抗抵赖和数据接收行为的抗抵赖。
(5)密码管理要求
应确保密码产品与服务的采购和使用符合国家密码管理主管部门的要求。
应进行上线前的安全性测试,并出具安全测试报告,安全测试报告应包含密码应用安全性测试相关内容。
密码管理应遵循密码相关国家标准和行业标准;
密码管理应使用国家密码管理主管部门认证核准的密码技术和产品。
(6)利用密码技术可以有效解决的问题
可信验证:可基于可信根对系统引导程序、系统程序、重要配置参数和边界防护应用程序等进行可信验证,并在应用程序的所有执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心,并进行动态关联感知;应采用可信验证机制对接入到网络中的设备进行可信验证,保证接入网络的设备真实可信
远程管理:当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听
集中管理:应能够建立一条安全的信息传输路径,对网络中的安全设备或者安全组件进行管理。
四、小结
当今密码技术在保护信息安全方面的应用越来越广泛,促使云计算、大数据、人工智能、区块链、移动互联网、物联网等新技术产业蓬勃发展。相信随着《中华人民共和国密码法》的颁布与实施、等级保护制度的实施,我国数字经济将继续高质量发展。