商密测评之数据加密应用策略

谷梦林
对称加密技术策略。在应用层数据加密、解密技术中,由于技术成熟、算法公开、计算量小、加密速度快、加密效率高等特点,对称加密算法被广泛应用,常见的对称加密密码算法有SM4、AES等。通过对称加密技术进行数据加密的过程中,需借助同一个密钥进行数据的加密和解密处理。

近年来,我国信息化发展迅速,企业为了提升业务效率,不仅将实体资产数字化,也将其业务流程信息化,伴随而来的是数据资产的爆发式增长;应用系统间相互打通、共享、协同,数据作为数字化时代的新型生产要素,在企业各个应用系统之间快速流转,为企业带来了巨大的利益,提升了工作效率。为了促进商用密码在系统中的应用,国家密码管理部门出台了(GB/T 39786-2021)《信息安全技术信息系统密码基本要求》,组织开展了信息系统商用密码应用安全性评估(以下简称”密评”)工作。

当前密评的应用层占分值30分,比重大,较高程度的影响了评估的结果。针对此,本文将重点对“应用和数据层面”各应用系统间的数据加密策略进行分析。

一、应用层密码加密技术策略

对称加密技术策略。在应用层数据加密、解密技术中,由于技术成熟、算法公开、计算量小、加密速度快、加密效率高等特点,对称加密算法被广泛应用,常见的对称加密密码算法有SM4、AES等。通过对称加密技术进行数据加密的过程中,需借助同一个密钥进行数据的加密和解密处理。

方案一:该方案目前应用范围较广,对称密钥为服务器密码机生成的真随机数且加密传输,密钥加密密钥由客户端调用客户端密码模块生成,仅涉及到公钥的传输。

具体流程如下:

应用系统客户端调用客户端密码模块生成非对称密钥,将私钥内置在应用系统客户端并存储在客户端密码模块中,将公钥发送给应用系统服务端;

应用系统服务端调用服务器密码机生成真随机数,即对称算法密钥,并通过非对称算法公钥加密发送给应用系统客户端;

应用系统客户端收到加密之后的密文数据之后,调用客户端密码模块,对数据进行解密,得到解密之后的对称密钥明文密钥,并将该密钥存储在客户端密码模块中;

应用系统客户端将待发送的明文数据通过密钥和加密算法逐个加密后,将密文数据,发送给应用系统服务端;

应用系统服务端收到加密后的密文数据后,结合解密算法并使用相同的密钥进行解密得到原始明文数据。

流程图如下:

2345截图20211028093243.png

方案一:对称加密流程图

方案二:该方案目前应用范围较广,对称密钥为客户端密码模块生成的伪随机数且加密传输,密钥加密密钥由应用系统服务端调用服务器密码机生成,仅涉及到公钥的传输。

具体流程如下:

应用系统服务端调用服务器密码机生成非对称密钥,将私钥内置在服务器密码机中,将公钥发送给应用系统客户端;

应用系统客户端调用客户端密码模块生成伪随机数,即对称算法密钥,并通过非对称算法公钥加密发送给应用系统服务端;

应用系统服务端收到加密之后的密文数据之后,调用服务器密码机,对数据进行解密,得到解密之后的对称密钥明文密钥,并将该密钥存储在服务器密码机中;

应用系统客户端将待发送的明文数据通过密钥和加密算法逐个加密后,将密文数据,发送给应用系统服务端;

应用系统服务端收到加密后的密文数据后,调用服务器密码机进行解密得到原始明文数据。

流程图如下:

2345截图20211028093243.png

方案二:对称加密流程图

方案三:基于GM/T 0003.3-2012《SM2椭圆曲线公钥密码算法第3部分:密钥交换协议》,客户端与服务端进行密钥协商,协商后各自进行存储,用于业务数据的加解密。此处只给出大体流程,详细步骤详见密钥交换协议规范。

具体流程如下:

应用系统客户端调用客户端密码模块接口进行椭圆曲线协商,将客户端生成的临时密钥发送给应用系统服务端;应用系统服务端进行椭圆曲线协商运算,计算出应用系统服务端的临时密钥和哈希值,并发送给应用系统客户端;

应用系统客户端收到服务端的临时密钥和哈希值之后,进行运算,并生成新的哈希值发送给应用系统服务端;应用系统服务端收到该值后进行计算并对结果进行比对,若一致,则返回密钥确认成功,后续使用该密钥进行数据加密;

应用系统客户端将待发送的明文数据通过调用客户端密码模块进行加密,将密文数据,发送给应用系统服务端;

应用系统服务端收到加密后的密文数据后,调用服务器密码机进行解密得到原始明文数据。

流程图如下:

2345截图20211028093243.png

方案三:对称加密流程图

非对称加密技术策略。在应用层数据加解密技术中,非对称加密算法的加密和解密的过程是不对称的,具有公私钥对的概念,也就是有两把密钥,一把是公钥,一把是私钥,一对公私钥有固定的生成方法,在加密的时候用公钥去加密,解密时用私钥解密。使用时可以由应用系统服务端生成公私钥对,然后将公钥传递给应用系统客户端,由于网络传输的为公钥(公钥可以进行公开无安全要求)不涉及私钥在网络中传输,无窃取风险。公钥可以由私钥推导出来,反过来却无法通过公钥推导出私钥,常用的算法有SM2椭圆曲线公钥密码算法、RSA算法等。

方案四:虽然非对称算法安全性高,但由于算法强度复杂,加解密花费时间长、速度慢等特点,一般用于加密密钥,用于加密数据的应用场景较少。

具体流程如下:

应用系统客户端向应用系统服务端发起证书申请请求;应用系统服务端收到证书申请请求后,调用服务器密码机生成对应的公私钥对,私钥存储在服务器密码机内部,公钥发送给应用系统客户端;

应用系统客户端收到公钥后,使用该公钥并结合相应的非对称算法将明文数据进行加密并将加密后的密文数据发送给应用系统服务端;

应用系统服务端收到应用系统客户端发送过来的密文数据之后,调用服务器密码机进行解密,得到解密后的明文数据。

流程图如下:

2345截图20211028093243.png

方案四:非对称加密流程图

二、链路层加密技术策略

为了提高数据的安全性,在数据加密技术中,链路层(数据链路层是OSI参考模型中的第二层,介于物理层和网络层之间)加密技术是一种有效的防止链路层被劫持的技术。劫持是指黑客通过在用户应用系统客户端和应用系统服务端之间,植入恶意设备、第三方证书或通过系统存在的漏洞控制网络设备的手段,从而监听或篡改用户和服务器之间的数据,达到窃取用户数据的目的。在经过链路层数据加密后,数据在整个传输过程中,均为密文状态,能有效的保证数据传输过程的安全性,常见的链路加密技术如HTTPS、SSL等。

三、总结

随着数据加密技术的发展,以及《密码法》、《数据安全法》等法律法规的出台,数据安全问题已经得到了一定的缓解。但在具体的实践过程中,仍存在较多的问题需要探讨,如:应用系统客户端到网关服务器之间链路层已加密处理,网关服务器到业务服务器为公司内网环境该段链路是否有必要进行加密,内网环境相对安全。目前,根据商用密码的规范,建议重要数据在内网各系统之间流转时,采用密码加密技术保证安全。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论