密钥生成方法、系统、移动终端、服务器及存储介质与流程

文档序号:16685580发布日期:2019-01-22 18:16阅读:159来源:国知局
密钥生成方法、系统、移动终端、服务器及存储介质与流程

本公开涉及通信技术领域,具体地,涉及一种密钥生成方法、系统、移动终端、服务器及存储介质。



背景技术:

随着移动互联网络技术的发展和智能移动终端应用的推进,手机等移动终端已成为移动办公应用不可或缺的智能设备,人们更倾向于使用移动终端随时随地进行办公、购物、支付、社交等网络活动。在这些互联网络应用中,用户身份认证尤为重要,而可靠的用户身份识别通常采用以密钥为基础的数字证书来实现,这就需要用户持有一个供签名计算的密钥。

现有技术中,考虑到移动终端的便携性,其不能像电脑等设备方便地接入外置密码设备来保障用户身份和数据安全且目标大多数移动终端并没有内置和集成安全密码硬件,通常在移动终端中为用户生成密钥并存储。然而,现有的密钥生成方法无法确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端,并且,也无法确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号。



技术实现要素:

为了克服现有技术中存在的问题,本公开的提供一种密钥生成方法、系统、移动终端、服务器及存储介质。

为了实现上述目的,本公开提供一种密钥生成系统,包括:

所述移动终端用于,向所述服务器发送注册请求,所述注册请求包括目标用户的手机号;

所述服务器用于,在接收到所述注册请求时,向所述目标用户的手机号发送注册验证码,并利用所述目标用户的手机号和发出的注册验证码生成用户公钥;

所述移动终端还用于,接收用于响应所述注册请求的注册验证码,利用接收到的注册验证码和所述移动终端使用的手机号生成用户密钥对,并向所述服务器发送所述用户密钥对中的公钥;

所述服务器还用于,将所述用户密钥对中的公钥与所述用户公钥进行一致性比对,得到比对结果,并将所述比对结果返回给所述移动终端;

所述移动终端还用于,接收所述比对结果,若所述比对结果表明所述用户密钥对中的公钥与所述用户公钥一致,则确定所述移动终端成功生成用于校验所述目标用户身份的用户密钥对。

可选地,所述移动终端用于:

基于sm2密码算法生成终端密钥对:

其中,d2为所述终端密钥对中的私钥,p2为所述终端密钥对中的公钥,g为所述sm2密码算法的基点,n为所述sm2密码算法的阶;

将所述终端密钥对中的公钥发送给所述服务器;

根据所述移动终端使用的手机号、接收到的注册验证码和所述终端密钥对生成所述用户密钥对:

d1=hash(t||e)

其中,d为所述用户密钥对中的私钥,p为所述用户密钥对中的公钥,d1为终端认证密钥,hash()为预设哈希函数,||表示比特串或字符串的拼接,t为所述移动终端使用的手机号,e为所述移动终端接收到的注册验证码。

可选地,所述服务器用于:

接收所述移动终端发送的所述终端密钥对中的公钥;

根据所述目标用户的手机号、发出的注册验证码和所述终端密钥对中的公钥生成所述用户公钥:

d'1=hash(t'||e')

p'=[d'1]p2

其中,p'为所述用户公钥,p2为所述终端密钥对中的公钥,d'1为服务器认证密钥,hash()为所述预设哈希函数,||表示比特串或字符串的拼接,t'为所述目标用户的手机号,e'为所述服务器发出的注册验证码。

可选地,所述移动终端用于:

基于sm2密码算法生成终端密钥对:

其中,d2为所述终端密钥对中的私钥,p2为所述终端密钥对中的公钥,g为所述sm2密码算法的基点,n为所述sm2密码算法的阶;

将所述终端密钥对中的公钥发送给所述服务器并接收所述服务器发送的服务器密钥对中的公钥;

根据所述移动终端使用的手机号、接收到的注册验证码、所述终端密钥对以及所述服务器密钥对中的公钥生成所述用户密钥对:

d1=hash(t||e)

其中,dc为所述用户密钥对中的私钥,p为所述用户密钥对中的公钥,p3为所述服务器密钥对中的公钥,d2为所述终端密钥对中的私钥,d1为终端认证密钥,hash()为预设哈希函数,||表示比特串或字符串的拼接,t为所述移动终端使用的手机号,e为所述移动终端接收到的注册验证码。

可选地,所述服务器用于:

基于所述sm2密码算法生成所述服务器密钥对:

其中,d3为所述服务器密钥对中的私钥,p3为所述服务器密钥对中的公钥,g为所述sm2密码算法的基点,n为所述sm2密码算法的阶;

将所述服务器密钥对中的公钥发送给所述移动终端;

接收所述移动终端发送的所述终端密钥对中的公钥;

根据所述目标用户的手机号、发出的注册验证码、所述服务器密钥对以及所述终端密钥对中的公钥生成用户私钥和所述用户公钥:

d'1=hash(t'||e')

其中,ds为所述用户私钥,p'为所述用户公钥,p2为所述终端密钥对中的公钥,d3为所述服务器密钥对中的私钥,d'1为服务器认证密钥,hash()为所述预设哈希函数,||表示比特串或字符串的拼接,t'为所述目标用户的手机号,e'为所述服务器发出的注册验证码。

可选地,所述服务器还用于:

若比对结果表明所述用户密钥对中的公钥与所述用户公钥一致,则将所述用户私钥和所述用户公钥作为用于校验所述目标用户身份的用户密钥对。

可选地,所述服务器用于,通过移动网络短信信道向所述目标用户的手机号发送注册验证码。

本公开还提供一种密钥生成方法,包括:

移动终端向服务器发送注册请求,所述注册请求包括目标用户的手机号;

所述服务器在接收到所述注册请求时,向所述目标用户的手机号发送注册验证码;

所述移动终端接收用于响应所述注册请求的注册验证码,并利用接收到的注册验证码和所述移动终端使用的手机号生成用户密钥对,以及所述用户密钥对中的公钥发送给所述服务器;

所述服务器利用所述目标用户的手机号和发出的注册验证码生成用户公钥,并将所述用户密钥对中的公钥与所述用户公钥进行一致性比对,得到比对结果,以及将所述比对结果返回给所述移动终端;

所述移动终端接收所述比对结果,若所述比对结果表明所述用户密钥对中的公钥与所述用户公钥一致,则确定所述移动终端成功生成用于校验所述目标用户身份的用户密钥对。

可选地,所述移动终端利用接收到的注册验证码和所述移动终端使用的手机号生成用户密钥对,包括:

所述移动终端基于sm2密码算法生成终端密钥对:

其中,d2为所述终端密钥对中的私钥,p2为所述终端密钥对中的公钥,g为所述sm2密码算法的基点,n为所述sm2密码算法的阶;

所述移动终端将所述终端密钥对中的公钥发送给所述服务器;

所述移动终端根据所述移动终端使用的手机号、接收到的注册验证码和所述终端密钥对生成所述用户密钥对:

d1=hash(t||e)

其中,d为所述用户密钥对中的私钥,p为所述用户密钥对中的公钥,d1为终端认证密钥,hash()为预设哈希函数,||表示比特串或字符串的拼接,t为所述移动终端使用的手机号,e为所述移动终端接收到的注册验证码。

可选地,所述服务器利用所述目标用户的手机号和发出的注册验证码生成用户公钥,包括:

所述服务器接收所述终端密钥对中的公钥,并根据所述目标用户的手机号、发出的注册验证码和所述终端密钥对中的公钥生成所述用户公钥:

d'1=hash(t'||e')

p'=[d'1]p2

其中,p'为所述用户公钥,p2为所述终端密钥对中的公钥,d'1为服务器认证密钥,hash()为所述预设哈希函数,||表示比特串或字符串的拼接,t'为所述目标用户的手机号,e'为所述服务器发出的注册验证码。

可选地,所述移动终端利用接收到的注册验证码和所述移动终端使用的手机号生成用户密钥对,包括:

所述移动终端基于sm2密码算法生成终端密钥对并将所述终端密钥对中的公钥发送给所述服务器:

其中,d2为所述终端密钥对中的私钥,p2为所述终端密钥对中的公钥,g为所述sm2密码算法的基点,n为所述sm2密码算法的阶;

所述移动终端接收所述服务器发送的服务器密钥对中的公钥,并根据所述移动终端使用的手机号、接收到的注册验证码、所述终端密钥对以及所述服务器密钥对中的公钥生成所述用户密钥对:

d1=hash(t||e)

其中,dc为所述用户密钥对中的私钥,p为所述用户密钥对中的公钥,p3为所述服务器密钥对中的公钥,d2为所述终端密钥对中的私钥,d1为终端认证密钥,hash()为预设哈希函数,||表示比特串或字符串的拼接,t为所述移动终端使用的手机号,e为所述移动终端接收到的注册验证码。

可选地,所述服务器利用所述目标用户的手机号和发出的注册验证码生成用户公钥,包括:

所述服务器基于所述sm2密码算法生成所述服务器密钥对并将所述服务器密钥对中的公钥发送给所述移动终端:

其中,d3为所述服务器密钥对中的私钥,p3为所述服务器密钥对中的公钥,g为所述sm2密码算法的基点,n为所述sm2密码算法的阶;

所述服务器接收所述移动终端发送的所述终端密钥对中的公钥,并根据所述目标用户的手机号、发出的注册验证码、所述服务器密钥对以及所述终端密钥对中的公钥生成用户私钥和所述用户公钥:

d'1=hash(t'||e')

其中,ds为所述用户私钥,p'为所述用户公钥,p2为所述终端密钥对中的公钥,d3为所述服务器密钥对中的私钥,d'1为服务器认证密钥,hash()为所述预设哈希函数,||表示比特串或字符串的拼接,t'为所述目标用户的手机号,e'为所述服务器发出的注册验证码。

可选地,所述方法还包括:

若比对结果表明所述用户密钥对中的公钥与所述用户公钥一致,所述服务器则将所述用户私钥和所述用户公钥作为用于校验所述目标用户身份的用户密钥对。

可选地,所述服务器向所述目标用户的手机号发送注册验证码,包括:

所述服务器通过移动网络短信信道向所述目标用户的手机号发送注册验证码。

本公开还提供一种密钥生成方法,应用于移动终端,所述方法包括如本公开提供的密钥生成方法中的移动终端所执行的步骤。

本公开还提供一种密钥生成方法,应用于服务器,所述方法包括如本公开提供的密钥生成方法中的服务器所执行的步骤。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的密钥生成方法中的移动终端所执行的步骤。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的密钥生成方法中的服务器所执行的步骤。

本公开还提供一种移动终端,所述移动终端被配置为如本公开提供的密钥生成系统中的移动终端。

本公开还提供一种服务器,所述服务器被配置为如本公开提供的密钥生成系统中的服务器。

采用上述技术方案,至少可以达到如下技术效果:

移动终端向服务器发送包括目标用户的手机号的注册请求,服务器在接收到该注册请求时,向目标用户的手机号发送注册验证码,可以保证目标用户持有的移动终端接收到该注册验证码。移动终端接收响应该注册请求的注册验证码,利用其使用的手机号和接收到的注册验证码生成用户密钥对并将用户密钥对中的公钥发送给服务器,由于手机号对应唯一的用户,因而可以确保生成的用户密钥对、用户以及用户的手机号这三者之间是相互绑定的。服务器利用目标用户的手机号和发出的注册验证码生成用户公钥,将用户公钥与用户密钥对中的公钥进行一致性比对将比对结果返回给移动终端,若比对结果表明用户公钥与用户密钥对中的公钥一致,移动终端则确定成功生成用于校验用户身份的用户密钥对,可以确保移动终端接收到的注册验证码与服务器发出的注册验证码一致且目标用户的手机号与移动终端使用的手机号一致,以确保用户密钥对在目标用户持有的移动终端中生成,进而确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端且确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号,从而可以进一步保障目标用户后续申请代表其身份的数字证书的可信性,防止别的用户在其他移动终端上冒用该目标用户的身份。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据本公开一示例性实施例示出的一种密钥生成方法的流程图;

