本發(fā)明涉及移動(dòng)支付技術(shù)領(lǐng)域,尤其是一種應(yīng)用內(nèi)支付的雙向認(rèn)證方法和系統(tǒng)。
背景技術(shù):
在智能手機(jī)或智能機(jī)頂盒的應(yīng)用內(nèi)支付場(chǎng)景中,一個(gè)完整的客戶(hù)端支付流程包括支付觸發(fā)、訂單傳遞、支付界面呈現(xiàn)、交易信息傳遞、扣款等過(guò)程。在支付過(guò)程中,訂單和銀行卡的敏感信息會(huì)在應(yīng)用系統(tǒng)與支付系統(tǒng)間傳遞。
但是,應(yīng)用系統(tǒng)內(nèi)的應(yīng)用客戶(hù)端和支付系統(tǒng)內(nèi)的支付客戶(hù)端有可能會(huì)被仿冒、傳輸?shù)臄?shù)據(jù)有可能被截取或篡改,從而無(wú)法保證支付過(guò)程的安全性。例如,若支付客戶(hù)端被仿冒,會(huì)導(dǎo)致用戶(hù)銀行卡、第三方賬戶(hù)、密碼、身份等敏感信息被竊取,用戶(hù)資金丟失等安全問(wèn)題;若應(yīng)用客戶(hù)端被仿冒,會(huì)導(dǎo)致第三方賬戶(hù)資金付款至危險(xiǎn)賬戶(hù),用戶(hù)銀行卡、密碼等敏感信息被泄露,用戶(hù)資金丟失等安全問(wèn)題。
現(xiàn)有技術(shù)中多是客戶(hù)端與服務(wù)端之間進(jìn)行身份認(rèn)證,但這無(wú)法解決應(yīng)用客戶(hù)端與支付客戶(hù)端不被仿冒的問(wèn)題,從而引發(fā)應(yīng)用內(nèi)支付的安全問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題是:解決應(yīng)用內(nèi)支付的不安全性問(wèn)題。
本發(fā)明實(shí)施例提供的一種應(yīng)用內(nèi)支付的雙向認(rèn)證方法,包括:應(yīng)用系統(tǒng)對(duì)生成的訂單進(jìn)行簽名,并將簽名后的訂單傳給支付系統(tǒng);支付系統(tǒng)對(duì)收到的訂單進(jìn)行驗(yàn)簽,并在驗(yàn)簽通過(guò)后進(jìn)行支付操作,產(chǎn)生支付結(jié) 果;支付系統(tǒng)對(duì)支付結(jié)果進(jìn)行簽名,并將簽名后的支付結(jié)果傳給應(yīng)用系統(tǒng);應(yīng)用系統(tǒng)對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽,并將驗(yàn)簽通過(guò)后的支付結(jié)果通知用戶(hù)。
在一個(gè)實(shí)施例中,應(yīng)用系統(tǒng)對(duì)生成的訂單進(jìn)行簽名前,對(duì)訂單進(jìn)行加密,并將加密和簽名后的訂單傳給支付系統(tǒng);支付系統(tǒng)對(duì)收到的訂單進(jìn)行驗(yàn)簽后,對(duì)訂單進(jìn)行解密,并在驗(yàn)簽通過(guò)和解密后進(jìn)行支付操作,產(chǎn)生支付結(jié)果。
在一個(gè)實(shí)施例中,支付系統(tǒng)對(duì)支付結(jié)果進(jìn)行簽名后,對(duì)支付結(jié)果進(jìn)行加密,并將簽名和加密后的支付結(jié)果傳給應(yīng)用系統(tǒng);應(yīng)用系統(tǒng)對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽后,對(duì)支付結(jié)果進(jìn)行解密,并將驗(yàn)簽通過(guò)和解密后的支付結(jié)果通知用戶(hù)。
在一個(gè)實(shí)施例中,所述應(yīng)用系統(tǒng)包括應(yīng)用客戶(hù)端;和/或所述支付系統(tǒng)包括支付客戶(hù)端。
在一個(gè)實(shí)施例中,所述應(yīng)用系統(tǒng)包括應(yīng)用客戶(hù)端和應(yīng)用服務(wù)器;所述支付系統(tǒng)包括支付客戶(hù)端和支付服務(wù)器;所述應(yīng)用客戶(hù)端利用內(nèi)置的支付公鑰對(duì)生成的訂單進(jìn)行加密;所述應(yīng)用服務(wù)器利用應(yīng)用私鑰對(duì)加密后的訂單進(jìn)行簽名;所述支付客戶(hù)端利用內(nèi)置的應(yīng)用公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽;所述支付服務(wù)器利用支付私鑰對(duì)驗(yàn)簽通過(guò)后的訂單進(jìn)行解密。
在一個(gè)實(shí)施例中,所述應(yīng)用系統(tǒng)包括應(yīng)用客戶(hù)端和應(yīng)用服務(wù)器;所述支付系統(tǒng)包括支付客戶(hù)端和支付服務(wù)器;所述支付服務(wù)器利用支付私鑰對(duì)支付結(jié)果進(jìn)行簽名;所述支付客戶(hù)端利用內(nèi)置的應(yīng)用公鑰對(duì)簽名后的支付結(jié)果進(jìn)行加密;所述應(yīng)用客戶(hù)端利用內(nèi)置的支付公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽;所述應(yīng)用服務(wù)器利用應(yīng)用私鑰對(duì)驗(yàn)簽通過(guò)后的支付結(jié)果進(jìn)行解密。
本發(fā)明實(shí)施例提供的一種應(yīng)用內(nèi)支付的雙向認(rèn)證系統(tǒng),包括:應(yīng)用系統(tǒng),用于對(duì)生成的訂單進(jìn)行簽名,并將簽名后的訂單傳給支付系統(tǒng);對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽,并將驗(yàn)簽通過(guò)后的支付結(jié)果通知用戶(hù);支付系統(tǒng),用于對(duì)收到的訂單進(jìn)行驗(yàn)簽,并在驗(yàn)簽通過(guò)后進(jìn)行支付操作,產(chǎn)生支付結(jié)果;對(duì)支付結(jié)果進(jìn)行簽名,并將簽名后的支付結(jié)果傳給應(yīng)用 系統(tǒng)。
在一個(gè)實(shí)施例中,所述應(yīng)用系統(tǒng),還用于在對(duì)生成的訂單進(jìn)行簽名前,對(duì)訂單進(jìn)行加密,并將加密和簽名后的訂單傳給支付系統(tǒng);所述支付系統(tǒng),還用于對(duì)收到的訂單進(jìn)行驗(yàn)簽后,對(duì)訂單進(jìn)行解密,并在驗(yàn)簽通過(guò)和解密后進(jìn)行支付操作,產(chǎn)生支付結(jié)果。
在一個(gè)實(shí)施例中,所述支付系統(tǒng),還用于在對(duì)支付結(jié)果進(jìn)行簽名后,對(duì)支付結(jié)果進(jìn)行加密,并將簽名和加密后的支付結(jié)果傳給應(yīng)用系統(tǒng);所述應(yīng)用系統(tǒng),還用于對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽后,對(duì)支付結(jié)果進(jìn)行解密,并將驗(yàn)簽通過(guò)和解密后的支付結(jié)果通知用戶(hù)。
在一個(gè)實(shí)施例中,所述應(yīng)用系統(tǒng)包括應(yīng)用客戶(hù)端;和/或所述支付系統(tǒng)包括支付客戶(hù)端。
在一個(gè)實(shí)施例中,所述應(yīng)用系統(tǒng)包括應(yīng)用客戶(hù)端和應(yīng)用服務(wù)器;所述支付系統(tǒng)包括支付客戶(hù)端和支付服務(wù)器;所述應(yīng)用客戶(hù)端,用于利用內(nèi)置的支付公鑰對(duì)生成的訂單進(jìn)行加密;所述應(yīng)用服務(wù)器,用于利用應(yīng)用私鑰對(duì)加密后的訂單進(jìn)行簽名;所述支付客戶(hù)端,用于利用內(nèi)置的應(yīng)用公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽;所述支付服務(wù)器,用于利用支付私鑰對(duì)驗(yàn)簽通過(guò)后的訂單進(jìn)行解密。
在一個(gè)實(shí)施例中,所述應(yīng)用系統(tǒng)包括應(yīng)用客戶(hù)端和應(yīng)用服務(wù)器;所述支付系統(tǒng)包括支付客戶(hù)端和支付服務(wù)器;所述支付服務(wù)器,用于利用支付私鑰對(duì)支付結(jié)果進(jìn)行簽名;所述支付客戶(hù)端,用于利用內(nèi)置的應(yīng)用公鑰對(duì)簽名后的支付結(jié)果進(jìn)行加密;所述應(yīng)用客戶(hù)端,用于利用內(nèi)置的支付公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽;所述應(yīng)用服務(wù)器,用于利用應(yīng)用私鑰對(duì)驗(yàn)簽通過(guò)后的支付結(jié)果進(jìn)行解密。
本發(fā)明在應(yīng)用系統(tǒng)和支付系統(tǒng)之間增加了對(duì)訂單和支付結(jié)果進(jìn)行簽名和解簽的操作,實(shí)現(xiàn)了應(yīng)用系統(tǒng)和支付系統(tǒng)之間的雙向認(rèn)證,從而保證只有經(jīng)過(guò)認(rèn)證的應(yīng)用系統(tǒng)和支付系統(tǒng)才能夠獲取相關(guān)信息。與現(xiàn)有技術(shù)中訂單和支付結(jié)果直接在兩個(gè)系統(tǒng)之間傳遞相比,提升了應(yīng)用內(nèi)支付的安全性。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法一個(gè)實(shí)施例的示意圖;
圖2是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法另一個(gè)實(shí)施例的示意圖;
圖3是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法又一個(gè)實(shí)施例的示意圖;
圖4是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法再一個(gè)實(shí)施例的示意圖;
圖5是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法還一個(gè)實(shí)施例的示意圖;
圖6是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法一個(gè)應(yīng)用實(shí)施例的示意圖;
圖7是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
除非另外具體說(shuō)明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。
對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說(shuō)明書(shū)的一部分。
在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具 有不同的值。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類(lèi)似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
本發(fā)明針對(duì)現(xiàn)有技術(shù)中應(yīng)用內(nèi)支付時(shí)存在的安全隱患問(wèn)題,提出了在應(yīng)用系統(tǒng)和支付系統(tǒng)進(jìn)行雙向認(rèn)證的方法,該方法不需要對(duì)現(xiàn)有網(wǎng)絡(luò)進(jìn)行大幅改動(dòng),適用于在應(yīng)用內(nèi)支付場(chǎng)景下的客戶(hù)端交易,例如適于但不限于基于智能手機(jī)或智能機(jī)頂盒的應(yīng)用內(nèi)支付場(chǎng)景。
圖1是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法一個(gè)實(shí)施例的流程示意圖。如圖1所示,本實(shí)施例的方法包括如下步驟:
步驟102,應(yīng)用系統(tǒng)對(duì)生成的訂單進(jìn)行簽名,并將簽名后的訂單傳給支付系統(tǒng)。
步驟104,支付系統(tǒng)對(duì)收到的訂單進(jìn)行驗(yàn)簽,并在驗(yàn)簽通過(guò)后進(jìn)行支付操作,產(chǎn)生支付結(jié)果。
步驟106,支付系統(tǒng)對(duì)支付結(jié)果進(jìn)行簽名,并將簽名后的支付結(jié)果傳給應(yīng)用系統(tǒng);
步驟108,應(yīng)用系統(tǒng)對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽,并將驗(yàn)簽通過(guò)后的支付結(jié)果通知用戶(hù)。
下面以訂單為例,對(duì)本發(fā)明實(shí)施例中的簽名和驗(yàn)簽的過(guò)程進(jìn)行說(shuō)明。后續(xù)提到的簽名和驗(yàn)簽均可以參照下面的方法進(jìn)行。然而,應(yīng)理解,本發(fā)明并不限于下述具體的簽名和驗(yàn)簽方法。
一、簽名過(guò)程
應(yīng)用系統(tǒng)可以采用如下方式對(duì)生成的訂單進(jìn)行簽名:首先,采用散列算法,例如安全散列算法SHA1、SHA2(包括SHA256、SHA512等)、哈希算法MD5等,對(duì)訂單進(jìn)行散列運(yùn)算,生成相應(yīng)長(zhǎng)度的散列值;然后,采用非對(duì)稱(chēng)加密算法,例如RSA算法和支付私鑰對(duì)散列值進(jìn)行加密,生成數(shù)字簽名文件。
二、驗(yàn)簽過(guò)程
支付系統(tǒng)采用與簽名相同的散列算法和非對(duì)稱(chēng)加密算法對(duì)收到的訂 單進(jìn)行驗(yàn)簽。例如,簽名時(shí)采用SHA512散列算法生成512位的散列值md.txt,采用RSA算法和支付私鑰對(duì)散列值md.txt進(jìn)行加密,則支付系統(tǒng)可以采用如下方式對(duì)訂單進(jìn)行驗(yàn)簽:采用SHA512散列算法對(duì)訂單進(jìn)行散列運(yùn)算,生成512位的散列值md.txt;利用RSA算法和支付公鑰解密數(shù)字簽名文件,還原散列值md_ver.txt;比較散列值md.txt和散列值md_ver.txt是否一致,若一致,則驗(yàn)簽通過(guò)。
應(yīng)理解,支付系統(tǒng)對(duì)支付結(jié)果的簽名、以及應(yīng)用系統(tǒng)對(duì)支付結(jié)果的和驗(yàn)簽過(guò)程可以參照上述簽名和驗(yàn)簽過(guò)程。在此不再贅述。
本實(shí)施例在應(yīng)用系統(tǒng)和支付系統(tǒng)之間增加了對(duì)訂單和支付結(jié)果進(jìn)行簽名和解簽的操作,實(shí)現(xiàn)了應(yīng)用系統(tǒng)和支付系統(tǒng)之間的雙向認(rèn)證,從而保證只有經(jīng)過(guò)認(rèn)證的應(yīng)用系統(tǒng)和支付系統(tǒng)才能夠獲取相關(guān)信息。與現(xiàn)有技術(shù)中訂單和支付結(jié)果直接在兩個(gè)系統(tǒng)之間傳遞相比,提升了應(yīng)用內(nèi)支付的安全性。
為了保證訂單不會(huì)被截取和篡改,進(jìn)一步提升支付的安全性,除了對(duì)訂單進(jìn)行簽名之外,還可以對(duì)訂單進(jìn)行加密。圖2是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法另一個(gè)實(shí)施例的流程示意圖。如圖2所示,本實(shí)施例的雙向認(rèn)證方法包括如下步驟:
步驟202,應(yīng)用系統(tǒng)對(duì)生成的訂單進(jìn)行簽名前,對(duì)訂單進(jìn)行加密,并將加密和簽名后的訂單傳給支付系統(tǒng);
步驟204,支付系統(tǒng)對(duì)收到的訂單進(jìn)行驗(yàn)簽后,對(duì)訂單進(jìn)行解密,并在驗(yàn)簽通過(guò)和解密后進(jìn)行支付操作,產(chǎn)生支付結(jié)果;
步驟206,支付系統(tǒng)對(duì)支付結(jié)果進(jìn)行簽名,并將簽名后的支付結(jié)果傳給應(yīng)用系統(tǒng);
步驟208,應(yīng)用系統(tǒng)對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽,并將驗(yàn)簽通過(guò)后的支付結(jié)果通知用戶(hù)。
其中,步驟206與步驟208與圖1所示實(shí)施例的步驟106與步驟108相同。本實(shí)施例進(jìn)一步提升了支付的安全性。
類(lèi)似地,為了保證支付結(jié)果不會(huì)被截取和篡改,進(jìn)一步提升支付的安全性,除了對(duì)支付結(jié)果進(jìn)行簽名之外,還對(duì)支付結(jié)果進(jìn)行加密。圖3 是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法又一個(gè)實(shí)施例的流程示意圖。如圖3所示,本實(shí)施例的雙向認(rèn)證方法包括如下步驟:
步驟302,應(yīng)用系統(tǒng)對(duì)生成的訂單進(jìn)行簽名,并將簽名后的訂單傳給支付系統(tǒng)。
步驟304,支付系統(tǒng)對(duì)收到的訂單進(jìn)行驗(yàn)簽,并在驗(yàn)簽通過(guò)后進(jìn)行支付操作,產(chǎn)生支付結(jié)果。
步驟306,支付系統(tǒng)對(duì)支付結(jié)果進(jìn)行簽名后,對(duì)支付結(jié)果進(jìn)行加密,并將簽名和加密后的支付結(jié)果傳給應(yīng)用系統(tǒng);
步驟308,應(yīng)用系統(tǒng)對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽后,對(duì)支付結(jié)果進(jìn)行解密,并將驗(yàn)簽通過(guò)和解密后的支付結(jié)果通知用戶(hù)。
其中,步驟302與步驟304與圖1所示實(shí)施例的步驟102與步驟104相同。本實(shí)施例進(jìn)一步提升了支付的安全性。
需要說(shuō)明的是,圖2中的步驟202和步驟204以及圖3所示實(shí)施例的步驟306和步驟308可以組合,從而在雙向認(rèn)證的過(guò)程中可以對(duì)訂單和認(rèn)證結(jié)果都進(jìn)行簽名,同時(shí)也對(duì)訂單和認(rèn)證結(jié)果都進(jìn)行加密,從而進(jìn)一步提高支付的安全性。
圖1至圖3所示的實(shí)施例中,應(yīng)用系統(tǒng)也可以?xún)H包括應(yīng)用服務(wù)器,支付系統(tǒng)也可以?xún)H包括支付服務(wù)器。
圖4是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法還一個(gè)實(shí)施例的流程示意圖。本實(shí)施例,應(yīng)用系統(tǒng)包括應(yīng)用客戶(hù)端,支付系統(tǒng)包括支付客戶(hù)端,與圖1所示實(shí)施例相比,本實(shí)施例由應(yīng)用客戶(hù)端和支付客戶(hù)端實(shí)現(xiàn)簽名和驗(yàn)簽的操作。如圖4所示,本實(shí)施例的方法包括如下步驟:
步驟402,應(yīng)用客戶(hù)端對(duì)生成的訂單進(jìn)行簽名,并將簽名后的訂單傳給支付客戶(hù)端;
步驟404,支付客戶(hù)端對(duì)收到的訂單進(jìn)行驗(yàn)簽,并在驗(yàn)簽通過(guò)后進(jìn)行支付操作,產(chǎn)生支付結(jié)果;
步驟406,支付客戶(hù)端對(duì)支付結(jié)果進(jìn)行簽名,并將簽名后的支付結(jié)果傳給應(yīng)用客戶(hù)端;
步驟408,應(yīng)用客戶(hù)端對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽,并將驗(yàn)簽通過(guò) 后的支付結(jié)果通知用戶(hù)。
本實(shí)施例雙向認(rèn)證方法中,可以將簽名和驗(yàn)簽的操作通過(guò)應(yīng)用客戶(hù)端和支付客戶(hù)端來(lái)實(shí)現(xiàn)。
圖5是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法再一個(gè)實(shí)施例的流程示意圖。本實(shí)施例中,應(yīng)用系統(tǒng)可以包括應(yīng)用客戶(hù)端和應(yīng)用服務(wù)器;支付系統(tǒng)可以包括支付客戶(hù)端和支付服務(wù)器。如圖5所示,本實(shí)施例的方法包括如下步驟:
步驟502,應(yīng)用客戶(hù)端利用內(nèi)置的支付公鑰對(duì)生成的訂單進(jìn)行加密,之后將訂單傳給應(yīng)用服務(wù)器;
步驟504,應(yīng)用服務(wù)器利用CA(證書(shū)授權(quán))中心分發(fā)的應(yīng)用私鑰對(duì)加密后的訂單進(jìn)行簽名,之后回傳給應(yīng)用客戶(hù)端,由應(yīng)用客戶(hù)端將加密和簽名后的訂單傳給支付客戶(hù)端。
步驟506,支付客戶(hù)端利用內(nèi)置的應(yīng)用公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽,驗(yàn)簽通過(guò)后將訂單傳給支付服務(wù)器;
步驟508,支付服務(wù)器利用CA中心分發(fā)的支付私鑰對(duì)驗(yàn)簽通過(guò)后的訂單進(jìn)行解密,之后回傳給支付客戶(hù)端。支付客戶(hù)端收集用戶(hù)支付要素,執(zhí)行支付操作,向支付服務(wù)器傳遞扣款請(qǐng)求;支付服務(wù)器扣款成功后,產(chǎn)生支付結(jié)果。
步驟510,支付服務(wù)器利用CA中心分發(fā)的支付私鑰對(duì)支付結(jié)果進(jìn)行簽名,之后傳給支付客戶(hù)端,并將支付結(jié)果通知應(yīng)用服務(wù)器;
步驟512,支付客戶(hù)端利用內(nèi)置的應(yīng)用公鑰對(duì)簽名后的支付結(jié)果進(jìn)行加密,之后傳給應(yīng)用客戶(hù)端。
步驟514,應(yīng)用客戶(hù)端利用內(nèi)置的支付公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽,之后傳給應(yīng)用服務(wù)器申請(qǐng)解密;
步驟516,應(yīng)用服務(wù)器利用CA中心分發(fā)的應(yīng)用私鑰對(duì)驗(yàn)簽通過(guò)后的支付結(jié)果進(jìn)行解密,之后將支付結(jié)果通過(guò)應(yīng)用客戶(hù)端通知給用戶(hù)。
本實(shí)施例中,應(yīng)用客戶(hù)端預(yù)制支付私鑰,同時(shí)在應(yīng)用服務(wù)器存儲(chǔ)應(yīng)用私鑰;支付客戶(hù)端預(yù)制應(yīng)用私鑰,同時(shí)在支付服務(wù)器存儲(chǔ)支付私鑰。一方面,可以保證數(shù)據(jù)來(lái)源的合法性,保證只有經(jīng)過(guò)認(rèn)證的客戶(hù)端能夠 讀取數(shù)據(jù)信息,保證應(yīng)用客戶(hù)端和支付客戶(hù)端不被仿冒;另一方面,也可以保證數(shù)據(jù)在傳輸過(guò)程中不會(huì)被截取和篡改。
圖6為本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證方法一個(gè)應(yīng)用實(shí)施例的流程示意圖。下面參照?qǐng)D6對(duì)一個(gè)完整的支付過(guò)程進(jìn)行說(shuō)明。如圖6所示,本實(shí)施例的方法包括如下步驟:
步驟601,用戶(hù)通過(guò)應(yīng)用客戶(hù)端選擇商品;
步驟602,應(yīng)用客戶(hù)端向應(yīng)用服務(wù)器請(qǐng)求生成訂單;
步驟603,應(yīng)用服務(wù)器生成訂單并傳給應(yīng)用客戶(hù)端;
步驟604,應(yīng)用客戶(hù)端使用支付公鑰加密訂單;
步驟605,應(yīng)用客戶(hù)端在加密訂單之后向應(yīng)用服務(wù)器申請(qǐng)訂單簽名;
步驟606,應(yīng)用服務(wù)器使用應(yīng)用私鑰簽名訂單;
步驟607,應(yīng)用服務(wù)器返回簽名訂單給應(yīng)用客戶(hù)端;
步驟608,應(yīng)用客戶(hù)端將訂單傳遞給支付客戶(hù)端,發(fā)起支付請(qǐng)求;
步驟609,支付客戶(hù)端使用公鑰驗(yàn)證簽名;
步驟610,支付客戶(hù)端在驗(yàn)證通過(guò)后向支付服務(wù)器申請(qǐng)解密訂單;
步驟611,支付服務(wù)器使用支付私鑰解密訂單;
步驟612,支付服務(wù)器返回已解密訂單給支付客戶(hù)端;
步驟613,支付客戶(hù)端將支付頁(yè)面展示給用戶(hù);
步驟614,支付客戶(hù)端收集用戶(hù)支付要素,例如卡號(hào)、密碼等,然后向支付服務(wù)器發(fā)起扣款請(qǐng)求;
步驟615,支付服務(wù)器處理扣款,使用支付私鑰對(duì)支付結(jié)果簽名;
步驟616,支付服務(wù)器返回簽名的支付結(jié)果給支付客戶(hù)端,并將支付結(jié)果通知應(yīng)用服務(wù)器;
步驟617,支付客戶(hù)端使用應(yīng)用公鑰對(duì)支付結(jié)果加密;
步驟618,支付客戶(hù)端將加密后的支付結(jié)果傳給應(yīng)用客戶(hù)端;
步驟619,應(yīng)用客戶(hù)端使用支付公鑰對(duì)支付結(jié)果驗(yàn)證簽名;
步驟620,應(yīng)用客戶(hù)端在驗(yàn)證通過(guò)后向應(yīng)用服務(wù)器申請(qǐng)解密;
步驟621,應(yīng)用服務(wù)器使用應(yīng)用私鑰對(duì)支付結(jié)果進(jìn)行解密;
步驟622,應(yīng)用服務(wù)器返回解密的支付結(jié)果給應(yīng)用客戶(hù)端;
步驟623,應(yīng)用客戶(hù)端將支付結(jié)果通知用戶(hù)。
本實(shí)施例在應(yīng)用系統(tǒng)內(nèi)預(yù)制支付系統(tǒng)的支付公鑰并存儲(chǔ)本系統(tǒng)的應(yīng)用私鑰,在支付系統(tǒng)內(nèi)預(yù)制應(yīng)用系統(tǒng)的應(yīng)用公鑰并存儲(chǔ)本系統(tǒng)的支付私鑰,實(shí)現(xiàn)了應(yīng)用系統(tǒng)與支付系統(tǒng)之間的雙向認(rèn)證,提升了應(yīng)用內(nèi)支付的安全性。具體來(lái)說(shuō),應(yīng)用客戶(hù)端預(yù)制支付私鑰,同時(shí)在應(yīng)用服務(wù)器存儲(chǔ)應(yīng)用私鑰;支付客戶(hù)端預(yù)制應(yīng)用私鑰,同時(shí)在支付服務(wù)器存儲(chǔ)支付私鑰。一方面,可以保證數(shù)據(jù)來(lái)源的合法性,保證只有經(jīng)過(guò)認(rèn)證的客戶(hù)端能夠讀取數(shù)據(jù)信息,保證應(yīng)用客戶(hù)端和支付客戶(hù)端不被仿冒;另一方面,也可以保證數(shù)據(jù)在傳輸過(guò)程中不會(huì)被截取和篡改。
本說(shuō)明書(shū)中各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似的部分相互參見(jiàn)即可。對(duì)于系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
圖7是本發(fā)明應(yīng)用內(nèi)支付的雙向認(rèn)證系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。如圖7所示,本實(shí)施例的系統(tǒng)包括:
應(yīng)用系統(tǒng)701,用于對(duì)生成的訂單進(jìn)行簽名,并將簽名后的訂單傳給支付系統(tǒng)702;對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽,并將驗(yàn)簽通過(guò)后的支付結(jié)果通知用戶(hù);
支付系統(tǒng)702,用于對(duì)收到的訂單進(jìn)行驗(yàn)簽,并在驗(yàn)簽通過(guò)后進(jìn)行支付操作,產(chǎn)生支付結(jié)果;對(duì)支付結(jié)果進(jìn)行簽名,并將簽名后的支付結(jié)果傳給應(yīng)用系統(tǒng)701。
為了保證訂單不會(huì)被截取和篡改,進(jìn)一步提升支付的安全性,除了對(duì)訂單進(jìn)行簽名之外,還可以對(duì)訂單進(jìn)行加密。在一個(gè)實(shí)施例中,應(yīng)用系統(tǒng)701,還用于在對(duì)生成的訂單進(jìn)行簽名前,對(duì)訂單進(jìn)行加密,并將加密和簽名后的訂單傳給支付系統(tǒng)702。相應(yīng)地,該實(shí)施例中的支付系統(tǒng)702,還用于對(duì)收到的訂單進(jìn)行驗(yàn)簽后,對(duì)訂單進(jìn)行解密,并在驗(yàn)簽通過(guò)和解密后進(jìn)行支付操作,產(chǎn)生支付結(jié)果。
為了保證支付結(jié)果不會(huì)被截取和篡改,進(jìn)一步提升支付的安全性,除了對(duì)支付結(jié)果進(jìn)行簽名之外,還可以對(duì)支付結(jié)果進(jìn)行加密。在一個(gè)實(shí) 施例中,支付系統(tǒng)702,還用于在對(duì)支付結(jié)果進(jìn)行簽名后,對(duì)支付結(jié)果進(jìn)行加密,并將簽名和加密后的支付結(jié)果傳給應(yīng)用系統(tǒng)701。相應(yīng)地,該實(shí)施例中的應(yīng)用系統(tǒng)701,還用于對(duì)收到的支付結(jié)果進(jìn)行驗(yàn)簽后,對(duì)支付結(jié)果進(jìn)行解密,并將驗(yàn)簽通過(guò)和解密后的支付結(jié)果通知用戶(hù)。
上述各實(shí)施例中的應(yīng)用系統(tǒng)和支付系統(tǒng)可以有不同的實(shí)現(xiàn)方式。
一種示例性的實(shí)現(xiàn)方式中,應(yīng)用系統(tǒng)701可以包括應(yīng)用客戶(hù)端7011;和/或支付系統(tǒng)702可以包括支付客戶(hù)端7021。通過(guò)應(yīng)用客戶(hù)端和支付客戶(hù)端實(shí)現(xiàn)加密/簽名,以及解密/驗(yàn)簽的操作。
另一種示例性的實(shí)現(xiàn)方式中,參加圖7,應(yīng)用系統(tǒng)701可以包括應(yīng)用客戶(hù)端7011和應(yīng)用服務(wù)器7012,支付系統(tǒng)702包括支付客戶(hù)端7021和支付服務(wù)器7022。
一種情況下,應(yīng)用客戶(hù)端7011,用于利用內(nèi)置的支付公鑰對(duì)生成的訂單進(jìn)行加密;應(yīng)用服務(wù)器7012,用于利用應(yīng)用私鑰對(duì)加密后的訂單進(jìn)行簽名;支付客戶(hù)端7021,用于利用內(nèi)置的應(yīng)用公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽;支付服務(wù)器7022,用于利用支付私鑰對(duì)驗(yàn)簽通過(guò)后的訂單進(jìn)行解密。
另一種情況下,支付服務(wù)器7022,用于利用支付私鑰對(duì)支付結(jié)果進(jìn)行簽名;支付客戶(hù)端7021,用于利用內(nèi)置的應(yīng)用公鑰對(duì)簽名后的支付結(jié)果進(jìn)行加密;應(yīng)用客戶(hù)端7011,用于利用內(nèi)置的支付公鑰對(duì)收到的訂單進(jìn)行驗(yàn)簽;應(yīng)用服務(wù)器7012,用于利用應(yīng)用私鑰對(duì)驗(yàn)簽通過(guò)后的支付結(jié)果進(jìn)行解密。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本發(fā)明的描述是為了示例和描述起見(jiàn)而給出的,而并不是無(wú)遺漏的或者將本發(fā)明限于所公開(kāi)的形式。很多修改和變化對(duì)于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實(shí)施例是為了更好說(shuō)明本發(fā)明的原理 和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。