一种数字签名方法和系统与流程

文档序号:12809113阅读:1099来源:国知局
一种数字签名方法和系统与流程

本发明涉及互联网安全认证领域,更具体地说,涉及一种数字签名方法和系统。



背景技术:

数字签名是一种解决数据完整性和来源可追溯的解决方案,通过用户预先生成的密钥向可信第三方机构申请数字证书来确保用户的可信身份。发送方使用私钥加密经过散列算法生成的散列值形成数字签名,接收方使用发送方公钥解密散列值,并通过同样散列算法对原文进行散列计算,对比两个散列值确认数字签名的有效性。

目前在个人电脑上互联网应用以web访问页面方式为主,互联网应用的数字签名需要通过浏览器操作。浏览器作为个人电脑与互联网应用的交互入口,为了保持安全性,需要对通过互联网访问个人电脑本地资源的权限进行严格控制,一般需要通过第三方签名的控件支持本地文件操作。数字证书密钥本地生成、保管、应用的需求,需要数字证书解决方案提供商提供对应的第三方控件对数字证书进行操作,包括对数字签名的支持。

从数字证书的存储介质来划分,可分为软证书和硬证书两类。软证书是指以文件的方式存储在用户终端(pc或移动设备)的数字证书,硬证书是指存储在专用密码设备(如usbkey、sdkey、ic卡等)中的数字证书。软证书的密钥的读取和运算均由计算机操作系统完成,密钥泄露的风险高,安全级别低;硬证书密钥的存储和运算均由专用加密芯片完成,安全等级高。数字签名是通过浏览器数字证书控件操作数字证书、密钥和数字签名的过程,密钥的存储方式可以通过软件密钥容器或包含加密芯片的加密硬件存储。

但是,现有的数字签名技术主要存在如下缺陷:

1、浏览器控件兼容性差,用户体验不好

现有技术方案需要用户在浏览器上下载安装第三方控件和智能密码设备驱动,目前个人电脑操作系统涉及微软windows、苹果macos以及不同厂牌的linux等,浏览器包括微软ie6、7、8、9、10、苹果safari、火狐firefox、谷歌chrome以及基于上述浏览器的定制化版本,例如腾讯、奇虎、百度等厂商。不同操作系统、不同浏览器的安全设置不同,浏览器的安全控制,控件的接受程度、方式,默认处理方式不同,带来大量的兼容性问题,导致数字证书在数字签名应用中的大量用户体验问题,降低了数字证书数字签名应用的普及性,数字签名在用户身份认证、交易完整性保护等方面的优越性不能及时有效的得到应用。

2、软证书密钥易泄露,安全级别低

软证书以文件的方式存储在用户终端(pc或移动设备),密钥的读取和运算也在用户终端的操作系统中进行,密钥容易被窃取和仿冒,泄露风险高,导致系统安全级别低。

3、硬证书成本高

硬证书的存储和运算依赖于内置安全芯片的专用密码设备,成本较高,不利于数字证书应用的大面积推广和普及。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种不需要在用户终端安装控件和驱动、也不需要专用密码设备、操作简单、用户安全体验度高的数字签名方法和系统。

本发明为解决其技术问题在第一方面提出一种数字签名方法,包括如下步骤:

s1、基于业务系统发送的数字签名操作请求生成用户的公私钥对;

s2、携带用户公钥向第三方安全认证中心申请用户的数字证书,并接收第三方安全认证中心返回的数字证书;

s3、使用所述数字证书和用户私钥进行数字签名操作;

s4、完成数字签名操作后,销毁用户私钥;

s5、向业务系统返回数字签名操作结果。

根据本发明的一个实施例中,所述步骤s1进一步包括:

s11、解析业务系统发送的数字签名操作请求,所述数字签名操作请求包含签名事件标识、用户身份信息、身份鉴证信息;

s12、生成用户的公私钥对。

根据本发明的一个实施例中,所述步骤s2中向第三方安全认证中心申请用户的数字证书还携带所述签名事件标识、用户身份信息和身份鉴证信息,所述接收第三方安全认证中心返回的数字证书包括接收第三方安全认证中心基于所述用户身份信息和身份鉴证信息进行用户身份鉴证后签发的数字证书。

本发明为解决其技术问题在第二方面提出一种数字签名系统,包括:

密钥生成模块,用于基于业务系统发送的数字签名操作请求生成用户的公私钥对;

证书申请模块,用于携带用户公钥向第三方安全认证中心申请用户的数字证书,并接收第三方安全认证中心返回的数字证书;

签名模块,用于使用所述数字证书和用户私钥进行数字签名操作;

密钥销毁模块,用于在所述签名模块完成数字签名操作后,销毁用户私钥;

结果发送模块,用于向业务系统返回数字签名操作结果。

根据本发明的一个实施例中,所述密钥生成模块进一步包括:

解析单元,用于解析业务系统发送的数字签名操作请求,所述数字签名操作请求包含签名事件标识、用户身份信息、身份鉴证信息;

密钥生成单元,用于生成用户的公私钥对。

根据本发明的一个实施例中,所述证书申请模块向第三方安全认证中心申请用户的数字证书还携带所述签名事件标识、用户身份信息和身份鉴证信息,所述证书申请模块接收第三方安全认证中心返回的数字证书包括接收第三方安全认证中心基于所述用户身份信息和身份鉴证信息进行用户身份鉴证后签发的数字证书。

