H04L9/40 H04L9/32
1.一种基于数字信封技术的数据传输方法,其特征在于,所述方法包括:
访问者终端根据被访问者信息生成访问申请原文,并采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息;
所述访问者终端根据服务器公钥对所述第一加密秘钥进行加密,形成第一数字信封,并将所述加密访问信息和所述第一数字信封一同传输给服务器;
所述服务器在接收到所述第一数字信封和所述加密访问信息后,随机向所述访问者终端询问至少一条目标被访问者信息,并在接收到所述访问者终端针对所述目标被访问者信息的询问给出的回答信息后,根据所述回答信息确定对应的被访问者终端,并根据所述回答信息按预设规则生成访问令牌,并将所述访问令牌推送给所述回答信息对应的被访问者终端;
当从所述访问者终端当中获取到所述访问令牌时,所述服务器采用服务器私钥解密所述第一数字信封,以取出所述第一加密秘钥,并根据所述第一加密秘钥和所述第一预设加密规则对应的解密规则对所述加密访问信息进行解密,并向所述被访问者信息对应的被访问者终端推送授权提示信息;
当所述服务器接收到所述被访问者终端反馈的授权访问指令时,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据;
所述服务器根据所述访问者公钥对所述第二加密秘钥进行加密,形成第二数字信封,并将所述加密数据和所述第二数字信封一同传输给所述访问者终端;
所述访问者终端采用访问者私钥解密所述第二数字信封,以取出所述第二加密秘钥,并根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据。
2.根据权利要求1所述的基于数字信封技术的数据传输方法,其特征在于,在向所述被访问者信息对应的被访问者终端推送授权提示信息的步骤之前,还包括:
所述服务器采用预设鉴别规则对服务器解密数据进行鉴别,鉴别成功后再执行向所述被访问者信息对应的被访问者终端推送授权提示信息的步骤。
3.根据权利要求2所述的基于数字信封技术的数据传输方法,其特征在于,采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息的步骤包括:
将所述访问申请原文采用第一哈希算法进行哈希运算,得到所述访问申请原文对应的数字摘要,并通过访问者私钥对所述访问申请原文对应的数字摘要进行签名,生成所述访问申请原文对应的数字签名;
采用所述第一加密秘钥和第一对称加密算法对所述访问申请原文对应的数字签名、所述访问申请原文和所述访问者公钥进行加密,得到加密访问信息。
4.根据权利要求3所述的基于数字信封技术的数据传输方法,其特征在于,所述解密数据包括解密后的访问申请原文对应的数字签名、解密后的访问申请原文和解密后的访问者公钥,则采用预设鉴别规则对服务器解密数据进行鉴别的步骤包括:
采用所述解密后的访问者公钥对所述解密后的访问申请原文对应的数字签名进行解密,得到第一数字摘要,并将所述解密后的访问申请原文采用所述第一哈希算法进行哈希运算得到第二数字摘要;
判断所述第一数字摘要和所述第二数字摘要是否相同,若相同则判断服务器解密数据鉴别成功。
5.根据权利要求1所述的基于数字信封技术的数据传输方法,其特征在于,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据的步骤包括:
将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二对称加密算法进行加密,得到预加密数据;
随机生成访问验证码并将所述访问验证码发送给所述被访问者终端,并通过所述访问验证码对所述预加密数据进行加密,得到所述加密数据。
6.根据权利要求5所述的基于数字信封技术的数据传输方法,其特征在于,根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据的步骤包括:
先从所述被访问者终端获取所述访问验证码,并采用所述访问验证码对接收的加密数据进行解密,得到中间解密数据;
根据所述第二加密秘钥和所述第二对称加密算法对应的解密规则对所述中间解密数据进行解密,得到解密后的被访问者数据。
7.根据权利要求1所述的基于数字信封技术的数据传输方法,其特征在于,在根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据的步骤之后还包括:
所述访问者终端采用预设鉴别规则对解密后的被访问者数据进行鉴别。
8.根据权利要求7所述的基于数字信封技术的数据传输方法,其特征在于,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据的步骤包括:
将所述被访问者数据采用第二哈希算法进行哈希运算,得到所述被访问者数据对应的数字摘要,并通过服务器私钥对所述被访问者数据对应的数字摘要进行签名,生成所述被访问者数据对应的数字签名;
采用所述第二加密秘钥和第二对称加密算法对所述被访问者数据对应的数字签名、所述被访问者数据和服务器公钥进行加密,得到加密数据。
9.根据权利要求8所述的基于数字信封技术的数据传输方法,其特征在于,根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密后,还得到解密后的被访问者数据对应的数字签名和解密后的服务器公钥,则采用预设鉴别规则对解密后的被访问者数据进行鉴别的步骤包括:
采用所述解密后的服务器公钥对所述解密后的被访问者数据对应的数字签名进行解密,得到第三数字摘要,并将所述解密后的被访问者数据采用所述第二哈希算法进行哈希运算得到第四数字摘要;
判断所述第三数字摘要和所述第四数字摘要是否相同,若相同则判断访问者终端解密数据鉴别成功。
10.一种基于数字信封技术的数据传输系统,其特征在于,包括服务器及与所述服务器通讯连接的至少一个访问者终端和至少一个被访问者终端,所述服务器中存储有被访问者数据,所述访问者终端能够向所述服务器获取所述被访问者数据,其中:
所述访问者终端包括:
访问加密模块,用于根据被访问者信息生成访问申请原文,并采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息;
访问传输模块,用于根据服务器公钥对所述第一加密秘钥进行加密,形成第一数字信封,并将所述加密访问信息和所述第一数字信封一同传输给服务器;
所述服务器包括:
访问解密模块,用于采用服务器私钥解密所述第一数字信封,以取出所述第一加密秘钥,并根据所述第一加密秘钥和所述第一预设加密规则对应的解密规则对所述加密访问信息进行解密,并向所述被访问者信息对应的被访问者终端推送授权提示信息;
数据加密模块,用于在接收到所述被访问者终端反馈的授权访问指令时,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据;
数据传输模块,用于根据所述访问者公钥对所述第二加密秘钥进行加密,形成第二数字信封,并将所述加密数据和所述第二数字信封一同传输给所述访问者终端;
所述访问者终端还包括:
数据解密模块,用于采用访问者私钥解密所述第二数字信封,以取出所述第二加密秘钥,并根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据。
本发明涉及数据处理技术领域,特别涉及一种基于数字信封技术的数据传输方法及系统。
目前各个医院之间的就诊记录、病历和检查结果等并未实现互联互通,患者在不同医院就诊时,经常面临重复检查的情况,每到一家医院就可能要重新做一次检查,既浪费了宝贵的医疗资源,又影响了患者的就诊效率,增加不必要的检查费用支出,也成为目前患者跨院就诊体验的最大痛点。
为了实现跨院信息互联互通的目的,首先要确定数据传输架构和协议。通过将患者数据存储到服务器,并建立服务器与各医院端的通讯协议连接,能够有效解决跨院信息互联互通的问题。但由于患者信息极为私密,在数据传输过程当中还应当保证数据传输的绝对安全。
然而,目前服务器与用户端之间的安全通讯协议一般为TLS/SSL安全传输层协议,此协议位于TCP/IP协议与各种应用层协议之间,在传输层对网络连接进行加密。但这种加密方式仅仅采用双方建立握手协议时确定的秘钥进行加密,对数据加密的强度较弱,并且是在传输层对数据进行加密,导致患者信息依然存在泄露风险,安全性较差,很难满足跨院信息互联互通的安全传输要求。
基于此,本发明的目的是提供一种基于数字信封技术的数据传输方法及系统,以解决背景技术当中的至少一技术问题。
根据本发明实施例的一种基于数字信封技术的数据传输方法,所述方法包括:
访问者终端根据被访问者信息生成访问申请原文,并采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息;
所述访问者终端根据服务器公钥对所述第一加密秘钥进行加密,形成第一数字信封,并将所述加密访问信息和所述第一数字信封一同传输给服务器;
所述服务器采用服务器私钥解密所述第一数字信封,以取出所述第一加密秘钥,并根据所述第一加密秘钥和所述第一预设加密规则对应的解密规则对所述加密访问信息进行解密,并向所述被访问者信息对应的被访问者终端推送授权提示信息;
当所述服务器接收到所述被访问者终端反馈的授权访问指令时,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据;
所述服务器根据所述访问者公钥对所述第二加密秘钥进行加密,形成第二数字信封,并将所述加密数据和所述第二数字信封一同传输给所述访问者终端;
所述访问者终端采用访问者私钥解密所述第二数字信封,以取出所述第二加密秘钥,并根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据。
另外,根据本发明上述实施例的一种基于数字信封技术的数据传输方法,还可以具有如下附加的技术特征:
进一步地,在向所述被访问者信息对应的被访问者终端推送授权提示信息的步骤之前,还包括:
所述服务器采用预设鉴别规则对服务器解密数据进行鉴别,鉴别成功后再执行向所述被访问者信息对应的被访问者终端推送授权提示信息的步骤。
进一步地,采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息的步骤包括:
将所述访问申请原文采用第一哈希算法进行哈希运算,得到所述访问申请原文对应的数字摘要,并通过访问者私钥对所述访问申请原文对应的数字摘要进行签名,生成所述访问申请原文对应的数字签名;
采用所述第一加密秘钥和第一对称加密算法对所述访问申请原文对应的数字签名、所述访问申请原文和所述访问者公钥进行加密,得到加密访问信息。
进一步地,所述解密数据包括解密后的访问申请原文对应的数字签名、解密后的访问申请原文和解密后的访问者公钥,则采用预设鉴别规则对服务器解密数据进行鉴别的步骤包括:
采用所述解密后的访问者公钥对所述解密后的访问申请原文对应的数字签名进行解密,得到第一数字摘要,并将所述解密后的访问申请原文采用所述第一哈希算法进行哈希运算得到第二数字摘要;
判断所述第一数字摘要和所述第二数字摘要是否相同,若相同则判断服务器解密数据鉴别成功。
进一步地,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据的步骤包括:
将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二对称加密算法进行加密,得到预加密数据;
随机生成访问验证码并将所述访问验证码发送给所述被访问者终端,并通过所述访问验证码对所述预加密数据进行加密,得到所述加密数据。
进一步地,根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据的步骤包括:
先从所述被访问者终端获取所述访问验证码,并采用所述访问验证码对接收的加密数据进行解密,得到中间解密数据;
根据所述第二加密秘钥和所述第二对称加密算法对应的解密规则对所述中间解密数据进行解密,得到解密后的被访问者数据。
进一步地,在根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据的步骤之后还包括:
所述访问者终端采用预设鉴别规则对解密后的被访问者数据进行鉴别。
进一步地,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据的步骤包括:
将所述被访问者数据采用第二哈希算法进行哈希运算,得到所述被访问者数据对应的数字摘要,并通过服务器私钥对所述被访问者数据对应的数字摘要进行签名,生成所述被访问者数据对应的数字签名;
采用所述第二加密秘钥和第二对称加密算法对所述被访问者数据对应的数字签名、所述被访问者数据和服务器公钥进行加密,得到加密数据。
进一步地,根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密后,还得到解密后的被访问者数据对应的数字签名和解密后的服务器公钥,则采用预设鉴别规则对解密后的被访问者数据进行鉴别的步骤包括:
采用所述解密后的服务器公钥对所述解密后的被访问者数据对应的数字签名进行解密,得到第三数字摘要,并将所述解密后的被访问者数据采用所述第二哈希算法进行哈希运算得到第四数字摘要;
判断所述第三数字摘要和所述第四数字摘要是否相同,若相同则判断访问者终端解密数据鉴别成功。
根据本发明实施例的一种基于数字信封技术的数据传输系统,包括服务器及与所述服务器通讯连接的至少一个访问者终端和至少一个被访问者终端,所述服务器中存储有被访问者数据,所述访问者终端能够向所述服务器获取所述被访问者数据,其中:
所述访问者终端包括:
访问加密模块,用于根据被访问者信息生成访问申请原文,并采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息;
访问传输模块,用于根据服务器公钥对所述第一加密秘钥进行加密,形成第一数字信封,并将所述加密访问信息和所述第一数字信封一同传输给服务器;
所述服务器包括:
访问解密模块,用于采用服务器私钥解密所述第一数字信封,以取出所述第一加密秘钥,并根据所述第一加密秘钥和所述第一预设加密规则对应的解密规则对所述加密访问信息进行解密,并向所述被访问者信息对应的被访问者终端推送授权提示信息;
数据加密模块,用于在接收到所述被访问者终端反馈的授权访问指令时,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据;
数据传输模块,用于根据所述访问者公钥对所述第二加密秘钥进行加密,形成第二数字信封,并将所述加密数据和所述第二数字信封一同传输给所述访问者终端;
所述访问者终端还包括:
数据解密模块,用于采用访问者私钥解密所述第二数字信封,以取出所述第二加密秘钥,并根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据。
与现有技术相比:通过对访问请求进行加密传输并配合数字信封技术,保证访问请求的真实性和私密性,并对访问请求对应的被访问者数据进行加密传输并配合数字信封技术,保证数据传输的安全性和私密性,并且还增加了患者授权访问流程节点,并且是在应用层就已经对信息进行了加密,即信息是加密发出,而并非在传输层进行加密,提高了对数据加密的强度,提高了数据安全性,为后续实现跨院信息互联互通提供了可靠的数据安全传输协议。
图1为本发明实施例提供的基于数字信封技术的数据传输系统的结构示意图;
图2为本发明第一实施例中的基于数字信封技术的数据传输方法的流程图;
图3为本发明第六实施例中的基于数字信封技术的数据传输系统的结构示意图。
以下具体实施方式将结合上述附图进一步说明本发明。
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
以下各实施例均可应用在图1示出的基于数字信封技术的数据传输系统当中,图1示出的数据传输系统包括服务器及与服务器通讯连接的至少一个访问者终端和至少一个被访问者终端,其中被访问者终端具体可以为被访问者的手机、平板等移动终端,服务器中存储有被访问者数据,其中被访问者数据例如可以为被访问者的医疗检查数据等需要共享的数据,访问者终端能够通过本发明下述实施例提供的基于数字信封技术的数据传输方法向服务器获取所需要的被访问者数据,从而实现互联互通各平台之间的数据安全共享。
其中,访问者终端是指需求从服务器中获取数据的终端设备,例如在医院场景当中,访问者终端具体可以为某一医院的电脑、医疗平板、服务器等终端设备,其需要从服务器当中获取某一患者(即被访问者)的医疗检查数据。服务器可以是独立于所有访问者终端之外的终端设备,例如为云服务器,例如在医院场景当中,可以增设独立于各医院之外的云服务器,各医院对应的访问者终端需要从云服务器中获取相应的患者医疗数据。或者,服务器也可以是其中一个访问者终端,例如在医院场景当中,当A医院需要从B医院获取某一病人的电子病历时,此时A医院的终端设备可以作为访问者终端,而B医院的终端设备可以作为服务器。
需要指出的是,图1示出的结构并不构成对该数据传输系统的限定,在其它实施例当中,该数据传输系统可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
实施例一
请参阅图2,所示为本发明第一实施例中的基于数字信封技术的数据传输方法,所述方法具体包括步骤S01-步骤S06。
步骤S01,访问者终端根据被访问者信息生成访问申请原文,并采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息。
在具体实施时,被访问者信息至少包括被访问者标识和访问信息标识,其中被访问者标识用于标识被访问者,例如可以为姓名、身份证号等,访问信息标识用于标识需要访问的具体信息类型,例如可以为信息名称(如电子病历)、信息编号(如检查报告编号等),例如在医院场景当中,被访问者信息具体可以包括患者姓名和电子病历编号,以请求访问该患者的电子病历数据。
为了便于后续数据加解密运算和数据传输,可以将被访问者信息按照特定的编码方式进行转换,以生成访问申请原文,在一些可选实施例当中,访问者终端根据被访问者信息生成访问申请原文的步骤具体包括:
访问者终端生成32位的随机数R,再把生成的随机数R和被访问者信息以Key-Value的方式转成JSON字符串,再把生成的JSON字符采用独特的编码方式Base58进行转换,转换结果作为访问申请原文M。
在具体实施时,第一预设加密规则可以是简单采用对称加密算法,则第一加密秘钥即为对称加密算法对应用的对称加密密秘,即可以采用对称加密密秘和对称加密算法对访问申请原文和访问者公钥进行加密,得到加密访问信息,其中对称加密算法例如可以为SM4算法。
步骤S02,所述访问者终端根据服务器公钥对所述第一加密秘钥进行加密,形成第一数字信封,并将所述加密访问信息和所述第一数字信封一同传输给服务器。
在具体实施时,访问者终端可以根据服务器公钥和SM2算法对第一加密秘钥进行加密,形成第一数字信封。
步骤S03,所述服务器采用服务器私钥解密所述第一数字信封,以取出所述第一加密秘钥,并根据所述第一加密秘钥和所述第一预设加密规则对应的解密规则对所述加密访问信息进行解密,并向所述被访问者信息对应的被访问者终端推送授权提示信息。
相应的,在具体实施时,服务器可以采用服务器私钥和SM2算法来解密第一数字信封,以取出第一加密秘钥,并根据第一加密秘钥和第一预设加密规则对应的解密规则对加密访问信息进行解密,也即可以根据SM4算法和对应的对称加密密秘来对加密访问信息进行解密,以还原出访问申请原文和访问者公钥,此时从访问申请原文当中,服务器就可以知晓被访问者信息。同时在成功解密之后,服务器还会向被访问者信息对应的被访问者终端推送授权提示信息,以提示被访问者当前存在访问者在访问他的相关数据,并让被访问者是否授权该访问者的当前访问行为,从而提高数据访问的安全性。当被访问者根据授权提示信息选择允许访问时,会向服务器反馈授权访问指令,反之会向服务器反馈未授权访问指令。
在一些可选实施例当中,向所述被访问者信息对应的被访问者终端推送授权提示信息的步骤具体可以包括:
通过手机APP向被访问者终端推送一条授权提示信息,其中授权提示信息使用对称加密算法进行加密,对称密钥通过手机短信方式发送给被访问者终端;
被访问者使用收到的对称秘钥解密授权提示信息,并使用该手机APP的手写板对授权信息进行签名,以授权访问者的当前访问行为。也即在该情况当中,通过被访问者签名来进行授权,若被访问者完成签名则判定选择允许访问,此时服务器接收到被访问者终端反馈的授权访问指令,反之被访问者未完成签名则判定选择不允许访问,此时服务器接收到被访问者终端反馈的未授权访问指令。
步骤S04,当所述服务器接收到所述被访问者终端反馈的授权访问指令时,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据。
其中,第二预设加密规则可以是简单采用对称加密算法,则第二加密秘钥即为对称加密算法对应用的对称加密密秘,即可以采用对称加密密秘和对称加密算法对被访问者数据进行加密,得到加密数据,其中对称加密算法例如可以为SM4算法。
步骤S05,所述服务器根据所述访问者公钥对所述第二加密秘钥进行加密,形成第二数字信封,并将所述加密数据和所述第二数字信封一同传输给所述访问者终端。
在具体实施时,服务器可以根据访问者公钥和SM2算法对第二加密秘钥进行加密,形成第二数字信封。
步骤S06,所述访问者终端采用访问者私钥解密所述第二数字信封,以取出所述第二加密秘钥,并根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据。
相应的,在具体实施时,访问者终端可以采用访问者私钥和SM2算法来解密第二数字信封,以取出第二加密秘钥,并根据第二加密秘钥和第二预设加密规则对应的解密规则对接收的加密数据进行解密,也即可以根据SM4算法和对应的对称加密密秘来对加密数据进行解密,以得到所需要访问的被访问者数据。
在一些可选实施例当中,在所述步骤S03之前,所述基于数字信封技术的数据传输方法还可以包括:
所述服务器在接收到所述第一数字信封和所述加密访问信息后,随机向所述访问者终端询问至少一条目标被访问者信息,并在接收到所述访问者终端针对所述目标被访问者信息的询问给出的回答信息后,根据所述回答信息确定对应的被访问者终端,并根据所述回答信息按预设规则生成访问令牌,并将所述访问令牌推送给所述回答信息对应的被访问者终端;当从所述访问者终端当中获取到所述访问令牌时,再执行所述步骤S03。
在具体实施时,可以预先构建询问信息库,询问信息库当中包括了多种预先设置的拟提问的被访问者信息,例如为:被访问者生日是多少、被访问者电子病历编号是多少、被访问者身份证是多少等等。服务器可以从询问信息库当中随机选取一条来询问访问者终端,并在预设时间内(如5分钟内)等待访问者终端的回答,然后根据回答信息来确定对应的被访问者,例如当患者回答了被访问者电子病历编号时,服务器根据被访问者电子病历编号就可以确定对应绑定的被访问者,进而确定对应绑定的被访问者终端。其中,可以直接将回答信息按例如2进制方式转化为字符串、或者将回答信息转化为字符串后再与随机生成的字符串进行异或运算来得到访问令牌,访问令牌可以通过手机APP方式推送给被访问者终端。
也就是说,在这种情况当中,服务器在接收到访问信息时不直接对访问信息进行解析处理,而是先随机向访问者终端询问一条或多条目标被访问者信息(具体询问数量以能够确定唯一被访问者为准),由于此时服务器并没有对访问信息进行解析,因此服务器当前并不清楚被访问者的有关信息,因此采用询问访问者终端的形式来获取被访问者信息,然后根据访问者终端针对该目标被访问者信息给出的回答信息,确定对应的被访问者终端,并根据回答信息按预设规则生成访问令牌,并将访问令牌推送给对应的被访问者终端。此时访问者终端需要从对应的被访问者终端获取该访问令牌,并提供给服务器验证成功之后,才会对之前接收到的访问信息进行解析。由于询问的内容是高度随机的,因此访问者必须要充分了解被询问者的所有信息才能够回答正确,回答正确才能够让对应的被询问者准确接收到对应的访问令牌,进而才能够顺利获取到访问令牌来继续从服务器访问所需要的被访问者数据;反之当回答错误时,很有可能会把访问令牌发送给错误的被询问者,导致访问者无法正确获取到访问令牌从而无法继续访问所需要的被访问者数据,这样就可以很大程度上避免因部分信息泄露而导致患者信息被窃取的情况发生,从而大大提高数据安全性,同时由于服务器也并非一来访问信息就对其进行解析,而是有如上的验证判断过程,因此还能够有效避免服务器被恶意攻击。
综上,本发明上述实施例当中的基于数字信封技术的数据传输方法,通过对访问请求进行加密传输并配合数字信封技术,保证访问请求的真实性和私密性,并对访问请求对应的被访问者数据进行加密传输并配合数字信封技术,保证数据传输的安全性和私密性,并且还增加了患者授权访问流程节点,并且是在应用层就已经对信息进行了加密,即信息是加密发出,而并非在传输层进行加密,提高了对数据加密的强度,提高了数据安全性,为后续实现跨院信息互联互通提供了可靠的数据安全传输协议。
实施例二
本发明第二实施例也提供一种基于数字信封技术的数据传输方法,本实施例当中的基于数字信封技术的数据传输方法与第一实施例当中的基于数字信封技术的数据传输方法的区别在于:
在向所述被访问者信息对应的被访问者终端推送授权提示信息的步骤之前,还包括:
所述服务器采用预设鉴别规则对服务器解密数据进行鉴别,鉴别成功后再执行向所述被访问者信息对应的被访问者终端推送授权提示信息的步骤。
也即,在本实施例当中,为了进一步提高数据安全性,还增加了对访问者的访问鉴别流程,同时对访问者鉴别后可以保证访问者信息的不可抵赖性。为了实现对访问者的访问鉴别,其中,采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息的步骤具体包括:
将所述访问申请原文采用第一哈希算法进行哈希运算,得到所述访问申请原文对应的数字摘要,并通过访问者私钥对所述访问申请原文对应的数字摘要进行签名,生成所述访问申请原文对应的数字签名;
采用所述第一加密秘钥和第一对称加密算法对所述访问申请原文对应的数字签名、所述访问申请原文和所述访问者公钥进行加密,得到加密访问信息。
也即,与第一实施例不同的是,本实施例当中的加密访问信息当中进一步携带了访问申请原文对应的数字签名信息,则服务器对加密访问信息进行解密得到的解密数据包括解密后的访问申请原文对应的数字签名、解密后的访问申请原文和解密后的访问者公钥。其中,第一哈希算法具体可以为SM3算法,其中数字摘要即为SM3值,访问者私钥对访问申请原文对应的数字摘要进行签名的过程可以为:采用非对称 SM2算法和访问者私钥对数字摘要进行加密,即得数字签名。也即,首先需要对访问申请原文采用SM3算法进行哈希运算,得到SM3值,再采用非对称 SM2算法和访问者私钥对SM3值进行加密,得到数字签名。
基于上述数字签名信息,则采用预设鉴别规则对服务器解密数据进行鉴别的步骤具体包括:
采用所述解密后的访问者公钥对所述解密后的访问申请原文对应的数字签名进行解密,得到第一数字摘要,并将所述解密后的访问申请原文采用所述第一哈希算法进行哈希运算得到第二数字摘要;
判断所述第一数字摘要和所述第二数字摘要是否相同,若相同则判断服务器解密数据鉴别成功。
具体地,可以采用解密后的访问者公钥和相同的非对称 SM2算法对解密后的访问申请原文对应的数字签名进行解密,得到第一数字摘要,同时将解密后的访问申请原文采用相同的SM3算法进行哈希运算,得到第二数字摘要,若在加密访问信息传输过程当中未被篡改,由于采用完全相同的加密、哈希运算,则通过解密得到的第一数字摘要应当会与服务器计算的第二数字摘要相同,反之当第一数字摘要与第二数字摘要不相同时,代表信息存在被篡改嫌疑,并非保密传输的,则可以选择拒绝访问,从而进一步提高数据安全性。
实施例三
本发明第三实施例也提供一种基于数字信封技术的数据传输方法,本实施例当中的基于数字信封技术的数据传输方法与第一实施例当中的基于数字信封技术的数据传输方法的区别在于:
将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据的步骤具体包括:
将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二对称加密算法进行加密,得到预加密数据;
随机生成访问验证码并将所述访问验证码发送给所述被访问者终端,并通过所述访问验证码对所述预加密数据进行加密,得到所述加密数据。则,根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据的步骤具体包括:
先从所述被访问者终端获取所述访问验证码,并采用所述访问验证码对接收的加密数据进行解密,得到中间解密数据;
根据所述第二加密秘钥和所述第二对称加密算法对应的解密规则对所述中间解密数据进行解密,得到解密后的被访问者数据。
也即在本实施例当中,服务器在对被访问者数据进行加密时采用双重加密规则,即首先将被访问者数据通过第二加密秘钥和第二对称加密算法进行加密,得到预加密数据,然后再随机生出访问验证码,再通过随机生成的访问验证码对预加密数据进行再加密,最终得到所述加密数据。在具体实施时,同样可以采用对称加密算法和随机生成的访问验证码对预加密数据进行再加密,从而进行两次对称加密,同时随机生成的访问验证码会发送给被访问者终端,具体地随机生成的访问验证码可以为六位访问验证码,其有效期可以设定为30分钟。在访问者终端对接收到的加密数据进行解密时,需要向被访问者索要该随机生成的访问验证码才能够正确解密该加密数据,因此进一步提高数据传输的安全性。访问者终端具体解密时,首先先从被访问者终端获取所述访问验证码,并采用所述访问验证码和对称加密算法对接收的加密数据进行解密,得到中间解密数据,若数据传输未被篡改,中间解密数据与预加密数据对应,然后再根据第二加密秘钥和第二对称加密算法对应的解密规则对中间解密数据进行解密,得到解密后的被访问者数据。
实施例四
本发明第四实施例也提供一种基于数字信封技术的数据传输方法,本实施例当中的基于数字信封技术的数据传输方法与第一实施例当中的基于数字信封技术的数据传输方法的区别在于:
在根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据的步骤之后还包括:
所述访问者终端采用预设鉴别规则对解密后的被访问者数据进行鉴别。
也即,在本实施例当中,为了进一步提高数据安全性,还增加了对被访问数据的鉴别流程。为了实现对被访问数据的鉴别,其中,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据的步骤包括:
将所述被访问者数据采用第二哈希算法进行哈希运算,得到所述被访问者数据对应的数字摘要,并通过服务器私钥对所述被访问者数据对应的数字摘要进行签名,生成所述被访问者数据对应的数字签名;
采用所述第二加密秘钥和第二对称加密算法对所述被访问者数据对应的数字签名、所述被访问者数据和服务器公钥进行加密,得到加密数据。
也即,与第一实施例不同的是,加密数据当中进一步携带了被访问者数据对应的数字签名和服务器公钥,则访问者终端在根据第二加密秘钥和第二预设加密规则对应的解密规则对接收的加密数据进行解密后,还得到解密后的被访问者数据对应的数字签名和解密后的服务器公钥。
其中,第二哈希算法具体可以为SM3算法,其中数字摘要即为SM3值,服务器私钥对被访问者数据对应的数字摘要进行签名的过程可以为:采用非对称 SM2算法和服务器私钥对数字摘要进行加密,即得数字签名。也即,首先需要对被访问者数据采用SM3算法进行哈希运算,得到SM3值,再采用非对称 SM2算法和服务器私钥对SM3值进行加密,得到数字签名。
基于上述数字签名信息,则采用预设鉴别规则对解密后的被访问者数据进行鉴别的步骤包括:
采用所述解密后的服务器公钥对所述解密后的被访问者数据对应的数字签名进行解密,得到第三数字摘要,并将所述解密后的被访问者数据采用所述第二哈希算法进行哈希运算得到第四数字摘要;
判断所述第三数字摘要和所述第四数字摘要是否相同,若相同则判断访问者终端解密数据鉴别成功。
具体地,访问者终端可以采用解密后的服务器公钥和相同的非对称 SM2算法对解密后的被访问者数据对应的数字签名进行解密,得到第三数字摘要,同时将解密后的被访问者数据采用相同的SM3算法进行哈希运算,得到第四数字摘要,若在加密数据传输过程当中未被篡改,由于采用完全相同的加密、哈希运算,则通过解密得到的第三数字摘要应当会与访问者终端计算的第四数字摘要相同,反之当第三数字摘要与第四数字摘要不相同时,代表数据存在被篡改嫌疑,并非保密传输的,从而进一步提高数据安全性。
实施例五
本发明第五实施例也提供一种基于数字信封技术的数据传输方法,具体包括如下详细步骤:
S1、访问者终端发起访问申请,该步骤具体包括:
1.1、访问者终端生成32位的随机数R,再把生成的随机数R和被访问者信息以Key-Value的方式转成JSON字符串,再把生成的JSON字符采用独特的编码方式Base58进行转换,转换结果作为访问申请原文M;
1.2、访问者终端将访问申请原文M进行SM3运算,得到SM3值,即数字摘要MD;
1.3、访问者终端使用自己的私钥(也即访问者私钥)对数据摘要MD进行签名,生成数字签名DS;
1.4、访问者终端用对称算法SM4及其对称密钥SK对访问申请原文M、数字签名DS及自己的公钥(也即访问者公钥)进行加密,得加密访问信息Z。
1.5、访问者终端用服务器公钥,采用SM2算法对对称密钥SK加密,形成数字信封DE;
1.6、访问者终端将加密访问信息Z和数字信封DE一起发送给服务器。
S2、服务器对访问者终端身份鉴别,该步骤具体包括:
2.1、服务器接收到数字信封 DE 后,首先用自己的私钥(也即服务器私钥)解密数字信封DE,取出对称密钥SK;
2.2、服务器用对称密钥SK通过SM4算法解密加密访问信息Z,还原出访问申请原文M、数字签名DS及访问者公钥。
2.3、服务器验证数字签名,先用访问者公钥解密数字签名得数字摘要MD;
2.4、服务器同时将原文信息用同样的SM3运算,求得一个新的数字摘要MD';
2.5、服务器将两个数字摘要 MD和MD'进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的;否则拒绝访问。
S3、服务器通知被访问者进行访问申请审核,该步骤具体包括:
3.1、服务器确认访问者终端身份后,通过手机APP向被访问者终端推送一条授权提示信息,其中授权提示信息使用对称加密算法进行加密,对称密钥通过手机短信方式发送给被访问者终端;
3.2、被访问者使用收到的对称秘钥解密授权提示信息,并使用该手机APP的手写板对授权信息进行签名,以授权访问者的当前访问行为,以向服务器反馈授权访问指令。
S4、服务器进行数据加密传输,该步骤具体包括:
4.1、服务器收到授权访问指令后,根据被访问者信息从服务器当中查存储的对应的被访问者数据,并将被访问者数据进行SM3运算,得到SM3值,即数字摘要MD;
4.3、服务器用自己的私钥(也即服务器私钥),采用非对称 SM2算法,对数字摘要MD进行加密,即得数字签名DS;
4.4、服务器用对称算法SM4及其对称密钥SK'对被访问者数据、数字签名SD及服务器自己的公钥(也即服务器公钥)进行加密,得预加密数据E1;
4.5、服务器随机生成30分钟内有效的6位访问验证码并通过手机短信发送给被访问者终端,再用对称算法SM4及6位访问验证码对预加密数据E1进行第2次加密,得到加密数据E2;
4.6、服务器用访问者公钥,采用SM2算法对对称密钥SK'加密,形成数字信封DE2;
4.7、服务器将加密数据E2和数字信封DE2一起发送给访问者终端。
S5、访问者终端接收并解密数据,该步骤具体包括:
5.1、访问者终端接收到数字信封 DE2 后,首先用访问者私钥解密数字信封DE2,取出对称密钥SK';
5.2、访问者向被访问者询问访问验证码,被访问者告知访问者6位访问验证码;
5.3、访问者终端先使用此6位访问验证码作为对称秘钥并采用对称算法SM4对加密数据E2进行解密,得到中间解密数据E1';
5.4、访问者终端再用对称密钥SK'通过SM4算法解密中间解密数据E1',还原出被访问者数据、数字签名SD及服务器公钥;
5.5、访问者终端验证数字签名,先用服务器公钥解密数字签名得数字摘要MD;
5.6、访问者终端同时将被访问者数据用同样的SM3运算,求得一个新的数字摘要MD';
5.7、访问者终端将两个数字摘要 MD和MD'进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的。
此外,还需要说明的是,以上各实施例及其特征之间在没有冲突的情况下,可以任意组合,组合得到的新技术方案依然属于本发明的保护范围之内。
实施例六
本发明另一方面还提供一种基于数字信封技术的数据传输系统,请查阅图3,所示为本发明第六实施例中的基于数字信封技术的数据传输系统,包括服务器及与所述服务器通讯连接的至少一个访问者终端和至少一个被访问者终端,所述服务器中存储有被访问者数据,所述访问者终端能够向所述服务器获取所述被访问者数据,其中:
所述访问者终端包括:
访问加密模块21,用于根据被访问者信息生成访问申请原文,并采用第一加密秘钥和第一预设加密规则对所述访问申请原文和访问者公钥进行加密,得到加密访问信息;
访问传输模块22,用于根据服务器公钥对所述第一加密秘钥进行加密,形成第一数字信封,并将所述加密访问信息和所述第一数字信封一同传输给服务器;
所述服务器包括:
访问解密模块11,用于采用服务器私钥解密所述第一数字信封,以取出所述第一加密秘钥,并根据所述第一加密秘钥和所述第一预设加密规则对应的解密规则对所述加密访问信息进行解密,并向所述被访问者信息对应的被访问者终端推送授权提示信息;
数据加密模块12,用于在接收到所述被访问者终端反馈的授权访问指令时,将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二预设加密规则进行加密,得到加密数据;
数据传输模块13,用于根据所述访问者公钥对所述第二加密秘钥进行加密,形成第二数字信封,并将所述加密数据和所述第二数字信封一同传输给所述访问者终端;
所述访问者终端还包括:
数据解密模块23,用于采用访问者私钥解密所述第二数字信封,以取出所述第二加密秘钥,并根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密,得到解密后的被访问者数据。
进一步地,在本发明一些可选实施例当中,所述服务器还包括:
访问鉴别模块,用于采用预设鉴别规则对服务器解密数据进行鉴别,鉴别成功后再向所述被访问者信息对应的被访问者终端推送授权提示信息。
进一步地,在本发明一些可选实施例当中,所述访问加密模块21还用于将所述访问申请原文采用第一哈希算法进行哈希运算,得到所述访问申请原文对应的数字摘要,并通过访问者私钥对所述访问申请原文对应的数字摘要进行签名,生成所述访问申请原文对应的数字签名;采用所述第一加密秘钥和第一对称加密算法对所述访问申请原文对应的数字签名、所述访问申请原文和所述访问者公钥进行加密,得到加密访问信息。
进一步地,在本发明一些可选实施例当中,所述解密数据包括解密后的访问申请原文对应的数字签名、解密后的访问申请原文和解密后的访问者公钥,所述访问鉴别模块还用于采用所述解密后的访问者公钥对所述解密后的访问申请原文对应的数字签名进行解密,得到第一数字摘要,并将所述解密后的访问申请原文采用所述第一哈希算法进行哈希运算得到第二数字摘要;判断所述第一数字摘要和所述第二数字摘要是否相同,若相同则判断服务器解密数据鉴别成功。
进一步地,在本发明一些可选实施例当中,所述数据加密模块12还用于将所述被访问者信息对应的被访问者数据通过第二加密秘钥和第二对称加密算法进行加密,得到预加密数据;随机生成访问验证码并将所述访问验证码发送给所述被访问者终端,并通过所述访问验证码对所述预加密数据进行加密,得到所述加密数据。
进一步地,在本发明一些可选实施例当中,所述数据解密模块23还用于先从所述被访问者终端获取所述访问验证码,并采用所述访问验证码对接收的加密数据进行解密,得到中间解密数据;根据所述第二加密秘钥和所述第二对称加密算法对应的解密规则对所述中间解密数据进行解密,得到解密后的被访问者数据。
进一步地,在本发明一些可选实施例当中,所述访问者终端还包括:
数据鉴别模块,用于采用预设鉴别规则对解密后的被访问者数据进行鉴别。
进一步地,在本发明一些可选实施例当中,所述数据加密模块还用于将所述被访问者数据采用第二哈希算法进行哈希运算,得到所述被访问者数据对应的数字摘要,并通过服务器私钥对所述被访问者数据对应的数字摘要进行签名,生成所述被访问者数据对应的数字签名;采用所述第二加密秘钥和第二对称加密算法对所述被访问者数据对应的数字签名、所述被访问者数据和服务器公钥进行加密,得到加密数据。
进一步地,在本发明一些可选实施例当中,根据所述第二加密秘钥和所述第二预设加密规则对应的解密规则对接收的加密数据进行解密后,还得到解密后的被访问者数据对应的数字签名和解密后的服务器公钥,所述数据鉴别模块还用于采用所述解密后的服务器公钥对所述解密后的被访问者数据对应的数字签名进行解密,得到第三数字摘要,并将所述解密后的被访问者数据采用所述第二哈希算法进行哈希运算得到第四数字摘要;判断所述第三数字摘要和所述第四数字摘要是否相同,若相同则判断访问者终端解密数据鉴别成功。
上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
本文发布于:2023-04-14 16:49:49,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/4/86589.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |