本申請涉及網(wǎng)絡(luò)通信
技術(shù)領(lǐng)域:
,尤其涉及一種基于業(yè)務(wù)碼的驗證方法和裝置、一種業(yè)務(wù)碼的生成方法和裝置。
背景技術(shù):
:隨著移動互聯(lián)技術(shù)的發(fā)展和智能終端的普及,以用戶賬戶為基礎(chǔ)的各種近距離業(yè)務(wù)得到了廣闊的發(fā)展空間。兩個用戶可以通過掃描二維碼、條形碼等實現(xiàn)其賬戶間的移動支付、賬戶間的信息共享等業(yè)務(wù)。近距離業(yè)務(wù)在為人們帶來方便的同時,也具有一定的安全隱患。如果用戶的終端遺失,或者二維碼等被他人錄屏,則可能造成用戶的損失,尤其是對移動支付業(yè)務(wù)而言。因此,一些用戶采用帶有更多安全硬件設(shè)施的終端、或者在終端上安裝更為可靠的安全軟件,這些用戶賬戶具有更好的安全性?,F(xiàn)有技術(shù)中,提供近距離業(yè)務(wù)服務(wù)的系統(tǒng)中,在收到帶有二維碼的業(yè)務(wù)請求后,服務(wù)器采用相同的方式對所有用戶賬戶的業(yè)務(wù)請求進行驗證,而不論與該用戶賬戶綁定的終端是否有更好的安全性。這樣,如果采用較為寬松的驗證標準,對安全性較差的終端可能造成較大的風(fēng)險;而采用較為嚴格的驗證標準,又會造成安全性較好的終端用戶的諸多不便。技術(shù)實現(xiàn)要素:有鑒于此,本申請?zhí)峁┮环N基于業(yè)務(wù)碼的驗證方法,應(yīng)用在服務(wù)器上,包括:接收第二用戶終端發(fā)送的包括業(yè)務(wù)碼的業(yè)務(wù)請求,所述業(yè)務(wù)碼攜帶有第 一用戶賬戶信息和安全程度信息;所述安全程度信息由第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定;根據(jù)所述第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。本申請?zhí)峁┑囊环N基于業(yè)務(wù)碼的驗證方法,應(yīng)用在第二用戶的終端上,包括:從第一用戶的終端獲取業(yè)務(wù)碼,所述業(yè)務(wù)碼攜帶第一用戶賬戶信息和安全程度信息;所述安全程度信息由第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定;將包括所述業(yè)務(wù)碼的業(yè)務(wù)請求發(fā)送給服務(wù)器,供服務(wù)器根據(jù)所述第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。本申請?zhí)峁┑囊环N生成業(yè)務(wù)碼的方法,應(yīng)用在第一用戶的終端上,包括:根據(jù)本終端的硬件和/或軟件環(huán)境確定安全程度信息;采用第一用戶賬戶信息和安全程度信息,按照預(yù)定格式生成業(yè)務(wù)碼。本申請還提供了一種基于業(yè)務(wù)碼的驗證裝置,應(yīng)用在服務(wù)器上,包括:業(yè)務(wù)請求接收單元,用于接收第二用戶終端發(fā)送的包括業(yè)務(wù)碼的業(yè)務(wù)請求,所述業(yè)務(wù)碼攜帶有第一用戶賬戶信息和安全程度信息;所述安全程度信息由第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定;安全程度驗證單元,用于根據(jù)所述第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。本申請?zhí)峁┑囊环N基于業(yè)務(wù)碼的驗證裝置,應(yīng)用在第二用戶的終端上,包括:業(yè)務(wù)碼獲取單元,用于從第一用戶的終端獲取業(yè)務(wù)碼,所述業(yè)務(wù)碼攜帶第一用戶賬戶信息和安全程度信息;所述安全程度信息由第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定;業(yè)務(wù)請求發(fā)送單元,用于將包括所述業(yè)務(wù)碼的業(yè)務(wù)請求發(fā)送給服務(wù)器,供服務(wù)器根據(jù)所述第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。本申請?zhí)峁┑囊环N生成業(yè)務(wù)碼的裝置,應(yīng)用在第一用戶的終端上,包括:安全程度確定單元,用于根據(jù)本終端的硬件和/或軟件環(huán)境確定安全程度信息;業(yè)務(wù)碼生成單元,用于采用第一用戶賬戶信息和安全程度信息,按照預(yù)定格式生成業(yè)務(wù)碼。由以上技術(shù)方案可見,本申請的實施例中,第一用戶終端在生成的業(yè)務(wù)碼中攜帶由本終端的硬件和/或軟件環(huán)境決定的安全程度信息,在第二用戶終端將第一用戶終端生成的業(yè)務(wù)碼在業(yè)務(wù)請求中上傳給服務(wù)器后,服務(wù)器根據(jù)安全程度信息來對業(yè)務(wù)請求進行驗證,從而能夠針對用戶終端本身具有的安全性來采用對應(yīng)的驗證標準,既能為安全性較差的終端用戶提供更多保障,又能為安全性較強的終端用戶提供更多便利。附圖說明圖1是本申請實施例應(yīng)用場景的一種網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2是本申請實施例中一種應(yīng)用應(yīng)用在服務(wù)器上,基于業(yè)務(wù)碼的驗證方法的流程圖;圖3是本申請實施例中一種應(yīng)用在第二用戶的終端上,基于業(yè)務(wù)碼的驗證方法的流程圖;圖4是本申請實施例中一種應(yīng)用在第一用戶的終端上,生成業(yè)務(wù)碼的方法的流程圖;圖5是本申請應(yīng)用示例中一種終端與服務(wù)器之間的交互流程圖;圖6是終端或服務(wù)器的一種硬件結(jié)構(gòu)圖;圖7是本申請實施例中一種應(yīng)用在服務(wù)器上,基于業(yè)務(wù)碼的驗證裝置的邏輯結(jié)構(gòu)圖;圖8是本申請實施例中一種應(yīng)用在第二用戶的終端上,基于業(yè)務(wù)碼的驗證裝置的邏輯結(jié)構(gòu)圖;圖9是本申請實施例中一種應(yīng)用在第一用戶的終端上,生成業(yè)務(wù)碼的裝 置的邏輯結(jié)構(gòu)圖。具體實施方式本申請的實施例提出一種新的業(yè)務(wù)碼的生成方法,和一種新的基于業(yè)務(wù)碼的驗證方法,終端在生成業(yè)務(wù)碼時,在業(yè)務(wù)碼中攜帶根據(jù)硬件和/或軟件環(huán)境確定的安全程度信息,服務(wù)器可以基于終端的安全程度信息來對帶有該業(yè)務(wù)碼的業(yè)務(wù)請求適用不同的驗證標準,以解決現(xiàn)有技術(shù)中存在的問題。本申請實施例應(yīng)用場景的一種網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,第二用戶的終端與提供業(yè)務(wù)服務(wù)的業(yè)務(wù)系統(tǒng)的服務(wù)器通過網(wǎng)絡(luò)相互可訪問,第一用戶的終端可以向第二用戶的終端提供業(yè)務(wù)碼,第二用戶的終端能夠以相應(yīng)的手段獲得第一用戶的終端提供的業(yè)務(wù)碼。其中,第一用戶或第二用戶的終端可以是任何具有計算、存儲和通信能力的設(shè)備,例如可穿戴設(shè)備、手機、平板電腦、pc(personalcomputer,個人電腦)、筆記本等;業(yè)務(wù)碼包括條碼(如二維碼、條形碼)、聲波碼、nfc(nearfieldcommunication,近場通信)碼等,相應(yīng)的獲取業(yè)務(wù)碼的手段包括掃描、接收聲波、感應(yīng)等;服務(wù)器可以是一個物理或邏輯服務(wù)器,也可以是由兩個或兩個以上分擔不同職責(zé)的物理或邏輯服務(wù)器、相互協(xié)同來實現(xiàn)本申請實施例中服務(wù)器的各項功能。本申請實施例對終端、服務(wù)器的種類,以及第二用戶的終端與服務(wù)器之間通信網(wǎng)絡(luò)的類型、協(xié)議等均不做限定。另外,在一些應(yīng)用場景中,第一用戶的終端也可以通過通信網(wǎng)絡(luò)與服務(wù)器相互訪問。本申請實施例中,基于業(yè)務(wù)碼的驗證方法在服務(wù)器上的流程如圖2所示,在第二用戶的終端上的流程如圖3所示;生成驗證碼的方法在第一用戶的終端上的流程如圖4所示。其中,第一用戶和第二用戶在業(yè)務(wù)系統(tǒng)的服務(wù)器上注冊有各自的用戶賬戶。在第一用戶的終端上,步驟410,根據(jù)本終端的硬件和/或軟件環(huán)境確定安全程度信息。第一用戶的終端在收到用戶生成業(yè)務(wù)碼的指令后,提取本終端的硬件信 息和/或軟件信息,按照預(yù)置的算法確定安全程度信息??梢愿鶕?jù)實際應(yīng)用場景的需要,來選擇用于確定安全程度信息的終端硬件和/或軟件信息、以及產(chǎn)生安全程度信息的具體算法,本申請的實施例不做限定。以下舉例說明。第一個例子中,可以為終端可能具備的各種安全硬件設(shè)施,和/或安全軟件預(yù)置對應(yīng)的分值,如果用戶在指令生成業(yè)務(wù)碼的過程中將會受益于某個安全硬件設(shè)施或安全軟件,則將這些硬件設(shè)施或軟件對應(yīng)的分值進行加總,以其總和作為安全程度信息。例如,用戶需要以指紋解鎖終端,則加4分;用戶在生成業(yè)務(wù)碼時需要驗證虹膜,則加6分;終端安裝有安全軟件,加3分,等等。此外,完成相同功能的不同的安全硬件設(shè)施、和/或安全軟件可以對應(yīng)于不同的分值。第二個例子中,可以根據(jù)生成業(yè)務(wù)碼的客戶端軟件所采用的終端安全硬件設(shè)施、和/或所采用的操作系統(tǒng)的安全策略來確定安全程度信息,具體的方式可以參照第一個例子,不再贅述。第三個例子中,第一用戶在業(yè)務(wù)系統(tǒng)中將其終端與其賬戶進行綁定時,由服務(wù)器或第一用戶終端生成第一用戶賬戶的用戶端密鑰和服務(wù)端密鑰(這兩個密鑰相同或相對應(yīng)),用戶端密鑰保存在終端上,服務(wù)端密鑰保存在服務(wù)器可以獲取的某個網(wǎng)絡(luò)位置。在生成業(yè)務(wù)碼時,終端采用本地保存的用戶端密鑰對業(yè)務(wù)碼中至少一個組成部分進行加密。這樣,用戶端密鑰的存儲安全性將對業(yè)務(wù)安全性具有重要的影響,可以按照本終端保存用戶端密鑰的硬件和/或軟件的安全措施來確定安全程度信息。例如,可以將幾個安全級別來作為安全程度信息,當本終端保存用戶端密鑰的位置采取了某項硬件安全措施時,對應(yīng)于第一安全級別;當本終端保存用戶端密鑰的位置為操作系統(tǒng)實施某項軟件安全策略的存儲位置時,對應(yīng)于第二安全級別;當本終端保存用戶端密鑰的位置未采取安全措施時,對應(yīng)于第三安全級別;等等。在第一用戶的終端上,步驟420,采用第一用戶賬戶信息和安全程度信息,按照預(yù)定格式生成業(yè)務(wù)碼。用戶賬戶信息包括至少一種可以由服務(wù)器唯一確定所對應(yīng)的用戶賬戶的 信息,例如用戶在業(yè)務(wù)系統(tǒng)注冊的郵箱、用戶名、手機號碼、昵稱、業(yè)務(wù)系統(tǒng)為用戶分配的用戶唯一編碼等;此外還可以包括該用戶賬戶的其他信息,如用戶類型等等。除第一用戶賬戶信息和安全程度信息外,還可以采用其他的信息來生成業(yè)務(wù)碼,例如本終端的設(shè)備標識、當前本終端的位置信息、終端上安全傳感器的標識中的一種到多種??梢圆捎脤⑸鲜龈鞣N信息加密后的密文來生成業(yè)務(wù)碼??梢园凑諏嶋H應(yīng)用場景的需求來選擇加密的信息、加密方式和所采用的密鑰,本申請的實施例不做限定。在一個例子中,終端上保存有第一用戶賬戶的用戶端密鑰,在確定安全程度信息后,終端按照預(yù)定算法生成隨機密鑰,采用以隨機密鑰對安全程度信息(或安全程度信息和其他業(yè)務(wù)碼攜帶的信息)進行加密后的密文、和以第一用戶賬戶的用戶端密鑰對隨機密鑰進行加密后的密文,按照預(yù)定格式生成業(yè)務(wù)碼。這樣,業(yè)務(wù)碼被上傳到服務(wù)器后,服務(wù)器可以根據(jù)第一用戶賬戶信息獲取與其用戶端密鑰相同或相對應(yīng)的服務(wù)端密鑰,采用服務(wù)端密鑰對業(yè)務(wù)碼中的隨機密鑰密文進行解密,得到隨機密鑰后,用該隨機密鑰對業(yè)務(wù)碼中的安全程度信息進行解密。業(yè)務(wù)碼的預(yù)定格式可以根據(jù)業(yè)務(wù)碼的種類、業(yè)務(wù)類型和實際需求確定。例如,一種業(yè)務(wù)碼的格式可以如表1所示:taguiddeviceidverifytoken表1表1中,tag為2位(bit)的業(yè)務(wù)標識,用來表示業(yè)務(wù)碼用于哪種類型的業(yè)務(wù);uid為10字節(jié)(byte)的用戶賬戶信息;deviceid為20字節(jié)的終端設(shè)備信息;verifytoken為6位的驗證憑證,是將uid和deviceid輸入預(yù)定摘要算法后得到的摘要信息,預(yù)定摘要算法可以是hotp(hmac-basedone-timepasswordalgorithm,基于密鑰相關(guān)的哈希運算消息認證碼hmac的一次性口令算法)、totp(time-basedone-timepasswordalgorithm,基于時間的一次性密碼算法)等等。20字節(jié)deviceid的格式如表2所示:表2表2中,version為2字節(jié)的版本號,用來表示deviceid的格式版本;安全廠商為2字節(jié)的本終端上安全硬件的廠商標識;sensor廠商為2字節(jié)的本終端上安全傳感器的廠商標識;算法廠商為2字節(jié)的本終端上安全識別算法的廠商標識,安全識別算法用來對傳感器的輸出進行識別和判定(如識別指紋傳感器輸出的是否是終端用戶的指紋、虹膜傳感器輸出的是否與預(yù)存的虹膜圖像相匹配等);終端廠商為2字節(jié)的本終端的廠商標識;hdid為4字節(jié)的由終端廠商提供的本終端的唯一標識,在同一個廠商出產(chǎn)的所有終端中唯一對應(yīng)于本終端;seclevel為2字節(jié)的安全程度信息;lbs為4字節(jié)的當前本終端的位置信息,用來表示在生成本業(yè)務(wù)碼時,本終端所在的位置。在按照上述格式生成業(yè)務(wù)碼時,終端可以先獲取表1和表2中每個字段的值,按照表1和表2的格式將這些字段值組合后得到業(yè)務(wù)碼的基礎(chǔ)數(shù)據(jù);再采用按照預(yù)定算法生成的隨機密鑰,對至少部分基礎(chǔ)數(shù)據(jù)以隨機密鑰進行加密(例如可以對deviceid和verifytoken加密、或?qū)ag、uid、deviceid和verifytoken加密、或?qū)did、seclevel和lbs加密等等);然后以第一用戶賬戶的用戶端密鑰對隨機密鑰進行加密;將至少部分內(nèi)容加密后的基礎(chǔ)數(shù)據(jù)、隨機密鑰密文組合成業(yè)務(wù)碼。在第一用戶的終端生成業(yè)務(wù)碼后,采用與業(yè)務(wù)碼的種類相匹配的方式,向第二用戶的終端提供該業(yè)務(wù)碼,例如顯示二維碼或條形碼供第二用戶的終端掃描,發(fā)送聲波碼、與第二用戶的終端進行近場感應(yīng)以傳遞nfc碼,以便第二用戶的終端能夠在發(fā)送給服務(wù)器的業(yè)務(wù)請求中將業(yè)務(wù)碼上傳給服務(wù)器,從而可以由服務(wù)器根據(jù)第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。在第二用戶的終端上,步驟310,從第一用戶終端獲取業(yè)務(wù)碼。第二用戶的終端所獲取的業(yè)務(wù)碼中攜帶有第一用戶賬戶信息和安全程度信息,其中安全程度信息由第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定。在第二用戶的終端上,步驟320,將包括該業(yè)務(wù)碼的業(yè)務(wù)請求發(fā)送給服務(wù)器,供服務(wù)器根據(jù)業(yè)務(wù)碼攜帶的第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。在服務(wù)器上,步驟210,接收第二用戶終端發(fā)送的包括業(yè)務(wù)碼的業(yè)務(wù)請求。第二用戶的終端在從第一用戶的終端獲得業(yè)務(wù)碼后,采用業(yè)務(wù)碼和第二用戶賬戶信息業(yè)務(wù)請求生成業(yè)務(wù)請求,發(fā)送給服務(wù)器。第二用戶的終端可以將本終端的設(shè)備標識封裝在業(yè)務(wù)請求中發(fā)送給服務(wù)器,以便服務(wù)器根據(jù)設(shè)備標識來對業(yè)務(wù)請求進行安全認證。設(shè)備標識可以是第二用戶終端的硬件識別碼,如uuid(universallyuniqueidentifier,通用唯一識別碼)、終端序列號等;也可以是終端的硬件地址,如mac(mediaaccesscontrol,媒體接入控制)地址、藍牙地址等;還可以是表2中廠商標識與本終端的唯一標識的組合;通常設(shè)備標識與在綁定終端與第二用戶賬戶時向服務(wù)器提供的設(shè)備標識相同。如果業(yè)務(wù)碼中攜帶有第一用戶的終端在生成該業(yè)務(wù)碼時的位置信息,第二用戶的終端可以將生成業(yè)務(wù)請求時本終端的位置信息封裝在業(yè)務(wù)請求中發(fā)送給服務(wù)器,這樣服務(wù)器可以根據(jù)第二用戶終端的位置信息和第一終端的位置信息對業(yè)務(wù)請求進行安全驗證。在服務(wù)器上,步驟220,根據(jù)業(yè)務(wù)碼中攜帶的第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。在收到來自第二用戶終端的業(yè)務(wù)請求后,服務(wù)器提取其中的業(yè)務(wù)碼,按照與第一用戶的終端生成業(yè)務(wù)碼的方式相匹配的方式解析業(yè)務(wù)碼,得到第一用戶賬戶信息、安全程度信息以及其他業(yè)務(wù)碼攜帶的信息。本領(lǐng)域技術(shù)人員可以根據(jù)前述生成業(yè)務(wù)碼的具體方式來得出服務(wù)器解析業(yè)務(wù)碼的方式,不再贅述??梢詤⒖紝嶋H應(yīng)用場景中業(yè)務(wù)對安全性的要求度、用戶對安全性的要求度、業(yè)務(wù)的其他特征等因素,來決定根據(jù)業(yè)務(wù)碼中的安全程度信息來驗證的具體方式,本申請的實施例不做限定。例如,可以當業(yè)務(wù)碼中的安全程度信息低于某個閾值時,拒絕本次業(yè)務(wù)請求;再如,可以令不同的安全程度信息采用不同的驗證方式,較低的安全程度信息對應(yīng)于較嚴格的驗證方式;此外,還可以針對不同的用戶類型設(shè)置不同的驗證方式,或者允許用戶自行設(shè)置其不同安全程度信息要采取的驗證方式。在一種實現(xiàn)方式中,業(yè)務(wù)碼中以安全級別來作為安全程度信息,并且在業(yè)務(wù)請求中包括所請求業(yè)務(wù)的業(yè)務(wù)額度??梢詫Σ煌陌踩墑e預(yù)設(shè)所允許的業(yè)務(wù)額度,服務(wù)器查詢業(yè)務(wù)碼攜帶的安全級別對應(yīng)的所允許的業(yè)務(wù)額度,如果業(yè)務(wù)請求中的業(yè)務(wù)額度超過了這一額度,則該業(yè)務(wù)請求不能通過安全驗證。服務(wù)器還可以從業(yè)務(wù)請求中提取第二用戶賬戶信息和其他與第二用戶賬戶或第二用戶的終端相關(guān)的信息,并利用這些信息、以及從業(yè)務(wù)碼中解析出的其他信息來對業(yè)務(wù)請求進行驗證。以下舉例說明。如果業(yè)務(wù)碼中攜帶有第一用戶終端的設(shè)備標識,服務(wù)器在從業(yè)務(wù)碼中解析出第一用戶終端的設(shè)備標識后,可以采用該設(shè)備標識查找與第一用戶賬戶綁定的終端設(shè)備中是否有第一用戶的終端,如果沒有,則該業(yè)務(wù)請求不能通過安全驗證。與某個用戶賬戶綁定的終端設(shè)備可以是一個到多個。如果業(yè)務(wù)請求中包括第二用戶終端的設(shè)備標識,服務(wù)器可以采用該設(shè)備標識查找與第二用戶賬戶綁定的終端設(shè)備中是否有第二用戶的終端,如果沒有,則該業(yè)務(wù)請求不能通過安全驗證。如果業(yè)務(wù)碼中攜帶有第一用戶終端在生成業(yè)務(wù)碼時的位置信息,服務(wù)器在從業(yè)務(wù)碼中解析出第一用戶終端的位置信息后,可以將其與第一用戶賬戶的可信地理區(qū)域進行比對,如果超出可信地理區(qū)域,則該業(yè)務(wù)請求不能通過驗證。第一用戶賬戶的可信地理區(qū)域可以由服務(wù)器根據(jù)第一用戶賬戶的歷史活動區(qū)域自動生成,也可以由第一用戶自行設(shè)置。如果業(yè)務(wù)碼中攜帶有第一用戶終端在生成業(yè)務(wù)碼時的位置信息,并且業(yè)務(wù)請求中包括第二用戶終端的位置信息,服務(wù)器可以比較第一用戶終端的位置信息與第二用戶終端的位置信息之間的距離,如果超過預(yù)置的距離閾值,則該業(yè)務(wù)請求不能通過安全驗證。上述各種驗證方式可以分別采用,也可以結(jié)合采用。可見,本申請的實施例中,第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定安全程度信息,在生成的業(yè)務(wù)碼中攜帶該安全程度信息,服務(wù)器可以從第二終端發(fā)送的業(yè)務(wù)請求中獲取業(yè)務(wù)碼,根據(jù)安全程度信息來對業(yè)務(wù)請求進行驗證,從而能夠針對用戶終端本身具有的安全性來采用對應(yīng)的驗證標準,既能為安全性較差的終端用戶提供更多保障,又能為安全性較強的終端用戶提供更多便利。在本申請的一個應(yīng)用示例中,消費用戶(第一用戶)通過其在第三方支付系統(tǒng)中的賬戶向收單商戶(第二用戶)的賬戶進行支付,消費用戶的終端(消費終端)、收單商戶的終端(收單終端)與第三方支付系統(tǒng)的服務(wù)器之間的交互流程如圖5所示。第三方支付系統(tǒng)的每個用戶賬戶都綁定有一個到多個終端設(shè)備(以終端標識來識別),并且在綁定每個終端設(shè)備的過程中,服務(wù)器與該終端設(shè)備上分別保存了該用戶賬戶的公鑰(服務(wù)端密鑰)和私鑰(用戶端密鑰)。在收到消費用戶的支付指令后,消費終端根據(jù)保存消費用戶私鑰的存儲位置的硬件和軟件安全措施確定安全級別,獲取當前的地理位置信息,從設(shè)備硬件獲取終端唯一標識,根據(jù)表1和表2的格式組裝支付二維碼的基礎(chǔ)數(shù)據(jù)。消費終端按照預(yù)定的對稱密鑰算法得到隨機對稱密鑰,以隨機對稱密鑰采用aes256(advancedencryptionstandard256,256位高級加密標準)算法的cdc(cipherblockchaining,加密塊鏈)模式對基礎(chǔ)數(shù)據(jù)進行加密,得到基礎(chǔ)數(shù)據(jù)的密文。消費終端以消費用戶賬戶的私鑰對隨機對稱密鑰進行加密,并且將基礎(chǔ)數(shù)據(jù)的密文和隨機對稱密鑰的密文組合后生成支付二維碼。消費終端將支付二維碼顯示在屏幕上,供收單終端掃描。收單終端掃描得到消費終端的支付二維碼,獲取本終端所在的地理位置信息,將本終端的設(shè)備標識、本終端的地理位置信息、支付額度和支付二維碼封裝在支付請求中,發(fā)送給服務(wù)器。服務(wù)器收到支付請求,從中提取支付二維碼、支付額度、收費終端的設(shè)備標識和收費終端的地理位置信息。對支付二維碼,服務(wù)器查找該消費用戶賬戶的公鑰,以該公鑰對隨機對稱密鑰的密文進行解密,再用得到的隨機對稱密鑰對支付二維碼的基礎(chǔ)數(shù)據(jù)密文進行解密,得到按照表1和表2格式組裝的各項信息,其中包括安全級別、消費終端的設(shè)備標識和消費終端的地理位置信息。服務(wù)器確認消費終端的設(shè)備標識是否是消費用戶賬戶綁定終端的設(shè)備標識,以及收單終端的設(shè)備標識是否是收單用戶賬戶綁定終端的設(shè)備標識,如果至少有一方不是,則該業(yè)務(wù)請求不能通過安全驗證。服務(wù)器將消費終端的地理位置信息與消費用戶賬戶的可信地理區(qū)域進行比對,如果消費終端的地理位置不在該可信區(qū)域內(nèi),則該業(yè)務(wù)請求不能通過安全驗證。消費用戶賬戶的可信地理區(qū)域由服務(wù)器根據(jù)該消費用戶的歷史地理位置記錄生成,只有在某個用戶賬戶累計了一定的歷史地理位置記錄后,服務(wù)器生成可信地理區(qū)域后才據(jù)驗證業(yè)務(wù)請求的安全性,當某個用戶賬戶尚無歷史地理位置記錄時,不采用可信地理區(qū)域作為業(yè)務(wù)請求的驗證依據(jù)。服務(wù)器計算消費終端的地理位置信息與收單終端的地理位置信息之間的距離,如果超過預(yù)設(shè)的距離閾值,則該業(yè)務(wù)請求不能通過安全驗證。服務(wù)器獲取預(yù)設(shè)的對應(yīng)于安全級別的允許支付額度,如果本次業(yè)務(wù)請求的支付額度超過允許支付額度,則該業(yè)務(wù)請求不能通過安全驗證。不同的用戶賬戶可以有相同或不同的允許支付額度。在業(yè)務(wù)請求通過安全驗證后,服務(wù)器按照支付額度,將消費用戶賬戶中的款項劃轉(zhuǎn)到收單用戶賬戶中。服務(wù)器向消費終端和收單終端發(fā)送支付成功的消息。對不能通過安全驗證的業(yè)務(wù)請求,服務(wù)器向收單終端和消費終端發(fā)送支付失敗的消息。與上述流程實現(xiàn)對應(yīng),本申請的實施例還提供了一種應(yīng)用在服務(wù)器上基于業(yè)務(wù)碼的驗證裝置、一種應(yīng)用在用戶終端上基于業(yè)務(wù)碼的驗證、和一種應(yīng)用在用戶終端上生成業(yè)務(wù)碼的裝置。上述裝置均可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為邏輯意義上的裝置,是通過終端或服務(wù)器的cpu(centralprocessunit,中央處理器)將對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,除了圖6所示的cpu、內(nèi)存以及非易失性存儲器之外,終端通常還包括用于進行無線信號收發(fā)的芯片等其他硬件,服務(wù)器通常還包括用于實現(xiàn)網(wǎng)絡(luò)通信功能的板卡等其他硬件。圖7所示為本申請實施例提供的一種基于業(yè)務(wù)碼的驗證裝置,應(yīng)用在服務(wù)器上,其特征在于,包括業(yè)務(wù)請求接收單元和安全程度驗證單元,其中:業(yè)務(wù)請求接收單元用于接收第二用戶終端發(fā)送的包括業(yè)務(wù)碼的業(yè)務(wù)請求,所述業(yè)務(wù)碼攜帶有第一用戶賬戶信息和安全程度信息;所述安全程度信息由第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定;安全程度驗證單元用于根據(jù)所述第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證。可選的,所述安全程度信息包括:安全級別;所述業(yè)務(wù)請求中包括:業(yè)務(wù)額度;所述安全驗證單元具體用于:根據(jù)所述安全級別確定所允許的業(yè)務(wù)額度,當所述業(yè)務(wù)請求中的業(yè)務(wù)額度超過所允許的業(yè)務(wù)額度時,不能通過安全驗證??蛇x的,所述業(yè)務(wù)碼中還攜帶有第一用戶終端在生成所述業(yè)務(wù)碼時的位置信息;所述業(yè)務(wù)請求中還包括:第二用戶終端在發(fā)送所述業(yè)務(wù)請求時的位置信息;所述裝置還包括:位置信息驗證單元,用于當?shù)谝挥脩艚K端的位置信息與第二用戶終端的位置信息之間的距離超過距離閾值時,所述業(yè)務(wù)請求不能通過安全驗證;和/或,當?shù)谝挥脩艚K端的位置信息超出第一用戶賬戶的可信地理區(qū)域時,所述業(yè)務(wù)請求不能通過安全驗證。可選的,所述業(yè)務(wù)碼中還攜帶有第一用戶終端的設(shè)備標識;所述業(yè)務(wù)請求中還包括:第二用戶終端的設(shè)備標識;所述裝置還包括:設(shè)備標識驗證單 元,用于獲取第一用戶賬戶和第二用戶賬戶的綁定終端的設(shè)備標識,如果第一用戶賬戶綁定終端的設(shè)備標識不同于業(yè)務(wù)碼中第一用戶終端的設(shè)備標識、或第二用戶賬戶綁定終端的設(shè)備標識不同于業(yè)務(wù)請求中第二用戶終端的設(shè)備標識,所述業(yè)務(wù)請求不能通過安全驗證??蛇x的,所述業(yè)務(wù)碼中攜帶的安全程度信息采用第一用戶終端生成的隨機密鑰進行加密,所述業(yè)務(wù)碼還攜帶有以第一用戶賬戶的用戶端密鑰進行加密后的隨機密鑰密文;所述裝置還包括:隨機密鑰解密單元,用于采用與第一用戶賬戶的用戶端密鑰相同或相對應(yīng)的服務(wù)端密鑰對業(yè)務(wù)碼中的隨機密鑰密文進行解密,采用解密得到的隨機密鑰對業(yè)務(wù)碼中的安全程度信息進行解密。圖8所示為本申請實施例提供的基于業(yè)務(wù)碼的驗證裝置,應(yīng)用在第二用戶的終端上,其特征在于,包括業(yè)務(wù)碼獲取單元和業(yè)務(wù)請求發(fā)送單元,其中:業(yè)務(wù)碼獲取單元,用于從第一用戶的終端獲取業(yè)務(wù)碼,所述業(yè)務(wù)碼攜帶第一用戶賬戶信息和安全程度信息;所述安全程度信息由第一用戶終端根據(jù)其硬件和/或軟件環(huán)境確定;業(yè)務(wù)請求發(fā)送單元,用于將包括所述業(yè)務(wù)碼的業(yè)務(wù)請求發(fā)送給服務(wù)器,供服務(wù)器根據(jù)所述第一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證??蛇x的,所述業(yè)務(wù)碼中還攜帶有第一用戶的終端在生成所述業(yè)務(wù)碼時的位置信息;所述業(yè)務(wù)請求中還包括:第二用戶終端在生成所述業(yè)務(wù)請求時的位置信息,供服務(wù)器根據(jù)所述第二用戶終端的位置信息和業(yè)務(wù)碼中第一終端的位置信息對業(yè)務(wù)請求進行安全驗證??蛇x的,所述業(yè)務(wù)請求中還包括:第二用戶終端的設(shè)備標識,供服務(wù)器根據(jù)所述第二用戶終端的設(shè)備標識對業(yè)務(wù)請求進行安全驗證。圖9所示為本申請實施例提供的一種生成業(yè)務(wù)碼的裝置,應(yīng)用在第一用戶的終端上,包括安全程度確定單元和業(yè)務(wù)碼生成單元,其中:安全程度確定單元,用于根據(jù)本終端的硬件和/或軟件環(huán)境確定安全程度信息;業(yè)務(wù)碼生成單元,用于采用第一用戶賬戶信息和安全程度信息,按照預(yù)定格式生成業(yè) 務(wù)碼。一個例子中,所述業(yè)務(wù)碼中至少一個組成部分采用第一用戶賬戶的用戶端密鑰加密;所述用戶端密鑰與服務(wù)器可獲得的第一用戶賬戶的服務(wù)端密鑰相同或相對應(yīng);所述安全程度信息包括:安全級別;所述安全程度確定單元具體用于:按照本終端保存所述用戶端密鑰的硬件和/或軟件的安全措施來確定安全級別。上述例子中,所述業(yè)務(wù)碼生成單元可以具體用于:根據(jù)預(yù)定算法生成隨機密鑰,采用以隨機密鑰對安全程度信息進行加密后的密文、以第一用戶賬戶的用戶端密鑰對隨機密鑰進行加密后的密文,按照預(yù)定格式生成業(yè)務(wù)碼??蛇x的,所述業(yè)務(wù)碼生成單元具體用于:采用第一用戶賬戶信息、安全程度信息和當前本終端的位置信息,按照預(yù)定格式生成業(yè)務(wù)碼??蛇x的,所述業(yè)務(wù)碼生成單元具體用于:采用第一用戶賬戶信息、安全程度信息和本終端的標識,按照預(yù)定格式生成業(yè)務(wù)碼??蛇x的,所述預(yù)定格式包括:2字節(jié)的業(yè)務(wù)標識、n字節(jié)的用戶賬戶信息、20字節(jié)的終端設(shè)備信息和6位的驗證憑證,其中:業(yè)務(wù)標識用來表示所述業(yè)務(wù)碼用于哪種業(yè)務(wù)類型;終端設(shè)備信息包括:2字節(jié)的版本號、2字節(jié)的本終端上安全硬件的廠商標識、2字節(jié)的本終端上安全傳感器的廠商標識、2字節(jié)的本終端上安全識別算法的廠商標識、2字節(jié)的本終端的廠商標識、4字節(jié)的由所述終端廠商提供的本終端的唯一標識、2字節(jié)的安全程度信息和4字節(jié)的當前本終端的位置信息;驗證憑證為將用戶賬戶信息和終端設(shè)備信息輸入預(yù)定摘要算法后得到的摘要信息;所述業(yè)務(wù)碼生成單元按照預(yù)定格式生成業(yè)務(wù)碼,包括:按照所述預(yù)定格式組裝出業(yè)務(wù)碼的基礎(chǔ)數(shù)據(jù)后,根據(jù)預(yù)定算法生成隨機密鑰,采用以隨機密鑰對至少部分所述基礎(chǔ)數(shù)據(jù)進行加密,再以第一用戶賬戶的用戶端密鑰對隨機密鑰進行加密后,將至少部分加密的基礎(chǔ)數(shù)據(jù)和隨機密鑰的密文組合成業(yè)務(wù)碼??蛇x的,所述裝置還包括:業(yè)務(wù)碼提供單元,用于向第二用戶終端提供所述業(yè)務(wù)碼,供其在業(yè)務(wù)請求中將業(yè)務(wù)碼上傳到服務(wù)器后,由服務(wù)器根據(jù)第 一用戶賬戶信息和安全程度信息對業(yè)務(wù)請求進行安全驗證??蛇x的,所述業(yè)務(wù)碼包括:二維碼、條形碼、或近場通信nfc碼。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程 序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。當前第1頁12