本发明的数字签名方法和系统以“事件证书”为基础,通过给某个特定的 事件(如合同签署事件)实时签发可信的数字证书,并使用此数字证书对事件信息进行数字签名操作,确保事件信息的完整性、合法性和可追溯。签名操作完成后,事件证书的私钥也随之销毁,能够有效的防止私钥泄露,提升了系统的安全性。另外,事件证书的申请、签名等操作均在服务端完成,不需要在用户终端安装控件和驱动,也不需要专用密码设备,操作简单,降低了用户数字证书使用的复杂度和成本,提升了用户安全体验,是一种业务系统快速部署数字签名技术实现数据完整性、真实性的安全新型创新数字证书应用。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明一个实施例的数字签名技术应用系统的逻辑结构图;

图2是图1所示的应用系统的交互过程示意图;

图3是本发明一个实施例的数字签名方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1示出了根据本发明一个实施例的数字签名技术应用系统100的逻辑框图。如图1所示,该应用系统100主要由用户110、业务系统120、数字签名系统130、和第三方安全认证中心140构成。用户110是在业务系统120中请求使用数字证书进行签名认证操作的用户。业务系统120是采用本发明的数字签名技术的业务系统,例如电子签章系统、支付系统等。数字签名系统130实现本发明的数字签名技术,为业务系统提供签名认证服务。第三方安全认证中心140可以是例如移动的ca中心,用于签发可信的用户数字证书。

具体如图1所示,根据本发明一个实施例的数字签名系统130包括密钥生成模块131、证书申请模块132、签名模块133、密钥销毁模块134和结果发送模块135。密钥生成模块131基于业务系统120发送的数字签名操作请求生 成用户的公私钥对。具体实施例中,密钥生成模块可进一步包括解析单元和密钥生成单元。解析单元用于解析业务系统120发送的数字签名操作请求,获得该数字签名操作请求中包含的签名事件标识、用户身份信息、身份鉴证信息等信息。密钥生成单元用于生成用户的公私钥对。证书申请模块132携带密钥生成模块131生成的用户公钥向第三方安全认证中心140申请用户的数字证书。证书申请模块132在向第三方安全认证中心申请用户的数字证书时还可携带前述解析单元解析出的签名事件标识、用户身份信息、身份鉴证信息等信息。第三方安全认证中心140基于这些信息鉴证用户身份,并签发可信的数字证书。证书申请模块132接收第三方安全认证中心140返回的数字证书。签名模块133使用第三方安全认证中心140签发的数字证书和密钥生成模块131生成的用户私钥进行数字签名操作。在签名模块133完成数字签名操作后,密钥销毁模块134即销毁该用户私钥,以防泄露。结果发送模块135用于向业务系统120返回签名模块133的数字签名操作结果。

图2示出了图1所示的应用系统100的交互过程的示意图。如图2所示,该数字签名的交互过程如下:

步骤s201,用户110向业务系统120请求业务操作,例如电子签章操作;

步骤s202,业务系统120组织电子签名操作请求,向数字签名系统130请求数字签名操作,该电子签名操作请求可包含签名事件标识、用户身份信息、身份鉴证信息等信息;

步骤s203,数字签名系统130解析该电子签名操作请求,并生成用户的公私钥对;

步骤s204,数字签名系统130携带用户公钥向第三方安全认证中心140申请用户的数字证书;

步骤s205,第三方安全认证中心140基于例如用户身份信息和用户鉴证信息鉴证用户身份,并签发可信的数字证书;

步骤s206,第三方安全认证中心140将签发的数字证书返回给数字签名系统130;

步骤s207,数字签名系统130使用该数字证书和用户私钥进行数字签名 操作;

步骤s208,数字签名系统130在完成数字签名操作后,销毁用户私钥;

步骤s209,数字签名系统130向业务系统120返回数字签名操作结果;

步骤s210,业务系统120基于该数字签名操作结果完成业务操作,返回业务操作结果给用户110。

基于本发明以上所介绍的数字签名系统130,本发明还提出一种数字签名方法。图3示出了根据本发明一个实施例的数字签名方法300的流程图。如图3所示,该数字签名方法300包括如下步骤:

步骤s310中,基于业务系统发送的数字签名操作请求生成用户的公私钥对。具体实施例中,该步骤先解析业务系统发送的数字签名操作请求,获取所述数字签名操作请求中包含签名事件标识、用户身份信息、身份鉴证信息等信息,然后生成用户的公私钥对。

随后步骤s320中,携带用户公钥向第三方安全认证中心申请用户的数字证书,并接收第三方安全认证中心返回的数字证书。具体实施例中,该步骤向第三方安全认证中心申请用户的数字证书还可携带前述签名事件标识、用户身份信息和身份鉴证信息,以便第三方安全认证中心基于这些信息进行用户身份鉴证后签发数字证书。

随后步骤s330中,使用第三方安全认证中心签发的数字证书和用户私钥进行数字签名操作。

随后步骤s340中,在完成数字签名操作后,销毁用户私钥。

随后步骤s350中,向业务系统返回数字签名操作结果。

本发明以上所介绍的数字签名方法和系统,实现基于“事件证书”的数字签名认证机制。数字证书单独为某个事件(例如合同签署事件)而签发,有效期依赖于事件的持续时间,随着事件的完成而失效。“事件证书”的密钥托管在数字签名系统,当事件完成后,事件证书的密钥也随之销毁。因而,使用此数字证书对事件信息进行数字签名操作,能确保事件信息的完整性、合法性和可追溯。签名操作完成后,数字证书的私钥也随之销毁,能够有效的防止私钥泄露,提升了系统的安全性。另外,数字证书的申请、签名等操作均在服务端 完成,不需要在用户终端安装控件和驱动,也不需要专用密码设备,操作简单,降低了用户数字证书使用的复杂度和成本,提升了用户安全体验。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1