具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的交易报文的处理方法和系统。
为了更好理解本发明实施例所述的交易报文的处理方法和系统,首先说明本发明实施例中所述的用户公钥和用户私钥的生成过程,可以采用现有的用户公私钥对的生成方法生成用户公私钥对,即由银行生成用户公私钥对并下发给移动终端,可以采用如下方式生成用户公私钥对:移动终端接收注册指令,并根据注册指令与移动银行服务器建立连接,以及生成一对用户公钥和私钥;移动终端利用预存的移动银行服务器的公钥对账号信息(可以包括手机号码、银行卡号和登陆密码/登陆密码哈希值)、硬件信息(硬件特征信息/硬件特征信息的哈希值)、第一验证信息(可以为图形验证码)以及第一随机数进行加密,并将加密之后的信息发送至移动银行服务器;移动银行服务器利用移动银行服务器的私钥对来自移动终端的信息进行解密,以获得账号信息、硬件信息、第一验证信息以及第一随机数,保存硬件信息和第一随机数,对第一验证信息进行验证,验证通过后将账号信息发送至银行综合前置服务器;银行综合前置服务器对来自移动银行服务器的账号信息进行验证,发送验证结果至移动银行服务器;在验证结果为正确时,移动银行服务器生成第二随机数和第二验证信息(短信形式下发的验证码),并将第二随机数和第二验证信息发送至移动终端;移动终端根据第一随机数和第二随机数对第二验证信息和用户公钥进行加密以生成三验证信息,并根据用户私钥对硬件信息(硬件特征信息/硬件特征信息的哈希值)进行签名以生成第一签名信息,并将第三验证信息、用户公钥和第一签名信息发送至移动银行服务器;移动银行服务器对来自移动终端的第三验证信息进行验证及对第一签名信息进行验签,并在验证通过且验签通过后将用户公钥发送至第三方电子商务认证服务器进行认证签名,以生成用户公钥证书并保存。由此可见用户公钥和用户私钥在移动终端中生成,保存在移动银行服务器中的用户公钥经过双方验证,保证移动终端为安全的终端。
图1为根据本发明一个实施例的交易报文的处理方法的流程图。
如图1所示,根据本发明实施例的交易报文的处理方法包括下述步骤。
步骤S101,移动终端接收用户的交易信息,并生成第三随机数。
具体地,交易信息至少包括交易账号和交易金额。
步骤S102,移动终端根据第三随机数、移动终端的硬件信息、用户私钥、移动银行服务器的公钥以及银行综合前置服务器的公钥对交易信息进行加密以生成交易报文,并将交易报文发送至移动银行服务器。
该步骤的硬件信息为移动终端的硬件特征信息或移动终端的硬件特征信息的哈希值。其中,硬件特征信息可以包括移动终端的设备序列号或网卡的MAC地址等。
步骤S103,移动银行服务器根据移动银行服务器的私钥和存储的移动终端的硬件信息对交易报文进行解密,并根据用户公钥进行验签。
步骤S104,如果通过验签,移动银行服务器生成加密密钥,并根据加密密钥、移动银行服务器的私钥、银行综合前置服务器的公钥和交易信息生成数字信封,并将数字信封发送至银行综合前置服务器。其中如果未通过验签,提示用户在移动银行服务器中验签失败。
步骤S105,银行综合前置服务器根据银行综合前置服务器的私钥和移动银行服务器的公钥对数字信封进行解密获取交易信息,并根据移动银行服务器的公钥进行验签,并在通过验签后,完成交易。
根据本发明实施例的交易报文的处理方法,在移动终端根据第三随机数、移动终端的硬件信息、用户私钥和移动银行服务器的公钥对交易信息进行加密以获取交易报文,并在移动银行服务器中对交易报文进行验证,可以保证银行综合前置服务器接收到的交易信息是来自于用户使用的安全的终端,同时保证交易信息在移动终端、移动银行服务器和银行综合前置服务器之间的安全传输,保证移动支付的安全。
图2为根据本发明一个具体实施例的交易报文的处理方法的流程图。
如图2所示,根据本发明实施例的交易报文的处理方法包括下述步骤。
步骤S201,移动终端接收用户的交易信息,并生成第三随机数。
其中,每次进行交易报文处理时均生成第三随机数,且每次生成的第三随机数都不同。
具体地,交易信息至少包括交易账号和交易金额。
步骤S202,移动终端根据银行综合前置服务器的公钥对交易密码进行加密获得交易密码的密文,并根据用户私钥对交易信息和交易密码的密文进行签名以生成第一数字签名。
其中,交易密码的密文根据银行综合前置服务器的公钥对交易密码加密生成,对交易密码加密可以保证交易密码的安全,保证电子渠道的全程不落地。当然,本实施例中的移动终端还可根据银行综合前置服务器的公钥对交易密码的哈希值进行加密获得交易密码的密文。
步骤S203,移动终端根据随机数和移动终端的硬件信息生成加密参数密钥,并根据加密参数密钥对交易信息和交易密码的密文进行加密以生成第一报文密文。
具体地,移动终端提取移动终端的硬件特征信息,利用第三随机数和移动终端的硬件特征信息生成加密参数密钥,根据加密参数密钥对交易信息和交易密码的密文进行加密以生成第一报文密文;其中移动终端根据加密参数密钥,可以采用3DES(TripleDES、三重数据加密算法)或者AES(AdvancedEncryptionStandard、高级加密标准)算法等加密交易信息和交易密码的密文以生成第一报文密文;或者,
移动终端提取移动终端的硬件特征信息,计算硬件特征信息的哈希值,利用第三随机数和移动终端的硬件特征信息的哈希值生成加密参数密钥,根据加密参数密钥对交易信息和交易密码的密文进行加密以生成第一报文密文;其中移动终端根据加密参数密钥,可以采用3DES(TripleDES、三重数据加密算法)或者AES(AdvancedEncryptionStandard、高级加密标准)算法等加密交易信息和交易密码的密文以生成第一报文密文。
步骤S204,移动终端根据移动银行服务器的公钥对第三随机数进行加密以生成第一密钥密文。
应理解,步骤S202、S203和S204的执行可以不分先后顺序。
步骤S205,移动终端将第一数字签名、第一报文密文和第一密钥密文作为交易报文发送至移动银行服务器。
上述步骤为移动终端将交易信息发送至移动银行服务器之前的加密处理流程,移动银行服务器接收到移动终端发送的交易报文之后,进行以下处理,即移动银行服务器对移动终端发送的交易报文进行解密处理。
步骤S206,移动银行服务器根据移动银行服务器的私钥对第一密钥密文进行解密以获取第三随机数。
步骤S207,移动银行服务器根据第三随机数和存储的移动终端的硬件信息生成加密参数密钥,并根据加密参数密钥对第一报文密文进行解密以获取交易信息和交易密码的密文。
具体地,移动银行服务器利用生成数字证书的过程中存储的移动终端的硬件特征信息和第三随机数,或者利用生成数字证书的过程中存储的移动终端的硬件特征信息的哈希值和第三随机数,重新计算得到加密参数密钥,移动银行服务器利用自己计算所得的加密参数密钥解密接收到的第一报文密文,得到交易信息和交易密码的密文。
步骤S208,移动银行服务器根据存储的用户公钥证书对第一数字签名进行验签。
具体地,移动银行服务器从用户公钥证书中获取用户公钥,利用用户公钥对第一数字签名进行验签。
步骤S209,如果未通过验签,提示用户在移动银行服务器中验签失败。
步骤S210,如果通过验签,移动银行服务器生成加密密钥。
其中,加密密钥使用对称加密密钥。
具体地,如果通过验签,说明是安全的移动终端发送的交易报文,继续执行下述的步骤,下述步骤为移动银行服务器对交易信息进行加密处理的流程。
步骤S211,移动银行服务器根据加密密钥对交易信息和交易密码的密文进行加密以生成第二报文密文。
步骤S212,移动银行服务器根据银行综合前置服务器的公钥对加密密钥进行加密以生成第二密钥密文。
其中,该加密方式可以与移动终端对交易信息的加密方式相同。
步骤S213,移动银行服务器根据移动银行服务器的私钥对交易信息和交易密码的密文进行签名以生成第二数字签名。
步骤S214,移动银行服务器将第二数字签名、第二报文密文和第二密钥密文作为数字信封发送至银行综合前置服务器。
银行综合前置服务器接收到数字信封之后,继续执行下述的步骤,即银行综合前置服务器对移动银行服务器发送的信息进行解密处理的流程。
步骤S215,银行综合前置服务器根据银行综合前置服务器的私钥对第二密钥密文进行解密以获取加密密钥。
步骤S216,银行综合前置服务器根据加密密钥对第二报文密文进行解密以获取交易信息和交易密码的密文。
为了保证交易密码的安全,保证电子渠道的全程不落地,交易密码在经由移动终端、移动银行服务器发往银行综合前置服务器的过程中,采用交易密码的密文的形式进行传输;银行综合前置服务器解密获得交易密码的密文后,可进一步根据银行综合前置服务器的私钥对交易密码的密文进行解密,获得交易密码并发送至后端的银行系统中。
步骤S217,银行综合前置服务器根据移动银行服务器的公钥对第二数字签名进行验签。
步骤S218,如果通过验签,则银行综合前置服务器根据交易信息完成交易。
步骤S219,如果未通过验签,提示移动银行服务器验签失败并向移动终端发送验证失败信息。
根据本发明实施例的交易报文的处理方法,进一步保证交易信息在移动终端、移动银行服务器和银行综合前置服务器之间的安全传输,保证移动支付的安全。
图3为根据本发明一个实施例的交易报文的处理系统的结构示意图。
如图3所示,根据本发明实施例的交易报文的处理系统包括:移动终端10、移动银行服务器20和银行综合前置服务器30。
具体地,移动终端10用于接收用户的交易信息,并生成第三随机数,其中,每次进行交易报文处理时均生成第三随机数,且每次生成的第三随机数都不同,并根据第三随机数、移动终端10的硬件信息、用户私钥、移动银行服务器20的公钥和银行综合前置服务器30的公钥对交易信息进行加密以生成交易报文,以及将交易报文发送至移动银行服务器20。其中,硬件信息为移动终端的硬件特征信息或硬件特征信息的哈希值;硬件特征信息可以包括移动终端的设备序列号或网卡的MAC地址等。
在本发明的一个实施例中,交易信息可以包括交易账号和交易金额。
更具体地,首先,移动终端10根据用户私钥对交易信息和交易密码的密文进行签名以生成第一数字签名,并根据第三随机数和移动终端10的硬件信息生成加密参数密钥,并根据加密参数密钥对交易信息和交易密码的密文进行加密以生成第一报文密文;其中移动终端10根据加密参数密钥,可以采用3DES或者AES算法等加密交易信息和交易密码的密文以生成第一报文密文,并根据移动银行服务器20的公钥对第三随机数进行加密以生成第一密钥密文,之后,将第一数字签名、第一报文密文和第一密钥密文作为交易报文发送至移动银行服务器20。
移动银行服务器20用于根据移动银行服务器20的私钥和存储的移动终端10的硬件特征信息对交易报文进行解密,并根据用户公钥进行验签,并在通过验签时生成加密密钥,并根据加密密钥、移动银行服务器20的私钥、银行综合前置服务器30的公钥和交易信息生成数字信封,以及将数字信封发送至银行综合前置服务器30。
更具体地,首先,移动银行服务器20根据移动银行服务器20的私钥对第一密钥密文进行解密以获取第三随机数,然后,根据第三随机数和移动终端10的硬件信息生成加密参数密钥,其中移动银行服务器20利用数据库中预先存储的移动终端10的硬件特征信息和第三随机数、或利用数据库中预先存储的移动终端10的硬件特征信息的哈希值和第三随机数,重新计算得到加密参数密钥,移动终端10的硬件特征信息哈希值或硬件特征在移动终端10的用户进行注册生成用户公钥和用户私钥的过程中存储在移动银行服务器20的数据库中,之后,根据移动银行服务器20利用自己计算所得的加密参数密钥对第一报文密文进行解密以获取交易信息和交易密码的密文。再之后,移动银行服务器20根据用户公钥对第一数字签名进行验签,其中移动银行服务器20从用户公钥证书中获取用户公钥,使用既定的非对称算法的验算方法进行验签,并在未通过验签时,提示用户在移动银行服务器20中验签失败,在验签通过时,说明是安全的移动终端发送的交易报文,移动银行服务器20生成加密密钥,其中,加密密钥可以使用对称加密密钥。
移动银行服务器20根据加密密钥对交易信息和交易密码的密文进行加密以生成第二报文密文;移动银行服务器20根据银行综合前置服务器30的公钥对加密密钥进行加密以生成第二密钥密文,其中,该加密方式可以与移动终端对交易信息和交易密码的密文的加密方式相同;然后,移动银行服务器20根据移动银行服务器20的私钥对交易信息和交易密码的密文进行签名以生成第二数字签名,移动银行服务器20将第二数字签名、第二报文密文和第二密钥密文作为数字信封发送至银行综合前置服务器30。
银行综合前置服务器30用于根据银行综合前置服务器30的私钥和移动银行服务器20的公钥对数字信封进行解密获取交易信息,并根据移动银行服务器20的公钥进行验签,并在通过验签后,完成交易。
更具体地,首先,银行综合前置服务器30根据银行综合前置服务器30的私钥对第二密钥密文进行解密以获取加密密钥。然后,银行综合前置服务器30根据加密密钥对第二报文密文进行解密以获取交易信息和交易密码的密文。之后,银行综合前置服务器30根据移动银行服务器20的公钥对第二数字签名进行验签,并在验签通过时银行综合前置服务器30根据交易信息完成交易,如果未通过验签,提示移动银行服务器20验签失败并向移动终端10发送验证失败信息。
为了保证交易密码的安全,保证电子渠道的全程不落地,交易密码在经由移动终端10、移动银行服务器20发往银行综合前置服务器30的过程中,采用交易密码的密文的形式进行传输;银行综合前置服务器30解密获得交易密码的密文后,可进一步根据银行综合前置服务器的私钥对交易密码的密文进行解密,获得交易密码并发送至后端的银行系统中。
根据本发明交易报文的处理系统,在移动终端根据随机数、移动终端的硬件信息、用户私钥和移动银行服务器的公钥对交易信息进行加密以获取交易报文,并在移动银行服务器中对交易报文进行验证,可以保证银行综合前置服务器接收到的交易信息是来自于用户使用的安全的终端,同时保证交易信息在移动终端、移动银行服务器和银行综合前置服务器之间的安全传输,保证移动支付的安全。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。