CN115865445A - 基于did凭证数据的安全流转方法、did凭证数据系统及存储介质 - Google Patents
基于did凭证数据的安全流转方法、did凭证数据系统及存储介质 Download PDFInfo
- Publication number
- CN115865445A CN115865445A CN202211474468.5A CN202211474468A CN115865445A CN 115865445 A CN115865445 A CN 115865445A CN 202211474468 A CN202211474468 A CN 202211474468A CN 115865445 A CN115865445 A CN 115865445A
- Authority
- CN
- China
- Prior art keywords
- user
- credential
- node
- service
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于DID凭证数据的安全流转方法、DID凭证数据系统及存储介质。该方法包括:由用户节点根据使用方节点发送的用户凭证获取请求,使用与所述用户凭证获取请求对应的用户私钥和服务节点的服务公钥生成用户凭证请求数据;由所述服务节点使用与所述服务公钥对应的服务私钥和所述用户私钥对应的用户公钥从所述用户凭证请求数据中获取使用方信息以及所请求的用户凭证的凭证信息;由所述服务节点根据所述凭证请求数据使用所述服务私钥和使用方公钥生成凭证响应数据,其中,所述凭证响应数据中包含有所述用户凭证在所述服务节点中的存储地址。本申请实施例确保了接收到的信息的可信度,大大降低了用户隐私数据的泄露风险。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种基于DID凭证数据的安全流转方法、DID凭证数据系统及存储介质。
背景技术
随着互联网技术的发展,人们已经可以越来越多地通过互联网来进行生活和工作,并且因此也出现了各种基于互联网而建设的网站以向用户提供各种各样的服务。由于互联网的身份隐匿性,使得网站往往无法知晓访问或登录到其网站的用户的真实身份,并且因此也无法对于用户使用服务进行相应的规范和管理。为此,现有技术中已经提出了用户需要在访问或登录的网站中预先登记其身份信息,以便于网站可以在用户请求使用网站的服务时可以基于用户提交的身份信息来为用户提供服务。在这一过程中,用户需要将自己的身份信息的原始数据提供给网站并进而保存在网站的服务器中,但是这样的身份信息通常都是用户的隐私数据,因此,用户在使用不同网站提供的服务的同时,也不得不将自己的隐私数据存储在各个网站上,这大大增加了用户隐私暴露的风险。对此,需要一种能够保证用户的隐私数据的安全性的方案
发明内容
本申请实施例提供一种基于DID凭证数据的安全流转方法、DID凭证数据系统及存储介质,以解决现有技术中用户在使用互联网服务时隐私数据缺乏啊安全性的缺陷。
为达到上述目的,本申请实施例提供了一种基于DID凭证数据的安全流转方法,包括:
由用户节点根据使用方节点发送的用户凭证获取请求,使用与所述用户凭证获取请求对应的用户私钥和服务节点的服务公钥生成用户凭证请求数据,其中,所述用户凭证获取请求用于获取由发证方节点发布并存储在服务节点上的用户凭证,所述用户凭证是由所述发证方节点根据用户从用户节点发出的认证信息生成的;
由所述服务节点使用与所述服务公钥对应的服务私钥和所述用户私钥对应的用户公钥从所述用户凭证请求数据中获取使用方信息以及所请求的凭证的凭证信息;
由所述服务节点根据所述凭证信息使用所述服务私钥和所述使用方的公钥生成凭证响应数据,其中,所述凭证响应数据中包含有所述凭证在所述服务节点中的存储地址。
本申请实施例还提供了一种DID凭证数据系统,包括:用户节点、使用方节点、服务节点和发证方节点,其中,所述用户节点用于:根据所述使用方节点发送的用户凭证获取请求,使用与所述用户凭证获取请求对应的用户私钥和服务节点的服务公钥生成用户凭证请求数据,其中,所述用户凭证获取请求用于获取由发证方节点发布并存储在服务节点上的用户凭证,所述用户凭证是由所述发证方节点根据用户从用户节点发出的认证信息生成的;
所述服务节点用于:使用与所述服务公钥对应的服务私钥和所述用户私钥对应的用户公钥从所述用户凭证请求数据中获取使用方信息以及所请求的用户凭证的凭证信息;根据所述凭证信息使用所述服务私钥和所述使用方的公钥生成凭证响应数据,其中,所述凭证响应数据中包含有所述用户凭证在所述服务节点中的存储地址。
本申请实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本申请实施例提供的安全流转法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本申请实施例提供的安全流转方法。
本申请实施例提供的基于DID凭证数据的安全流转方法、DID凭证数据系统及存储介质,通过由用户节点根据使用方节点发送的用户凭证获取请求来使用用户私钥和服务公钥来生成该用户凭证请求数据并发送给服务节点,而服务节点则使用服务私钥和用户公钥来从用户节点发送的用户凭证请求数据中获取使用方信息和所请求的用户凭证的凭证信息,并根据凭证信息来在服务节点查找用户凭证在服务节点上的存储地址,并将该存储地址包含在使用服务私钥和使用方公钥生成的凭证响应数据中,以发送给使用方节点,从而在DID系统中用户节点向服务节点发送用户凭证请求数据以及服务节点将用户所请求的用户凭证的存储地址发送给使用方节点的过程中用户信息和凭证信息都被包含在使用对方的秘钥进行加密的数据中,在整个过程中不会发生用户信息的直接传输,并且接收一方还可以使用发送一方的公钥对接收到的数据内容进行核验,以确保接收到的信息的可信度,因此大大降低了用户隐私数据的泄露风险。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是示出了根据本申请实施例的DID凭证数据的安全流转方案的应用场景示意图;
图2为本申请提供的安全流转方法的实施例的流程图;
图3为本申请提供的DID凭证数据系统的结构示意图;
图4为本申请提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例提供的方案可应用于任何具有加密和解密功能的数据系统。
随着互联网技术的发展,人们已经可以越来越多地通过互联网来进行生活和工作,并且因此也出现了各种基于互联网而建设的网站以向用户提供各种各样的服务。由于互联网的身份隐匿性,使得网站往往无法知晓访问或登录到其网站的用户的真实身份,并且因此也无法对于用户使用服务进行相应的规范和管理。为此,现有技术中已经提出了用户需要在访问或登录的网站中预先登记其身份信息,以便于网站可以在用户请求使用网站的服务时可以基于用户提交的身份信息来为用户提供服务。在这一过程中,用户需要将自己的身份信息的原始数据提供给网站并进而保存在网站的服务器中,但是这样的身份信息通常都是用户的隐私数据,因此,用户在使用不同网站提供的服务的同时,也不得不将自己的隐私数据存储在各个网站上,这大大增加了用户隐私暴露的风险。
对此,在现有技术中已经提出了DID(去中心化身份标识)系统,该系统主要是针对上述现有的由各个网站管理用户的身份信息的中心化身份系统而提出的。由于大部分不同的网站或平台的身份注册模块并不互通,因此当前大部分不同运营方的网站或平台由于相互之间不具有访问或甚至管理对方网站的身份数据的权限,而无法对于使用对方网站发行的身份标识的用户的身份进行验证。
在DID系统中,用户可以向有能力对用户真实身份进行认证的发证方请求身份认证,并且发证方可以基于用户的认证请求来对用户所请求的身份信息进行核验并且在核验通过后可以向用户签发凭证数据,该凭证数据可以作为权威机构向用户签发的证明用户的特定身份信息的证明数据。例如,图1是示出了根据本申请实施例的DID凭证数据的应用场景的示意图。在图1中所示的场景中,用户可以在DID系统中通过使用用户节点来根据使用方的凭证获取请求或者根据自己的凭证需求来向发证方节点发送凭证签发请求,发证方节点可以是例如法律或公认可以对用户的一种或多种身份信息进行认证的部门或单位,并且因此发证方可以响应于接收到的用户通过用户节点发送过得认证请求,即请求签发认证凭证,来对用户的该请求中包含的指定的身份信息进行认证。例如,用户需要登录的网站需要了解用户的年龄,以确认用户的年龄是否达到了使用网站提供的服务的年龄值。
为此,在传统的互联网系统中,用户需要通过先在网站的个人信息界面中登记自己的例如出生日期信息,并且网站为了确保用户登记的出生日期信息的准确性,往往还需要用户上传例如身份证件等具有法律效力的证件,以供网站核对,这样用户为了让该网站了解其年龄信息,就需要将自己的生日信息以及包含有生日信息的完整证件信息发送给网站。但是通常情况下,这样的具有法律效力证件信息通常会包含很多种类的身份信息,例如,用户的住址、照片等等,而用户将自己的这样完整的证件信息上传到网站却仅为了证明其年龄这一种身份信息。
对此,在DID系统中,用户可以请求对自己的年龄具有法定或公认的认证效力的发证方来签发关于其当前年龄的凭证数据,发证方可以在根据用户的认证请求中包含的用户标识来检索其数据库中存储的用户的身份信息或仅检索用户的出生日期信息,并结合收到用户请求的日期或用户在请求中指定的日期来确定用户在该日期的年龄,并由此可以向用户签发关于其在指定日期的年龄的凭证数据,而用户在收到该凭证数据后可以在访问作为该凭证数据的使用方的网站1时,将该凭证数据出示给网站1,从而网站1可以根据该凭证数据确认用户在当前日期的年龄,并当用户的该年龄符合使用相关服务的规定时,可以向用户提供服务。
因此,在DID系统中,用户在向使用方请求需要身份验证的各种服务时,虽然网站需要根据用户的身份信息是否符合规定来确定是否向用户提供服务,但是用户只需要针对所要访问的网站或者所要使用的网站服务要求的身份信息类型而请求将发政方签发相应的凭证数据,并将该凭证数据作为身份证明提供给对应的网站,网站就可以根据该凭证数据来确定是否可以向用户提供相应的服务。在该过程中,用户无需向网站提供任何具体的身份信息,而是替代地,提供网站所要求的关于身份的证明,即凭证数据,在该凭证数据中可以由发证方写入用户的相应的身份信息验证结果或者是根据用户的相应身份信息而计算或判断出的结论数据。例如在上述的网站需要验证用户的年龄的示例中,网站实际上并非是需要当前的年龄,而是需要确认访问网站的用户是否已经年满18岁。因此,在用户请求发证方签发的针对该网站的凭证数据中,发证方就无须在凭证数据中写入用户在指定日期的年龄,而是可以仅在凭证数据中写入用户在指定日期的年龄值以及该发证方的信息即可。
但是在现有的DID系统中,虽然用户在请求例如访问网站等需要基于用户的身份信息的服务时通过提供发证方提供的凭证数据来避免了现有技术中用户需要在各个网站都提供其原始身份信息导致隐私泄露的风险,但是在发证方响应于用户的请求签发了凭证数据之后,在申请凭证以及出示凭证的过程中仍然需要将自己的隐私数据在系统中进行传输,从而仍然存在隐私数据泄露的风险。
对此,如图1中所示,在根据本申请实施例的DID系统场景中,用户可以通过使用安装有根据本申请实施例的DID系统的客户端的终端来从用户节点登录到DID系统中,并且使用方和发证方也可以类似地通过这样的终端来从各自的节点登录到DID系统中。在该情况下,如果用户在访问使用方所运营的网站时需要浏览例如对用户的年龄或住址有特别要求的网页或请求相应的服务,使用方通过使用节点向用户节点发送请求用户提供对于其身份信息进行认证的用户凭证,而用户节点在接收到该用户凭证获取请求时,由于在本申请实施例中,用户凭证并不存储在用户节点处,因此,用户无法根据使用方发送的该请求来直接向使用节点发送使用方所请求的用户凭证。
在本申请实施例中,用户可以通过用户节点首先请求存储有用户凭证的服务节点来向使用方提供该凭证数据。例如,用户节点可以使用预定的算法对使用方的该用户凭证获取请求或其中所要求的凭证内容进行计算,以获得第一计算结果。例如,在本申请实施例中,用户节点可以使用哈希算法来计算使用方发送的该用户凭证获取请求或其中请求的凭证内容的哈希值作为第一计算结果,并进而使用用户在该用户节点处存储的或者用户在使用自己的终端登录到用户的节点时上传到用户节点的用户私钥对该第一计算结果进行加密处理,以获得加密数据。在本申请实施例中,用户可以在DID系统中注册时就将使用终端生成自己的用户私钥和用户公钥并将用户公钥上传到用户节点,并且用户节点可以将该用户的公钥与用户在DID系统中的用户标识信息等关联地发送给DID系统中的其他节点。当然在本申请实施例中,用户也可以在DID系统中注册时使用终端生成用户私钥和用户公钥之后,将其保存在自己的终端中,并且在例如如上根据使用方发送的用户凭证获取请求来生成加密数据时再将用户私钥从终端上传到用户节点来对计算出的例如凭证内容的哈希值进行加密处理。
在用户节点使用用户的用户私钥对使用方请求的凭证内容的第一计算结果生成了加密数据之后,用户节点可以进一步使用服务节点的服务公钥来对该加密数据和使用方发送的该用户凭证获取请求执行加密处理,以生成发送给服务器的用户凭证请求数据。例如,用户节点可以响应于使用方通过使用方节点发送的用户凭证获取请求来请求发证方通过发证方节点对用户所要求的认证内容生成用户凭证,并且该用户凭证可以由发证方节点发送给服务节点并存储在服务节点中。此外,该用户凭证也可以是用户节点在该使用方发送的请求之前就响应于其他使用方对于相同的认证内容发送的用户凭证获取请求而请求发证方通过发证方节点生成并存储在服务节点中的预先存在的用户凭证。服务公钥可以是在DID系统初始化时由服务节点向DID系统中的其他节点广播的服务公钥,或者也可以是在用户节点对基于第一计算结果使用其用户私钥生成的签名数据进行加密处理时或之前向服务节点请求而获得的服务公钥。
如图1中所示,用户节点在生成了用户凭证请求数据之后,可以将该节点的节点信息与该用户凭证请求数据关联在一起发送给服务节点,或者也可以基于该节点的节点信息与该用户凭证请求数据生成例如报文形式,以发送给服务节点。而服务节点在接收到用户节点发送的用户凭证请求数据之后,可以首先使用其存储的服务私钥来对该用户凭证请求数据进行解密,以获取该请求中包含的用户凭证获取请求以及用户信息。在本申请实施例中,该用户信息可以是例如用户在DID系统中的标识信息,从而服务节点可以根据该用户信息来从服务节点中存储的该用户的用户公钥来对用户凭证请求数据中的凭证内容使用与用户节点使用的计算方式相同的方式来对从用户节点发送的用户凭证请求中的用户凭证获取请求进行计算处理。例如在用户节点使用哈希算法来计算第一计算结果,则服务节点可以根据例如用户凭证请求数据中包含的该算法信息,使用与用户节点使用的计算方式相同的方式来作为对从用户节点发送的用户凭证请求中的用户凭证获取请求进行计算,并且将计算获得的计算结果与从用户节点发送的用户凭证请求数据中包含的使用用户自己的私钥进行加密的加密数据进行比较,当这两个数据一致时,服务节点可以确定接收到的该用户凭证请求数据中的用户凭证信息是用户想要调用的用户凭证的信息,并且因此,服务节点可以根据该凭证信息来查找服务节点中存储的该用户的对应的用户凭证,并且在查找到了存储的用户凭证的情况下,服务节点可以将该用户凭证在服务节点中的存储地址来发送给使用方。例如,服务节点可以根据凭证信息,例如用户凭证的标识或者用户标识以及用户凭证的类型等信息来将其中存储的用户凭证的凭证标识与用户凭证请求信息中的凭证标识逐一进行比对,并且当比对结果为匹配时,可以将匹配的该存储的用户凭证的存储地址作为查找结果。在获得了查找结果后,服务节点可以首先使用预定的算法,例如哈希算法来对查找到的用户凭证的存储地址进行计算,并且对计算结果使用服务节点的私钥进行加密处理,之后,可以根据用户节点发送的用户请求中包含的使用方信息来使用使用方的公钥对该用户凭证的存储地址和使用服务节点的私钥进行加密处理获得的加密数据执行加密处理,以获得凭证响应数据,并且根据使用方信息来将凭证响应数据发送给对应的使用方节点。此外,在本申请实施例中,在服务节点将使用方向用户方请求的用户凭证在服务节点上的存储地址包含在响应数据中发送给使用方的使用方节点的同时或之后,服务节点还可以将与向使用方节点发送该响应数据的发送信息作为针对用户方的响应数据发送给与用户方对应的用户节点,从而用户方可以根据该响应数据而了解到服务节点已经将使用方所要求的用户凭证发送给使用方,从而用户方可以通过继续请求其在使用方运营的网站上的服务。
此外,在本申请实施例中,服务节点也可以将查找到的用户凭证的存储地址作为针对用户方的响应数据而发送给用户方的用户节点。例如,服务节点可以先使用预定的算法,例如哈希算法来对查找到的用户凭证的存储地址进行计算,并且对计算结果使用服务节点的私钥进行加密处理,之后,可以根据用户节点发送的用户请求中包含的使用方信息来使用使用方的公钥对该用户凭证的存储地址和使用服务节点的私钥进行加密处理获得的加密数据执行加密处理,然后可以使用用户方的用户公钥进行对加密后的数据进行加密,以获得凭证响应数据,或者也可以在对计算结果使用服务节点的私钥进行加密处理之后使用用户节点的公钥对加密数据进行加密处理,来获得凭证响应数据。之后,可以将该凭证响应数据发送给用户节点,从而用户通过用户节点接收到该凭证响应数据之后,可以使用用户私钥来对该凭证响应数据进行解密,并且在解密之后可以根据响应数据中包含的用户凭证信息来使用对应的使用方公钥对该解密后的凭证响应数据进行加密并且根据使用方信息来将凭证响应数据发送给对应的使用方节点。
使用方节点接收到该凭证响应数据后,可以先根据使用方信息来调用使用方私钥对该凭证响应数据进行解密,并且再解密之后可以对凭证响应数据中包含的用户凭证地址使用对应的算法来执行计算。在本申请实施例中,该对应的算法可以是预先在DID系统初始化时作为系统的初始化参数而发送给各个节点,从而各个节点可以使用同一个计算算法,例如哈希算法,来执行计算处理。或者在本申请实施例中,各个节点也可以使用自己的算法来对自己要发送的原始数据进行计算,并且将本节点执行计算所使用的算法信息,例如算法类型等信息作为向目标节点发送的数据的一部分,从而目标节点在接收到发送的数据之后,可以通过使用自己的私钥进行解密来从接收的数据中获取该算法信息,并且使用对应的算法来对解密后的数据中的例如凭证请求或用户凭证地址等原始数据执行相应的计算。
使用方在使用预定算法对用户凭证地址进行了计算后,可以根据凭证响应数据中包含的发送方信息来对计算结果进行加密计算处理。例如,在服务节点将用户凭证响应数据发送给使用方节点的情况下,使用方节点可以根据凭证响应数据中包含的服务节点信息来使用服务公钥对计算结果进行加密处理,并且将加密处理后的结果与凭证响应数据中包含的服务方节点使用服务方私钥对其计算结果进行加密之后的加密数据进行比对处理,以确认使用方通过使用方节点进行的加密处理的结果是否与凭证响应数据中包含的加密数据一致。如果一致,则使用方可以了解到其通过使用方节点接收到的凭证响应数据确实是服务节点发送的,并且也是可信的。在使用方确认其接收到的凭证响应数据可信之后,使用方可以进一步根据该数据中包含的服务节点信息来使用凭证响应数据中包含的该用户凭证地址从服务节点获取该用户凭证,并根据该用户凭证可以确认用户是否能够使用对应的服务或访问对应的数据。
与上述方式类似地,在用户节点将包含有服务节点处生成的用户凭证存储地址的凭证响应数据发送给对应的使用方节点的情况下,使用方节点可以使用其自己的使用方私钥来对接收到的凭证响应数据进行解密,以获得服务节点使用其自己的私钥进行加密处理的结果以及用户凭证存储地址,从而使用方节点可以使用预定的算法或根据在该凭证响应数据中包含的算法信息而使用对应的算法来对用户凭证存储地址进行计算,并使用服务节点的公钥对该计算结果进行加密处理,从而可以将该加密处理的结果与凭证响应数据中包含的服务节点的加密处理结果进行比较,以确认该凭证响应数据中包含的用户凭证地址是可信的,并且从而使用方可以通过使用方节点使用该用户凭证地址从服务节点来获取用户凭证并根据该用户凭证可以确认用户是否能够使用对应的服务或访问对应的数据。
因此,本申请实施例的基于DID凭证数据的安全流转方案,通过由用户节点根据使用方节点发送的用户凭证获取请求来使用用户私钥和服务公钥来生成该用户凭证请求数据并发送给服务节点,而服务节点则使用服务私钥和用户公钥来从用户节点发送的用户凭证请求数据中获取使用方信息和所请求的用户凭证的凭证信息,并根据凭证信息来在服务节点查找用户凭证在服务节点上的存储地址,并将该存储地址包含在使用服务私钥和使用方公钥生成的凭证响应数据中,以发送给使用方节点,从而在DID系统中用户节点向服务节点发送用户凭证请求数据以及服务节点将用户所请求的用户凭证的存储地址发送给使用方节点的过程中用户信息和凭证信息都被包含在使用对方的秘钥进行加密的数据中,在整个过程中不会发生用户信息的直接传输,并且接收一方还可以使用发送一方的公钥对接收到的数据内容进行核验,以确保接收到的信息的可信度,因此大大降低了用户隐私数据的泄露风险。
上述实施例是对本申请实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本申请实施例具体技术方案进行详细描述。
实施例二
图2为本申请提供的基于DID凭证数据的安全流转方法的实施例的流程图,该方法的执行主体可以为具有数据加密和解密能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该安全流转方法包括如下步骤:
S201,由用户节点根据使用方节点发送的用户凭证获取请求,使用与用户凭证获取请求对应的用户私钥和服务节点的服务公钥生成用户凭证请求数据。
在步骤S201中,用户节点可以根据使用方节点发送的用户凭证获取请求来生成用户凭证请求数据。例如,用户在访问如图1中所示的使用方所运营的网站时,会由于用户想要使用的服务或访问的数据需要验证用户的身份而受到使用方的该用户凭证获取请求,要求用户提供对应的用户凭证,以便于网站,即使用方来进行验证。在该步骤S201中所请求的用户凭证可以是已经由发证方节点发布并存储在服务节点上的针对使用方所要求的认证内容的用户凭证,或者也可以是用户节点在本次使用使用方提供的服务时根据使用方的要求而请求发证方节点发布并存储在服务节点上的。
例如,在步骤S201中,用户节点可以根据用户的指令使用预定的算法对使用方的该用户凭证获取请求或其中所要求的凭证内容进行计算,以获得第一请求信息。例如,在本申请实施例中,用户节点可以使用哈希算法来计算使用方发送的该用户凭证获取请求或其中请求的凭证内容的哈希值作为第一请求信息,并进而使用用户在该用户节点处存储的或者用户在使用自己的终端登录到用户的节点时上传到用户节点的用户私钥对该第一请求信息进行加密处理,以获得第一加密数据。
在本申请实施例中,用户节点使用的预定算法可以是预先在DID系统初始化时作为系统的初始化参数而发送给各个节点的算法或算法信息,从而各个节点可以在对自己向外发送的信息或数据之前使用同一个计算算法,例如哈希算法,来执行计算处理。或者在本申请实施例中,各个节点也可以使用自己的算法来对自己要发送的原始数据进行计算,并且将本节点执行计算所使用的算法信息,例如算法类型等信息作为向目标节点发送的数据的一部分,从而例如服务节点的目标节点在接收到用户节点发送的数据之后,可以通过使用自己的私钥进行解密来从接收的数据中获取该算法信息,并且使用对应的算法来对解密后的数据中的例如凭证请求或用户凭证地址等原始数据执行相应的计算。
此外,在本申请实施例中,用户节点在步骤S201中使用的用户私钥对应的用户公钥可以在DID系统中注册时由用户使用自己的终端与用户私钥成对地生成并上传到用户节点,并且用户节点可以将该用户的公钥与用户在DID系统中的用户标识信息等关联地发送给DID系统中的其他节点。
当然在本申请实施例中,用户也可以在DID系统中注册时使用终端生成用户私钥和用户公钥之后,将其保存在自己的终端中,并且在例如如上根据使用方发送的用户凭证获取请求来生成加密数据时再将用户私钥从终端上传到用户节点来对计算出的例如凭证内容的哈希值进行加密处理。
在如上由用户节点使用用户的用户私钥对使用方请求的认证内容的第一请求信息生成了第一加密数据之后,用户节点可以进一步使用作为其目的节点的服务节点的服务公钥来对该第一加密数据和使用方发送的该用户凭证获取请求执行第二加密处理,以生成发送给服务器的用户凭证请求数据。在本申请实施例中,服务公钥可以是在DID系统初始化时由服务节点向DID系统中的其他节点广播的服务公钥,或者也可以是在用户节点对基于第一请求信息使用其用户私钥生成的签名数据进行加密处理时或之前向服务节点请求而获得的服务公钥。
此外,在步骤S201中,在用户节点生成用户凭证请求数据之前,还可以由用户节点响应于使用方通过使用方节点发送的用户凭证获取请求来请求该用户凭证的发证方通过发证方节点对使用方所要求的认证内容生成用户凭证,并且该用户凭证可以由发证方节点发送给服务节点并存储在服务节点中。此外,该用户凭证也可以是用户节点在该使用方发送的请求之前就响应于其他使用方对于相同的认证内容发送的用户凭证获取请求而请求发证方通过发证方节点生成并存储在服务节点中的预先存在的用户凭证。
在步骤S201中由用户节点使用服务公钥对第一加密数据进行第二加密处理而生成了用户凭证请求数据之后,用户节点可以将该用户凭证请求数据发送给服务节点。具体地,用户节点在生成了用户凭证请求数据之后,可以将该节点的节点信息与该用户凭证请求数据关联在一起发送给服务节点,或者也可以基于该节点的节点信息与该用户凭证请求数据生成例如报文形式,以发送给服务节点。
S202,由服务节点使用与服务公钥对应的服务私钥和用户私钥对应的用户公钥从用户凭证请求数据中获取使用方信息以及所请求的用户凭证的凭证信息。
在步骤S202中可以由接收到用户节点发送来的用户凭证请求数据的服务节点来使用其服务私钥和该用户的用户公钥来获取使用方信息和用户所请求的用户凭证的凭证信息。例如,服务节点在接收到用户节点发送的用户凭证请求数据之后,可以首先使用其存储的服务私钥来对该用户凭证请求数据进行解密,以获取该请求中包含的用户凭证获取请求以及用户信息。在本申请实施例中,该用户信息可以是例如用户在DID系统中的标识信息,从而服务节点可以根据该用户信息来从服务节点中存储的该用户的用户公钥来对用户凭证请求数据中的凭证内容使用与用户节点使用的计算方式相同的方式来对从用户节点发送的用户凭证请求数据中的用户凭证获取请求进行计算处理。
例如,在步骤S201中,用户节点可以使用哈希算法来计算第一请求信息,那么在步骤S202中,服务节点可以根据例如用户凭证请求数据中包含的该算法信息或者与用户凭证请求数据一同发送给服务节点的信息中包含的该算法信息,使用与用户节点在步骤S201中使用的计算方式相同的方式来作为对步骤S201中从用户节点发送的用户凭证请求数据中的用户凭证获取请求进行计算,并且将计算获得的计算结果与从用户节点发送的用户凭证请求数据中包含的使用用户自己的私钥进行加密的加密数据进行比较,当这两个数据一致时,服务节点可以确定接收到的该用户凭证请求数据中的用户凭证信息是用户想要调用的用户凭证的信息。因此,服务节点可以根据该凭证信息来查找服务节点中存储的该用户的对应的用户凭证,并且在查找到了存储的用户凭证的情况下,服务节点可以将该用户凭证在服务节点中的存储地址来发送给使用方节点或用户节点。
例如,在步骤S202中,服务节点可以根据所确定的凭证信息,例如用户凭证的标识或者用户标识以及用户凭证的类型等信息来将在服务节点中存储的用户凭证的凭证标识与用户凭证请求数据中的凭证标识逐一进行比对,并且当比对结果为匹配时,可以将匹配的该存储的用户凭证的存储地址作为查找结果。
S203,由服务节点根据凭证信息使用服务私钥和使用方公钥生成凭证响应数据。
在步骤S203中,服务节点可以对于在步骤S202中查找到的用户凭证的存储地址使用服务私钥和使用方公钥来生成凭证响应数据。例如,服务节点可以对于在步骤S202中查找到的存储地址,使用预定的算法,例如哈希算法来对查找到的用户凭证的存储地址进行计算,并且对计算结果使用服务节点的私钥进行第三加密处理,从而获得了第三加密数据。之后,服务节点可以根据在步骤S201中由用户节点发送的用户凭证获取请求中包含的使用方信息来使用使用方公钥对该用户凭证的存储地址和之前使用服务节点的服务私钥进行加密处理而获得的第三加密数据执行第四加密处理,以获得凭证响应数据,在该凭证响应数据中可以包含有服务节点在步骤S202中查找到的用户凭证的存储地址。
在生成了凭证响应数据之后,服务节点可以根据用户凭证获取请求中包含的使用方信息来将凭证响应数据发送给对应的使用方节点。服务节点将使用方向用户方请求的用户凭证在服务节点上的存储地址包含在响应数据中发送给使用方的使用方节点的同时或之后,服务节点还可以将向使用方节点发送该响应数据的发送信息作为针对用户方的响应数据发送给与用户方对应的用户节点,从而用户方可以根据该响应数据而了解到服务节点已经将使用方所要求的用户凭证发送给使用方,从而用户方可以通过继续请求其在使用方运营的网站上的服务。
此外,在步骤S203中,服务节点也可以将查找到的用户凭证的存储地址作为针对用户方的响应数据先发送给用户方的用户节点。例如,服务节点可以先使用预定的算法,例如哈希算法来对在步骤S202中查找到的用户凭证的存储地址进行计算,并且对计算结果使用服务节点的私钥进行加密处理,之后,可以根据用户节点发送的用户请求中包含的使用方信息来使用使用方的公钥对该用户凭证的存储地址和使用服务节点的私钥进行加密处理获得的加密数据执行加第三密处理,然后可以使用用户方的用户公钥进行对加密后的数据进行第四加密,以获得凭证响应数据,或者也可以在对计算结果使用服务节点的私钥进行加密处理之后使用用户节点的公钥对加密数据进行加密处理,来获得凭证响应数据。将该这样生成的凭证响应数据发送给用户节点,而用户节点在接收到该凭证响应数据之后,可以使用用户私钥来对该凭证响应数据进行解密,并且在解密之后可以根据响应数据中包含的用户凭证信息来使用对应的使用方公钥对该解密后的凭证响应数据进行加密并且根据使用方信息来将凭证响应数据发送给对应的使用方节点。
此外,在步骤S202中,如果服务节点计算获得的计算结果与用户节点在步骤S201中发送的用户凭证请求数据中包含的使用用户自己的私钥进行加密的加密数据的比较结果为不一致时,服务节点可以无法确定接收到的该用户凭证请求数据中的用户凭证信息是否用户想要调用的用户凭证的信息,换言之,服务节点无法确认接收到的该用户凭证请求数据是否是由用户发出的,即其不具有可信度。因此,服务节点可以将用户凭证获取失败的消息作为凭证响应数据发送给用户节点。
在本申请实施例中,使用方节点在从服务节点或用户节点接收到该凭证响应数据后,可以先根据使用方信息来调用使用方私钥对该凭证响应数据进行解密,并且在解密之后可以对凭证响应数据中包含的用户凭证地址使用对应的算法来执行计算。并根据凭证响应数据中包含的发送方信息来对该计算结果进行加密计算处理。例如,在步骤S203中,由服务节点将用户凭证响应数据发送给使用方节点的情况下,使用方节点可以根据凭证响应数据中包含的服务节点信息来使用服务公钥对计算结果进行加密处理,并且将加密处理后的结果与凭证响应数据中包含的服务方节点使用服务方私钥对其计算结果进行加密之后的加密数据进行比对处理,以确认使用方通过使用方节点进行的加密处理的结果是否与凭证响应数据中包含的加密数据一致。如果一致,则使用方可以了解到其通过使用方节点接收到的凭证响应数据确实是服务节点发送的,并且也是可信的。在使用方确认其接收到的凭证响应数据可信之后,使用方可以进一步根据该数据中包含的服务节点信息来使用凭证响应数据中包含的该用户凭证地址从服务节点获取该用户凭证,并根据该用户凭证可以确认用户是否能够使用对应的服务或访问对应的数据。
此外,在用户节点将包含有服务节点处生成的用户凭证存储地址的凭证响应数据发送给对应的使用方节点的情况下,使用方节点可以使用其自己的使用方私钥来对接收到的凭证响应数据进行解密,以获得服务节点使用其自己的私钥进行加密处理的结果以及用户凭证存储地址,从而使用方节点可以使用预定的算法或根据在该凭证响应数据中包含的算法信息而使用对应的算法来对用户凭证存储地址进行计算,并使用服务节点的公钥对该计算结果进行加密处理,从而可以将该加密处理的结果与凭证响应数据中包含的服务节点的加密处理结果进行比较,以确认该凭证响应数据中包含的用户凭证地址是可信的,并且从而使用方可以通过使用方节点使用该用户凭证地址从服务节点来获取用户凭证并根据该用户凭证可以确认用户是否能够使用对应的服务或访问对应的数据。
本申请实施例提供的基于DID凭证数据的安全流转方法,通过由用户节点根据使用方节点发送的用户凭证获取请求来使用用户私钥和服务公钥来生成该用户凭证请求数据并发送给服务节点,而服务节点则使用服务私钥和用户公钥来从用户节点发送的用户凭证请求数据中获取使用方信息和所请求的用户凭证的凭证信息,并根据凭证信息来在服务节点查找用户凭证在服务节点上的存储地址,并将该存储地址包含在使用服务私钥和使用方公钥生成的凭证响应数据中,以发送给使用方节点,从而在DID系统中用户节点向服务节点发送用户凭证请求数据以及服务节点将用户所请求的用户凭证的存储地址发送给使用方节点的过程中用户信息和凭证信息都被包含在使用对方的秘钥进行加密的数据中,在整个过程中不会发生用户信息的直接传输,并且接收一方还可以使用发送一方的公钥对接收到的数据内容进行核验,以确保接收到的信息的可信度,因此大大降低了用户隐私数据的泄露风险。
实施例三
图3为本申请提供的DID凭证数据系统的结构示意图,该DID凭证数据系统可以用于实施例如参考图2描述的本申请实施例提供的安全流转方法。该DID凭证数据系统可以包括:用户节点31、使用方节点32、服务节点33和发证方节点34。
用户节点31可以用于根据使用方节点发送的用户凭证获取请求,使用与用户凭证获取请求对应的用户私钥和服务节点33的服务公钥生成用户凭证请求数据。
用户在访问如图1中所示的使用方所运营的网站时,会由于用户想要使用的服务或访问的数据需要验证用户的身份而受到使用方的该用户凭证获取请求,要求用户提供对应的用户凭证,以便于网站,即使用方来进行验证。使用方所请求的用户凭证可以是已经由发证方节点34发布并存储在服务节点33上的针对使用方所要求的认证内容的用户凭证,或者也可以是用户节点31在本次使用使用方提供的服务时根据使用方的要求而请求发证方节点发布并存储在服务节点33上的。
例如,用户节点31可以根据用户的指令使用预定的算法对使用方的该用户凭证获取请求或其中所要求的凭证内容进行计算,以获得第一请求信息。例如,在本申请实施例中,用户节点31可以使用哈希算法来计算使用方发送的该用户凭证获取请求或其中请求的凭证内容的哈希值作为第一请求信息,并进而使用用户在该用户节点31处存储的或者用户在使用自己的终端登录到用户的节点时上传到用户节点31的用户私钥对该第一请求信息进行加密处理,以获得第一加密数据。
在本申请实施例中,用户节点31使用的预定算法可以是预先在DID凭证数据系统初始化时作为系统的初始化参数而发送给各个节点的算法或算法信息,从而各个节点可以在对自己向外发送的信息或数据之前使用同一个计算算法,例如哈希算法,来执行计算处理。或者在本申请实施例中,各个节点也可以使用自己的算法来对自己要发送的原始数据进行计算,并且将本节点执行计算所使用的算法信息,例如算法类型等信息作为向目标节点发送的数据的一部分,从而例如服务节点33的目标节点在接收到用户节点31发送的数据之后,可以通过使用自己的私钥进行解密来从接收的数据中获取该算法信息,并且使用对应的算法来对解密后的数据中的例如凭证请求或用户凭证地址等原始数据执行相应的计算。
此外,在本申请实施例中,用户节点31使用的用户私钥对应的用户公钥可以在DID凭证数据系统中注册时由用户使用自己的终端与用户私钥成对地生成并上传到用户节点31,并且用户节点31可以将该用户的公钥与用户在DID凭证数据系统中的用户标识信息等关联地发送给DID凭证数据系统中的其他节点。
当然在本申请实施例中,用户也可以在DID凭证数据系统中注册时使用终端生成用户私钥和用户公钥之后,将其保存在自己的终端中,并且在例如如上根据使用方发送的用户凭证获取请求来生成加密数据时再将用户私钥从终端上传到用户节点31来对计算出的例如凭证内容的哈希值进行加密处理。
在如上由用户节点31使用用户的用户私钥对使用方请求的认证内容的第一请求信息生成了第一加密数据之后,用户节点31可以进一步使用作为其目的节点的服务节点33的服务公钥来对该第一加密数据和使用方发送的该用户凭证获取请求执行第二加密处理,以生成发送给服务器的用户凭证请求数据。在本申请实施例中,服务公钥可以是在DID系统初始化时由服务节点33向DID凭证数据系统中的其他节点广播的服务公钥,或者也可以是在用户节点31对基于第一请求信息使用其用户私钥生成的签名数据进行加密处理时或之前向服务节点33请求而获得的服务公钥。
此外,在用户节点31生成用户凭证请求数据之前,还可以由用户节点31响应于使用方通过使用方节点32发送的用户凭证获取请求来请求该用户凭证的发证方通过发证方节点对使用方所要求的认证内容生成用户凭证,并且该用户凭证可以由发证方节点发送给服务节点33并存储在服务节点33中。此外,该用户凭证也可以是用户节点31在该使用方发送的请求之前就响应于其他使用方对于相同的认证内容发送的用户凭证获取请求而请求发证方通过发证方节点生成并存储在服务节点33中的预先存在的用户凭证。
由用户节点31使用服务公钥对第一加密数据进行第二加密处理而生成了用户凭证请求数据之后,用户节点31可以将该用户凭证请求数据发送给服务节点33。具体地,用户节点31在生成了用户凭证请求数据之后,可以将该节点的节点信息与该用户凭证请求数据关联在一起发送给服务节点33,或者也可以基于该节点的节点信息与该用户凭证请求数据生成例如报文形式,以发送给服务节点33。
服务节点33可以用于使用与服务公钥对应的服务私钥和用户私钥对应的用户公钥从用户凭证请求数据中获取使用方信息以及所请求的用户凭证的凭证信息,根据凭证信息使用服务私钥和使用方公钥生成凭证响应数据。
服务节点33可以在接收到用户节点31发送来的用户凭证请求数据之后,使用其服务私钥和该用户的用户公钥来获取使用方信息和用户所请求的用户凭证的凭证信息。例如,服务节点33在接收到用户节点31发送的用户凭证请求数据之后,可以首先使用其存储的服务私钥来对该用户凭证请求数据进行解密,以获取该请求中包含的用户凭证获取请求以及用户信息。在本申请实施例中,该用户信息可以是例如用户在DID凭证数据系统中的标识信息,从而服务节点33可以根据该用户信息来从服务节点33中存储的该用户的用户公钥来对用户凭证请求数据中的凭证内容使用与用户节点31使用的计算方式相同的方式来对从用户节点31发送的用户凭证请求数据中的用户凭证获取请求进行计算处理。
例如,用户节点31可以使用哈希算法来计算第一请求信息,那么服务节点33可以根据例如用户凭证请求数据中包含的该算法信息或者与用户凭证请求数据一同发送给服务节点33的信息中包含的该算法信息,使用与用户节点31使用的计算方式相同的方式来作为对用户节点31发送的用户凭证请求数据中的用户凭证获取请求进行计算,并且将计算获得的计算结果与用户节点31发送的用户凭证请求数据中包含的使用用户自己的私钥进行加密的加密数据进行比较。
当这两个数据一致时,服务节点33可以确定接收到的该用户凭证请求数据中的用户凭证信息是用户想要调用的用户凭证的信息。因此,服务节点33可以根据该凭证信息来查找服务节点33中存储的该用户的对应的用户凭证,并且在查找到了存储的用户凭证的情况下,服务节点33可以将该用户凭证在服务节点33中的存储地址来发送给使用方节点32或用户节点31。
例如,服务节点33可以根据所确定的凭证信息,例如用户凭证的标识或者用户标识以及用户凭证的类型等信息来将在服务节点33中存储的用户凭证的凭证标识与用户凭证请求数据中的凭证标识逐一进行比对,并且当比对结果为匹配时,可以将匹配的该存储的用户凭证的存储地址作为查找结果。
例如,服务节点33可以对于查找到的存储地址,使用预定的算法,例如哈希算法来对查找到的用户凭证的存储地址进行计算,并且对计算结果使用服务私钥进行第三加密处理,从而获得了第三加密数据。之后,服务节点33可以根据用户节点31发送的用户凭证获取请求中包含的使用方信息来使用使用方公钥对该用户凭证的存储地址和之前使用服务节点33的服务私钥进行加密处理而获得的第三加密数据执行第四加密处理,以获得凭证响应数据,在该凭证响应数据中可以包含有服务节点33查找到的用户凭证的存储地址。
在生成了凭证响应数据之后,服务节点33可以根据用户凭证获取请求中包含的使用方信息来将凭证响应数据发送给对应的使用方节点32。服务节点33将使用方向用户方请求的用户凭证在服务节点33上的存储地址包含在响应数据中发送给使用方的使用方节点32的同时或之后,服务节点33还可以将向使用方节点32发送该响应数据的发送信息作为针对用户方的响应数据发送给与用户方对应的用户节点31,从而用户方可以根据该响应数据而了解到服务节点33已经将使用方所要求的用户凭证发送给使用方,从而用户方可以通过继续请求其在使用方运营的网站上的服务。
此外,服务节点33也可以将查找到的用户凭证的存储地址作为针对用户方的响应数据先发送给用户方的用户节点31。例如,服务节点33可以先使用预定的算法,例如哈希算法来对查找到的用户凭证的存储地址进行计算,并且对计算结果使用服务节点33的私钥进行加密处理,之后,可以根据用户节点31发送的用户请求中包含的使用方信息来使用使用方的公钥对该用户凭证的存储地址和使用服务私钥进行加密处理获得的加密数据执行加第三密处理,然后可以使用用户方的用户公钥进行对加密后的数据进行第四加密,以获得凭证响应数据,或者也可以在对计算结果使用服务节点33的私钥进行加密处理之后使用用户节点31的公钥对加密数据进行加密处理,来获得凭证响应数据。将该这样生成的凭证响应数据发送给用户节点31,而用户节点31在接收到该凭证响应数据之后,可以使用用户私钥来对该凭证响应数据进行解密,并且在解密之后可以根据响应数据中包含的用户凭证信息来使用对应的使用方公钥对该解密后的凭证响应数据进行加密并且根据使用方信息来将凭证响应数据发送给对应的使用方节点32。
此外,如果服务节点33计算获得的计算结果与用户节点31在步骤S201中发送的用户凭证请求数据中包含的使用用户自己的私钥进行加密的加密数据的比较结果为不一致时,服务节点33可以无法确定接收到的该用户凭证请求数据中的用户凭证信息是否用户想要调用的用户凭证的信息,换言之,服务节点33无法确认接收到的该用户凭证请求数据是否是由用户发出的,即其不具有可信度。因此,服务节点33可以将用户凭证获取失败的消息作为凭证响应数据发送给用户节点31。
在本申请实施例中,使用方节点32在从服务节点33或用户节点31接收到该凭证响应数据后,可以先根据使用方信息来调用使用方私钥对该凭证响应数据进行解密,并且在解密之后可以对凭证响应数据中包含的用户凭证地址使用对应的算法来执行计算。并根据凭证响应数据中包含的发送方信息来对该计算结果进行加密计算处理。例如,在服务节点33将用户凭证响应数据发送给使用方节点32的情况下,使用方节点32可以根据凭证响应数据中包含的服务节点33信息来使用服务节点33公钥对计算结果进行加密处理,并且将加密处理后的结果与凭证响应数据中包含的服务方节点使用服务方私钥对其计算结果进行加密之后的加密数据进行比对处理,以确认使用方通过使用方节点32进行的加密处理的结果是否与凭证响应数据中包含的加密数据一致。如果一致,则使用方可以了解到其通过使用方节点32接收到的凭证响应数据确实是服务节点33发送的,并且也是可信的。在使用方确认其接收到的凭证响应数据可信之后,使用方可以进一步根据该数据中包含的服务节点33信息来使用凭证响应数据中包含的该用户凭证地址从服务节点33获取该用户凭证,并根据该用户凭证可以确认用户是否能够使用对应的服务或访问对应的数据。
此外,在用户节点31将包含有服务节点33处生成的用户凭证存储地址的凭证响应数据发送给对应的使用方节点32的情况下,使用方节点32可以使用其自己的使用方私钥来对接收到的凭证响应数据进行解密,以获得服务节点33使用其自己的私钥进行加密处理的结果以及用户凭证存储地址,从而使用方节点32可以使用预定的算法或根据在该凭证响应数据中包含的算法信息而使用对应的算法来对用户凭证存储地址进行计算,并使用服务公钥对该计算结果进行加密处理,从而可以将该加密处理的结果与凭证响应数据中包含的服务节点33的加密处理结果进行比较,以确认该凭证响应数据中包含的用户凭证地址是可信的,并且从而使用方可以通过使用方节点32使用该用户凭证地址从服务节点33来获取用户凭证并根据该用户凭证可以确认用户是否能够使用对应的服务或访问对应的数据。
本申请实施例提供的DID凭证数据系统,通过由用户节点根据使用方节点发送的用户凭证获取请求来使用用户私钥和服务公钥来生成该用户凭证请求数据并发送给服务节点,而服务节点则使用服务私钥和用户公钥来从用户节点发送的用户凭证请求数据中获取使用方信息和所请求的用户凭证的凭证信息,并根据凭证信息来在服务节点查找用户凭证在服务节点上的存储地址,并将该存储地址包含在使用服务私钥和使用方公钥生成的凭证响应数据中,以发送给使用方节点,从而在DID系统中用户节点向服务节点发送用户凭证请求数据以及服务节点将用户所请求的用户凭证的存储地址发送给使用方节点的过程中用户信息和凭证信息都被包含在使用对方的秘钥进行加密的数据中,在整个过程中不会发生用户信息的直接传输,并且接收一方还可以使用发送一方的公钥对接收到的数据内容进行核验,以确保接收到的信息的可信度,因此大大降低了用户隐私数据的泄露风险。
实施例四
以上描述了DID凭证数据系统的内部功能和结构,其可实现为一种电子设备。图4为本申请提供的电子设备实施例的结构示意图。如图4所示,该电子设备包括存储器41和处理器42。
存储器41,用于存储程序。除上述程序之外,存储器41还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器42,不仅仅局限于处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器42,与存储器41耦合,执行存储器41所存储的程序,以执行上述实施例二的安全流转方法。
进一步,如图4所示,电子设备还可以包括:通信组件43、电源组件44、音频组件45、显示器46等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。
通信组件43被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件43经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件43还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件44,为电子设备的各种组件提供电力。电源组件44可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件45被配置为输出和/或输入音频信号。例如,音频组件45包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器41或经由通信组件43发送。在一些实施例中,音频组件45还包括一个扬声器,用于输出音频信号。
显示器46包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于DID凭证数据的安全流转方法,包括:
由用户节点根据使用方节点发送的用户凭证获取请求,使用与所述用户凭证获取请求对应的用户私钥和服务节点的服务公钥生成用户凭证请求数据,其中,所述用户凭证获取请求用于获取由发证方节点发布并存储在服务节点上的用户凭证,所述用户凭证是由所述发证方节点根据用户从用户节点发出的认证信息生成的;
由所述服务节点使用与所述服务公钥对应的服务私钥和所述用户私钥对应的用户公钥从所述用户凭证请求数据中获取使用方信息以及所请求的用户凭证的凭证信息;
由所述服务节点根据所述凭证请求数据使用所述服务私钥和使用方公钥生成凭证响应数据,其中,所述凭证响应数据中包含有所述用户凭证在所述服务节点中的存储地址。
2.根据权利要求1所述的安全流转方法,其中,所述由用户节点根据使用方节点发送的用户凭证获取请求,使用与所述用户凭证获取请求对应的用户私钥和服务节点的服务公钥生成用户凭证请求数据包括:
由用户节点根据使用方节点发送的用户凭证获取请求,使用第一加密算法计算获得所述用户凭证获取请求的第一请求信息;
由用户节点使用与所述用户凭证获取请求对应的用户私钥对所述第一请求信息进行第一加密处理,以获得第一加密数据;
由所述用户节点使用从服务节点获取的服务公钥对所述用户凭证获取请求和所述第一加密数据执行第二加密处理,以获得第二加密数据作为所述用户凭证请求数据。
3.根据权利要求1所述的安全流转方法,其中,所述安全流转方法进一步包括:
由所述服务节点将所述凭证响应数据发送给所述用户节点;
由所述用户节点使用所述服务公钥、所述用户私钥以及请求所述凭证的使用方的使用方私钥根据所述凭证响应数据生成凭证请求响应数据,其中,所述凭证请求响应数据中至少包含有所述用户凭证在所述服务节点中的存储地址。
4.根据权利要求1所述的安全流转方法,其中,所述安全流转方法进一步包括:
由所述服务节点将所述凭证响应数据发送给所述使用方节点;
由所述使用方节点使用所述服务公钥和所述使用方私钥从所述凭证响应数据中获取所述存储地址。
5.根据权利要求2所述的安全流转方法,其中,所述由所述服务节点使用与所述服务公钥对应的服务私钥和所述用户私钥对应的用户公钥从所述用户凭证请求数据中获取使用方信息以及所请求的凭证的凭证信息包括:
由所述服务节点使用所述服务私钥对所述用户凭证请求数据进行解密处理,以获取所述用户凭证获取请求和所述第一加密数据;
由所述服务节点使用所述用户公钥对所述第一加密数据进行解密处理,以获取第一解密数据;
由所述服务节点使用所述第一加密算法对所述用户凭证获取请求进行计算,以获得第二请求信息;
由所述服务节点对所述第一解密数据和所述第二请求信息进行比较;
当所述服务节点确定所述第一解密数据和所述第二请求信息一致时,根据所述用户凭证获取请求确定所述用户凭证在所述服务节点上的存储地址。
6.根据权利要求5所述的安全流转方法,其中,所述由所述服务节点使用所述服务私钥对所述用户凭证请求数据进行解密处理进一步包括:
由所述服务节点使用所述服务私钥对所述用户凭证请求数据进行解密处理,以获取用户信息;
根据所述用户信息获取所述用户公钥。
7.根据权利要求6所述的安全流转方法,其中,所述由所述服务节点使用与所述服务公钥对应的服务私钥和所述用户私钥对应的用户公钥从所述用户凭证请求数据中获取使用方信息以及所请求的凭证的凭证信进一步包括:
当所述服务节点确定所述第一解密数据和所述第二请求信息不一致时,由所述服务节点使用所述服务私钥和所述用户公钥根据所述服务节点的比较处理结果以及解密处理所获取到的用户信息生成凭证请求响应数据;
由所述服务节点将所述凭证请求响应数据发送给所述用户节点。
8.一种DID凭证数据系统,包括:用户节点、使用方节点、服务节点和发证方节点,其中,所述用户节点用于:根据所述使用方节点发送的用户凭证获取请求,使用与所述用户凭证获取请求对应的用户私钥和服务节点的服务公钥生成用户凭证请求数据,其中,所述用户凭证获取请求用于获取由发证方节点发布并存储在服务节点上的用户凭证,所述用户凭证是由所述发证方节点根据用户从用户节点发出的认证信息生成的;
所述服务节点用于:使用与所述服务公钥对应的服务私钥和所述用户私钥对应的用户公钥从所述用户凭证请求数据中获取使用方信息以及所请求的用户凭证的凭证信息;根据所述凭证信息使用所述服务私钥和所述使用方的公钥生成凭证响应数据,其中,所述凭证响应数据中包含有所述用户凭证在所述服务节点中的存储地址。
9.根据权利要求8所述的DID凭证数据系统,其中,所述服务节点进一步用于将所述凭证响应数据发送给所述用户节点或所述使用方节点,并且
当所述服务节点将所述凭证响应数据发送给所述用户节点时,所述用户节点进一步用于:使用所述服务公钥、所述用户私钥以及请求所述凭证的使用方的使用方私钥根据所述凭证响应数据生成凭证请求响应数据,其中,所述凭证请求响应数据中至少包含有所述用户凭证在所述服务节点中的存储地址;
当所述服务节点将所述凭证响应数据发送给所述使用方节点时,所述使用方节点进一用于:使用所述服务公钥和所述使用方私钥从所述凭证响应数据中获取所述存储地址。
10.一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,所述程序被处理器执行时实现如权利要求1至7中任一所述的安全流转方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211474468.5A CN115865445A (zh) | 2022-11-23 | 2022-11-23 | 基于did凭证数据的安全流转方法、did凭证数据系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211474468.5A CN115865445A (zh) | 2022-11-23 | 2022-11-23 | 基于did凭证数据的安全流转方法、did凭证数据系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115865445A true CN115865445A (zh) | 2023-03-28 |
Family
ID=85665350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211474468.5A Pending CN115865445A (zh) | 2022-11-23 | 2022-11-23 | 基于did凭证数据的安全流转方法、did凭证数据系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865445A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117040930A (zh) * | 2023-10-08 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 区块链网络的资源处理方法、装置、产品、设备和介质 |
-
2022
- 2022-11-23 CN CN202211474468.5A patent/CN115865445A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117040930A (zh) * | 2023-10-08 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 区块链网络的资源处理方法、装置、产品、设备和介质 |
CN117040930B (zh) * | 2023-10-08 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 区块链网络的资源处理方法、装置、产品、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647023B2 (en) | Out-of-band authentication to access web-service with indication of physical access to client device | |
US11063944B2 (en) | Out-of-band authentication based on secure channel to trusted execution environment on client device | |
US11700117B2 (en) | System for credential storage and verification | |
US11716320B2 (en) | Digital credentials for primary factor authentication | |
US11770261B2 (en) | Digital credentials for user device authentication | |
US11641278B2 (en) | Digital credential authentication | |
US11792181B2 (en) | Digital credentials as guest check-in for physical building access | |
US11627000B2 (en) | Digital credentials for employee badging | |
US11698979B2 (en) | Digital credentials for access to sensitive data | |
US11531783B2 (en) | Digital credentials for step-up authentication | |
WO2019233204A1 (zh) | 密钥管理方法、装置、系统、存储介质和计算机设备 | |
CN109325342B (zh) | 身份信息管理方法、装置、计算机设备和存储介质 | |
JP5694344B2 (ja) | クラウド認証を使用する認証 | |
JP6054457B2 (ja) | 制御された情報開示によるプライベート解析 | |
US11792180B2 (en) | Digital credentials for visitor network access | |
US20160125180A1 (en) | Near Field Communication Authentication Mechanism | |
US11556617B2 (en) | Authentication translation | |
US11683177B2 (en) | Digital credentials for location aware check in | |
US20220173891A1 (en) | Apparatus and method for managing personal information | |
US11146552B1 (en) | Decentralized application authentication | |
US11522713B2 (en) | Digital credentials for secondary factor authentication | |
US20140013116A1 (en) | Apparatus and method for performing over-the-air identity provisioning | |
WO2016173211A1 (zh) | 一种管理应用标识的方法及装置 | |
CN115865445A (zh) | 基于did凭证数据的安全流转方法、did凭证数据系统及存储介质 | |
CN115834051A (zh) | 基于did凭证数据的安全保存方法和装置、授权方法和装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |