服务器、客户端及电子支付的代付方法_3

文档序号:9929982阅读:来源:国知局
程中识别数据传输时的安全性。
[0115]本发明进一步提供一种客户端。在以下客户端的各个实施例中,以上述移动终端作为执行主体为例进行描述。可以理解的是,在其他实施例中,客户端的执行主体也可以为计算机等固定终端。本发明客户端的各个实施例中,客户端在电子支付的过程中,承担发起立而的角色。
[0116]参照图7,图7为本发明客户端第一实施例的功能模块示意图,本发明提供客户端包括:
[0117]第二获取模块510,用于在接收到代付请求指令时,获取用户输入的识别数据;
[0118]如图4所示,发起端用户在支付过程中,可以触发代付请求对应的控件,即可视为发起端接收到了代付请求指令。在发起端接收到代付请求指令时,可提示用户输入识别数据。
[0119]上述识别数据可以为字母、数字、符号和/或汉字组合形成的密码。该密码可以为用户预先设置的。服务器内存储的预存验证数据也由字母、数字、符号和/或汉字组合形成。在识别数据与预存验证数据匹配时,则认为发起端用户为其本人。此情况下,在发起端接收到代付请求指令时,可显示一输入界面,该输入界面可以设置一输入框,用户可将密码输入所述输入框内,发起端通过输入框接收的数据即为上述识别数据。
[0120]此外,上述识别数据还可以为基于生物信息生成的生物数据,所述生物信息包括眼纹信息、指纹信息、人脸信息或声音信息。由于生理特征信息时人体特有的信息,尤其时眼纹、指纹、人脸等,每个人具有独一无二的生理特征,因此他人很难伪造,安全性更高。此情况下,在发起端接收到代付请求指令时,可以开启摄像头,并扫描用户的眼纹信息或人脸信息;相应的,服务器内的预存验证数据也为该用户预先上传的基于眼纹信息或人脸信息生成的眼纹数据或人脸数据。或者,发起端还可以开启指纹识别模块,并扫描用户的指纹信息;相应的,服务器内的预存验证数据也为该用户预先上传的基于指纹信息生成的指纹数据。或者,发起端还可以开启麦克,并接收用户的声音信息;相应的,服务器内的预存验证数据也为该用户预先上传的基于声音信息生成的声音数据。可以理解的是,在识别数据为生物数据时,在发起端接收到代付请求指令时,可以提示用户输入生物信息,例如,可以通过文字、声音或动画等形式提示用户输入生物信息。
[0121]可以理解的是,上述眼纹数据、指纹信息或人脸数据可以为基于图像特征计算生成的生物识别码,且图像到生物识别码的映射不可逆,即无法从生物识别码反向获取到图像信息,该生物识别码仅作匹配使用,因此安全性较高。同理,上述声音信息也可以为基于音频特征计算生成的生物识别码,且音频到生物识别码的映射不可逆,即无法从生物识别码反向获取到声音信息,该生物识别码仅作匹配使用,因此安全性较高。
[0122]可选的,为了进一步提高安全性,在发起端与服务器进行通信之前,还可以建立发起端与服务器之间的安全连接。首先,服务器会通过非对称加密,产生一个公钥和私钥,在客户端(即发起端)发起请求时,服务端将公钥暴露给客户端,这个公钥可以被任意暴露;客户端在获取公钥后,会先产生一个由256位随机数字组成的会话密钥,这里称为通讯口令;客户端通过公钥将这个口令加密,发送给服务器;服务器通过私钥进行解密,获取到通讯口令;之后,客户端和服务器的信息传递,都通过这个通讯口令进行对称的加密。
[0123]在发起端与服务器之间建立安全连接后,用户可以通过发起端扫描生物信息,生成验证数据,并上传至服务器,服务器将验证数据设置为与该发起端用户对应的预存验证数据。或者,用户还可以通过发起端扫描生物信息,生成识别数据,并上传至服务器,服务器将识别数据与预存验证数据进行匹配。
[0124]可以理解的是,上述预存验证数据也可以由用户基于其他客户端上传至服务器,不一定是发起端。
[0125]第二发送模块520,用于将代付请求和所述识别数据发送至服务器,以供所述服务器在判定所述识别数据与预存验证数据匹配时向所述代付请求对应的代付端发送验证通过信息。
[0126]上述代付请求可携带有发起端用户的账户信息。例如,支付宝用户A在发起端登录后,可以基于支付宝软件发起代付请求。发起端首先向服务器发送代付请求,该代付请求携带有代付请求发起方支付宝用户A的账户信息。
[0127]上述代付请求可以指定代付端。例如,代付端可以为支付宝用户B,在代付请求中还可以携带有支付宝用户B的账户信息。或者,代付端还可以为一群组,在代付请求中还可以携带有群组信息,例如QQ群、微信群等,该群组中的每一个用户均可以进行代付操作。
[0128]上述代付请求还可以不指定代付端,例如,可以直接以链接的形式发送至朋友圈或者空间内,朋友圈或空间中的每一个用户均可以进行代付操作。
[0129]上述代付请求可以与识别数据分别单独发送至服务器,且代付请求与识别数据之间具有关联关系。或者,上述代付请求还可以直接携带识别数据,在服务器接收到代付请求后,可以直接从代付请求中提取识别数据。
[0130]在本实施例中,服务器可以根据代付请求确定对应的代付端。例如,代付请求中携带有代付端支付宝账户B的账户信息,因此,服务器可以根据代付请求确定代付端为支付宝账户B,因此,在判定识别数据与预存验证数据匹配时,则可向支付宝账户B发送验证通过信息。
[0131]可选的,在验证通过时,服务器可以将代付请求转发至代付端,以供代付端进行代付操作。可以理解的是,该方案下,代付端接收到的所有代付请求均是验证通过情况下的代付请求。可以理解的是,在验证未通过时,则服务器将不转发代付请求至代付端。
[0132]可选的,在验证通过或未通过时,服务器均可以将代付请求转发至代付端。与上述方案不同的是在代付请求中携带验证通过或验证未通过信息,或者在发送代付请求的同时还发送验证通过或未通过信息。
[0133]代付端在接收到代付请求和验证通过信息时,可以在显示代付请求对应的图标或链接时,同时显示验证通过提示信息或标识,以提示用户当前的代付请求为通过了身份验证的代付请求,由用户决定是否继续进行代付操作。
[0134]可选的,在识别数据与预存验证数据不匹配时,服务器可以向代付端发送验证未通过信息。服务器还可以在发送验证未通过信息的同时,将代付请求同时发送至代付端。或者,代付请求中还可以携带验证未通过信息。代付端在接收到代付请求和验证未通过信息时,可以在显示代付请求对应的图标或链接时,同时显示验证未通过提示信息或标识,以提示用户当前的代付请求为没有通过身份验证的代付请求,由用户决定是否继续进行代付操作。
[0135]可选的,在识别数据与预存验证数据不匹配时,服务器还可以不向代付端转发代付请求。可选的,服务器还可以向发起端返回验证未通过信息,以供发起端重新发送识别数据至服务器。
[0136]本发明提供的客户端,在接收到代付请求指令时,获取用户输入的识别数据,并将代付请求和所述识别数据发送至服务器,以供所述服务器在判定所述识别数据与预存验证数据匹配时向所述代付请求对应的代付端发送验证通过信息,从而能够安全可靠地核实发起端用户的身份,辨别代付请求是否由发起端用户本人发起的,有效地提高了在进行电子支付的代付功能时的安全性。
[0137]在本实施例中,服务器需要预先存储与所述发起端对应的预存验证数据。预存验证数据可以基于生物信息生成的生物数据,所述生物信息包括眼纹信息、指纹信息或人脸信息。预存验证数据还可以为用户预设的密码。例如,发起端可以在与服务器建立上述安全连接后,向服务器发送验证数据,以供服务器预存。用户可以触发发起端的验证数据上传控件,在发起端接收到验证数据上传指令时,则可显示一输入框,以供用户输入验证数据;或者打开摄像头,以供用户输入眼纹信息或人脸信息;或者打开麦克,以供用户输入声音信息;或者打开指纹录入模块,以供用户输入指纹信息。在发起端接收到用户输入的眼纹信息、人脸信息、声音信息或指纹信息后,将其转换为对应的生物验证码,以生成验证数据,并将生成的验证数据上传至服务器。
[0138]进一步地,基于本发明客户端的第一实施例,本发明还提出了客户端的第二实施例,发起端在向服务器发送验证数据前,可先对验证数据进行加密。
[0139]在本实施例中,发起端可以在本地产生一对密钥,即产生一对公钥和私钥,将私钥保存在本地,并将公钥发送至服务器。可选的,发起端可以在向服务器发送验证数据之前,先将公钥发送至服务器,服务器接收到公钥后,将公钥与发起端关联保存;或者也可以在向服务器发送验证数据时,将公钥发送至服务器。
[0140]发起端可以有两种加密方式:
[0141]—种加密方式为,所述第二发送模块520还用于在接收到用户输入的验证数据时,通过私钥对所述验证数据进行加密,并将加密的验证数据发送至服务器,以供所述服务器通过接收到的与所述私钥对应的公钥对所述加密的验证数据进行解密,并生成所述预存验证数据;本实施例中,服务器对验证数据解密后,将解密后的验证数据进行保存,即为所述预存验证数据,以供在后续接收到发起端发送的识别数据时,将该识别数据与预存验证数据进行匹配。
[0142]另一种加密方式为,所述第二发送模块520还用于在接收到用户输入的验证数据时,根据预设序列码与当前时间信息生成动态传输密码,并通过私钥和所述动态传输密码对所述验证数据进行加密,并将加密的验证数据发送至服务器,以供所述服务器通过接收到的与所述私钥对应的公钥和根据预设序列码与当前时间信息生成的动态传输密码对所述加密的验证数据进行解密,并生成所述预存验证数据。
[0143]在本实施例中,发起端可以利用保存在本地的预设序列码和当前时间信息生成一动态传输密码,并利用保存在本地的私钥和动态传输密码对验证数据进行二次加密。二次加密的顺序可以为先通过动态传输密码对验证数据加密,然后再通过私钥对验证数据加密。可选的,为了进一步提高传输效率和安全性,可以先通过私钥对验证数据加密,然后再生成动态传输密码,再通过动态传输密码对验证数据进行加密,从而保证了在基于当前时间信息生成动态传输密码的实时性和有效性。当前时间信息可以为当前时刻对应的时间段,例如,在当前时刻为12:35分时,则对应的时间段为12:30至12:40。则基于该时间段与预设序列码计算动态传输密码。
[0144]相应的,在发起端二次加密的顺序为先通过动态传输密码对验证数据加密,再通过私钥对验证数据加密时,则服务器在接收到验证数据时,先通过公钥对验证数据解密,然后再根据动态传输密码对验证数据解密。在发起端二次加密的顺序为先通过私钥对验证数据加密,再通过动态传输密码对验证数据进行加密时,则服务器在接收到验证数据时,先通过动态传输密码对验证数据解密,然后再通过公钥对验证数据解密。
[0145]服务器在生成动态传输密码时,当前时间信息可以为当前时刻对应的时间段,例如,在当前时刻为12: 36分时,则对应的时间段为12:30至12:40,则基于该时间段与预设序列码计算动态传输密码。由于发起端的加密速度和验证数据由发起端至服务器的传输速度一般较块,因此大部分情况下发起端计算动态传输密码对应的时间段和服务器计算动态传输密码对应的时间段均一致,因此服务器一般均能够完成解密。在某些情况下,若发起端计算动态传输密码对应的时间段与服务器计算动态传输密码对应的时间段不一致时,则服务器可向发起端返回解密失败信息,以供发起端重新对验证数据进行加密,并重新发送加密后的验证数据。
[0146]上述预设序列码可以为发起端生成的,且发起端将该预设序列码发送至服务器,以供服务器保存;也可以为用户基于发起端预设的,且发起端将该预设序列码发送至服务器,以供服务器保存;也可以为用户基于其他客户端预设的,且同时发送至服务器和发起端,以供服务器和发起端分别保存;也可以为服务器生成的,且服务器将该预设序列码发送至发起端,以供发起端保存。
[0147]在本实施例中,以所述预设序列码为服务器生成为例进行说明,可以进一步提高安全性。可选的,参照图8,图8为本发明客户端第二实施例的功能模块示意图,所述客户端还包括生成模块530和第三解密模块540,
[0148]所述生成模块530用于生成一对公钥和私钥,并将所述公钥发送至服务器;
[0149]所述第三解密模块540用于在接收到服务器返回的加密的预设序列码时,通过所述私钥对所述加密的预设序列码进行解密。
[0150]服务器在接收到公钥时,通过所述公钥对预设序列码进行加密;并将加密后的所述预设序列码发送至所述发起端。发起端在接收到预设序列码后,通过预存的私钥对接收到的预设序列码进行解密。本实施例通过服务器生成预设序列码,并且服务器通过公钥对预设序列码进行加密发送至发起端,发起端通过私钥对接收到的预设序列码进行解密,从而能够进一步提高发送预设序列码时的安全性。
[0151]本实施例通过对验证数据二次加密,从而进一步提高了数据传输时的安全性。且在加密过程中使用了动态传输密码,因此进一步提高了数据传输时的安全性。
[0152]进一步地,基于本发明客户端的第一或第二实施例,本发明还提出了服务器的第三实施例,发起端在向服务器发送识别数据之前,先对识别数据进行加密。发起端可以有两种加密方式:
[0153]—种加密方式为,利用保存在本地的私钥对识别数据进行加密。所述第二发送模块520还用于通过私钥对所述识别数据进行加密,并将加密后的识别数据发送至服务器,以供服务器基于接收到的与所述私钥对应的公钥对所述识别数据进行解密。该私钥和公钥可以为客户端第二实施例中产生的公钥,也可以为如客户端第二实施例所述的方式重新生成的一对私钥和公钥。
[0154]另一种加密方式为,所述第二发送模块520还用于根据预设序列码与当前时间信息生成动态传输密码,并通过私钥和所述动态传输密码对所述识别数据进行加密,并将加密后的识别数据发送至服务器,以供所述服务器通过接收到的与所述私钥对应的公钥和根据预设序列码与当前时间信息生成的动态传输密码对所述识别数据进行解密。在本实施例中,可以利用保存在本地的预设序列码和当前时间信息生成一动态传输密码,并利用保存在本地的私钥和动态传输密码对识别数据进行二次加密。二次加密的顺序可以为先通过动态传输密码对识别数据加密,然后再通过私钥对识别数据加密。可选的,为了进一步提高传输效率和安全性,可以先通过私钥对识别数据加密,然后再生成动态传输密码,再通过动态传输密码对识别数据进行加密,从而保证了在基于当前时间信息生成动态传输密码的实时性和有效性。当前时间信息可以为当前时刻对应的时间段,例如,在当前时刻为12:35分时,则对应的时间段为12:30至12:40。则基于该时间段与预设序列码计算动态传输密码。
[0155]此时,服务器根据预设序列码与当前时间信息生成动态传输密码,通过所述动态传输密码和所述发起端发送的公钥对获取的所述识别数据进行解密。相应的,在发起端二次加密的顺序为先通过动态传输密码对识别数据加密,再通过私钥对识别数据加密时,则服务器在
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1