图2是根据本公开另一示例性实施例示出的一种密钥生成方法的流程图;

图3是根据本公开另一示例性实施例示出的一种密钥生成方法的流程图;

图4是根据本公开一示例性实施例示出的一种密钥生成系统的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据本公开一示例性实施例示出的一种密钥生成方法的流程图,如图1所示,该方法包括以下步骤:

在步骤s11中,移动终端向服务器发送注册请求,注册请求包括目标用户的手机号。

手机号对应唯一的用户,其可以用于标识用户的身份。在本公开的实施例中,目标用户的手机号可以是该目标用户通过移动终端注册时输入的,也可以是移动终端响应于该目标用户的账户注册操作读取到的该移动终端使用的手机号。

在步骤s12中,服务器在接收到注册请求时,向目标用户的手机号发送注册验证码。

服务器在接收到注册请求时,会随机生成一注册验证码并将该注册验证码发送给目标用户的手机号,以便目标用户持有的移动终端接收到该注册验证码。

在步骤s13中,移动终端接收用于响应注册请求的注册验证码,并利用接收到的注册验证码和该移动终端使用的手机号生成用户密钥对。

在一种实施方式中,移动终端接收到的注册验证码可以是用户通过该移动终端手动输入的。移动终端在接收到注册验证码时,可以读取其当前使用的手机号,并利用接收到的注册验证码和其使用的手机号生成用户密钥对。其中,用户密钥对可以包括公钥和私钥。

在步骤s14中,移动终端将用户密钥对中的公钥发送给服务器。

在步骤s15中,服务器利用目标用户的手机号和发出的注册验证码生成用户公钥。

在步骤s16中,服务器将用户密钥对中的公钥与用户公钥进行一致性比对,得到比对结果,并将比对结果返回给移动终端。

在步骤s17中,移动终端接收比对结果,若比对结果表明用户密钥对中的公钥与用户公钥一致,则确定移动终端成功生成用于校验目标用户身份的用户密钥对。

需要说明的是,为了避免移动终端与服务器之间的通信被监听,以保证双方之间的通信可靠性,在一种实施方式中,可以采用双信道通信机制,即服务器可以通过移动网络短信信道向目标用户的手机号发送注册验证码,而对于移动网络与服务器之间的其他信息交互则可以通过互联网络信道进行,例如包括:移动终端向服务器发送注册请求、用户密钥对的公钥以及服务器向移动终端返回比对结果等等。

根据本公开上述实施例提供的密钥生成方法,移动终端向服务器发送包括目标用户的手机号的注册请求,服务器在接收到该注册请求时,向目标用户的手机号发送注册验证码,可以保证目标用户持有的移动终端接收到该注册验证码。移动终端接收响应该注册请求的注册验证码,利用其使用的手机号和接收到的注册验证码生成用户密钥对并将用户密钥对中的公钥发送给服务器,由于手机号对应唯一的用户,因而可以确保生成的用户密钥对、用户以及用户的手机号这三者之间是相互绑定的。服务器利用目标用户的手机号和发出的注册验证码生成用户公钥,将用户公钥与用户密钥对中的公钥进行一致性比对将比对结果返回给移动终端,若比对结果表明用户公钥与用户密钥对中的公钥一致,移动终端则确定成功生成用于校验用户身份的用户密钥对,可以确保移动终端接收到的注册验证码与服务器发出的注册验证码一致且目标用户的手机号与移动终端使用的手机号一致,以确保用户密钥对在目标用户持有的移动终端中生成,进而确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端且确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号,从而可以进一步保障目标用户后续申请代表其身份的数字证书的可信性,防止别的用户在其他移动终端上冒用该目标用户的身份。

在本公开上述实施例中,移动终端在接收到响应于注册请求的注册验证码时,可以读取其使用的手机号,采用两种方式来生成用户密钥对。接下来,分别对这两种方式下移动终端与服务器的交互过程进行详细说明。

在第一种实施方式中,如图2所示,移动终端可以读取其使用的手机号t,并根据使用的手机号t和接收到的注册验证码e计算终端认证密钥d1。接着,移动终端随机生成终端密钥对(d2,p2)并将终端密钥对中的公钥p2发送给服务器。最后,移动终端可以基于sm2密码算法,根据终端认证密钥d1和终端密钥对(d2,p2)可以生成用户密钥对(d,p)。具体地,移动终端可以根据公式(1)计算终端认证密钥d1,根据公式(2)计算终端密钥对(d2,p2)以及根据公式(3)计算用户密钥对(d,p)。

d1=hash(t||e)(1)

其中,d1为终端认证密钥,hash()为预设哈希函数,||表示比特串或字符串的拼接,t为移动终端使用的手机号,e为移动终端接收到的注册验证码,d2为终端密钥对中的私钥,p2为终端密钥对中的公钥,g为sm2密码算法的基点,n为所述sm2密码算法的阶。

相应地,服务器可以根据目标用户的手机号t'和发出的注册验证码e'计算服务器认证密钥d1',并基于sm2密码算法,根据服务器认证密钥d1'和接收到的终端密钥对中的公钥p2生成用户公钥p'。具体地,服务器可以根据公式(4)计算服务器认证密钥以及根据公式(5)计算用户公钥p'。

d'1=hash(t'||e')(4)

p'=[d'1]p2(5)

其中,p'为用户公钥,p2为终端密钥对中的公钥,d'1为服务器认证密钥,hash()为所述预设哈希函数,||表示比特串或字符串的拼接,t'为目标用户的手机号,e'为服务器发出的注册验证码。

在该实施方式下,只在移动终端生成用于校验目标用户身份的用户密钥对,可以实现在移动终端存储密钥,相应地,可以采用系统权限、软件加密或混淆等机制保护用户密钥对。

在第二种实施方式中,如图3所示,移动终端可以读取其使用的手机号t,并根据使用的手机号t和接收到的注册验证码e计算终端认证密钥d1。接着,移动终端随机生成终端密钥对(d2,p2)并将终端密钥对中的公钥p2发送给服务器,并接收服务器发送的服务器密钥对中的公钥p3。最后,移动终端可以基于sm2密码算法,根据终端认证密钥d1、终端密钥对(d2,p2)以及服务器密钥对中的公钥p3生成用户密钥对(dc,p)。具体地,移动终端可以根据上述公式(1)计算终端认证密钥d1,根据上述公式(2)计算终端密钥对(d2,p2)以及根据公式(6)计算用户密钥对(dc,p)。

其中,dc为所述用户密钥对中的私钥,p为所述用户密钥对中的公钥,p3为所述服务器密钥对中的公钥,d2为所述终端密钥对中的私钥,d1为终端认证密钥。

相应地,对于服务器可以根据目标用户的手机号t'和发出的注册验证码e'计算服务器认证密钥d1',并基于sm2密码算法生成服务器密钥对(d3,p3)。接着,服务器将服务器密钥对中的公钥p3发送给移动终端并接收移动终端发送的终端密钥对中的公钥p2。最后,服务器可以基于sm2密码算法,根据服务器认证密钥d1'、服务器密钥对(d3,p3)以及终端密钥对中的公钥p2生成用户私钥ds和用户公钥p'。具体地,服务器可以根据上述公式(4)计算服务器认证密钥d1',根据公式(7)生成服务器密钥对(d3,p3)以及根据公式(8)生成用户私钥ds和用户公钥p'。

