本发明涉及国密算法,尤其涉及一种基于国密算法的应用安全设计方法。
背景技术:
1、目前的应用安全设计大多基于国际密码算法,而国际上通用的密码算法,如rsa、md5等已被破解,ssl协议存在风险,且使用的操作系统、芯片大部分都是国外产品和技术,在我国尚未完成对这些核心技术控制的现状下,采用国产自主密码技术保障系统安全也成为必然的选择,随着《中华人民共和国网络安全法》、《网络安全等级保护条例》、《中华人民共和国密码法》的陆续颁布及中央、地方的政策加强,进一步奠定了国产自主密码技术作为网络安全保护重要手段的地位,但是现有技术中的国密算法密码技术的全体系安全问题仍待改进,为了提高国密算法密码技术的全体系安全问题,因此我们提出了一种基于国密算法的应用安全设计方法。
技术实现思路
1、基于背景技术存在的技术问题,本发明提出了一种基于国密算法的应用安全设计方法。
2、本发明提出的一种基于国密算法的应用安全设计方法,包括以下步骤:
3、s1:搭建基于国密算法的应用安全设计系统:应用安全设计系统由终端密码应用、网络与接入安全密码应用、业务密码应用、密码服务、密码资源和密码基础支撑组成,终端密码应用由国密浏览器和智能密码钥匙组成,且终端应用密码与密码服务进行双向传输,网络与接入安全密码应用包括安全网关,且网络与接入安全密码应用与密码服务进行双向传输,业务密码应用包括业务应用安全,且业务密码应用与密码服务进行双向传输,业务应用安全由授权管理、身份认证、访问控制和用户/业务数据安全组成,密码服务由密钥管理、数据加密服务、完整性验证服务、签名验签服务、时间戳服务、身份认证服务和安全通道组成,且密码服务与密码资源采用双向数据传输,密码资源由密码设备管理和密码设备池组成,且密码资源与密码基础支撑采用双向数据传输,密码基础支撑由时间戳服务器、签名验签服务器、服务器密码机、身份认证网关和智能密码钥匙组成;
4、s2:首先使用国产自主密码技术来实现用户登录系统时的身份鉴别,然后采用智能密码钥匙数字证书与身份认证安全网关为业务系统提供身份认证服务,在应用层前端界面调用智能密码钥匙通过sm2算法数字签名技术实现身份鉴别,应用侧调用身份认证安全网关对证书和签名信息进行解析;
5、s3:身份认证后,采用国产自主密码技术保护访问控制信息,通过部署签名验签服务器,调用sm2签名算法,对业务系统访问控制信息进行完整性保护;
6、s4:用户访问应用系统时,在通信层面通过身份认证网关与国密浏览器建立gmssl安全通道后,使用sm4算法对重要数据进行加密存储;
7、s5:紧接着对应用系统的数据资源,通过调用服务器密码机,使用sm4算法对上述s3中储存的数据进行机密性保护,并采用sm4算法对上述s3中储存的数据中的敏感数据进行加密保护,对重要身份鉴别信息、用户信息、重要业务数据进行机密性保护;
8、s6:用户访问应用系统时,在通信层面通过身份认证网关与国密浏览器建立gmssl安全通道,使用sm3算法对传输中的数据进行完整性保护,且在对应用系统重要数据存储过程中,通过调用签名验签服务器中的签名验签子系统和时间戳服务器中的时间戳子系统,使用sm2签名算法,对敏感信息进行签名运算和数据校验实现,对重要数据进行完整性保护;
9、s7:在需要访问加密存储的重要数据时,首先访问人员点击已加密存储的重要数据页面,业务系统将重要数据的密文、数据加密密钥的密文,提交至服务器密码机,请求解密,紧接着服务器密码机获取重要数据的密文、数据加密密钥的密文;
10、s8:紧接着服务器密码机使用业务系统的密钥加密密钥,解密数据加密密钥密文,获得数据加密密钥,紧接着采用sm4加密算法,解密重要数据的密文,获得重要数据明文,送回业务系统;业务系统获得重要数据的明文,向终端展现数据。
11、优选地,所述s3中,用户权限信息包括人员姓名、人员的身份证号码、手机号码和家庭住址等信息。
12、优选地,所述s4中,对重要数据进行加密存储的工作流程为:s41:在业务系统中录入/上传用户、人员的身份证号码、手机号码、家庭住址等信息、人员基础信息库等数据时,数据存储在业务系统中,并和用户绑定;
13、s42:业务系统获取用户、人员的身份证号码、手机号码、家庭住址等信息、人员基础信息库等数据,调用标准密码服务接口申请数据加密密钥;
14、s43:服务器密码机产生业务系统需要的数据加密密钥,并用业务系统的密钥加密密钥,加密数据加密密钥,以密文形式导出;
15、s44:业务系统存储数据加密密钥密文,将录入/上传的重要数据加密密钥密文送服务器密码机,请求加密保护;
16、s45:服务器密码机获取录入/上传的重要数据加密密钥密文;解密应用系统的数据加密密钥密文,获取业务系统的数据加密密钥;
17、s46:服务器密码机使用业务系统的数据加密密钥,采用sm4加密算法,对重要数据进行加密;
18、s47:应用系统获取并存储录入重要数据的密文。
19、优选地,所述s6中,签名验签子系统用来为应用系统提供数字签名、签名验签服务,用来保障重要业务数据、权限管理数据、日志数据的完整性,且对关键业务数据制作数字签名的流程为:s61:将待签名数据和认证授权码送往签名验签服务器接口;
20、s62:验签服务器验证认证授权码,确认应用系统身份是否具备访问数字签名服务的权限;
21、s63:验证通过后,签名验签服务器根据应用系统的要求,对待签名数据做数字签名,并将签名后的结果数据返回给应用系统,系统将签名结果数据存入数据库;
22、s64:紧接着应用系统对已经签名的数据进行身份验证。
23、优选地,所述s6中,采用时间戳签发的服务流程为:s601:应用系统服务端集成时间戳请求子系统,调用数字摘要接口对待签发时间戳的原文计算出摘要;
24、s602:应用系统将数字摘要通过发送给可信身份前置时间戳服务;
25、s603:时间戳服务器同步校对标准时间,利用ca机构签发的时间戳服务证书对应的私钥对数字摘要和准确时间进行签名,产生时间戳;
26、s604:时间戳数据一方面回传给应用系统,另一方面存储在时间戳服务系统中备份,通过时间戳验证接口验证后进行存储,此后,时间戳和原文绑定在一起可以证明某个时间的有效证据。
27、优选地,所述s6中,时间戳子系统采用时间戳服务器(tsa),为应用系统及用户提供可信的时间源,保证应用获取权威、统一、精准的时间信息,为实现数据时间认证需求奠定坚实基础。
28、优选地,所述s6中,签名验签子系统在本系统中的作用主要包括对业务系统的访问控制信息等数据签名验签服务,保证操作行为和数据的合法性、可信性,签名验签密码子系统由签名验签服务器及相关服务接口构成。
29、优选地,所述s6中,签名验签服务器全面支持密码算法,支持sm2数字签名算法、sm3摘要算法、sm4加解密算法。
30、优选地,所述s2中,数字证书的身份认证过程包括:s21:应用客户端向应用服务端请求认证原文;
31、s22:应用服务端向网关请求认证原文,网关产生认证原文并返回给应用服务端;
32、s23:应用服务端将认证原文返回给应用客户端,应用客户端让用户选择证书,然后产生认证请求包并发给应用服务端发起认证请求,应用服务端将请求包发给网关请求身份认证;
33、s24:网关完成认证请求的处理后,将认证响应返回给应用服务端,应用服务端根据认证响应中的认证结果、用户属性等内容进行业务处理然后向客户端返回响。
34、与现有的技术相比,本发明的有益效果是:
35、本发明通过采用身份认证技术、加解密技术、时间戳技术和签名验签技术,在国际通用密码算法已被破解的情况下,可以保障应用安全,有效解决数据产生、传输、存储、处理、分析、使用等全生命周期安全问题。