一种关于数字货币的身份凭证生成方法、验证方法及系统与流程

专利查询18天前  11



1.本发明涉及互联网技术领域,尤其涉及一种关于数字货币的身份凭证生成方法、验证方法及系统。


背景技术:

2.身份凭证本质上是一种电子文档,用于在互联网通信中标识通信各方的身份信息,人们在网络上可以用它来识别用户的身份。身份凭证由权威的发证机构签发,在通信过程中,验证方通过验证该身份凭证是否合法来认定持有者的身份是否真实。
3.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
4.验证方只要验证身份凭证合法,就认定持有者的身份真实。但是,身份凭证被发证机构签发后,可能被除了该身份凭证所属用户之外的其他人冒用,此时就会出现身份凭证合法、持有者身份实际上并不真实、但是验证方却认定该持有者身份真实的情况。


技术实现要素:

5.有鉴于此,本发明实施例提供一种关于数字货币的身份凭证生成方法、验证方法及系统,在生成身份凭证时,加入了由用户的第一私钥对其身份信息签名后生成的第一摘要、以及由认证端的第二私钥对用户身份信息和第一摘要签名后生成的第二摘要,能够将用户与该身份凭证的关联关系加入身份凭证,进而在验证身份凭证时,既能够通过验证身份凭证中的第二摘要验证身份凭证是否可信,又能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
6.为实现上述目的,根据本发明实施例的一个方面,提供了一种关于数字货币的身份凭证的生成方法。
7.本发明实施例的一种关于数字货币的身份凭证生成方法应用于认证端,包括:
8.接收身份凭证的生成请求,其中,生成请求包括用户的身份信息、以及由用户的第一私钥对身份信息签名后生成的第一摘要;
9.利用第一私钥对应的第一公钥对第一摘要进行验证,当验证通过时,对身份信息进行认证;
10.当认证通过时,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要;
11.根据身份信息、第一摘要以及第二摘要生成身份凭证,并将身份凭证发送给用户。
12.可选地,
13.第一公钥和第一私钥是根据用户的身份信息生成的。
14.可选地,
15.第一公钥是用户的身份信息。
16.可选地,
17.在使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要之前,该方法还
包括:
18.向密钥生成系统发起密钥生成请求,其中,密钥生成请求包括请求端的公开信息;
19.接收密钥生成系统根据密钥生成请求中的公开信息返回的第二公钥和第二私钥。
20.为实现上述目的,根据本发明实施例的另一方面,提供了一种关于数字货币的身份凭证验证方法。
21.本发明实施例的一种关于数字货币的身份凭证验证方法应用于交易端,包括:
22.接收关于数字货币的交易请求,其中,交易请求中包括身份凭证和交易信息,身份凭证包括用户的身份信息、由用户的第一私钥对身份信息签名后生成的第一摘要、以及认证端使用认证第二私钥对身份信息和第一摘要签名后生成的第二摘要;
23.利用第一私钥和第二私钥分别对应的第一公钥和第二公钥对身份凭证进行验证;
24.当验证通过时,根据交易信息实现关于数字货币的交易。
25.可选地,
26.利用第一私钥和第二私钥分别对应的第一公钥和第二公钥对身份凭证进行验证,包括:
27.根据第二公钥、第一摘要以及身份信息生成第三摘要;
28.当第三摘要与第二摘要相同时,根据第一公钥和身份信息生成第四摘要;
29.当第四摘要和第一摘要相同时,确定身份凭证验证通过。
30.为实现上述目的,根据本发明实施例的又一方面,提供了一种关于数字货币的身份凭证生成方法。
31.本发明实施例的一种关于数字货币的身份凭证生成方法应用于请求端,包括:
32.根据用户的第一私钥对用户的身份信息进行签名,生成第一摘要;
33.根据第一摘要和身份信息生成身份凭证的生成请求,并将生成请求发送给身份凭证的认证端;
34.接收认证端在验证生成请求中的第一摘要和身份信息通过后、返回的身份凭证。
35.可选地,
36.在接收认证端在验证生成请求中的第一摘要和身份信息通过后、返回的身份凭证之后,还包括:
37.根据身份凭证和交易信息,生成关于数字货币的交易请求,并将交易请求发送给交易端,以根据交易请求与交易端进行关于数字货币的交易。
38.为实现上述目的,根据本发明实施例的又一方面,提供了一种认证端。
39.本发明实施例的一种认证端包括生成请求接收模块、认证模块、第二摘要生成模块以及身份凭证生成模块;其中:
40.生成请求接收模块,用于接收身份凭证的生成请求,其中,生成请求包括用户的身份信息、以及由用户的第一私钥对身份信息签名后生成的第一摘要;
41.认证模块,用于利用生成请求接收模块接收到的第一私钥对应的第一公钥对第一摘要进行验证,当验证通过时,对身份信息进行认证;
42.第二摘要生成模块,用于当认证模块认证通过时,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要;
43.身份凭证生成模块,用于根据生成请求接收模块接收到的身份信息、第一摘要以
及第二摘要生成模块生成的第二摘要生成身份凭证,并将身份凭证发送给用户。
44.可选地,
45.第一公钥和第一私钥是根据用户的身份信息生成的。
46.可选地,
47.第一公钥是用户的身份信息。
48.可选地,
49.该认证端还包括密钥请求模块和密钥接收模块;其中:
50.密钥请求模块,用于向密钥生成系统发起密钥生成请求,其中,密钥生成请求包括请求端的公开信息;
51.密钥接收模块,用于接收密钥生成系统根据密钥请求模块发起的密钥生成请求中的公开信息返回的第二公钥和第二私钥。
52.为实现上述目的,根据本发明实施例的又一方面,提供了一种交易端。
53.本发明实施例的一种交易端包括交易请求接收模块、验证模块以及交易执行模块;其中:
54.交易请求接收模块,用于接收关于数字货币的交易请求,其中,交易请求中包括身份凭证和交易信息,身份凭证包括用户的身份信息、由用户的第一私钥对身份信息签名后生成的第一摘要、以及认证端使用认证第二私钥对身份信息和第一摘要签名后生成的第二摘要;
55.验证模块,用于利用交易请求接收模块接收到的第一私钥和第二私钥分别对应的第一公钥和第二公钥对身份凭证进行验证;
56.交易执行模块,用于当验证模块验证通过时,根据交易请求接收模块接收到的交易信息实现关于数字货币的交易。
57.可选地,
58.验证模块用于:根据第二公钥、第一摘要以及身份信息生成第三摘要;当第三摘要与第二摘要相同时,根据第一公钥和身份信息生成第四摘要;当第四摘要和第一摘要相同时,确定身份凭证验证通过。
59.为实现上述目的,根据本发明实施例的又一方面,提供了一种请求端。
60.本发明实施例的一种请求端包括第一摘要生成模块、生成请求发送模块以及身份凭证接收模块;其中:
61.第一摘要生成模块,用于根据用户的第一私钥对用户的身份信息进行签名,生成第一摘要;
62.生成请求发送模块,用于根据第一摘要生成模块生成的第一摘要和身份信息生成身份凭证的生成请求,并将生成请求发送给身份凭证的认证端;
63.身份凭证接收模块,用于接收认证端在验证生成请求发送模块发送的生成请求中的第一摘要和身份信息通过后、返回的身份凭证。
64.可选地,
65.该请求端还包括交易请求发送模块;其中:
66.交易请求发送模块,用于根据身份凭证和交易信息,生成关于数字货币的交易请求,并将交易请求发送给交易端,以根据交易请求与交易端进行关于数字货币的交易。
67.为实现上述目的,根据本发明实施例的又一方面,提供了一种关于数字货币的身份凭证生成系统。
68.本发明实施例的一种身份凭证的生成系统包括:上述发明实施例中提供的任意一种认证端、任意一种交易端以及任意一种请求端。
69.为实现上述目的,根据本发明实施例的又一方面,提供了一种关于数字货币的身份凭证的生成装置。
70.本发明实施例的一种身份凭证的生成装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明实施例的一种关于数字货币的身份凭证生成方法或关于数字货币的身份凭证的验证方法。
71.为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质。
72.本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现本发明实施例的一种身份凭证的生成方法或身份凭证的验证方法。
73.上述发明中的一个实施例具有如下优点或有益效果:
74.1.在认证端一侧,接收到身份凭证的生成请求后,对生成请求中包括的第一摘要进行验证,验证通过后,再对生成请求中包括的身份信息进行认证,认证通过后,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要,并将第二摘要连同身份信息、第一摘要作为身份凭证发送给用户。通过上述描述可见,在生成身份凭证时,加入了由用户的第一私钥对其身份信息签名后生成的第一摘要、以及由认证端的第二私钥对用户身份信息和第一摘要签名后生成的第二摘要,能够将用户与该身份凭证的关联关系加入身份凭证,进而在验证身份凭证时,既能够通过验证身份凭证中的第二摘要验证身份凭证是否可信,又能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
75.2.在交易端一侧,接收到包括身份凭证和交易信息的关于数字货币的交易请求之后,首先利用第二公钥对身份凭证中的第二摘要进行验证,以确定该身份凭证是否为可信任的凭证,再利用第一公钥对身份凭证中的第一摘要进行验证,以确定持有者是否为该身份凭证所属的用户,如果上述两个验证均通过,则根据交易信息完成关于数字货币的交易。通过上述描述可见,在验证身份凭证时,不仅要根据第二公钥验证第二摘要以确定身份凭证是否可信,还要根据第一公钥验证第一摘要以确定发起交易的人也就是身份凭证的持有者是否可信,从而能够确定该持有者是否冒用了他人的身份凭证,进而增加了交易的安全性。
76.3.在请求端一侧,根据用户的第一私钥对其身份信息进行签名,生成第一摘要,然后将身份信息和第一摘要作为身份凭证的生成请求,发送给认证端,以获得该用户的身份凭证。通过上述描述可见,在请求生成身份凭证时,请求端使用用户的第一私钥对用户的身份信息进行签名,并将签名后生成的第一摘要也发给了认证端,以使认证端生成的身份凭证中包括该用户与身份凭证的关联关系,进而在验证身份凭证时,能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
77.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
78.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
79.图1是根据本发明实施例的应用于认证端的一种关于数字货币的身份凭证生成方法的主要步骤的示意图;
80.图2是根据本发明实施例的应用于交易端的一种关于数字货币的身份凭证验证方法的主要步骤的示意图;
81.图3是根据本发明实施例的应用于请求端的一种关于数字货币的身份凭证生成方法的主要步骤的示意图;
82.图4是根据本发明实施例的一种认证端的主要模块的示意图;
83.图5是根据本发明实施例的一种交易端的主要模块的示意图;
84.图6是根据本发明实施例的一种请求端的主要模块的示意图;
85.图7是根据本发明实施例的一种关于数字货币的身份凭证生成系统的示意图;
86.图8是本发明实施例可以应用于其中的示例性系统架构图;
87.图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
88.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
89.需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
90.图1是根据本发明实施例的应用于认证端的一种关于数字货币的身份凭证生成方法的主要步骤的示意图。
91.如图1所示,本发明实施例的一种关于数字货币的身份凭证生成方法主要包括以下步骤:
92.步骤s101:接收身份凭证的生成请求,其中,生成请求包括用户的身份信息、以及由用户的第一私钥对身份信息签名后生成的第一摘要。
93.在本发明实施例中,身份凭证是包括用户身份信息、用于标识用户身份的一种电子文档,既包括自然人的电子身份证、医保电子凭证等,也包括企业的电子营业执照、电子签章等,还包括软件或网址的数字证书等。
94.在本发明实施例中,用户在向认证端提供身份信息前,使用专属于该用户的第一私钥对身份信息进行签名,生成第一摘要,以建立用户与身份信息之间的关联关系。当认证端根据身份信息生成身份凭证时,可以将该第一摘要也写入身份凭证中,以建立用户与身份凭证之间的关联关系。基于第一摘要建立的用户与身份凭证之间的关联关系,当其他人
非法持有用户的身份凭证进行交易时,交易端可以识别出持有者和该身份凭证所属的用户不一致,从而判定交易对方是冒用身份凭证,拒绝与之进行交易。
95.步骤s102:利用第一私钥对应的第一公钥对第一摘要进行验证,当验证通过时,对身份信息进行认证。
96.在本发明实施例中,用户的第一公钥和第一私钥可以采用ibc(identity-based cryptograph,基于身份标识的密码)体系生成,这样用户可以直接使用自己的身份信息作为第一公钥,也可以对自己的身份信息按照一定规则进行修改后再作为第一公钥,然后再根据该第一公钥生成对应的第一私钥,这样未来对接银行的虚拟货币系统会更加高效。其中,身份信息可以是该用户的身份证号,也可以是该用户的手机号,如果该用户是企业,身份信息还可以是该企业的统一社会信用代码,对此本发明实施例不作具体限定。举例来说,某用户选择使用自己的手机号码生成第一公钥,可以根据预设规则,将该手机号码的最后一位改为字母“a”后作为第一公钥,进而生成对应的第一私钥对身份信息签名,生成第一摘要,然后将身份信息、第一摘要和第一公钥发送给认证端,由认证端根据第一公钥对第一摘要进行验证。
97.在本发明实施例中,上述根据用户的身份信息得到第一公钥、并根据第一公钥生成第一私钥的过程,可以由密钥生成系统完成。具体而言:用户向密钥生成系统发起密钥生成请求,其中,密钥生成请求包括用户的身份信息;接收密钥生成系统根据密钥生成请求返回的第一公钥和第一私钥,第一公钥和第一私钥与身份信息相关。
98.在本发明一个优选的实施例中,第一公钥是用户的身份信息。举例来说,某用户向密钥生成系统发起密钥生成请求,该密钥生成请求中包含该用户的手机号,密钥生成系统接收到该密钥生成请求后,将手机号作为第一公钥代入预设函数,将输出的字符串作为与该第一公钥对应的第一私钥,然后将该第一私钥返回至用户。通过上述描述可见,基于ibc体系,用户可以选择将身份信息直接作为第一公钥,也可以选择将身份信息作出一定改动后再作为第一公钥,这样得到的第一公钥位数较少,减少了在生成和验证身份凭证的过程中传输的数据量。
99.在本发明实施例中,可以在身份凭证的生成请求中包括第一公钥,将第一公钥连同身份信息和第一摘要一并发送给认证端;也可以在接收到认证端发来获取第一公钥的请求时,将第一公钥单独发送给认证端,以增加数据传输的安全性;还可以在直接将用户的身份信息作为第一公钥的情况下,在身份信息中标识出第一公钥,或者单独告知认证端作为第一公钥的是哪一条身份信息,以进一步减少在生成身份凭证的过程中传输的数据量。对认证端获取第一公钥的方式,本方案不作具体限定。
100.在本发明实施例中,认证端根据第一公钥验证第一摘要无误后,即对用户的身份信息进行认证,该认证可以由线上通过自动与数据库中的数据进行比对来完成,也可以由线下通过人工检索数据库进行数据比对来完成。
101.步骤s103:当认证通过时,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要。
102.在本发明实施例中,认证端使用其专属的第二私钥对用户的身份信息以及第一摘要进行签名,生成第二摘要,该第二摘要就是认证端对用户的身份信息认证通过的证明。由于认证端一般是政府或者大型企业,具有很高的公信力,因此经其认证通过的用户也具有
了可信度。
103.在本发明实施例中,在使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要之前,该方法还包括:向密钥生成系统发起密钥生成请求,其中,密钥生成请求包括请求端的公开信息;接收密钥生成系统根据密钥生成请求中的公开信息返回的第二公钥和第二私钥。
104.在本发明实施例中,认证端的第二公钥和第二私钥也可以采用ibc体系生成,这样认证端可以直接使用自己的公开信息作为第二公钥,也可以对自己的公开信息按照一定规则进行修改后再作为第二公钥,然后再根据该第二公钥生成对应的第二私钥,这样未来对接银行的虚拟货币系统会更加高效。其中,由于认证端一般是政府或大型企业,所以公开信息一般是政府的名称或者企业的统一社会信用代码,对此本发明实施例不作具体限定。举例来说,某企业可以选择使用自己的统一社会信用代码生成第二公钥,可以根据预设规则,将该代码的最后一位改为字母“a”后作为第二公钥,进而生成对应的第二私钥对用户的身份信息以及第一摘要进行签名,生成第二摘要。
105.在本发明一个优选的实施例中,第二公钥是认证端的公开信息。举例来说,某政府直接将自己的名称作为第二公钥,而基于该第二公钥生成的第二私钥是其他人不可知的。这样不仅减少了第二公钥的位数,而且由于政府名称是公开信息,所以该第二公钥是公开的,因此认证端可以在向请求端返回身份凭证时不必向请求端提供第二公钥、并且请求端向交易端发送身份凭证时也不必再提供第二公钥,大大减少了在生成和验证身份凭证的过程中传输的数据量。
106.步骤s104:根据身份信息、第一摘要以及第二摘要生成身份凭证,并将身份凭证发送给用户。
107.根据本发明实施例的一种身份凭证的生成方法可以看出,在认证端一侧,接收到身份凭证的生成请求后,对生成请求中包括的第一摘要进行验证,验证通过后,再对生成请求中包括的身份信息进行认证,认证通过后,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要,并将第二摘要连同身份信息、第一摘要作为身份凭证发送给用户。通过上述描述可见,在生成身份凭证时,加入了由用户的第一私钥对其身份信息签名后生成的第一摘要、以及由认证端的第二私钥对用户身份信息和第一摘要签名后生成的第二摘要,能够将用户与该身份凭证的关联关系加入身份凭证,进而在验证身份凭证时,既能够通过验证身份凭证中的第二摘要验证身份凭证是否可信,又能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
108.图2是根据本发明实施例的应用于交易端的一种关于数字货币的身份凭证验证方法的主要步骤的示意图。
109.如图2所示,本发明实施例的一种关于数字货币的身份凭证验证方法主要包括以下步骤:
110.步骤s201:接收关于数字货币的交易请求,其中,交易请求中包括身份凭证和交易信息,身份凭证包括用户的身份信息、由用户的第一私钥对身份信息签名后生成的第一摘要、以及认证端使用认证第二私钥对身份信息和第一摘要签名后生成的第二摘要。
111.步骤s202:利用第一私钥和第二私钥分别对应的第一公钥和第二公钥对身份凭证
进行验证。
112.在本发明实施例中,利用第一私钥和第二私钥分别对应的第一公钥和第二公钥对身份凭证进行验证时,优选的验证顺序为:首先根据第二公钥对第一摘要以及身份信息进行解密并进行哈希运算,生成第三摘要,如果第三摘要与第二摘要相同,则说明身份凭证由可信任的认证端签发,因此该身份凭证可信任;然后根据第一公钥对身份信息进行解密并进行哈希运算,生成第四摘要,如果第四摘要和第一摘要相同,这说明身份凭证的持有者可信任,因此确定身份凭证验证通过。
113.在本发明实施例中,第一公钥和第二公钥可以由请求端通过交易请求同身份凭证和交易信息一并发送给交易端,也可以由交易端接收到交易请求后向请求端单独请求其发送。如果第一公钥是用户的身份信息时,请求端还可以在身份信息中标识出第一公钥,或者单独告知交易端作为第一公钥的是哪一条身份信息,以进一步减少在验证身份凭证的过程中传输的数据量。如果第二公钥是认证端的公开信息时,交易端还可以事先即从认证端直接获取到该第二公钥,减少了在验证身份凭证的过程中传输的数据量。对上述交易端获取第一公钥和第二公钥的方式,本方案不作具体限定。
114.步骤s203:当验证通过时,根据交易信息实现关于数字货币的交易请求所请求的交易。
115.根据本发明实施例的一种身份凭证的验证方法可以看出,在交易端一侧,接收到包括身份凭证和交易信息的关于数字货币的交易请求之后,首先利用第二公钥对身份凭证中的第二摘要进行验证,以确定该身份凭证是否为可信任的凭证,再利用第一公钥对身份凭证中的第一摘要进行验证,以确定持有者是否为该身份凭证所属的用户,如果上述两个验证均通过,则根据交易信息完成关于数字货币的交易。通过上述描述可见,在验证身份凭证时,不仅要根据第二公钥验证第二摘要以确定身份凭证是否可信,还要根据第一公钥验证第一摘要以确定发起交易的人也就是身份凭证的持有者是否可信,从而能够确定该持有者是否冒用了他人的身份凭证,进而增加了交易的安全性。
116.图3是根据本发明实施例的应用于请求端的一种关于数字货币的身份凭证生成方法的主要步骤的示意图。
117.如图3所示,本发明实施例的一种关于数字货币的身份凭证生成方法主要包括以下步骤:
118.步骤s301:根据用户的第一私钥对用户的身份信息进行签名,生成第一摘要。
119.在本发明实施例中,可以由用户在浏览器或app页面内输入身份信息和第一私钥,然后通过点击页面按钮触发请求端根据该第一私钥对身份信息进行签名,生成第一摘要,该第一摘要可以在浏览器或app页面内向用户显示,也可以不向用户显示。
120.步骤s302:根据第一摘要和身份信息生成身份凭证的生成请求,并将生成请求发送给身份凭证的认证端。
121.步骤s303:接收认证端在验证生成请求中的第一摘要和身份信息通过后、返回的身份凭证。
122.在本发明实施例中,接收到认证端返回的身份凭证包括:用户的身份信息、第一摘要、以及认证端使用第二私钥对身份信息和第一摘要签名后生成的第二摘要。
123.在本发明实施例中,在接收认证端在验证生成请求中的第一摘要和身份信息通过
后、返回的身份凭证之后,还包括:根据身份凭证和交易信息,生成关于数字货币的交易请求,并将交易请求发送给交易端,以根据交易请求与交易端进行关于数字货币的交易。
124.根据本发明实施例的一种关于数字货币的身份凭证生成方法可以看出,在请求端一侧,根据用户的第一私钥对其身份信息进行签名,生成第一摘要,然后将身份信息和第一摘要作为身份凭证的生成请求,发送给认证端,以获得该用户的身份凭证。通过上述描述可见,在请求生成身份凭证时,请求端使用用户的第一私钥对用户的身份信息进行签名,并将签名后生成的第一摘要也发给了认证端,以使认证端生成的身份凭证中包括该用户与身份凭证的关联关系,进而在验证身份凭证时,能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
125.图4是根据本发明实施例的一种认证端的主要模块的示意图。
126.如图4所示,本发明实施例的一种认证端400包括:生成请求接收模块401、认证模块402、第二摘要生成模块403以及身份凭证生成模块404;其中:
127.生成请求接收模块401,用于接收身份凭证的生成请求,其中,生成请求包括用户的身份信息、以及由用户的第一私钥对身份信息签名后生成的第一摘要;
128.认证模块402,用于利用生成请求接收模块401接收到的第一私钥对应的第一公钥对第一摘要进行验证,当验证通过时,对身份信息进行认证;
129.第二摘要生成模块403,用于当认证模块402认证通过时,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要;
130.身份凭证生成模块404,用于根据生成请求接收模块401接收到的身份信息、第一摘要以及第二摘要生成模块403生成的第二摘要生成身份凭证,并将身份凭证发送给用户。
131.在本发明实施例中,第一公钥和第一私钥是根据用户的身份信息生成的。
132.在本发明实施例中,第一公钥是用户的身份信息。
133.在本发明实施例中,该认证端400还包括密钥请求模块和密钥接收模块;其中:密钥请求模块,用于向密钥生成系统发起密钥生成请求,其中,密钥生成请求包括请求端的公开信息;密钥接收模块,用于接收密钥生成系统根据密钥请求模块发起的密钥生成请求中的公开信息返回的第二公钥和第二私钥。
134.根据本发明实施例的一种认证端可以看出,在认证端一侧,接收到身份凭证的生成请求后,对生成请求中包括的第一摘要进行验证,验证通过后,再对生成请求中包括的身份信息进行认证,认证通过后,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要,并将第二摘要连同身份信息、第一摘要作为身份凭证发送给用户。通过上述描述可见,在生成身份凭证时,加入了由用户的第一私钥对其身份信息签名后生成的第一摘要、以及由认证端的第二私钥对用户身份信息和第一摘要签名后生成的第二摘要,能够将用户与该身份凭证的关联关系加入身份凭证,进而在验证身份凭证时,既能够通过验证身份凭证中的第二摘要验证身份凭证是否可信,又能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
135.图5是根据本发明实施例的一种交易端的主要模块的示意图。
136.如图5所示,本发明实施例的一种交易端500包括:交易请求接收模块501、验证模块502以及交易执行模块503;其中:
137.交易请求接收模块501,用于接收关于数字货币的交易请求,其中,交易请求中包
括身份凭证和交易信息,身份凭证包括用户的身份信息、由用户的第一私钥对身份信息签名后生成的第一摘要、以及认证端使用认证第二私钥对身份信息和第一摘要签名后生成的第二摘要;
138.验证模块502,用于利用交易请求接收模块501接收到的第一私钥和第二私钥分别对应的第一公钥和第二公钥对身份凭证进行验证;
139.交易执行模块503,用于当验证模块502验证通过时,根据交易请求接收模块501接收到的交易信息实现关于数字货币的交易。
140.在本发明实施例中,验证模块502用于:根据第二公钥、第一摘要以及身份信息生成第三摘要;当第三摘要与第二摘要相同时,根据第一公钥和身份信息生成第四摘要;当第四摘要和第一摘要相同时,确定身份凭证验证通过。
141.根据本发明实施例的一种交易端可以看出,在交易端一侧,接收到包括身份凭证和交易信息的关于数字货币的交易请求之后,首先利用第二公钥对身份凭证中的第二摘要进行验证,以确定该身份凭证是否为可信任的凭证,再利用第一公钥对身份凭证中的第一摘要进行验证,以确定持有者是否为该身份凭证所属的用户,如果上述两个验证均通过,则根据交易信息完成关于数字货币的交易。通过上述描述可见,在验证身份凭证时,不仅要根据第二公钥验证第二摘要以确定身份凭证是否可信,还要根据第一公钥验证第一摘要以确定发起交易的人也就是身份凭证的持有者是否可信,从而能够确定该持有者是否冒用了他人的身份凭证,进而增加了交易的安全性。
142.图6是根据本发明实施例的一种请求端的主要模块的示意图。
143.如图6所示,本发明实施例的一种请求端600包括:第一摘要生成模块601、生成请求发送模块602以及身份凭证接收模块603;其中:
144.第一摘要生成模块601,用于根据用户的第一私钥对用户的身份信息进行签名,生成第一摘要;
145.生成请求发送模块602,用于根据第一摘要生成模块601生成的第一摘要和身份信息生成身份凭证的生成请求,并将生成请求发送给身份凭证的认证端;
146.身份凭证接收模块603,用于接收认证端在验证生成请求发送模块602发送的生成请求中的第一摘要和身份信息通过后、返回的身份凭证。
147.在本发明实施例中,该请求端600还包括交易请求发送模块;其中:交易请求发送模块,用于根据身份凭证和交易信息,生成关于数字货币的交易请求,并将交易请求发送给交易端,以根据交易请求与交易端进行关于数字货币的交易。
148.根据本发明实施例的一种请求端可以看出,在请求端一侧,根据用户的第一私钥对其身份信息进行签名,生成第一摘要,然后将身份信息和第一摘要作为身份凭证的生成请求,发送给认证端,以获得该用户的身份凭证。通过上述描述可见,在请求生成身份凭证时,请求端使用用户的第一私钥对用户的身份信息进行签名,并将签名后生成的第一摘要也发给了认证端,以使认证端生成的身份凭证中包括该用户与身份凭证的关联关系,进而在验证身份凭证时,能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
149.图7是根据本发明实施例的一种身份凭证的生成系统的示意图。
150.如图7所示,本发明实施例的一种关于数字货币的身份凭证生成系统700包括:上
述发明实施例中提供的任意一种认证端400、任意一种交易端500以及任意一种请求端600。
151.图8示出了可以应用本发明实施例的一种关于数字货币的身份凭证生成方法、验证方法或一种认证端、交易端或请求端的示例性系统架构800。
152.如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
153.用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
154.终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
155.服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
156.应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
157.下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
158.如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram 903中,还存储有系统900操作所需的各种程序和数据。cpu 901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
159.以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
160.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本发明的系统中限定的上述功能。
161.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不
限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
162.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
163.描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括生成请求接收模块、认证模块、第二摘要生成模块以及身份凭证生成模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,生成请求接收模块还可以被描述为“接收身份凭证的生成请求的模块”。
164.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收身份凭证的生成请求,其中,生成请求包括用户的身份信息、以及由用户的第一私钥对身份信息签名后生成的第一摘要;利用第一私钥对应的第一公钥对第一摘要进行验证,当验证通过时,对身份信息进行认证;当认证通过时,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要;根据身份信息、第一摘要以及第二摘要生成身份凭证,并将身份凭证发送给用户。
165.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备还可以包括:接收关于数字货币的交易请求,其中,交易请求中包括身份凭证和交易信息,身份凭证包括用户的身份信息、由用户的第一私钥对身份信息签名后生成的第一摘要、以及认证端使用认证第二私钥对身份信息和第一摘要签名后生成
的第二摘要;利用第一私钥和第二私钥分别对应的第一公钥和第二公钥对身份凭证进行验证;当验证通过时,根据交易信息实现关于数字货币的交易。
166.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备还可以包括:根据用户的第一私钥对用户的身份信息进行签名,生成第一摘要;根据第一摘要和身份信息生成身份凭证的生成请求,并将生成请求发送给身份凭证的认证端;接收认证端在验证生成请求中的第一摘要和身份信息通过后、返回的身份凭证。
167.根据本发明实施例的技术方案,可以获得如下优点或有益效果:
168.1.在认证端一侧,接收到身份凭证的生成请求后,对生成请求中包括的第一摘要进行验证,验证通过后,再对生成请求中包括的身份信息进行认证,认证通过后,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要,并将第二摘要连同身份信息、第一摘要作为身份凭证发送给用户。通过上述描述可见,在生成身份凭证时,加入了由用户的第一私钥对其身份信息签名后生成的第一摘要、以及由认证端的第二私钥对用户身份信息和第一摘要签名后生成的第二摘要,能够将用户与该身份凭证的关联关系加入身份凭证,进而在验证身份凭证时,既能够通过验证身份凭证中的第二摘要验证身份凭证是否可信,又能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
169.2.在交易端一侧,接收到包括身份凭证和交易信息的关于数字货币的交易请求之后,首先利用第二公钥对身份凭证中的第二摘要进行验证,以确定该身份凭证是否为可信任的凭证,再利用第一公钥对身份凭证中的第一摘要进行验证,以确定持有者是否为该身份凭证所属的用户,如果上述两个验证均通过,则根据交易信息完成关于数字货币的交易。通过上述描述可见,在验证身份凭证时,不仅要根据第二公钥验证第二摘要以确定身份凭证是否可信,还要根据第一公钥验证第一摘要以确定发起交易的人也就是身份凭证的持有者是否可信,从而能够确定该持有者是否冒用了他人的身份凭证,进而增加了交易的安全性。
170.3.在请求端一侧,根据用户的第一私钥对其身份信息进行签名,生成第一摘要,然后将身份信息和第一摘要作为身份凭证的生成请求,发送给认证端,以获得该用户的身份凭证。通过上述描述可见,在请求生成身份凭证时,请求端使用用户的第一私钥对用户的身份信息进行签名,并将签名后生成的第一摘要也发给了认证端,以使认证端生成的身份凭证中包括该用户与身份凭证的关联关系,进而在验证身份凭证时,能够通过身份凭证中的第一摘要验证持有者与该身份凭证是否具有该关联关系,从而能够确定该持有者是否冒用了他人的身份凭证。
171.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

