本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別涉及一種驗(yàn)證方法和驗(yàn)證系統(tǒng)以及驗(yàn)碼端設(shè)備和生成端設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,利用手機(jī)等設(shè)備進(jìn)行網(wǎng)上支付也越來越普遍。一次一密技術(shù)常用于網(wǎng)上支付例如條碼支付、手機(jī)寶令等場景來確保支付的安全性。
當(dāng)前一次一密技術(shù)的一種主要生成方式是基于時(shí)間信息生成摘要,生成端基于當(dāng)前時(shí)間生成摘要并對摘要進(jìn)行簽名,驗(yàn)碼端基于收到簽名信息的時(shí)間生成摘要對簽名信息進(jìn)行驗(yàn)簽。如果用戶手機(jī)客戶端被破解,則非法用戶也可以通過認(rèn)證,給合法用戶造成損失。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的一個(gè)技術(shù)問題是:提高利用一次一密技術(shù)進(jìn)行驗(yàn)證的安全性。
根據(jù)本發(fā)明的一個(gè)方面,提供的一種驗(yàn)證方法,包括:驗(yàn)碼端設(shè)備接收生成端設(shè)備發(fā)送的簽名信息,簽名信息為生成端設(shè)備根據(jù)用戶當(dāng)前地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第一摘要,并對第一摘要進(jìn)行簽名后生成的;驗(yàn)碼端設(shè)備對簽名信息進(jìn)行解簽名得到第一摘要;驗(yàn)碼端設(shè)備根據(jù)有效地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第二摘要,并將第二摘要與第一摘要進(jìn)行比對,如果一致,則驗(yàn)簽通過。
根據(jù)本發(fā)明的第二個(gè)方面,提供的一種驗(yàn)證方法,包括:生成端設(shè)備獲取用戶當(dāng)前地理位置;生成端設(shè)備根據(jù)用戶當(dāng)前地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第一摘要;生成端設(shè)備對第一摘要進(jìn)行簽名, 并將簽名信息發(fā)送至驗(yàn)碼端設(shè)備,以便驗(yàn)碼端設(shè)備對簽名信息進(jìn)行驗(yàn)簽。
根據(jù)本發(fā)明的第三個(gè)方面,提供的一種驗(yàn)碼端設(shè)備,包括:簽名信息接收單元,用于接收生成端設(shè)備發(fā)送的簽名信息,簽名信息為生成端設(shè)備根據(jù)用戶當(dāng)前地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第一摘要,并對第一摘要進(jìn)行簽名后生成的;解簽名單元,用于對簽名信息進(jìn)行解簽名得到第一摘要;摘要生成單元,用于根據(jù)有效地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第二摘要;驗(yàn)簽單元,用于將第二摘要與第一摘要進(jìn)行比對,如果一致,則驗(yàn)簽通過。
根據(jù)本發(fā)明的第四個(gè)方面,提供的一種用于簽名的生成端設(shè)備,包括:地理位置獲取單元,用于獲取用戶當(dāng)前地理位置;摘要生成單元,用于根據(jù)用戶當(dāng)前地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第一摘要;簽名單元,用于對第一摘要進(jìn)行簽名得到簽名信息;簽名信息發(fā)送單元,用于將簽名信息發(fā)送至驗(yàn)碼端設(shè)備,以便驗(yàn)碼端設(shè)備對簽名信息進(jìn)行驗(yàn)簽。
根據(jù)本發(fā)明的第五個(gè)方面,提供的一種驗(yàn)證系統(tǒng),包括:前述任一個(gè)實(shí)施例中的驗(yàn)碼端設(shè)備以及前述任一個(gè)實(shí)施例中的生成端設(shè)備。
本發(fā)明通過在驗(yàn)碼端設(shè)備預(yù)設(shè)有效地理位置,生成端設(shè)備利用當(dāng)前地理位置生成摘要并對摘要進(jìn)行簽名,驗(yàn)碼端設(shè)備利用有效地理位置生成摘要進(jìn)行驗(yàn)簽,在有效地理位置一定范圍內(nèi)的當(dāng)前地理位置對應(yīng)的簽名信息才會被成功驗(yàn)簽,設(shè)定該有效地理位置的合法用戶的生成端設(shè)備才會通過認(rèn)證,而非法用戶難以獲知該有效地理位置,在其他區(qū)域使用不會通過認(rèn)證,因此在很大程度上提高了利用一次一密技術(shù)進(jìn)行驗(yàn)證的安全性。通過以下參照附圖對本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會變得清楚。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技 術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出本發(fā)明的一個(gè)實(shí)施例的驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖。
圖2示出本發(fā)明的一個(gè)實(shí)施例的驗(yàn)證方法的流程示意圖。
圖3示出本發(fā)明的一個(gè)實(shí)施例的驗(yàn)碼端設(shè)備的結(jié)構(gòu)示意圖。
圖4示出本發(fā)明的一個(gè)實(shí)施例的用于簽名的生成端設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。以下對至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對本發(fā)明及其應(yīng)用或使用的任何限制?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了提升利用一次一密技術(shù)進(jìn)行驗(yàn)證的安全性,提出本方案。下面結(jié)合各實(shí)施例及其附圖描述本發(fā)明的方案。
圖1為本發(fā)明驗(yàn)證系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)圖,如圖1中所示,本發(fā)明的驗(yàn)證系統(tǒng)10包括生成端設(shè)備和驗(yàn)碼端設(shè)備,生成端設(shè)備按照一定的算法生成原始摘要并對原始摘要進(jìn)行簽名,驗(yàn)碼端設(shè)備按照相應(yīng)的算法生成摘要,并與解簽名后得到的原始摘要進(jìn)行比對,如果一致,則驗(yàn)簽通過,否則,驗(yàn)簽失敗。
下面結(jié)合圖2對本發(fā)明的驗(yàn)證過程進(jìn)行描述。
圖2為本發(fā)明驗(yàn)證方法一個(gè)實(shí)施例的流程圖。如圖2所示,該實(shí)施例的方法包括:
步驟s202,生成端設(shè)備獲取用戶當(dāng)前地理位置。
其中,生成端設(shè)備例如是手機(jī)等設(shè)備,但不限于所舉示例,可以通過例如gps定位等方式獲取用戶當(dāng)前地理位置,用戶當(dāng)前地理位置可以采用例如經(jīng)度、緯度的表示方式。
步驟s204,生成端設(shè)備根據(jù)用戶當(dāng)前地理位置、預(yù)設(shè)基準(zhǔn)位置和 距離步長生成第一摘要,并對第一摘要進(jìn)行簽名生成簽名信息。
其中,預(yù)設(shè)基準(zhǔn)位置例如為城市中心點(diǎn),可以采用經(jīng)度、緯度的表示方式。生成端設(shè)備例如利用私鑰對第一摘要進(jìn)行簽名生成簽名信息。
步驟s206,生成端設(shè)備將簽名信息發(fā)送至驗(yàn)碼端設(shè)備,相應(yīng)的,驗(yàn)碼端設(shè)備接收生成端設(shè)備發(fā)送的簽名信息。
其中,生成端設(shè)備對簽名信息以及用戶相關(guān)信息例如用戶賬號信息進(jìn)行例如對稱加密后發(fā)送至驗(yàn)碼端設(shè)備,對稱加密算法例如為fpe算法(formatpreserveencryption,格式保留加密)。
步驟s208,驗(yàn)碼端設(shè)備對簽名信息進(jìn)行解簽名得到第一摘要。
其中,驗(yàn)碼端設(shè)備例如使用公鑰對簽名信息進(jìn)行解簽名。
步驟s210,驗(yàn)碼端設(shè)備根據(jù)有效地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第二摘要,并將第二摘要與第一摘要進(jìn)行比對,如果一致,則驗(yàn)簽通過,否則驗(yàn)簽失敗。
其中,有效地理位置例如可以是合法用戶初始設(shè)置并發(fā)送至驗(yàn)碼端設(shè)備進(jìn)行保存的一個(gè)或多個(gè)地理位置,可以采用經(jīng)度、緯度的表示方式。有效地理位置例如可以設(shè)置為用戶辦公地點(diǎn)、家庭住址等。如果存在多個(gè)有效地理位置,驗(yàn)碼端設(shè)備需要根據(jù)每一個(gè)有效地理位置生成一次第二摘要,得到多個(gè)第二摘要,將多個(gè)第二摘要分別與第一摘要進(jìn)行對比,只要一次比對成功則驗(yàn)簽通過。
上述實(shí)施例通過在驗(yàn)碼端設(shè)備預(yù)設(shè)有效地理位置,生成端設(shè)備利用當(dāng)前地理位置生成摘要并對摘要進(jìn)行簽名,驗(yàn)碼端設(shè)備利用有效地理位置生成摘要進(jìn)行驗(yàn)簽,在有效地理位置一定范圍內(nèi)的當(dāng)前地理位置對應(yīng)的簽名信息才會被成功驗(yàn)簽,設(shè)定該有效地理位置的合法用戶的生成端設(shè)備才會通過認(rèn)證,而非法用戶難以獲知該有效地理位置,在其他區(qū)域使用不會通過認(rèn)證,因此在很大程度上提高了利用一次一密技術(shù)進(jìn)行驗(yàn)證的安全性。
本發(fā)明針對生成端設(shè)備如何生成第一摘要以及驗(yàn)碼端設(shè)備如何生成第二摘要進(jìn)行驗(yàn)簽,還提供以下幾種實(shí)施方式:
實(shí)施方式一
生成端設(shè)備根據(jù)用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長的比值生成第一摘要;相應(yīng)的,驗(yàn)碼端設(shè)備根據(jù)有效地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長的比值生成第二摘要。
例如,當(dāng)前地理位置的矢量
在一個(gè)實(shí)施例中,第一摘要與第二摘要例如分別根據(jù)totp(基于時(shí)間的一次性密碼算法)計(jì)算獲得。totp采用如下公式:
totp=truncate(hmac-sha-1(k,(t-t0)/x))
其中,truncate表示將hmac-sha-1值轉(zhuǎn)換為totp值的函數(shù),hmac-sha-1是一種哈希算法,k為共享密鑰,t表示當(dāng)前時(shí)間戳,t0為基準(zhǔn)時(shí)間戳,x為時(shí)間步長。例如,生成端設(shè)備將其中的時(shí)間參數(shù)(t-t0)/x替換為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長(例如為l)的比值計(jì)算獲得第一摘要,即
此外,通過設(shè)置距離步長,使得用戶在有效地理位置附近(步長范圍內(nèi))移動都可以通過認(rèn)證。
實(shí)施方式二
生成端設(shè)備根據(jù)用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值生成第一摘要;相應(yīng)的,驗(yàn)碼端設(shè)備根據(jù)有效地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值生成第二摘要。
在一個(gè)實(shí)施例中,第一摘要與第二摘要例如分別根據(jù)totp計(jì)算獲得。參考實(shí)施方式一中的實(shí)施例,生成端設(shè)備將計(jì)算公式中的時(shí)間參數(shù)(t-t0)/x替換為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離(例如用l-l0表示)除以距離步長的比值計(jì)算獲得第一摘要,即(l-l0)/l;驗(yàn)證端設(shè)備將計(jì)算公式中的時(shí)間參數(shù)(t-t0)/x替換為有效地理位置與預(yù)設(shè)基準(zhǔn)位置的距離(例如用ln-l0表示)除以距離步長的比值計(jì)算獲得第二摘要,即(ln-l0)/l。
由于采用矢量表示地理位置,能夠更加準(zhǔn)確的表示地理位置,實(shí)施方式一相對于實(shí)施方式二能夠進(jìn)一步提高一次一密的安全性。
實(shí)施方式三
生成端設(shè)備根據(jù)第一比值與第二比值生成第一摘要,第一比值為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長的比值,第二比值為生成端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值。相應(yīng)的,驗(yàn)碼端設(shè)備根據(jù)第三比值與第四比值生成第二摘要,第三比值為有效地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長的比值,第四比值為驗(yàn)碼端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值。
在一個(gè)實(shí)施例中,第一摘要與第二摘要例如分別根據(jù)totp計(jì)算獲得。參考實(shí)施方式一的實(shí)施例,第一比值為
實(shí)施方式四
生成端設(shè)備根據(jù)第一比值與第二比值生成第一摘要,第一比值為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值,第二比值為生成端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值。相應(yīng)的,驗(yàn)碼端設(shè)備根據(jù)第三比值與第四比值生成第二摘要,第三比值為有效地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值,第四比值為驗(yàn)碼端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值。
在一個(gè)實(shí)施例中,第一摘要與第二摘要例如分別根據(jù)totp計(jì) 算獲得。參考實(shí)施方式二的實(shí)施例,第一比值為(l-l0)/l,第二比值為(t-t0)/x,例如,可以將第一比值量化為n位整數(shù),代替第二比值的前n位空閑位生成第一摘要,同理,可以將第三比值量化為n位整數(shù),代替第四比值的前n位空閑位生成第二摘要。
由于采用矢量表示地理位置,能夠更加準(zhǔn)確的表示地理位置,實(shí)施方式三相對于實(shí)施方式四能夠進(jìn)一步提高一次一密的安全性。
實(shí)施方式三相對于實(shí)施方式一,實(shí)施方式四相對于實(shí)施方式二由于同時(shí)利用地理位置以及時(shí)間信息生成摘要,更能夠提高一次一密的安全性。
本發(fā)明還提供一種驗(yàn)碼端設(shè)備,下面結(jié)合圖3進(jìn)行描述。
圖3為本發(fā)明驗(yàn)碼端設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)圖。如圖3所示,該驗(yàn)碼端設(shè)備30包括:
簽名信息接收單元302,用于接收生成端設(shè)備發(fā)送的簽名信息,簽名信息為生成端設(shè)備根據(jù)用戶當(dāng)前地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第一摘要,并對第一摘要進(jìn)行簽名后生成的。
解簽名單元304,用于對簽名信息進(jìn)行解簽名得到第一摘要。摘要生成單元306,用于根據(jù)有效地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第二摘要。
驗(yàn)簽單元308,用于將第二摘要與第一摘要進(jìn)行比對,如果一致,則驗(yàn)簽通過。
摘要生成單元306,可以被配置通過以下幾種不同的實(shí)現(xiàn)方式生成第二摘要:
當(dāng)?shù)谝徽獮樯啥嗽O(shè)備根據(jù)用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值生成的情況下,摘要生成單元306,用于根據(jù)有效地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長的比值生成第二摘要;
或者,
當(dāng)?shù)谝徽獮樯啥嗽O(shè)備根據(jù)用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值生成的情況下,摘要生成單元306,用于根據(jù)有效地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值生成第 二摘要。
或者,
當(dāng)?shù)谝徽獮樯啥嗽O(shè)備根據(jù)第一比值與第二比值生成的情況下,第一比值為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長的比值,第二比值為生成端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值,摘要生成單元306,用于根據(jù)第三比值與第四比值生成第二摘要,第三比值為有效地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差離除以距離步長的比值,第四比值為驗(yàn)碼端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值;
或者,
當(dāng)?shù)谝徽獮樯啥嗽O(shè)備根據(jù)第一比值與第二比值生成的情況下,第一比值為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值,第二比值為生成端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值,摘要生成單元306,用于根據(jù)第三比值與第四比值生成第二摘要,第三比值為有效地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值,第四比值為驗(yàn)碼端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值。
本發(fā)明還提供一種用于簽名的生成端設(shè)備,下面結(jié)合圖4進(jìn)行描述。
圖4為本發(fā)明于簽名的生成端設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)圖。如圖4所示,該生成端設(shè)備40包括:
地理位置獲取單元402,用于獲取用戶當(dāng)前地理位置;
摘要生成單元404,用于根據(jù)用戶當(dāng)前地理位置、預(yù)設(shè)基準(zhǔn)位置和距離步長生成第一摘要;
簽名單元406,用于對第一摘要進(jìn)行簽名得到簽名信息;
簽名信息發(fā)送單元408,用于將簽名信息發(fā)送至驗(yàn)碼端設(shè)備,以便驗(yàn)碼端設(shè)備對簽名信息進(jìn)行驗(yàn)簽。。
摘要生成單元404,可以被配置通過以下幾種不同的實(shí)現(xiàn)方式生成第一摘要:
摘要生成單元404,用于根據(jù)用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置 的矢量差除以距離步長的比值生成第一摘要;
或者,
摘要生成單元404,用于根據(jù)用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值生成第一摘要。
或者,
密摘要生成單元404,用于根據(jù)第一比值與第二比值生成第一摘要,第一比值為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的矢量差除以距離步長的比值,第二比值為生成端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值;
或者,
摘要生成單元404,用于根據(jù)第一比值與第二比值生成第一摘要,第一比值為用戶當(dāng)前地理位置與預(yù)設(shè)基準(zhǔn)位置的距離除以距離步長的比值,第二比值為生成端設(shè)備當(dāng)前時(shí)間戳與預(yù)設(shè)基準(zhǔn)時(shí)間戳的差值除以時(shí)間步長的比值。
上述圖3或圖4對應(yīng)的實(shí)施例中第一摘要與第二摘要例如根據(jù)totp計(jì)算獲得。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。