其中,d3为所述服务器密钥对中的私钥,p3为所述服务器密钥对中的公钥,g为所述sm2密码算法的基点,n为所述sm2密码算法的阶,ds为所述用户私钥,p'为所述用户公钥,p2为所述终端密钥对中的公钥。

若接收到的比对结果表明用户密钥对中的公钥与用户公钥一致,移动终端则可以确定其使用的手机号与目标用户的手机号相同且接收到的注册验证码与服务器发出的注册验证码相同,进一步可以确定该移动终端的当前持有者为目标用户,进而可以确定该移动终端成功生成用于检验目标用户身份的用户密钥对。

进一步地,若比对结果表明用户密钥对中的公钥与用户公钥一致时,服务器还可以将其生成的用户私钥和用户公钥作为用于校验目标用户身份的用户密钥对。

在该实施方式下,移动终端和服务器各自存储有用于校验目标用户身份的用户密钥对,可以实现用户密钥对的分片式存储,进而在后续各类应用中,双方可以利用各自生成的用户密钥对进行协同签名计算来鉴别身份。相对于第一种实施方式,该实施方式生成的用户密钥对的安全性更高。

需要说明的是,对于本公开实施例中的sm2密码算法,其椭圆曲线为e(fq),基点为g=(xg,yg),[k]p表示椭圆曲线上的点乘运算,其中k为整数,p为椭圆曲线上的点。

本公开的另一示例性实施例还提供了一种密钥生成方法,该密钥生成方法应用于移动终端,执行如本公开上述任一个实施例所描述的密钥生成方法中的移动终端所执行的步骤。

具体地,在该实施例中,该密钥生成方法包括以下步骤:移动终端向服务器发送注册请求,以便服务器响应于该注册请求而向该注册请求包括的目标用户的手机号发送注册验证码以及利用目标用户的手机号和发出的注册验证码生成用户公钥。接着,移动终端接收用于响应该注册请求的注册验证码并读取其使用的手机号,利用接收到的注册验证码和其使用的手机号生成用户密钥对,并将用户密钥对中的公钥发送给服务器,以便服务器将生成的用户公钥与用户密钥对中的公钥进行一致性比对并将比对结果返回给移动终端。若接收到的比对结果表明用户密钥对中的公钥与服务器生成的用户公钥一致,移动终端则确定其成功生成用于校验目标用户身份的用户密钥对。

需要说明的是,该密钥生成方法的具体实现方式与本公开上述实施例的密钥生成方法中的移动终端的具体实现方式类似,具体请参见上述对移动终端的描述,为了减少冗余,此处不再赘述。

根据本公开实施例提供的密钥生成方法,能够应用于移动终端,移动终端利用接收到的注册验证码和其使用的手机号生成用户密钥对,可以保证用户密钥对、用户以及用户的手机号三者之间是相互绑定的。此外,移动终端通过向服务器发送用户密钥对中的公钥,由服务器将利用目标用户的手机号和发出的注册验证码生成的用户公钥和用户密钥对中的公钥进行一致性比对并返回比对结果,若比对结果表明用户密钥对中的公钥与用户公钥一致,移动终端则确定成功生成用于校验目标用户身份的用户密钥对,可以确保移动终端接收到的注册验证码与服务器发出的注册验证码一致且目标用户的手机号与移动终端使用的手机号一致,以确保用户密钥对在目标用户持有的移动终端中生成,进而确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端且确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号,从而可以进一步保障目标用户后续申请代表其身份的数字证书的可信性,防止别的用户在其他移动终端上冒用该目标用户的身份。

本公开的另一示例性实施例还提供了一种密钥生成方法,该密钥生成方法应用于服务器,执行如本公开上述任一个实施例所描述的密钥生成方法中的服务器所执行的步骤。

