引言密码学技术是保障网络与信息系统安全的核心技术。广泛应用于金融、交通、通信等各行各业,对国家安全和经济民生发展发挥着重要作用。但是,仍然有大量系统使用MD5、SHA1、RC4、DES等不安全的算法。此外,一些系统没有按照国家相关标准正确使用密码技术和服务,势必给信息系统带来严重的安全隐患。因此,为保障信息系统安全稳定运行,必须做好商用密码应用安全评估工作,确保商用密码应用合规、正确、有效。由于国产密码算法的性能等原因,商用密码算法并未得到广泛应用,提高商用密码算法的性能也是目前的主要任务之一。信息系统密码应用安全评估是规范密码应用、维护网络空间安全的基本要求。同时,密码测评可以促进国产密码应用在各行业的广泛应用。目前,国密算法在系统应用方面的推广和普及还不够。制约国密算法普及的最重要原因之一就是性能。本文列举了密码学评估工作对国密算法高性能实现的各种需求,并对密码学在各种需求下的适用性进行了初步分析。一、信息系统密码应用基本要求1.商用密码安全评估商用密码应用安全评估,简称密测,是指采用商用密码技术、产品和服务一体化建设的网络和信息系统的评价。密码应用程序的合规性、正确性和有效性。合规性是指密码算法、密码协议、密钥管理、密码产品和服务的合规性,即按照《商用密码管理条例》等密码法规和行业相关的密码使用要求,使用符合国家标准的商用密码代码密码法规和标准算法,使用经国家密码管理局批准的密码产品或服务;按照《信息系统密码应用基本要求》等标准设计相应的密码学应用构建方案。正确性是指密码算法、密码协议、密钥管理、密码产品和服务的正确使用,即系统中使用的标准密码算法、协议和密钥管理机制按照相应的密码学规范正确设计和实现。国家和行业标准。意识到;正确部署和应用密码产品和服务的密码安全系统构建或改造过程。有效性是指信息系统中使用的密码协议、密钥管理系统、密码应用子系统和密码安全保护机制不仅设计合理,而且能够在系统运行过程中发挥密码效用,确保信息的机密性和完整性。、真实性、不可抵赖性。2、信息系统密码应用基本要求根据GM/T0054《信息系统密码应用基本要求》,信息系统密码应用从通用要求、密码技术应用要求、密钥管理和安全管理四个方面进行评价。从四个不同的安全级别要求密码技术应用要求、密钥管理和安全管理。通用要求提出密码算法、密码协议、密码产品和密码服务必须符合相关标准,符合国家密码管理部门的要求。(一)密码应用要求GM/T0054《信息系统密码应用基本要求》密码应用要求分为物理与环境安全、网络与通信安全、计算与设备安全、应用与数据安全。其中,物理和环境安全实现对信息系统所在机房等重要区域的物理保护,密码应用需要涉及重要区域的物理门禁控制,以及电子门禁系统的存储完整性。出入记录和视频监控音视频记录。网络与通信安全实现对通过外部网络连接的信息系统和实体在网络通信过程中的安全保护。密码学的应用需求主要涉及通信过程中实体身份的真实性、数据机密性和数据完整性,以及网络边界访问控制和设备访问控制。计算与设备安全实现对信息系统中各种设备和计算环境的安全保护。密码应用需求主要涉及登录设备用户的身份认证、远程管理通道的建立、可信计算环境的建立、重要可执行程序的来源等。真实性,以及系统资源访问控制信息、设备的重要信息资源敏感安全标志、重要可执行程序的完整性、日志记录的完整性。应用与数据安全实现对信息系统中应用及其数据的安全保护。密码应用主要涉及应用用户身份认证、访问控制、存储安全、传输安全、重要应用相关数据的相关行为不可否认等。其中,重要数据根据密码方案和实际需要确定。重要数据一般包括但不限于认证数据、重要业务数据、重要个人信息、重要审计数据、重要配置数据、重要视频数据等。(2)密钥管理信息系统密钥管理应包括密钥管理的全过程生成、存储、分发、导入、导出、使用、备份、恢复、归档和销毁的全生命周期管理和政策制定。(3)安全管理安全管理从管理制度、人员管理、施工运行、应急处置四个方面提出了一级到四级密码应用的安全管理要求。、合规和有效实施。2.密码技术和高性能要求随着应用场景的不同,各种应用环境对密码算法的性能和安全要求也不同。下面我们将从物理与环境、网络与通信、设备与计算、应用与数据四个层面,从保密评价的角度分析国密算法对其性能的影响。1.物理和环境安全物理和环境安全是信息系统安全最基本的部分。要采用密码技术,有效保护进入机房等重要场所人员身份的真实性,以及视频、出入记录的完整性。一般采用基于SM7算法的非接触式逻辑加密卡或基于SM1/SM7算法的非接触式CPU卡,实现一卡一密的身份认证。基于非接触式IC卡门禁系统的密码应用包括3个子系统:应用系统、密钥管理系统和发卡系统。门禁系统密码应用示意图如图1所示:图1门禁系统密码应用示意图对于视频数据的完整性保护,一般采用MAC计算或数字签名来实现数据,由于视频数据的生成是动态的、实时的,直接对所有完整的视频数据进行MAC计算或数字签名的效率很低,影响了方案的可行性。为了提高计算效率,可以在视频编码压缩域中隐藏与视频相关的信息,如用户名、设备号、帧序号等。在视频解码阶段,计算MAC值并与原始MAC值进行比较。2、网络和通信安全信息系统中各组成部分之间的互联互通需要网络来实现。网络层需要实现以下密码学功能:识别通信双方的身份,保护通信过程中数据的完整性,保护通信过程中敏感数据或整个消息的机密性,控制信息或系统在网络边界。保护资源访问控制信息的完整性,建立安全的信息传输通道,对网络中的安全设备进行集中管理。此外,对于Level4系统,需要对连接到内部网络的设备进行身份验证。网络通信的保护完全可以采用SSL/TLS协议或IPSec协议。SSL协议和IPSec协议都是网络层的综合密码协议,为网络通信过程提供数据的机密性、完整性、数据源的身份认证、抗重放攻击等。SSLVPN或IPSecVPN设备通常部署在网络层。由于我国密码行业标准支持“双证书+双中心”机制,即加密证书和签名证书,用于数据加密的密钥对由密钥管理中心生成,用于数字签名的密钥生成由用户。采用符合国密标准的双证书机制,提高安全性。另一方面,对于用户和系统来说,带来了一定的效率降低和管理成本的增加。其次,在服务器端进行签名验证时,SM2数字签名验证算法需要进行多点计算,其算法效率低于RSA签名验证算法。对于通信数据的机密性,可采用SM4算法进行数据加密保护,完整性可采用HMAC-SM3算法。SM4算法的性能与AES相比有一定的差距。在一些对实时性要求较高的通信加密应用场景中,SM4算法可能难以满足要求。这时候可以考虑序列算法,比如我国的ZUC算法,但是目前的TLS/SSL协议还不支持ZUC算法。为了保证网络边界访问控制信息和系统资源访问控制信息的完整性,可以配置一个兼容的SSL或IPSecVPN设备,通过自身的密码保护机制来保护访问控制列表的完整性。但是,有些系统只部署了防火墙等安全产品,而市场上的防火墙等安全产品并没有使用密码技术,也没有使用未经认证的密码模块。首先,不使用或使用不合规密码技术的安全产品会影响系统通信过程的安全;其次,在这些安全产品中加入密码功能,必然会降低系统的性能。为了在提高性能的同时保证其安全性,自然需要密码算法的高性能实现。综上所述,为了提高系统通信过程的安全性,对系统通信性能影响较小,必须对国密算法的高性能实现提出更高的要求。做好国密算法的高性能实现,可以帮助国密算法更加普及。3.设备与计算安全设备与计算层主要采用密码技术保障终端设备、服务器、安全设备、操作系统等算法的运行和计算环境的安全。计算和设备层需要实现以下密码功能:对系统中登录设备的用户进行身份认证,对系统日志、访问控制信息、重要程序或文件、重要信息资源的敏感标签进行完整性保护,需要对远程管理的身份认证信息进行保密保护。设备级和计算级用户登录认证中的用户一般是指登录设备的管理员、运维人员等。身份认证的常用方法是使用智能密码密钥对管理员进行认证。远程管理时,认证信息的身份Confidentiality通过https协议登录堡垒机,然后通过SSH协议加密传输到目标服务器。目前SSH协议不支持国密算法,因此迫切需要兼容国密算法的SSH协议及相关产品和标准来保障用户登录安全。在设备级和计算级实现完整性保护有两种方式:一种是使用内置的密码模块,如加密卡、密码芯片、软件密码模块等;另一种是外置密码机或智能密钥的产品,尤其是外置加密设备,一般对性能要求较高。目前,操作系统、芯片等领域的国产化还比较欠缺。采用合规密码技术可以有效弥补系统的安全性,同时也对国产密码算法的性能提出了更高的要求。4.应用与数据安全应用与数据层主要对信息系统中业务应用和系统业务数据、用户身份认证数据、系统资源访问控制信息、重要资源信息敏感标识等提出基于密码学技术的安全要求。日志等。应用层和数据层需要实现以下密码功能:对登录用户进行身份验证,保证系统资源访问控制信息和重要资源信息敏感标签和日志的完整性,监控数据在传输和存储过程中的机密性和完整性。对重要程序的保护、安装和卸载进行安全控制,对4级信息系统要求不可抵赖性。在一些需要对数据源进行密码技术保护的应用场景中,仅仅依靠网络层和设备层提供的密码技术是不够的,仍然需要在数据源头提供密码技术进行保护。应用层和数据层。例如,网络层密码算法的不安全实现导致系统不安全,例如“OpenSSLHeartbleed”漏洞。这时,如果数据在应用层也进行了加密,那么数据传输过程的保密性还是有保障的。相反,数据在网络层和应用层进行了两次加密,明显降低了通信性能,增加了成本。因此,只有提高国密算法的性能,才能减少这些不利影响。系统的应用涉及各行各业,每个应用都有不同的需求,需要保护的数据也不同。该层次涉及的密码技术和实现方法与上述两个层次基本相同,面临的问题也类似,如用户身份认证、访问控制信息完整性保护等。重要数据存储加密要求上述层级不存在对重要程序的加载和卸载的安全控制。存储的机密性一般可以通过使用内置的密码模块加密数据或将重要数据传输到服务器密码机,使用服务器密码机加密,将密文存储在数据库中,也有的用户直接使用内置数据库加密功能,实现机密保护。对于业务用户较多的行业或场景,加密存储对算法的性能要求非常高。这时候SM4算法的性能和AES算法有一定的差距。尤其是AES算法采用了Intel芯片指令集——AES-NI加速优化后差距更加明显。重要程序加载和卸载的安全性一般可以通过数字签名技术或MAC操作来保护其完整性。3、其他应用场景随着信息技术的飞速发展,智能手机等电子产品随处可见,方便了人们的生活和工作,如手机银行、移动办公等带来便利的同时也引入了新的安全问题。近年来,针对移动终端及其APP的软硬件攻击层出不穷。为了保护智能终端的数据安全,可以采用白盒加密或协同签名等技术。密码算法的白盒实现可以有效保护密钥在算法运行过程中不被攻击,但是其实现的查找表规模非常大,需要更大的存储空间,运行效率也比传统算法低。算法的标准实现。适用于资源受限场景下的应用。协同签名技术的基本思想是,用户的签名私钥不再仅由用户自己生成,其子私钥分别由用户和后台服务器生成。文件的签名需要双方使用各自的私钥交互计算文件,最终生成签名结果,实现方法如图2所示。在Lin等人提出的方案中,生成时协同签名的密钥对,客户端和服务端需要分别进行模逆运算和点乘运算,计算出各自的子密钥对,服务端和客户端需要进行两次交互。在协同签名生成过程中,客户端和服务端需要进行两次交互,其中客户端需要计算一次点积运算,服务端需要计算两次点积运算,效率远低于标准的SM2数字签名算法。Lindell提出了一种基于同态加密函数Paillier的协同签名方案。实现方式与Lindell的方案类似,不同的是签名过程中的随机数受到同态函数的保护。客户端需要计算点积、Paillier加密运算、解密运算,服务端需要计算点积、加法同态运算、乘法同态运算,效率比较低。图2合作签名示意图IV.结束语密码技术是保障网络与信息系统安全的核心技术。信息系统的安全稳定运行,离不开对商用密码应用的安全评估,确保商用密码的合规、正确、有效应用。由于国产密码算法性能等原因,商用密码并未得到广泛应用。为了更好地推广商用密码算法,实现信息系统的安全性、自主性和可控性,需要提高商用密码的性能。