技术特征:
1.一种关于数字货币的身份凭证生成方法,其特征在于,应用于认证端,包括:接收身份凭证的生成请求,其中,所述生成请求包括用户的身份信息、以及由所述用户的第一私钥对所述身份信息签名后生成的第一摘要;利用所述第一私钥对应的第一公钥对所述第一摘要进行验证,当验证通过时,对所述身份信息进行认证;当认证通过时,使用第二私钥对所述身份信息和所述第一摘要进行签名,生成第二摘要;根据所述身份信息、所述第一摘要以及所述第二摘要生成所述身份凭证,并将所述身份凭证发送给用户。2.根据权利要求1所述的方法,其特征在于,所述第一公钥和所述第一私钥是根据所述用户的身份信息生成的。3.根据权利要求2所述的方法,其特征在于,所述第一公钥是所述用户的身份信息。4.根据权利要求1所述的方法,其特征在于,在所述使用第二私钥对所述身份信息和所述第一摘要进行签名,生成第二摘要之前,该方法还包括:向密钥生成系统发起密钥生成请求,其中,所述密钥生成请求包括所述请求端的公开信息;接收所述密钥生成系统根据所述密钥生成请求中的所述公开信息返回的第二公钥和所述第二私钥。5.一种关于数字货币的身份凭证验证方法,其特征在于,应用于交易端,包括:接收关于数字货币的交易请求,其中,所述交易请求中包括身份凭证和交易信息,所述身份凭证包括用户的身份信息、由所述用户的第一私钥对所述身份信息签名后生成的第一摘要、以及认证端使用认证第二私钥对所述身份信息和所述第一摘要签名后生成的第二摘要;利用所述第一私钥和所述第二私钥分别对应的第一公钥和第二公钥对所述身份凭证进行验证;当验证通过时,根据所述交易信息实现关于数字货币的交易。6.根据权利要求5所述的方法,其特征在于,所述利用所述第一私钥和所述第二私钥分别对应的第一公钥和第二公钥对所述身份凭证进行验证,包括:根据所述第二公钥、所述第一摘要以及所述身份信息生成第三摘要;当所述第三摘要与所述第二摘要相同时,根据所述第一公钥和所述身份信息生成第四摘要;当所述第四摘要和所述第一摘要相同时,确定所述身份凭证验证通过。7.一种关于数字货币的身份凭证生成方法,其特征在于,应用于请求端,包括:根据用户的第一私钥对用户的身份信息进行签名,生成第一摘要;根据所述第一摘要和所述身份信息生成身份凭证的生成请求,并将所述生成请求发送给身份凭证的认证端;接收所述认证端在验证所述生成请求中的第一摘要和身份信息通过后、返回的身份凭证。
8.根据权利要求7所述的方法,其特征在于,在所述接收所述认证端在验证所述生成请求中的第一摘要和身份信息通过后、返回的身份凭证之后,还包括:根据所述身份凭证和交易信息,生成关于数字货币的交易请求,并将所述交易请求发送给交易端,以根据所述交易请求与所述交易端进行关于数字货币的交易。9.一种认证端,其特征在于,包括生成请求接收模块、认证模块、第二摘要生成模块以及身份凭证生成模块;其中:所述生成请求接收模块,用于接收身份凭证的生成请求,其中,所述生成请求包括用户的身份信息、以及由所述用户的第一私钥对所述身份信息签名后生成的第一摘要;所述认证模块,用于利用所述生成请求接收模块接收到的所述第一私钥对应的第一公钥对所述第一摘要进行验证,当验证通过时,对所述身份信息进行认证;所述第二摘要生成模块,用于当所述认证模块认证通过时,使用第二私钥对所述身份信息和所述第一摘要进行签名,生成第二摘要;所述身份凭证生成模块,用于根据所述生成请求接收模块接收到的所述身份信息、所述第一摘要以及所述第二摘要生成模块生成的所述第二摘要生成所述身份凭证,并将所述身份凭证发送给用户。10.根据权利要求9所述的认证端,其特征在于,所述第一公钥和所述第一私钥是根据所述用户的身份信息生成的。11.根据权利要求10所述的认证端,其特征在于,所述第一公钥是所述用户的身份信息。12.根据权利要求9所述的认证端,其特征在于,该认证端还包括密钥请求模块和密钥接收模块;其中:所述密钥请求模块,用于向密钥生成系统发起密钥生成请求,其中,所述密钥生成请求包括所述请求端的公开信息;所述密钥接收模块,用于接收所述密钥生成系统根据所述密钥请求模块发起的所述密钥生成请求中的所述公开信息返回的第二公钥和所述第二私钥。13.一种交易端,其特征在于,包括交易请求接收模块、验证模块以及交易执行模块;其中:所述交易请求接收模块,用于接收关于数字货币的交易请求,其中,所述交易请求中包括身份凭证和交易信息,所述身份凭证包括用户的身份信息、由所述用户的第一私钥对所述身份信息签名后生成的第一摘要、以及认证端使用认证第二私钥对所述身份信息和所述第一摘要签名后生成的第二摘要;所述验证模块,用于利用所述交易请求接收模块接收到的所述第一私钥和所述第二私钥分别对应的第一公钥和第二公钥对所述身份凭证进行验证;所述交易执行模块,用于当所述验证模块验证通过时,根据所述交易请求接收模块接收到的所述交易信息实现关于数字货币的交易。14.根据权利要求13所述的交易端,其特征在于,所述验证模块用于:根据所述第二公钥、所述第一摘要以及所述身份信息生成第三摘要;当所述第三摘要与所述第二摘要相同时,根据所述第一公钥和所述身份信息生成第四摘要;当所述第四摘要和所述第一摘要相同时,确定所述身份凭证验证通过。
15.一种请求端,其特征在于,包括第一摘要生成模块、生成请求发送模块以及身份凭证接收模块;其中:所述第一摘要生成模块,用于根据用户的第一私钥对用户的身份信息进行签名,生成第一摘要;所述生成请求发送模块,用于根据所述第一摘要生成模块生成的所述第一摘要和所述身份信息生成身份凭证的生成请求,并将所述生成请求发送给身份凭证的认证端;所述身份凭证接收模块,用于接收所述认证端在验证所述生成请求发送模块发送的所述生成请求中的第一摘要和身份信息通过后、返回的身份凭证。16.根据权利要求15所述的请求端,其特征在于,该请求端还包括交易请求发送模块;其中:所述交易请求发送模块,用于根据所述身份凭证和交易信息,生成关于数字货币的交易请求,并将所述交易请求发送给交易端,以根据所述交易请求与所述交易端进行关于数字货币的交易。17.一种关于数字货币的身份凭证生成系统,其特征在于,包括:权利要求9-12任一所述的一种认证端、权利要求13或14所述的一种交易端以及权利要求15或16所述的一种请求端。18.一种关于数字货币的身份凭证的生成装置,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4或5-6或7-8中任一所述的方法。19.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4或5-6或7-8中任一所述的方法。

技术总结
本发明公开了一种关于数字货币的身份凭证生成方法、验证方法及系统,涉及互联网技术领域。该方法的一具体实施方式应用于认证端,包括:接收身份凭证的生成请求,其中,生成请求包括用户的身份信息、以及由用户的第一私钥对身份信息签名后生成的第一摘要;利用第一私钥对应的第一公钥对第一摘要进行验证,当验证通过时,对身份信息进行认证;当认证通过时,使用第二私钥对身份信息和第一摘要进行签名,生成第二摘要;根据身份信息、第一摘要以及第二摘要生成身份凭证,并将身份凭证发送给用户。该实施方式能够将用户与该身份凭证的关联关系加入身份凭证,进而在验证身份凭证时,能够确定身份凭证的持有者是否冒用了他人的身份凭证。证。证。


技术研发人员:杜辉强
受保护的技术使用者:仁东控股股份有限公司
技术研发日:2020.09.10
技术公布日:2022/3/7

最新回复(0)