具体地,在该实施例中,该密钥生成方法包括以下步骤:服务器在接收到移动终端发送的注册请求时,生成一注册验证码并向该注册请求包括的目标用户的手机号发送该注册验证码,以便该目标用户持有的移动终端能够根据该注册验证码和该目标用户的手机号生成用户密钥对。接着,服务器可以利用目标用户的手机号和发出的注册验证码生成用户公钥并接收发送该注册请求的移动终端发送的用户密钥对中的公钥,以及将生成的用户公钥与接收到的用户密钥对中的公钥进行一致性比对且将比对结果返回给该移动终端。

需要说明的是,该密钥生成方法的具体实现方式与本公开上述实施例的密钥生成方法中的服务器的具体实现方式类似,具体请参见上述对服务器的描述,为了减少冗余,此处不再赘述。

根据本公开实施例提供的密钥生成方法,能够应用于服务器,服务器在接收到包括目标用户的手机号的注册请求时,向目标用户的手机号发送注册验证码,可以确保目标用户持有的移动终端接收到该注册验证码。此外,服务器利用目标用户的手机号和发出的注册验证码生成用户公钥,将用户公钥与用户密钥对中的公钥进行一致性比对将比对结果返回给移动终端,可以确保移动终端通过服务器发出的注册验证码和目标用户的手机号才能生成正确的用户密钥对,以确保用户密钥对在目标用户持有的移动终端中生成,进而确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端且确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号,从而可以进一步保障目标用户后续申请代表其身份的数字证书的可信性,防止别的用户在其他移动终端上冒用该目标用户的身份。

本公开的另一示例性实施例还提供了一种密钥生成系统,如图4所示,该密钥生成系统400包括:移动终端410和服务器420。

其中,移动终端410用于向服务器420发送注册请求,其中,注册请求包括目标用户的手机号。

服务器420用于在接收到注册请求时,向目标用户的手机号发送注册验证码并利用目标用户的手机号和发出的注册验证码生成用户公钥。

移动终端410还用于接收用于响应注册请求的注册验证码,利用接收到的注册验证码和移动终端410使用的手机号生成用户密钥对,并向服务器发送用户密钥对中的公钥。

服务器420还用于接收移动终端410发送的用户密钥对中的公钥并将生成的用户公钥与用户密钥对中的公钥进行一致性比对,得到比对结果,以及将该比对结果返回给移动终端410。

移动终端410还用于接收比对结果,若比对结果表明用户密钥对中的公钥与用户公钥一致,则确定移动终端成功生成用于校验目标用户身份的用户密钥对。

关于上述实施例中的密钥生成系统,其中移动终端410和服务器420执行操作的具体方式已经在有关密钥生成方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本公开实施例的密钥生成系统,移动终端向服务器发送包括目标用户的手机号的注册请求,服务器在接收到该注册请求时,向目标用户的手机号发送注册验证码,可以保证目标用户持有的移动终端接收到该注册验证码。移动终端接收响应该注册请求的注册验证码,利用其使用的手机号和接收到的注册验证码生成用户密钥对并将用户密钥对中的公钥发送给服务器,由于手机号对应唯一的用户,因而可以确保生成的用户密钥对、用户以及用户的手机号这三者之间是相互绑定的。服务器利用目标用户的手机号和发出的注册验证码生成用户公钥,将用户公钥与用户密钥对中的公钥进行一致性比对将比对结果返回给移动终端,若比对结果表明用户公钥与用户密钥对中的公钥一致,移动终端则确定成功生成用于校验用户身份的用户密钥对,可以确保移动终端接收到的注册验证码与服务器发出的注册验证码一致且目标用户的手机号与移动终端使用的手机号一致以确保用户密钥对在目标用户持有的移动终端中生成,进而确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端且确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号,从而可以进一步保障目标用户后续申请代表其身份的数字证书的可信性,防止别的用户在其他移动终端上冒用该目标用户的身份。

