一种移动网络通信数据安全防护方案

2021-06-06 08:58戴聪
中国新通信 2021年1期
关键词:应用服务密钥数据安全

戴聪

【摘要】    本文主要论述一种移动网络通信数据安全防护方案,该方案基于国产商用密码算法,描述了注册信息、密钥传输、应用数据安全防护方法,实现了客户端和应用服务系统、客户端和客户端间通信时的数据安全和访问控制。

【关键字】    数据安全    访问控制    国密算法

引言

目前移动应用普及生活方方面面,通常移动设备上的客户端和应用服务系统具有一定的密码运算能力,但通信网络中少有配备带有硬件密码设备的密码服务组件提供密钥管理、密码运算等服务,一般也不支持国产商用密码算法。本文提出的移动网络通信数据安全防护方案基于国产商用密码算法,实现以下目标:

(1) 保护通信数据的安全性和完整性。

(2) 控制应用服务访问权限。

(3) 密码运算过程安全高效。

一、移动网络通信数据安全防护方案

移动网络通信数据安全防护方案由客户端、应用服务系统和密码服务系统实现,其中客户端安装于移动设备上;应用服务系统为客户端提供应用各项业务服务;密码服务系统带有服务器密码机,为客户端和应用服务系统、客户端和客户端间业务通信提供密码服务,包括证书签发服务、公钥查询服务、派生密钥服务等。

移动网络通信数据安全防护方案包括注册信息安全防护方案、密钥传输安全防护方案和应用数据安全防护方案。

1.1 注册信息安全防护方案

客户端与应用服务系统通信前,二者都需要(1) 使用SM2椭圆曲线公钥密码算法[1]产生私钥和公钥,私钥仅用于本地密码运算对外不可见,公钥则对外发布;(2) 在密码服务系统注册,注册流程如图1所示。

(1)客户端/应用服务系统获取移动设备/服务器硬件序列号SN,使用SM3算法[2]计算SN的杂凑值,所得32字节杂凑值作为客户端/应用服务系统的唯一标识UID。

(2)客户端/应用服务系统使用SM2算法产生私钥SK和公钥PK,并将UID和PK发送至密码服务系统。

(3)密码服务系统缓存UID和PK。

(4)密码服务系统中的服务器密码机预装16字节通信保护根密钥CPRK,CPRK及其派生密钥都用于SM4算法[3]加解密运算。CPRK分散(即SM4算法加密)UID得到16字节通信保护主密钥CPMK,具体方法为CPMK = Enc(UID后16字节, Enc(UID前16字节, CPRK)),PK加密CPMK得到Enc(CPMK, PKM)返回至客户端/应用服务系统。

(5)客户端/应用服务系统SK解密Enc(CPMK, PK)得到CPMK,并产生16字节随机数R,CPMK加密R得到Token1发送至密码服务系统。

(6)密码服务系统中的服务器密码机产生16字节随机数RCS,Token1分散RCS得到会话密钥SessKey,CPMK解密Token1得到R并取反得到~R,CPMK加密(~R)RCS得到Token2返回至客户端。

(7)客户端/应用服务系统CPMK解密Token2得到(~R)RCS,比较所得~R是否正确,当且仅当~R正确时Token1分散RCS得到会话密钥SessKey,否则结束整个流程。SessKey加密注册数据(硬件信息如序列号SN等)得到Enc(注册数据, SessKey),以所得密文和原文的SM3杂凑值作为注册请求数据发送至密码服务系统。

(8)密码服务系统SessKey解密Enc(注册数据, SessKey)得到注册数据,当且仅当杂凑值验证并注册数据审核通过时根据硬件信息构造证书主题项并签发证书,否则结束整个流程。持久化UID和PK,SessKey加密证书得到Enc(证书, SessKey),以所得密文和原文的SM3杂凑值作为注册响应数据返回至客户端/应用服务系统。

(9)客户端/应用服务系统SessKey解密Enc(证书, SessKey)得到证书,当且仅当杂凑值验证通过时写入证书,否则注册失败。

注册流程中通过客户端/应用服务系统与密码服务系统双向认证协商会话密钥来实现通信数据安全防护,步骤(5)~(7)即为双向认证过程。双向认证协商会话密钥的过程采用软硬件结合的方式实现密码运算,实现了客户端/应用服务系统公钥发布和证书下发。

1.2 密钥传输安全防护方案

客戶端与客户端、客户端与应用服务系统通信安全由密码服务系统派生加解密密钥实现,加解密密钥传输流程如图2所示。

(1)客户端/应用服务系统将16字节随机数R、UID和应用名称作为派生密钥请求参数发送至密码服务系统,其中请求派生加密密钥时R由客户端/应用服务系统产生,请求派生解密密钥时R由客户端/应用服务系统从交互方接收。