本公开的另一示例性实施例还提供了一种移动终端,该移动终端被配置为如本公开上述任意一个实施例所描述的密钥生成系统中的移动终端。具体地,该移动终端用于向服务器发送注册请求,以便服务器响应于该注册请求而向该注册请求包括的目标用户的手机号发送注册验证码以及利用目标用户的手机号和发出的注册验证码生成用户公钥。该移动终端还用于接收响应该注册请求的注册验证码并读取其使用的手机号,利用接收到的注册验证码和其使用的手机号生成用户密钥对,并将用户密钥对中的公钥发送给服务器,以便服务器将生成的用户公钥与用户密钥对中的公钥进行一致性比对并将比对结果返回给移动终端。该移动终端还用于在接收到的比对结果表明用户密钥对中的公钥与服务器生成的用户公钥一致时,确定其成功生成用于校验目标用户身份的用户密钥对。

需要说明的是,该移动终端的具体实现方式与本公开上述实施例的密钥生成系统中的移动终端的具体实现方式类似,具体请参见上述对移动终端的描述,为了减少冗余,此处不再赘述。

根据本公开实施例的移动终端,通过利用接收到的注册验证码和其使用的手机号生成用户密钥对,可以保证用户密钥对、用户以及用户的手机号三者之间是相互绑定的。此外,移动终端通过向服务器发送用户密钥对中的公钥,由服务器将利用目标用户的手机号和发出的注册验证码生成的用户公钥和用户密钥对中的公钥进行一致性比对并返回比对结果,若比对结果表明用户密钥对中的公钥与用户公钥一致,移动终端则确定成功生成用于校验目标用户身份的用户密钥对,可以确保移动终端接收到的注册验证码与服务器发出的注册验证码一致且目标用户的手机号与移动终端使用的手机号一致,以确保用户密钥对在目标用户持有的移动终端中生成,进而确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端且确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号,从而可以进一步保障目标用户后续申请代表其身份的数字证书的可信性,防止别的用户在其他移动终端上冒用该目标用户的身份。

本公开的另一示例性实施例还提供了一种服务器,该服务器被配置为如本公开上述任意一个实施例所描述的密钥生成系统中的服务器。具体地,该服务器用于在接收到移动终端发送的注册请求时生成一注册验证码并向该注册请求包括的目标用户的手机号发送该注册验证码,以便该目标用户持有的移动终端能够根据该注册验证码和该目标用户的手机号生成用户密钥对。该服务器还用于利用目标用户的手机号和发出的注册验证码生成用户公钥并接收发送该注册请求的移动终端发送的用户密钥对中的公钥,以及将生成的用户公钥与接收到的用户密钥对中的公钥进行一致性比对且将比对结果返回给该移动终端。

需要说明的是,该服务器的具体实现方式与本公开上述实施例的密钥生成系统中的服务器的具体实现方式类似,具体请参见上述对服务器的描述,为了减少冗余,此处不再赘述。

本公开的另一示例性实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开上述实施例所述的密钥生成方法中的移动终端所执行的步骤。

根据本公开实施例的服务器,通过在接收到包括目标用户的手机号的注册请求时,向目标用户的手机号发送注册验证码,可以确保目标用户持有的移动终端接收到该注册验证码。此外,服务器利用目标用户的手机号和发出的注册验证码生成用户公钥,将用户公钥与用户密钥对中的公钥进行一致性比对将比对结果返回给移动终端,可以确保移动终端通过服务器发出的注册验证码和目标用户的手机号才能生成正确的用户密钥对,以确保用户密钥对在目标用户持有的移动终端中生成,进而确保发起注册请求的移动终端与最终生成用户密钥的移动终端为同一终端且确保同一移动终端在发起注册请求与在生成用户密钥时是使用的同一手机号,从而可以进一步保障目标用户后续申请代表其身份的数字证书的可信性,防止别的用户在其他移动终端上冒用该目标用户的身份。

本公开的另一示例性实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开上述实施例所述的密钥生成方法中的服务器所执行的步骤。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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