(2)收到派生加密密钥请求时,密码服务系统中的服务器密码机产生索引为IDRK的16字节随机密钥RK,和应用名称绑定;收到派生解密密钥请求时,密码服务系统根据应用名称查询得到RK。RK分散R得到加解密密钥EDK,构造密钥密文结构体返回至客户端/应用服务系统。密钥密文结构体分为四部分,第一部分为IDRK + EDK密文,服务器密码机产生16字节随机数RCS,RCS加密IDRK + EDK得到Enc(IDRK + EDK, RCS),算法为SM4;第二部分为随机密钥RCS密文,密码服务系统根据UID查询得到客户端/应用服务系统公钥PK加密RCS得到Enc(RCS, PK),算法为SM2;第三部分为签名值,密码服务系统中的服务器密码机所存储私钥SKCS对前两部分的杂凑值签名,杂凑算法为SM3,签名算法为SM2;第四部分为密码服务系统中的UIDCS和客户端/应用服务系统的UID。

(3)客户端/应用服务系统根据密钥密文结构体的第四部分UIDCS从密码服务系统查询得到其公钥PKCS,依次计算杂凑值、验证签名值、解密随机数RCS密文、解密IDRK + EDK密文,当且仅当以上操作全部成功缓存元组(R, IDRK + EDK),否则密钥传输失败。

密钥传输流程中采用软硬件结合的方式实现非对称算法和对称算法密码运算,实现了加解密密钥的安全传输。

1.3 应用数据安全防护方案

客户端与客户端、客户端与应用服务系统通信流程如图3所示。

(1)通信发起方按照1.2所述流程获取加解密密钥EDK,构造通信数据密文结构体发送至接收方。通信数据密文结构体分为四部分,第一部分为用于派生密钥的随机数R;第二部分为通信数据密文,EDK加密通信数据Data得到Enc(Data, EDK),算法为SM4;第三部分为通信数据杂凑值,算法为SM3;第四部分为发起方UID和索引IDRK。

(2)通信接收方按照1.2所述流程获取加解密密钥EDK,依次解密通信数据密文、验证杂凑值,当且仅当以上操作全部成功通信成功,否则通信失败。

为了实现高效的通信数据传输,通信流程中采用对称算法实现通信数据安全,加解密密钥EDK优先从本地缓存的元组(R, IDRK + EDK)获取,设定的缓存有效期过后再重新从密码服务系统请求派生新的加解密密钥。

二、结语

移动网络通信数据安全防护方案实现了以下目标:

2.1数据安全性和完整性

方案中使用随机密钥加密保护数据安全性,杂凑值验证保证数据完整性。注册流程中的随机密钥由双向认证协商产生,仅用于在内存中进行密码运算,双向认证结束后失效;通信流程中的随机密钥由服务器密码机产生并加密传输,仅用于在内存中进行密码运算,超过规定的时效或使用次数后失效。方案实现了通信安全防护所需密钥安全,从而实现通信安全。

2.2访问权限控制

方案要求客户端与客户端、客户端与应用服务系统通信前必需从密码服务系统获取加解密密钥,密钥传输流程中基于SM2签名验签实现了通信各方的身份验证,仅允许在密码服务系统中注册了的通信方获取加解密密钥,从而实现访问权限控制。同时,方案中的密钥密文结构体和通信数据密文结构体中都包含通信发起方的唯一标识UID,允许通信接收方记录访问者并进行安全审计。

2.3密码运算过程安全高效

方案中所涉及到的密码算法为国产商用密码算法SM2、SM3、SM4,采用软硬件结合的方式实现密码运算,使整个方案具有安全高效的特点。

参  考  文  献

[1] GB/T 35276-2017, 信息安全技术 SM2密码算法使用规范[S]. 中华人民共和国:国家标准化管理委员会, 2017

[2] GB/T 32905-2016, 信息安全技术 SM3密码杂凑算法[S]. 中华人民共和国:国家标准化管理委员会, 2016

[3] GB/T 32907-2016, 信息安全技術 SM4分组密码算法[S]. 中华人民共和国:国家标准化管理委员会, 2016

猜你喜欢
应用服务密钥数据安全
幻中邂逅之金色密钥
幻中邂逅之金色密钥
部署推进2020年电信和互联网 行业网络数据安全管理工作
工信部:2021年初步建立网络数据安全标准体系
BitLocker密钥恢复二三事
数据安全政策与相关标准分享
一种实现国际漫游欢迎短信的方案研究
大数据服务在高考填志愿中服务的心理学意义探讨
“云水谣”推广平台的设计与实现
微软推出整合版Azure应用服务