本發(fā)明涉及計(jì)算機(jī)信息技術(shù)領(lǐng)域,尤其涉及一種基于無(wú)連接通信驗(yàn)證的信息傳遞方法。
背景技術(shù):
實(shí)用中對(duì)于某一固定區(qū)域,為了讓進(jìn)入?yún)^(qū)域的設(shè)備驗(yàn)證并獲知與當(dāng)前空間之間的臨近屬性關(guān)系,如是否為接近了授權(quán)經(jīng)營(yíng)的店鋪或者位置,所述驗(yàn)證不能被偽造,需要一個(gè)有效的補(bǔ)充實(shí)現(xiàn)對(duì)于基于驗(yàn)證接近位置的安全訪問(wèn)驗(yàn)證。gps信息是公開(kāi)的信息,在商業(yè)活動(dòng)中使用時(shí)可以用于推送信息,但是因?yàn)榭梢詡卧?,所以不能用于?yàn)證設(shè)備所處的空間位置是否為不可抵賴的,所以也就不能在實(shí)際生活中用于驗(yàn)證。目前還有基于wifi,藍(lán)牙的定位技術(shù),這些技術(shù)使用的無(wú)線信號(hào)可以用于推送,但是也存在被偽造的場(chǎng)景,如偽造wifissid,或者偽造藍(lán)牙設(shè)備id。因此在用于驗(yàn)證當(dāng)前接近位置從而獲得信息是否為授權(quán)的權(quán)威發(fā)送的應(yīng)用場(chǎng)景中缺乏防偽的安全能力。
此外在實(shí)用中,人們需要方便快捷的在現(xiàn)場(chǎng)獲取信息,如果每次獲取用于驗(yàn)證位置關(guān)系的信息數(shù)據(jù)獲取都要與被驗(yàn)證的對(duì)象的通信節(jié)點(diǎn)網(wǎng)絡(luò)驗(yàn)證密碼獲得連接的話,就會(huì)增加用戶輸入密碼和操作的步驟,因此需要一種能夠通過(guò)無(wú)連接通信情況下方便的驗(yàn)證和獲取信息的方法;這種網(wǎng)絡(luò)訪問(wèn)連接如通過(guò)密碼驗(yàn)證后與wifi設(shè)備通信或通過(guò)人機(jī)界面驗(yàn)證后的藍(lán)牙設(shè)備連接后通信,等等復(fù)雜的面向連接的通信都不能達(dá)到無(wú)連接通信的便利性。
需要一種只驗(yàn)證與通信設(shè)備的位置接近關(guān)系是否合法而不關(guān)心具體在現(xiàn)實(shí)什么位置的技術(shù),從而使獲得該位置驗(yàn)證關(guān)系信息的第三方無(wú)法定位用戶的真實(shí)位置但是卻可以通過(guò)共享的位置識(shí)別結(jié)果提供服務(wù),因此對(duì)于用戶隱私是很好的保護(hù)。用戶可以公開(kāi)的驗(yàn)證當(dāng)前的接近位置關(guān)系而獲取信息而不需要想服務(wù)第三方公開(kāi)自己的真實(shí)位置,對(duì)于隱私是一個(gè)很好的保護(hù)。
技術(shù)實(shí)現(xiàn)要素:
為實(shí)現(xiàn)本發(fā)明之目的,采用以下技術(shù)方案予以實(shí)現(xiàn):
一種基于無(wú)連接通信的驗(yàn)證信息傳遞技術(shù),包括第一設(shè)備,安全服務(wù)端,用戶端設(shè)備和應(yīng)用服務(wù)端。
所述可信位置驗(yàn)證消息包括位置識(shí)別碼,可變碼,可信位置簽名;所述位置識(shí)別碼唯一對(duì)應(yīng)第一密鑰和第二密鑰;所述第一密鑰保存在第一設(shè)備中;所述第二密鑰保存在安全驗(yàn)證服務(wù)器中;所述第一密鑰和所述第二密鑰是對(duì)應(yīng)關(guān)系,即使用所述第二密鑰可以驗(yàn)證消息簽名是否為使用第一密鑰計(jì)算產(chǎn)生;所述信息簽名是第一設(shè)備對(duì)于包括位置識(shí)別碼和可變碼的信息序列使用第一密鑰計(jì)算產(chǎn)生的可信位置簽名;所述可變碼為動(dòng)態(tài)變化信息,每次產(chǎn)生的可信位置驗(yàn)證消息中包括的可變碼都是不同的。
所述用戶設(shè)備接收第一設(shè)備發(fā)送的所述可信位置驗(yàn)證消息,使用保存在用戶設(shè)備中的第三密鑰計(jì)算包括收到的所述可信位置驗(yàn)證消息的信息序列產(chǎn)生消息簽名;所述第三密鑰和所述第四密鑰是對(duì)應(yīng)關(guān)系,即使用所述第四密鑰可以驗(yàn)證消息簽名是否為使用第三密鑰計(jì)算產(chǎn)生;第一位置驗(yàn)證消息包括前述消息簽名和所述可信位置驗(yàn)證消息;實(shí)用中,第一位置驗(yàn)證消息還可以包括應(yīng)用識(shí)別id,以及用于標(biāo)記第三密鑰和第四密鑰對(duì)應(yīng)關(guān)系的應(yīng)用服務(wù)密鑰識(shí)別id;在應(yīng)用服務(wù)端可以使用應(yīng)用服務(wù)密鑰識(shí)別id查詢對(duì)應(yīng)的第四密鑰的方法驗(yàn)證第一位置驗(yàn)證消息簽名;將第一驗(yàn)證消息發(fā)送給安全驗(yàn)證服務(wù)端。
所述安全服務(wù)端保存第二密鑰;所述安全服務(wù)端接收第一驗(yàn)證消息,提取消息中包括的所述可信位置驗(yàn)證消息,使用位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,使用第二密鑰驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果通過(guò),就認(rèn)定用戶端接收到了可信的位置驗(yàn)證信息,產(chǎn)生并將第三驗(yàn)證消息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)端,所述第三位置驗(yàn)證消息包括用于驗(yàn)證用戶端設(shè)備的信息和用于決定應(yīng)用服務(wù)端向?qū)?yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù)的信息;
所述應(yīng)用服務(wù)端保存第四密鑰;所述應(yīng)用服務(wù)端接收安全服務(wù)端轉(zhuǎn)發(fā)的第一位置驗(yàn)證消息,使用與用戶端對(duì)應(yīng)的第四密鑰驗(yàn)證第一驗(yàn)證消息簽名,如果驗(yàn)證通過(guò),應(yīng)用服務(wù)端就是用可變碼關(guān)聯(lián)的對(duì)應(yīng)信息向第四密鑰對(duì)應(yīng)的用戶端設(shè)備推送信息。
本發(fā)明中還包括了一種壓縮簽名長(zhǎng)度的方法,當(dāng)所述可信位置驗(yàn)證消息的長(zhǎng)度超出廣播信道的傳輸能力時(shí),可以使用第五密鑰為可信位置驗(yàn)證消息計(jì)算消息m,所述計(jì)算消息m的長(zhǎng)度小于可信位置簽名的長(zhǎng)度,并使用消息m代替可信位置驗(yàn)證簽名產(chǎn)生壓縮后的可信位置驗(yàn)證消息;同時(shí)第一設(shè)備產(chǎn)生并將第二位置驗(yàn)證消息向安全驗(yàn)證服務(wù)器發(fā)送;所述第二位置驗(yàn)證消息包括未壓縮可信位置驗(yàn)證消息和消息m;在壓縮可信位置驗(yàn)證消息的情況下,在安全驗(yàn)證服務(wù)端接收到第一位置驗(yàn)證消息和第二位置驗(yàn)證消息后,使用第一位置驗(yàn)證消息中包括的消息m查找對(duì)應(yīng)的第二位置驗(yàn)證消息;使用位置識(shí)別碼查找第六密鑰驗(yàn)證消息m,即提取第二位置驗(yàn)證消息中包括的未壓縮可信位置驗(yàn)證消息,使用第六密鑰計(jì)算消息認(rèn)證碼,如果計(jì)算的消息認(rèn)證碼和第一位置驗(yàn)證消息中包括的消息m相等,則驗(yàn)證通過(guò),繼續(xù)后續(xù)處理,使用第二密鑰驗(yàn)證第二位置驗(yàn)證消息中的可信位置簽名,驗(yàn)證通過(guò)后,將第一位置驗(yàn)證消息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)端;如果驗(yàn)證不通過(guò),則停止流程。
一種基于無(wú)連接通信驗(yàn)證的信息傳遞系統(tǒng),該系統(tǒng)包括第一設(shè)備,安全驗(yàn)證服務(wù)端,用戶端設(shè)備和應(yīng)用服務(wù)端,其中:
所述第一設(shè)備用于產(chǎn)生可信位置驗(yàn)證消息,并通過(guò)無(wú)連接通信的方式發(fā)送該可信位置驗(yàn)證消息;
所述用戶設(shè)備用于接收第一設(shè)備發(fā)送的所述可信位置驗(yàn)證消息,計(jì)算包括可信位置驗(yàn)證消息的信息序列并產(chǎn)生第一位置驗(yàn)證消息,用戶設(shè)備將第一位置驗(yàn)證消息發(fā)送給安全驗(yàn)證服務(wù)端;
所述安全驗(yàn)證服務(wù)端用于接收第一位置驗(yàn)證消息,提取該消息中包括的可信位置驗(yàn)證消息,驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果驗(yàn)證通過(guò),就認(rèn)定用戶設(shè)備接收到了可信位置驗(yàn)證消息,則產(chǎn)生第三位置驗(yàn)證消息并將第三位置驗(yàn)證消息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)端,所述第三位置驗(yàn)證消息包括用于驗(yàn)證發(fā)起用戶端設(shè)備的第一位置驗(yàn)證消息和用于決定應(yīng)用服務(wù)端向?qū)?yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù)的所述位置識(shí)別碼和可變碼信息;
所述應(yīng)用服務(wù)端用于接收安全驗(yàn)證服務(wù)端轉(zhuǎn)發(fā)的第三位置驗(yàn)證消息,提取并驗(yàn)證第一位置驗(yàn)證消息,如果驗(yàn)證通過(guò),應(yīng)用服務(wù)端就向用戶端設(shè)備推送與第三位置驗(yàn)證消息對(duì)應(yīng)的響應(yīng)和后續(xù)服務(wù)。
所述的系統(tǒng),其中:所述可信位置驗(yàn)證消息包括可信位置關(guān)系信息和可信位置簽名;當(dāng)?shù)谝幻荑€和第二密鑰是非對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括位置識(shí)別碼和可變碼,所述位置識(shí)別碼對(duì)應(yīng)第一密鑰和第二密鑰;當(dāng)?shù)谝幻荑€和第二密鑰是對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括可變碼,所述可變碼為動(dòng)態(tài)變化信息;
所述第一密鑰保存在第一設(shè)備中;所述第二密鑰保存在安全驗(yàn)證服務(wù)端中;所述可信位置簽名是第一設(shè)備對(duì)于包括可信位置關(guān)系信息的信息序列使用第一密鑰計(jì)算產(chǎn)生的可信位置簽名。
所述的系統(tǒng),其中:第一設(shè)備在發(fā)送可信位置驗(yàn)證消息前先判斷是否需要對(duì)所述可信位置驗(yàn)證消息壓縮;如果所述可信位置驗(yàn)證消息的長(zhǎng)度大于當(dāng)前第一設(shè)備配置的通信方式的最大發(fā)送長(zhǎng)度,就判斷為需要壓縮,則配置為第一設(shè)備對(duì)該信息進(jìn)行壓縮;第一設(shè)備以無(wú)連接通信的方式發(fā)送可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息。
所述的系統(tǒng),其中:當(dāng)需要壓縮時(shí),第一設(shè)備按如下方式生成壓縮后的可信位置驗(yàn)證消息以及產(chǎn)生并向安全服務(wù)端發(fā)送第二位置驗(yàn)證消息:(1)第一設(shè)備壓縮可信位置驗(yàn)證消息計(jì)算得到消息m,所述消息m的長(zhǎng)度小于可信位置驗(yàn)證消息的長(zhǎng)度,第一設(shè)備將生成的消息m替換可信位置驗(yàn)證消息中的可信位置簽名信息以及其他信息直至滿足發(fā)送的最大長(zhǎng)度,由此生成壓縮后的可信位置驗(yàn)證消息;(2)第一設(shè)備生成所述第二位置驗(yàn)證消息,第二位置驗(yàn)證消息包括所述未壓縮的可信位置驗(yàn)證消息和對(duì)應(yīng)消息m,第二位置驗(yàn)證消息生成后,第一設(shè)備將第二位置驗(yàn)證消息向安全驗(yàn)證服務(wù)器發(fā)送。
所述的系統(tǒng),其中:所述用戶端設(shè)備接收第一設(shè)備發(fā)送的所述可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息,使用保存在用戶端設(shè)備中的第三密鑰計(jì)算包括接收到的所述可信位置驗(yàn)證消息的信息序列產(chǎn)生第一位置驗(yàn)證消息簽名;所述用戶端設(shè)備產(chǎn)生第一位置驗(yàn)證消息,第一位置驗(yàn)證消息包括第一位置驗(yàn)證消息簽名和收到的所述可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息;用戶端設(shè)備將第一位置驗(yàn)證消息發(fā)送給安全驗(yàn)證服務(wù)端。
所述的系統(tǒng),其中:安全驗(yàn)證服務(wù)端保存有第二密鑰和對(duì)應(yīng)于第二密鑰的位置識(shí)別碼,所述安全驗(yàn)證服務(wù)端驗(yàn)證第一位置驗(yàn)證消息中包括的可信位置驗(yàn)證消息:在沒(méi)有壓縮可信位置驗(yàn)證消息的情況下,所述安全服務(wù)端接收第一位置驗(yàn)證消息,提取消息中包括的所述可信位置驗(yàn)證消息,在第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,使用可信位置驗(yàn)證消息中的位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,使用第二密鑰驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果通過(guò),就認(rèn)定用戶端設(shè)備接收到了可信位置驗(yàn)證消息,則安全服務(wù)端將第一位置驗(yàn)證消息包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則終止處理;在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,使用所述可信位置驗(yàn)證消息中包括的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否存在同樣的可信位置簽名,如果存在就驗(yàn)證計(jì)算該可信位置簽名使用的可變碼和所述可信位置驗(yàn)證消息中包括的可變碼是否一致,如果一致,就認(rèn)定用戶端設(shè)備接收到了可信位置驗(yàn)證消息,則安全服務(wù)端就提取對(duì)應(yīng)的第二密鑰所對(duì)應(yīng)的位置識(shí)別碼,則安全服務(wù)端將第一位置驗(yàn)證消息和對(duì)應(yīng)的位置識(shí)別碼和可變碼包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;
或者,當(dāng)發(fā)生壓縮的情況下,所述安全驗(yàn)證服務(wù)端保存有第二密鑰,安全驗(yàn)證服務(wù)端接收到第一位置驗(yàn)證消息后,使用第一位置驗(yàn)證消息中包括的消息m查找對(duì)應(yīng)的第二位置驗(yàn)證消息,提取查找到的第二位置驗(yàn)證消息中的未壓縮的可信位置驗(yàn)證消息,使用與第一設(shè)備壓縮計(jì)算時(shí)同樣的算法及對(duì)應(yīng)密鑰為第二位置驗(yàn)證消息中未壓縮的可信位置驗(yàn)證消息計(jì)算得到消息m1,與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,則驗(yàn)證通過(guò),繼續(xù)下一步處理,否則,停止處理;繼續(xù)下一步處理,在第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,提取第二位置驗(yàn)證消息中的未壓縮可信位置驗(yàn)證消息,使用包括的位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,并使用第二密鑰驗(yàn)證對(duì)應(yīng)第二位置驗(yàn)證消息中包括的未壓縮的可信位置驗(yàn)證消息中包括的可信位置簽名,驗(yàn)證通過(guò)后,提取對(duì)應(yīng)第二位置驗(yàn)證消息中包括的位置識(shí)別碼、可變碼,將第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼包括在第三位置驗(yàn)證消息發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,提取第二位置驗(yàn)證消息中的未壓縮可信位置驗(yàn)證消息,使用包括的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否存在同樣的可信位置簽名,如果存在所述安全驗(yàn)證服務(wù)端就計(jì)算該可信位置簽名時(shí)使用的可變碼和所述第二位置驗(yàn)證消息中可信位置驗(yàn)證消息中包括的可變碼是否一致,如果一致,就判定驗(yàn)證通過(guò)就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息并提取包括的可變碼,并且安全驗(yàn)證服務(wù)端提取對(duì)應(yīng)的第二密鑰對(duì)應(yīng)的位置識(shí)別碼,安全驗(yàn)證服務(wù)端將第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;
所述第三位置驗(yàn)證消息包括用于驗(yàn)證發(fā)起用戶端設(shè)備的第一位置驗(yàn)證消息和用于決定應(yīng)用服務(wù)端向?qū)?yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù)的所述位置識(shí)別碼和可變碼信息。
所述的系統(tǒng),其中:應(yīng)用服務(wù)端驗(yàn)證用戶端設(shè)備并進(jìn)行相應(yīng)處理:所述應(yīng)用服務(wù)端保存有第四密鑰;所述應(yīng)用服務(wù)端接收安全驗(yàn)證服務(wù)端發(fā)送的第三位置驗(yàn)證消息,提取包括的第一位置驗(yàn)證消息,使用與用戶設(shè)備對(duì)應(yīng)的第四密鑰驗(yàn)證第一位置驗(yàn)證消息簽名,如果驗(yàn)證通過(guò),應(yīng)用服務(wù)端提取第三位置驗(yàn)證消息中包括的位置識(shí)別碼以及可變碼關(guān)聯(lián)的對(duì)應(yīng)信息向?qū)?yīng)的用戶設(shè)備推送響應(yīng)和/或后續(xù)服務(wù)。
所述的系統(tǒng),其中:應(yīng)用服務(wù)端從第三位置驗(yàn)證消息中提取到位置識(shí)別碼,應(yīng)用服務(wù)端預(yù)先存儲(chǔ)有與不同的位置識(shí)別碼相對(duì)應(yīng)的響應(yīng)信息或服務(wù)信息,所述信息的內(nèi)容還與可變碼等參數(shù)有關(guān),在第一位置驗(yàn)證消息簽名驗(yàn)證通過(guò)后,應(yīng)用服務(wù)端根據(jù)所述位置識(shí)別碼查詢相應(yīng)的響應(yīng)信息或服務(wù)信息,并結(jié)合可變碼決定出向用戶設(shè)備推送的相應(yīng)的響應(yīng)和/或后續(xù)服務(wù)。
一種基于無(wú)連接通信驗(yàn)證的信息傳遞方法,包括如下步驟:
第一設(shè)備產(chǎn)生可信位置驗(yàn)證消息,并通過(guò)無(wú)連接通信的方式發(fā)送該可信位置驗(yàn)證消息;
用戶端設(shè)備接收第一設(shè)備發(fā)送的所述可信位置驗(yàn)證消息,計(jì)算包括可信位置驗(yàn)證消息的信息序列并產(chǎn)生第一位置驗(yàn)證消息,用戶端設(shè)備將第一位置驗(yàn)證消息發(fā)送給安全驗(yàn)證服務(wù)端;
安全驗(yàn)證服務(wù)端接收第一位置驗(yàn)證消息,提取該消息中包括的可信位置驗(yàn)證消息,驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果通過(guò),就認(rèn)定用戶端設(shè)備接收到了可信位置驗(yàn)證消息,則產(chǎn)生并將第三位置驗(yàn)證消息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)端,所述第三位置驗(yàn)證消息包括用于驗(yàn)證發(fā)起用戶端設(shè)備的第一位置驗(yàn)證消息和用于決定應(yīng)用服務(wù)端向?qū)?yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù)的所述位置識(shí)別碼和可變碼信息;
應(yīng)用服務(wù)端接收安全驗(yàn)證服務(wù)端發(fā)送的第三位置驗(yàn)證消息,提取第一位置驗(yàn)證消息,驗(yàn)證第一位置驗(yàn)證消息,如果驗(yàn)證通過(guò),應(yīng)用服務(wù)端就向用戶端設(shè)備推送第三位置驗(yàn)證消息對(duì)應(yīng)的響應(yīng)和后續(xù)服務(wù)。
所述的方法,其中:所述可信位置驗(yàn)證消息包括可信位置關(guān)系信息和可信位置簽名;當(dāng)?shù)谝幻荑€和第二密鑰是非對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括位置識(shí)別碼和可變碼,所述位置識(shí)別碼對(duì)應(yīng)第一密鑰和第二密鑰;當(dāng)?shù)谝幻荑€和第二密鑰是對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括可變碼;所述可變碼為動(dòng)態(tài)變化信息;
所述第一密鑰保存在第一設(shè)備中;所述第二密鑰保存在安全驗(yàn)證服務(wù)端中;所述可信位置簽名是第一設(shè)備對(duì)于包括可信位置關(guān)系信息的信息序列使用第一密鑰計(jì)算產(chǎn)生的可信位置簽名。
所述的方法,其中:第一設(shè)備在發(fā)送可信位置驗(yàn)證消息前先判斷是否需要對(duì)所述可信位置驗(yàn)證消息壓縮;如果所述可信位置驗(yàn)證消息的長(zhǎng)度大于當(dāng)前第一設(shè)備具備的信道最大發(fā)送長(zhǎng)度,就判斷為需要壓縮,則第一設(shè)備對(duì)該信息進(jìn)行壓縮;第一設(shè)備以無(wú)連接通信的方式發(fā)送可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息。
所述的方法,其中:當(dāng)需要壓縮時(shí),第一設(shè)備按如下方式生成壓縮后的可信位置驗(yàn)證消息以及產(chǎn)生并向安全服務(wù)端發(fā)送第二位置驗(yàn)證消息:(1)第一設(shè)備為可信位置驗(yàn)證消息壓縮計(jì)算得到消息m,所述消息m的長(zhǎng)度小于可信位置驗(yàn)證消息的長(zhǎng)度,第一設(shè)備將生成的消息m替換可信位置驗(yàn)證消息中的可信位置簽名信息以及其他部分信息直至滿足發(fā)送的最大消息長(zhǎng)度,由此生成壓縮后的可信位置驗(yàn)證消息;(2)第一設(shè)備生成所述第二位置驗(yàn)證消息,第二位置驗(yàn)證消息包括所述未壓縮的可信位置驗(yàn)證消息和對(duì)應(yīng)消息m,第二位置驗(yàn)證消息生成后,第一設(shè)備將第二位置驗(yàn)證消息向安全驗(yàn)證服務(wù)端發(fā)送。
所述的方法,其中:所述用戶端設(shè)備接收第一設(shè)備發(fā)送的所述可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息,使用保存在用戶端設(shè)備中的第三密鑰計(jì)算包括接收到的所述可信位置驗(yàn)證消息的信息序列產(chǎn)生第一位置驗(yàn)證消息簽名;所述用戶端設(shè)備產(chǎn)生第一位置驗(yàn)證消息,第一位置驗(yàn)證消息包括第一位置驗(yàn)證消息簽名和接收到的所述可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息;用戶端設(shè)備將第一位置驗(yàn)證消息發(fā)送給安全驗(yàn)證服務(wù)端。
所述的方法,其中:安全驗(yàn)證服務(wù)端保存有第二密鑰和對(duì)應(yīng)于第二密鑰的位置識(shí)別碼,所述安全驗(yàn)證服務(wù)端驗(yàn)證第一位置驗(yàn)證消息中包括的可信位置驗(yàn)證消息:在沒(méi)有壓縮可信位置驗(yàn)證消息的情況下,所述安全服務(wù)端接收第一位置驗(yàn)證消息,提取消息中包括的所述可信位置驗(yàn)證消息,在第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,使用可信位置驗(yàn)證消息中的位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,使用第二密鑰驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果驗(yàn)證通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息,則安全服務(wù)端產(chǎn)生并將第三位置驗(yàn)證消息發(fā)送至應(yīng)用服務(wù)端,所述第三位置驗(yàn)證消息包括第一位置驗(yàn)證消息,對(duì)應(yīng)的位置識(shí)別碼和可變碼,驗(yàn)證不通過(guò)則終止處理;在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,使用所述可信位置驗(yàn)證消息中包括的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否存在同樣的可信位置簽名,如果存在就由驗(yàn)證安全服務(wù)端計(jì)算該可信位置簽名使用的可變碼和所述收到的可信位置驗(yàn)證消息中包括的可變碼是否一致,如果一致就判定為驗(yàn)證通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息,則安全服務(wù)端就提取對(duì)應(yīng)的第二密鑰所對(duì)應(yīng)的位置識(shí)別碼,則安全服務(wù)端將第一位置驗(yàn)證消息和對(duì)應(yīng)的位置識(shí)別碼和可變碼包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;
或者,當(dāng)發(fā)生壓縮的情況下,所述安全驗(yàn)證服務(wù)端保存有第二密鑰,安全驗(yàn)證服務(wù)端接收到第一位置驗(yàn)證消息后,使用第一位置驗(yàn)證消息中包括的消息m查找對(duì)應(yīng)的第二位置驗(yàn)證消息,提取查找到的對(duì)應(yīng)的第二位置驗(yàn)證消息中包括的未壓縮可信位置驗(yàn)證消息,使用與第一設(shè)備壓縮計(jì)算時(shí)同樣的算法及對(duì)應(yīng)密鑰為第二位置驗(yàn)證消息中未壓縮的可信位置驗(yàn)證消息計(jì)算得到消息m1,與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,則驗(yàn)證通過(guò),繼續(xù)下一步處理,否則,停止處理;繼續(xù)下一步處理時(shí),在第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,提取第二位置驗(yàn)證消息中的未壓縮可信位置驗(yàn)證消息,使用包括的位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,并使用第二密鑰驗(yàn)證對(duì)應(yīng)第二位置驗(yàn)證消息中包括的未壓縮的可信位置驗(yàn)證消息中的可信位置簽名,驗(yàn)證通過(guò)后,提取對(duì)應(yīng)第二位置驗(yàn)證消息中包括的位置識(shí)別碼、可變碼,將第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼包括在第三位置驗(yàn)證消息發(fā)送至應(yīng)用服務(wù)端;驗(yàn)證不通過(guò)則不產(chǎn)生第三位置驗(yàn)證消息并終止處理;在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,提取第二位置驗(yàn)證消息中的未壓縮可信位置驗(yàn)證消息,使用包括的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否存在同樣的可信位置簽名,如果存在就由所述安全驗(yàn)證服務(wù)端計(jì)算該可信位置簽名時(shí)使用的可變碼和所述第二位置驗(yàn)證消息中可信位置驗(yàn)證消息中包括的可變碼是否一致,如果一致則判定驗(yàn)證通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息并提取包括的可變碼,安全驗(yàn)證服務(wù)端提取對(duì)應(yīng)的第二密鑰對(duì)應(yīng)的位置識(shí)別碼,安全驗(yàn)證服務(wù)端將第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;
所述第三位置驗(yàn)證消息包括用于驗(yàn)證發(fā)起用戶端設(shè)備的第一位置驗(yàn)證消息和用于決定應(yīng)用服務(wù)端向?qū)?yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù)的所述位置識(shí)別碼和可變碼信息。
所述的系統(tǒng),其中:應(yīng)用服務(wù)端驗(yàn)證用戶端設(shè)備并進(jìn)行相應(yīng)處理:所述應(yīng)用服務(wù)端保存有第四密鑰;所述應(yīng)用服務(wù)端接收安全驗(yàn)證服務(wù)端轉(zhuǎn)發(fā)的第三位置驗(yàn)證消息,提取包括的所述第一位置驗(yàn)證消息,使用與用戶端設(shè)備對(duì)應(yīng)的第四密鑰驗(yàn)證第一位置驗(yàn)證消息簽名,如果驗(yàn)證通過(guò),應(yīng)用驗(yàn)證服務(wù)端就使用第三位置驗(yàn)證消息中包括的位置識(shí)別碼以及可變碼關(guān)聯(lián)的對(duì)應(yīng)信息向?qū)?yīng)的用戶設(shè)備推送響應(yīng)和/或后續(xù)服務(wù)。
所述的方法,其中:應(yīng)用驗(yàn)證服務(wù)端從所述第三位置驗(yàn)證消息中提取得到的位置識(shí)別碼,應(yīng)用驗(yàn)證服務(wù)端預(yù)先存儲(chǔ)有與不同的位置識(shí)別碼相對(duì)應(yīng)的響應(yīng)信息或服務(wù)信息,所述信息的內(nèi)容還與可變碼等參數(shù)有關(guān),在包括的第一位置驗(yàn)證消息簽名驗(yàn)證通過(guò)后,應(yīng)用驗(yàn)證服務(wù)端根據(jù)從第三位置驗(yàn)證消息中得到位置識(shí)別碼查詢相應(yīng)的響應(yīng)信息或服務(wù)信息,并結(jié)合可變碼決定出向用戶設(shè)備推送相應(yīng)的響應(yīng)和/或后續(xù)服務(wù)。
一種驗(yàn)證設(shè)備,包括:主計(jì)算機(jī)系統(tǒng),用戶側(cè)通信模塊,可信位置驗(yàn)證消息計(jì)算模塊和可信位置驗(yàn)證消息壓縮模塊;其中:
所述主計(jì)算機(jī)系統(tǒng)用于管理第一設(shè)備、存儲(chǔ)密鑰以及進(jìn)行計(jì)算;
所述用戶側(cè)通信模塊用于向用戶端設(shè)備發(fā)送可信位置驗(yàn)證消息;
所述可信位置驗(yàn)證消息計(jì)算模塊用于基于可信位置關(guān)系信息使用第一密鑰計(jì)算產(chǎn)生可信位置簽名并產(chǎn)生可信位置驗(yàn)證消息;
所述可信位置驗(yàn)證消息壓縮模塊用于根據(jù)用戶側(cè)通信接口的傳輸能力的需要產(chǎn)生壓縮后的可信位置驗(yàn)證消息。
所述的設(shè)備,其中:所述可信位置驗(yàn)證消息包括可信位置關(guān)系信息和可信位置簽名;當(dāng)?shù)谝幻荑€和第二密鑰是非對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括位置識(shí)別碼和可變碼,所述位置識(shí)別碼對(duì)應(yīng)第一密鑰和第二密鑰;當(dāng)?shù)谝幻荑€和第二密鑰是對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括可變碼;所述第一密鑰保存在第一設(shè)備中;所述第二密鑰保存在安全驗(yàn)證服務(wù)端中;所述可信位置簽名是第一設(shè)備對(duì)于包括可信位置關(guān)系信息的信息序列使用第一密鑰計(jì)算產(chǎn)生的可信位置簽名。
所述的設(shè)備,其中:其中位置識(shí)別碼對(duì)應(yīng)于第一設(shè)備部署的實(shí)際場(chǎng)所和設(shè)備對(duì)象。
所述的設(shè)備,其中:可信位置驗(yàn)證消息壓縮模塊使用預(yù)置的算法和密鑰對(duì)可信位置驗(yàn)證消息計(jì)算得到對(duì)應(yīng)消息m,所述消息m的長(zhǎng)度小于可信位置驗(yàn)證消息的長(zhǎng)度,可信位置驗(yàn)證消息壓縮模塊將生成的消息m替換可信位置驗(yàn)證消息中的可信位置簽名信息以及其他部分信息直至滿足發(fā)送消息允許的信道最大長(zhǎng)度,實(shí)現(xiàn)了對(duì)可信位置驗(yàn)證消息的壓縮,生成壓縮后的可信位置驗(yàn)證消息。
所述的設(shè)備,其中:可信位置驗(yàn)證消息壓縮模塊生成第二位置驗(yàn)證消息,第二位置驗(yàn)證消息包括所述未壓縮的可信位置驗(yàn)證消息和對(duì)應(yīng)消息m;第二位置驗(yàn)證消息生成后,第一設(shè)備將第二位置驗(yàn)證消息向安全驗(yàn)證服務(wù)端發(fā)送。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
如圖1是為本發(fā)明實(shí)施例中位置驗(yàn)證服務(wù)示意圖。
如圖2是為本發(fā)明實(shí)施例中第一設(shè)備示意圖。
如圖3是為本發(fā)明實(shí)施例中安全服務(wù)端示意圖。
如圖4是為本發(fā)明實(shí)施例中應(yīng)用服務(wù)端示意圖。
如圖5是為本發(fā)明實(shí)施例中壓縮可信位置驗(yàn)證消息的方法示意圖。
如圖6是為本發(fā)明實(shí)施例中位置驗(yàn)證服務(wù)流程示意圖。
具體實(shí)施方式
以下結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明,并且在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
實(shí)施示例1;
如圖1是為本發(fā)明實(shí)施例中的一種基于無(wú)連接通信的驗(yàn)證信息傳遞系統(tǒng)示意圖。該系統(tǒng)包括第一設(shè)備,安全驗(yàn)證服務(wù)端,用戶端設(shè)備和應(yīng)用服務(wù)端。
所述無(wú)連接通信指第一設(shè)備用于發(fā)送可信位置驗(yàn)證消息的通信方式,具體為在發(fā)送所述消息之前,不事先建立ip層通信連接,而是使用通信雙方配置的公允的公共信道或廣播信道及物理層幀承載,并遵循相關(guān)通信協(xié)議直接發(fā)送和接收信息的方式;具體的,通信雙方包括通信發(fā)送方和通信接收方,通信發(fā)送方在通信雙方配置的公允的公共信道或廣播信道及物理層幀承載上遵循相關(guān)通信協(xié)議發(fā)送信息,通信接收方通過(guò)在通信雙方配置的公允的公共信道或廣播信道及物理層幀上接收并遵循相關(guān)通信協(xié)議解析承載信息的通信方式;包括但不限于無(wú)線通信中普遍使用的廣播信道及物理層幀及相關(guān)承載的通信協(xié)議規(guī)定的數(shù)據(jù)包格式的通信方式;如服從ieee802.11標(biāo)準(zhǔn)的wifi無(wú)線通信中,使用beaconframe發(fā)送的ssid就是本發(fā)明中所指的一種無(wú)連接通信,通信發(fā)送方與接收方不建立ip層通信連接,直接在beaconframe承載中發(fā)送ssid信息,接收方偵聽(tīng)beaconframe并根據(jù)遵循的通信協(xié)議解析數(shù)據(jù)從而實(shí)現(xiàn)ssid信息的接收。
所述第一設(shè)備產(chǎn)生可信位置驗(yàn)證消息(s101);所述可信位置驗(yàn)證消息包括可信位置關(guān)系信息,可信位置簽名;第一設(shè)備通過(guò)無(wú)連接通信,如wifi無(wú)線通信中廣播的beaconframe發(fā)送可信位置驗(yàn)證消息;或者也可以使用二維碼和聲波的短距離接近用戶設(shè)備的方式傳送可信位置驗(yàn)證消息;較優(yōu)的在實(shí)用中可以使用wifi廣播的beaconframe中的ssid(servicesetidentifier)字段來(lái)傳輸可信位置驗(yàn)證消息;
所述第一密鑰安全保存在第一設(shè)備中并用于識(shí)別第一設(shè)備;所述第一設(shè)備對(duì)于包括可信位置關(guān)系信息的信息序列使用第一密鑰計(jì)算產(chǎn)生可信位置簽名;當(dāng)?shù)谝幻荑€和第二密鑰是非對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括位置識(shí)別碼和可變碼,所述位置識(shí)別碼對(duì)應(yīng)第一密鑰和第二密鑰;當(dāng)?shù)谝幻荑€和第二密鑰是對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括可變碼;所述可變碼為動(dòng)態(tài)變化信息。
實(shí)用中位置識(shí)別碼可以是標(biāo)記設(shè)備,或者安裝地點(diǎn)的位置和空間的分配的識(shí)別號(hào);也可以直接使用設(shè)備的識(shí)別號(hào)來(lái)標(biāo)記設(shè)備部署的場(chǎng)所/設(shè)備;所述可變碼為動(dòng)態(tài)變化信息,每次產(chǎn)生的可信位置驗(yàn)證消息中包括的可變碼都可以是不同的,所述可變碼可以基于時(shí)間的固定周期變化,可以使用預(yù)先設(shè)置的算法而與安全服務(wù)端同步變化,可以與共同部署的多媒體設(shè)備中的內(nèi)容關(guān)聯(lián)而變化;所述可信位置驗(yàn)證消息可以在接收到請(qǐng)求后產(chǎn)生,也可以按照固定周期持續(xù)產(chǎn)生;如可變碼可以使用第一設(shè)備的自有時(shí)間;也可以使用ntp協(xié)議獲得的時(shí)間同步信息做為可變碼;還可以是與共同部署的系統(tǒng)中其他網(wǎng)絡(luò)節(jié)點(diǎn)之間一致協(xié)商的規(guī)則的動(dòng)態(tài)變化信息;所述第一設(shè)備會(huì)根據(jù)發(fā)送可信位置驗(yàn)證消息的無(wú)連接信道的通信能力配置為是否采用發(fā)送壓縮后的可信位置驗(yàn)證消息的方法和流程,具體見(jiàn)實(shí)施示例2中的描述。
所述用戶設(shè)備接收第一設(shè)備發(fā)送的所述可信位置驗(yàn)證消息(s102);使用保存在用戶設(shè)備中的第三密鑰計(jì)算包括接收到的所述壓縮前或壓縮后可信位置驗(yàn)證消息的信息序列產(chǎn)生第一位置驗(yàn)證消息簽名;實(shí)用中,可選的,用戶設(shè)備還可以將應(yīng)用服務(wù)識(shí)別id,應(yīng)用服務(wù)密鑰識(shí)別id等信息包括在第一位置驗(yàn)證消息中,其中應(yīng)用服務(wù)密鑰識(shí)別id可以在應(yīng)用服務(wù)端用來(lái)識(shí)別用于驗(yàn)證第一位置驗(yàn)證消息簽名的第四密鑰;所述用戶設(shè)備產(chǎn)生的第一位置驗(yàn)證消息包括第一位置驗(yàn)證消息簽名和收到的可信位置驗(yàn)證消息;用戶設(shè)備將第一位置驗(yàn)證消息發(fā)送給安全驗(yàn)證服務(wù)端。
所述安全驗(yàn)證服務(wù)端保存第二密鑰;所述安全驗(yàn)證服務(wù)端接收第一位置驗(yàn)證消息(s103),提取消息中包括的所述可信位置驗(yàn)證消息;使用第二密鑰驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息,具體驗(yàn)證方法在實(shí)例6中詳述,不再贅述;驗(yàn)證可信位置驗(yàn)證消息通過(guò)后,安全服務(wù)端產(chǎn)生第三位置驗(yàn)證消息并將第三位置驗(yàn)證消息發(fā)送至應(yīng)用服務(wù)端,所述第三位置驗(yàn)證消息包括用于驗(yàn)證發(fā)起用戶端設(shè)備的第一位置驗(yàn)證消息和用于決定應(yīng)用服務(wù)端向?qū)?yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù)的所述位置識(shí)別碼和可變碼信息。
所述應(yīng)用服務(wù)端保存第四密鑰;所述應(yīng)用服務(wù)端接收安全服務(wù)端發(fā)送的第三位置驗(yàn)證消息(s104);使用與用戶端設(shè)備對(duì)應(yīng)的第四密鑰驗(yàn)證包括的第一位置驗(yàn)證消息簽名,如果驗(yàn)證通過(guò),應(yīng)用服務(wù)端就使用包括的位置識(shí)別碼和可變碼關(guān)聯(lián)的對(duì)應(yīng)信息向第四密鑰對(duì)應(yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù);在實(shí)用中,通過(guò)驗(yàn)證包括的第一位置驗(yàn)證消息,可以確認(rèn)出后續(xù)推送響應(yīng)和服務(wù)的用戶端是哪一個(gè)用戶端,這樣就決定出推送對(duì)應(yīng)響應(yīng)和后續(xù)服務(wù)的這個(gè)過(guò)程的足夠信息。
應(yīng)用服務(wù)端從第三位置驗(yàn)證消息中提取到位置識(shí)別碼和可變碼,應(yīng)用服務(wù)端預(yù)先存儲(chǔ)有與不同的位置識(shí)別碼相對(duì)應(yīng)的響應(yīng)信息或服務(wù)信息,所述信息的內(nèi)容還與可變碼等參數(shù)有關(guān),在第一位置驗(yàn)證消息簽名驗(yàn)證通過(guò)后,應(yīng)用服務(wù)端根據(jù)所述位置識(shí)別碼查詢相應(yīng)的響應(yīng)信息或服務(wù)信息,并結(jié)合可變碼決定出向用戶設(shè)備推送相應(yīng)的響應(yīng)和/或后續(xù)服務(wù)(s105)。
實(shí)施示例2;
如圖2是為本發(fā)明實(shí)施例中第一設(shè)備示意圖。
所述第一設(shè)備用于無(wú)連接通信方式發(fā)送可信位置驗(yàn)證消息,實(shí)用中可以在無(wú)線接口廣播信道發(fā)送可信位置驗(yàn)證消息,其實(shí)質(zhì)上是一種提供可信位置驗(yàn)證消息的設(shè)備,包括:主計(jì)算機(jī)系統(tǒng),用戶側(cè)通信模塊,可信位置驗(yàn)證消息計(jì)算模塊和可信位置驗(yàn)證消息壓縮模塊;所述主計(jì)算機(jī)系統(tǒng)用于管理第一設(shè)備,存儲(chǔ)密鑰,進(jìn)行加密計(jì)算、解密計(jì)算;所述用戶側(cè)通信模塊用于向用戶端設(shè)備發(fā)送可信位置驗(yàn)證消息;所述可信位置驗(yàn)證消息計(jì)算模塊基于可信位置關(guān)系信息使用第一密鑰計(jì)算產(chǎn)生可信位置簽名并產(chǎn)生可信位置驗(yàn)證消息,所述可信位置驗(yàn)證消息包括可信位置關(guān)系信息和可信位置簽名;當(dāng)?shù)谝幻荑€和第二密鑰是非對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括位置識(shí)別碼和可變碼,所述位置識(shí)別碼對(duì)應(yīng)第一密鑰和第二密鑰;當(dāng)?shù)谝幻荑€和第二密鑰是對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括可變碼;使用第一密鑰計(jì)算消息簽名的方法可以基于不對(duì)稱密鑰,也可以基于對(duì)稱密鑰算法;基于不對(duì)稱密鑰可以使用商業(yè)公開(kāi)算法如rsa;當(dāng)使用不對(duì)稱密鑰計(jì)算消息簽名時(shí),得到的簽名長(zhǎng)度就會(huì)超過(guò)wifissid廣播信道的傳輸最大能力32個(gè)字符上限,所以就需要使用一定方法壓縮;壓縮的算法包括計(jì)算單項(xiàng)散列函數(shù),使用對(duì)稱密鑰算法,可以使用計(jì)算消息mac值的算法,如hmac算法;壓縮的具體方法如下:
方法一對(duì)于可信位置驗(yàn)證消息計(jì)算單項(xiàng)散列值消息m,如使用sha1算法;方法二使用保存在第一設(shè)備中第五密鑰為可信位置驗(yàn)證消息計(jì)算消息認(rèn)證碼得到消息m;實(shí)施中所述第五密鑰用于壓縮的目的,并不是唯一的識(shí)別第一設(shè)備,與第五密鑰對(duì)應(yīng)的第六密鑰用于還原得到對(duì)應(yīng)的壓縮前可信位置驗(yàn)證消息;所述可信位置驗(yàn)證消息壓縮模塊根據(jù)用戶側(cè)通信接口的傳輸能力的需要產(chǎn)生壓縮后的可信位置驗(yàn)證消息,并發(fā)送第二位置驗(yàn)證消息給安全驗(yàn)證服務(wù)端;同樣長(zhǎng)度的哈希算法和消息認(rèn)證碼算法相比,由于使用了密鑰,消息認(rèn)證碼算法更難暴力破解;使用方法二為例,具體實(shí)施中,可信位置驗(yàn)證消息壓縮模塊使用存儲(chǔ)的第五密鑰為可信位置驗(yàn)證消息計(jì)算消息m,所述消息m的長(zhǎng)度小于可信位置驗(yàn)證信息的長(zhǎng)度,可信位置驗(yàn)證消息壓縮模塊將生成的消息m替換可信位置驗(yàn)證消息中的可信位置簽名信息及其他部分信息直至滿足消息發(fā)送允許的最大長(zhǎng)度;由此生成的可信位置驗(yàn)證消息的長(zhǎng)度可符合信道最大比特長(zhǎng)度的限制,實(shí)現(xiàn)了對(duì)可信位置驗(yàn)證消息的壓縮,生成壓縮后的可信位置驗(yàn)證消息;計(jì)算消息m的認(rèn)證碼算法可以是hmac等各種的商用公開(kāi)算法;可信位置驗(yàn)證消息壓縮模塊生成所述第二位置驗(yàn)證消息,第二位置驗(yàn)證消息包括所述未壓縮的可信位置驗(yàn)證消息和對(duì)應(yīng)計(jì)算得到的消息m;第二位置驗(yàn)證消息生成后,第一設(shè)備將第二位置驗(yàn)證消息向安全驗(yàn)證服務(wù)端發(fā)送。
實(shí)施中所述第一設(shè)備可以將設(shè)備id作為位置識(shí)別碼,將第一設(shè)備的系統(tǒng)時(shí)間作為可變碼提供服務(wù);第一設(shè)備使用保存的第一密鑰計(jì)算并基于時(shí)間的固定變化周期產(chǎn)生和發(fā)送可信位置驗(yàn)證消息;第一設(shè)備使用保存的第五密鑰壓縮可信位置驗(yàn)證消息。
實(shí)施示例3;
如圖3是為本發(fā)明實(shí)施例中安全驗(yàn)證服務(wù)端示意圖。
所述安全驗(yàn)證服務(wù)端保存第二密鑰,用于對(duì)接收到的第一位置驗(yàn)證消息驗(yàn)證和第二位置驗(yàn)證消息,驗(yàn)證包括的可信位置驗(yàn)證消息,驗(yàn)證通過(guò)后產(chǎn)生并發(fā)送第三位置驗(yàn)證消息;
所述安全驗(yàn)證服務(wù)端接收第一驗(yàn)證消息,驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息,產(chǎn)生并發(fā)送第三位置驗(yàn)證消息至應(yīng)用服務(wù)端。具體的:
所述安全驗(yàn)證服務(wù)端驗(yàn)證第一位置驗(yàn)證消息包括的可信位置驗(yàn)證消息;在沒(méi)有壓縮可信位置驗(yàn)證消息的情況下:所述安全驗(yàn)證服務(wù)端接收第一位置驗(yàn)證消息,提取消息中包括的所述可信位置驗(yàn)證消息;在第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,安全服務(wù)端配置為使用位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,使用第二密鑰驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息,則安全服務(wù)端將第一位置驗(yàn)證消息包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則終止處理;實(shí)施中計(jì)算非對(duì)稱簽名的算法可以商業(yè)公開(kāi)算法rsa簽名算法,或者ecc簽名算法;
在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,所述安全服務(wù)端配置為使用與第一設(shè)備同步的可變碼和第二密鑰計(jì)算可信位置簽名,并安全服務(wù)端保存對(duì)應(yīng)于第二密鑰的位置識(shí)別碼;安全服務(wù)端將可用來(lái)驗(yàn)證的第一設(shè)備對(duì)應(yīng)的可信位置簽名使用第二密鑰按照可變碼配置的規(guī)則或者預(yù)設(shè)方法計(jì)算完成保存用于驗(yàn)證;使用收到的包括在第一位置驗(yàn)證消息中的所述可信位置驗(yàn)證消息中的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否存在同樣的可信位置簽名,如果存在就驗(yàn)證計(jì)算該可信位置簽名使用的可變碼和所述收到的可信位置驗(yàn)證消息中包括的可變碼是否一致,如果通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息,則安全服務(wù)端就提取對(duì)應(yīng)的第二密鑰所對(duì)應(yīng)的位置識(shí)別碼,則安全服務(wù)端將第一位置驗(yàn)證消息和對(duì)應(yīng)的位置識(shí)別碼和可變碼包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;
當(dāng)發(fā)生壓縮的情況下,安全驗(yàn)證服務(wù)端接收到第一位置驗(yàn)證消息后,使用第一位置驗(yàn)證消息中包括的消息m查找對(duì)應(yīng)的第二位置驗(yàn)證消息;提取查找到的對(duì)應(yīng)的第二位置驗(yàn)證消息中包括的未壓縮可信位置驗(yàn)證消息,使用與第一設(shè)備壓縮計(jì)算時(shí)同樣的算法及對(duì)應(yīng)密鑰為第二位置驗(yàn)證消息中未壓縮的可信位置驗(yàn)證消息計(jì)算得到消息m1,與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,則驗(yàn)證通過(guò),繼續(xù)下一步處理,否則,停止處理;
實(shí)施中在查找第二位置驗(yàn)證消息的過(guò)程中,如果由于網(wǎng)絡(luò)丟包或者延遲造成的第二位置驗(yàn)證消息沒(méi)有收到,沒(méi)有查到對(duì)應(yīng)的第二位置驗(yàn)證消息,可以采取在設(shè)定門限時(shí)間內(nèi)再次查詢的方式確??煽啃?,最終如果沒(méi)有找到對(duì)應(yīng)的第二位置驗(yàn)證消息,就終止驗(yàn)證過(guò)程;如果找到對(duì)應(yīng)的第二位置驗(yàn)證消息,提取查找到的對(duì)應(yīng)的第二位置驗(yàn)證消息中包括的未壓縮可信位置驗(yàn)證消息,使用與第一設(shè)備壓縮計(jì)算時(shí)同樣的算法及對(duì)應(yīng)密鑰為第二位置驗(yàn)證消息中未壓縮的可信位置驗(yàn)證消息計(jì)算得到消息m1,與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,則驗(yàn)證通過(guò),繼續(xù)下一步處理,否則,停止處理;,實(shí)施中,安全服務(wù)端使用于第一設(shè)備壓縮時(shí)對(duì)應(yīng)的方法,這里使用與前述使用第五密鑰壓縮的方法對(duì)應(yīng),安全服務(wù)端配置為存儲(chǔ)的與第五密鑰對(duì)應(yīng)的第六密鑰;安全服務(wù)端使用第六密鑰為未壓縮的可信位置驗(yàn)證消息壓縮計(jì)算得到消息m1,將消息m1與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,繼續(xù)下一步處理,否則,停止處理;實(shí)用中如果使用單向散列函數(shù)的方法壓縮,如使用sha1的算法,則對(duì)應(yīng)的安全服務(wù)端對(duì)未壓縮的可信位置驗(yàn)證消息使用sha1哈希計(jì)算得到消息m1,與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,,繼續(xù)下一步處理,否則,停止處理;繼續(xù)下一步處理,在第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,使用第二位置驗(yàn)證消息中包括的可信位置驗(yàn)證消息中包括的位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,并使用該第二密鑰驗(yàn)證第二位置驗(yàn)證消息中包括的未壓縮的可信位置驗(yàn)證消息中的可信位置簽名,驗(yàn)證通過(guò)后,提取對(duì)應(yīng)第二位置驗(yàn)證消息中包括的位置識(shí)別碼,可變碼,將第三位置驗(yàn)證消息發(fā)送至應(yīng)用服務(wù)端,所述第三位置驗(yàn)證消息包括第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼;驗(yàn)證不通過(guò)則不產(chǎn)生第三位置驗(yàn)證消息并終止處理;在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,提取第二位置驗(yàn)證消息中的未壓縮可信位置驗(yàn)證消息,使用包括的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否有存在同樣的可信位置簽名,如果存在就驗(yàn)證所述安全服務(wù)端計(jì)算該可信位置簽名時(shí)使用的可變碼和所述第二位置驗(yàn)證消息中可信位置驗(yàn)證消息中包括的可變碼是否一致,如果通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息并提取包括的可變碼,并安全服務(wù)端提取對(duì)應(yīng)的第二密鑰對(duì)應(yīng)的位置識(shí)別碼,安全服務(wù)端將第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;。
實(shí)施示例4;
如圖4是為本發(fā)明實(shí)施例中應(yīng)用服務(wù)端示意圖。
所述應(yīng)用服務(wù)端存儲(chǔ)所述可信位置驗(yàn)證消息中包括的位置標(biāo)識(shí)信息和標(biāo)識(shí)位置空間信息的對(duì)應(yīng)關(guān)系,所述位置識(shí)別碼對(duì)應(yīng)于第一設(shè)備部署的實(shí)際場(chǎng)所對(duì)象,包括設(shè)備或空間,包括室內(nèi)或室外;所述應(yīng)用服務(wù)端接收經(jīng)過(guò)安全服務(wù)端驗(yàn)證可信位置驗(yàn)證消息后產(chǎn)生的第三位置驗(yàn)證消息,使用保存的第四密鑰驗(yàn)證用戶端,通過(guò)后使用可變碼對(duì)應(yīng)配置信息進(jìn)行響應(yīng)或者信息推送。推送的信息可以是網(wǎng)址,視頻等等;響應(yīng)可以是后續(xù)交易流程界面等等。具體的:
應(yīng)用服務(wù)端驗(yàn)證用戶端設(shè)備并進(jìn)行相應(yīng)處理:所述應(yīng)用服務(wù)端接收安全服務(wù)端發(fā)送的第三位置驗(yàn)證消息,使用對(duì)應(yīng)的第四密鑰驗(yàn)證第一位置驗(yàn)證消息簽名,如果驗(yàn)證通過(guò),應(yīng)用服務(wù)端就使用可變碼關(guān)聯(lián)的對(duì)應(yīng)信息向?qū)?yīng)的用戶設(shè)備推送響應(yīng)和后續(xù)服務(wù);實(shí)施中,用戶端在產(chǎn)生第一位置驗(yàn)證消息可以包括應(yīng)用服務(wù)密鑰id用于識(shí)別對(duì)應(yīng)第四密鑰,應(yīng)用服務(wù)端可以根據(jù)第一位置驗(yàn)證消息中包括應(yīng)用服務(wù)密鑰id,查找對(duì)應(yīng)的第四密鑰。優(yōu)選的,應(yīng)用服務(wù)端可從第三位置驗(yàn)證消息中提取位置識(shí)別碼和可變碼,應(yīng)用服務(wù)器預(yù)先存儲(chǔ)有與不同的位置識(shí)別碼相對(duì)應(yīng)的響應(yīng)信息或服務(wù)信息,所述信息的內(nèi)容還與可變碼等參數(shù)有關(guān),如可變碼可以是時(shí)間;應(yīng)用服務(wù)端使用位置識(shí)別碼可變碼決定出對(duì)應(yīng)的響應(yīng)信息或服務(wù)信息;在提取第三位置驗(yàn)證消息中包括的第一位置驗(yàn)證消息,使用對(duì)應(yīng)第四密鑰驗(yàn)證第一位驗(yàn)證消息簽名通過(guò)后,應(yīng)用服務(wù)端可以查詢與第三位置驗(yàn)證消息中得到位置識(shí)別碼查詢相應(yīng)的響應(yīng)信息或服務(wù)信息,并結(jié)合可變碼決定出向?qū)?yīng)用戶設(shè)備推送相應(yīng)的響應(yīng)和后續(xù)服務(wù);如使用店鋪的位置識(shí)別碼找出店鋪需要推送的內(nèi)容列表,使用可變碼覺(jué)得出當(dāng)前時(shí)間段的具體內(nèi)容,應(yīng)用服務(wù)端將該具體內(nèi)容推送至第四密鑰對(duì)應(yīng)的用戶端。
實(shí)施示例5;
如圖5是本發(fā)明實(shí)施例中壓縮可信位置驗(yàn)證消息的方法示意圖。
實(shí)用中由于兼容,通用的協(xié)議限制,不同通信方式,信道能夠傳輸?shù)男畔⑹怯邢薜模蝗鐆ifissid最大可以傳輸32字節(jié)的信息;藍(lán)牙ibeacon可以傳輸30字節(jié)的信息,可信位置驗(yàn)證消息的長(zhǎng)度遠(yuǎn)遠(yuǎn)超過(guò)了信道的傳輸能力;如果使用多次傳輸,勢(shì)必涉及到同步和組包的復(fù)雜問(wèn)題。具體的如使用rsa2048bit密鑰簽名后產(chǎn)生簽名信息為2048bit,加上時(shí)間和位置信息256bit,那么一次傳輸所有信息至少需要288個(gè)字節(jié),如果使用wifissid來(lái)廣播該信息的情況下,ssid單次能夠傳輸?shù)男畔㈤L(zhǎng)度為32個(gè)字符,即256bit的信息容量,如果分成多次傳輸?shù)脑?,在沒(méi)有同步機(jī)制的情況下,多次在空口單向傳輸?shù)目煽啃跃头浅2?,為了提高可靠性和被接受者成功捕獲廣播信息的情況,信息最優(yōu)是一次發(fā)出,這樣就需要壓縮;有兩個(gè)方案可選。
方案1:使用算法壓縮后發(fā)送;方案2:使用多次分片發(fā)送;較佳的使用壓縮后發(fā)送是較優(yōu)的方法。具體方法可以使用單向散列函數(shù)法,消息認(rèn)證碼等,如使用消息認(rèn)證碼的方法,則使用第一設(shè)備中保存的第五密鑰對(duì)可信位置驗(yàn)證消息計(jì)算消息認(rèn)證碼,實(shí)用中有很多商用算法組合,如hmac-sha1壓縮后得到160bit信息,使用hmac-sha256壓縮后得到256bit信息;如使用hmac-sha256算法壓縮后,得到256bit的消息m,使用該消息m代替可信位置驗(yàn)證消息中的可信位置簽名和其他部分信息直至符合信道發(fā)送的最大能力;在這個(gè)算法方法案例中,消息m就取代所有的可信位置驗(yàn)證消息位發(fā)送在wifi的ssid信息中;在實(shí)用中使用的合理的壓縮算法都是具有單向散列函數(shù)的算法,使用前述sha1或者h(yuǎn)mac-sha1產(chǎn)生的所述消息m唯一的識(shí)別壓縮前的可信位置驗(yàn)證消息。
具體流程如下:當(dāng)所述可信位置驗(yàn)證消息的長(zhǎng)度超出廣播信道的傳輸能力時(shí),如使用消息認(rèn)證碼的方法,則使用第一設(shè)備中保存的第五密鑰對(duì)可信位置驗(yàn)證消息計(jì)算消息認(rèn)證碼得到消息m,并使用該消息m代替包括在可信位置驗(yàn)證消息中的可信位置簽名及其他部分信息直至滿足信道發(fā)送的最大能力,生成壓縮后的可信位置驗(yàn)證消息;同時(shí)第一設(shè)備產(chǎn)生第二位置驗(yàn)證消息并將第二位置驗(yàn)證消息向安全驗(yàn)證服務(wù)端發(fā)送;所述第二位置驗(yàn)證消息包括未壓縮的可信位置驗(yàn)證消息和消息m;在安全驗(yàn)證服務(wù)端接收到第一位置驗(yàn)證消息后,使用第一位置驗(yàn)證消息中包括的消息m查找對(duì)應(yīng)的第二位置驗(yàn)證消息;提取對(duì)應(yīng)第二位置驗(yàn)證消息中包括的未壓縮的可信位置驗(yàn)證消息;使用安全服務(wù)端保存的第六密鑰對(duì)第二位置驗(yàn)證消息中包括的未壓縮可信位置驗(yàn)證消息使用與第一設(shè)備同樣的算法和對(duì)應(yīng)密鑰計(jì)算得到消息m1,此處使用例子中hmac-sha256和第六密鑰計(jì)算的到消息m1,將m1與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,則驗(yàn)證通過(guò),繼續(xù)下一步處理,否則,停止處理;使用這個(gè)過(guò)程,完成對(duì)于可信位置驗(yàn)證消息在無(wú)連接通信接口傳輸中的壓縮。
實(shí)施示例6;
如圖6是為本發(fā)明系統(tǒng)所實(shí)施的基于無(wú)連接的通信驗(yàn)證的信息傳輸方法流程示意圖。
實(shí)施中第一設(shè)備產(chǎn)生可信位置驗(yàn)證消息s601;所述可信位置驗(yàn)證消息包括可信位置關(guān)系信息和可信位置簽名;當(dāng)?shù)谝幻荑€和第二密鑰是非對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括位置識(shí)別碼和可變碼,所述位置識(shí)別碼對(duì)應(yīng)第一密鑰和第二密鑰;當(dāng)?shù)谝幻荑€和第二密鑰是對(duì)稱密鑰時(shí),所述可信位置關(guān)系信息包括可變碼;所述可變碼為動(dòng)態(tài)變化信息;位置識(shí)別碼(該碼是預(yù)先設(shè)定的碼,用于識(shí)別第一設(shè)備的屬性,包括部署的物理位置,空間,設(shè)施,以及其他相關(guān)的在商業(yè)應(yīng)用場(chǎng)景中定義的信息),可變碼(可以是第一設(shè)備的系統(tǒng)時(shí)間等可變信息);所述第一密鑰保存在第一設(shè)備中;所述第二密鑰保存在安全驗(yàn)證服務(wù)器中;在壓縮可信位置驗(yàn)證消息實(shí)用中如果使用帶密鑰的方法,則相關(guān)的所述第五密鑰保存在第一設(shè)備中,相關(guān)的所述第六密鑰保存在安全驗(yàn)證服務(wù)器中;所述第一密鑰和所述第二密鑰是對(duì)應(yīng)關(guān)系,即使用所述第二密鑰可以驗(yàn)證可信位置簽名是否為使用第一密鑰計(jì)算產(chǎn)生;所述可信位置簽名是第一設(shè)備對(duì)于包括可信位置關(guān)系信息的信息序列使用第一密鑰計(jì)算產(chǎn)生的可信位置簽名;所述可變碼為動(dòng)態(tài)變化信息,每次產(chǎn)生的可信位置驗(yàn)證消息中包括的可變碼根據(jù)預(yù)置的規(guī)則或者算法變化,如可變碼可以是本地時(shí)鐘定期的變化,可變化也可以與;所述可信位置驗(yàn)證消息可以在接收到請(qǐng)求后產(chǎn)生,也可以按照固定周期持續(xù)產(chǎn)生。
步驟s602第一設(shè)備基于用于發(fā)送可信位置驗(yàn)證消息的無(wú)連接通信的信道傳輸能力判斷是否需要對(duì)所述可信位置驗(yàn)證消息壓縮;如果所述可信位置驗(yàn)證消息的長(zhǎng)度大于當(dāng)前第一設(shè)備具備的最大發(fā)送長(zhǎng)度,就判斷為需要壓縮;如使用基于wifi實(shí)現(xiàn)無(wú)連接通信就可以使用wifi廣播信道傳輸ssid的方法,該方法能夠傳輸32個(gè)字符,即256bit位長(zhǎng)的信息,如果可信位置驗(yàn)證消息超過(guò)了這個(gè)長(zhǎng)度,就需要壓縮;這里無(wú)連接通信的方式可以包括但不限于wifi廣播信道,藍(lán)牙廣播信道;除廣播信道之外,可信位置驗(yàn)證消息還可以通過(guò)第一設(shè)備轉(zhuǎn)換為二維碼表達(dá),通過(guò)用戶端設(shè)備掃描的方式實(shí)現(xiàn)可信位置驗(yàn)證消息的發(fā)送;與二維碼表達(dá)類比,可以將可信位置驗(yàn)證消息轉(zhuǎn)換為聲波信息流發(fā)送等等;實(shí)用中如使用二維碼,就可以滿足長(zhǎng)度要求,就不需要壓縮(可通過(guò)第一設(shè)備的二維碼轉(zhuǎn)換部件將可信位置驗(yàn)證消息轉(zhuǎn)換為二維碼信息);所述無(wú)連接通信指第一設(shè)備向用戶設(shè)備發(fā)送消息的時(shí)候不需要先建立連接,而是使用通信雙方共有和公允的通信協(xié)議和信道發(fā)送消息的同時(shí),包括但不限于通過(guò)廣播的方式發(fā)送數(shù)據(jù),只要用戶設(shè)備在接受信息的范圍之內(nèi)就能接收到信息。
步驟s603第一設(shè)備生成壓縮后的可信位置驗(yàn)證消息,以及產(chǎn)生并向安全服務(wù)端發(fā)送第二位置驗(yàn)證消息:在使用hmac-sha256的用例中,(1)第一設(shè)備使用存儲(chǔ)的第五密鑰為可信位置驗(yàn)證消息計(jì)算消息m,所述消息m的長(zhǎng)度小于可信位置驗(yàn)證信息的長(zhǎng)度,第一設(shè)備將生成的消息m替換可信位置驗(yàn)證消息中的可信位置簽名信息及其他部分直至滿足信道允許的最大傳輸能力,由此生成的壓縮后可信位置驗(yàn)證消息的長(zhǎng)度可符合信道的最大比特長(zhǎng)度的限制,實(shí)現(xiàn)了對(duì)可信位置驗(yàn)證消息的壓縮,生成壓縮后的可信位置驗(yàn)證消息;(2)第一設(shè)備生成所述第二位置驗(yàn)證消息,第二位置驗(yàn)證消息包括所述未壓縮的可信位置驗(yàn)證消息和消息m,同時(shí)第二位置驗(yàn)證消息生成后,第一設(shè)備將第二位置驗(yàn)證消息向安全驗(yàn)證服務(wù)端發(fā)送。
步驟s604第一設(shè)備以無(wú)連接通信發(fā)送可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息;除此之外,第一設(shè)備還可以采用二維碼或聲波信息流的方法傳輸可信位置驗(yàn)證消息;實(shí)用中可以使用wifi的廣播信道(如使用ssid傳輸);藍(lán)牙廣播信道發(fā)送上述消息。
步驟605用戶設(shè)備產(chǎn)生第一位置驗(yàn)證消息:所述用戶設(shè)備接收第一設(shè)備發(fā)送的所述可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息,使用保存在用戶設(shè)備中的第三密鑰計(jì)算包括接收到的所述可信位置驗(yàn)證消息或壓縮后的可信位置驗(yàn)證消息的信息序列產(chǎn)生第一位置驗(yàn)證消息簽名;所述第一位置驗(yàn)證消息包括應(yīng)用服務(wù)密鑰識(shí)別id,應(yīng)用服務(wù)識(shí)別id;可選的,可以包括產(chǎn)生第一位置驗(yàn)證消息的時(shí)間戳;所述用戶設(shè)備產(chǎn)生第一位置驗(yàn)證消息,第一位置驗(yàn)證消息包括第一位置驗(yàn)證消息簽名和接收到的可信位置驗(yàn)證消息(該可信位置驗(yàn)證消息可以是原始消息或壓縮后的消息);
步驟s606用戶設(shè)備將第一位置驗(yàn)證消息發(fā)送給安全驗(yàn)證服務(wù)端;
步驟s607所述安全驗(yàn)證服務(wù)端驗(yàn)證第一位置驗(yàn)證消息;在沒(méi)有壓縮可信位置驗(yàn)證消息的情況下,使用方法如下:所述安全服務(wù)端保存有第二密鑰和與之對(duì)應(yīng)的位置識(shí)別碼,所述第二密鑰用于對(duì)接收到的第一位置驗(yàn)證消息中包括的可信位置驗(yàn)證消息驗(yàn)證:所述安全服務(wù)端接收第一位置驗(yàn)證消息,提取消息中包括的所述可信位置驗(yàn)證消息,在系統(tǒng)配置為第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,使用所述可信位置驗(yàn)證消息中的位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,使用第二密鑰驗(yàn)證所述可信位置驗(yàn)證消息的可信位置簽名,如果通過(guò),就認(rèn)定用戶端接收到了有效可信位置驗(yàn)證消息,則安全服務(wù)端產(chǎn)生并將第三位置驗(yàn)證消息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則終止處理;所述第三位置驗(yàn)證消息包括第一位置驗(yàn)證消息,位置識(shí)別碼和可變碼;在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,使用所述可信位置驗(yàn)證消息中包括的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否存在同樣的可信位置簽名,如果存在就驗(yàn)證安全服務(wù)端計(jì)算該可信位置簽名使用的可變碼和所述收到的可信位置驗(yàn)證消息中包括的可變碼是否一致,如果通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息,則安全服務(wù)端就提取對(duì)應(yīng)的第二密鑰所對(duì)應(yīng)的位置識(shí)別碼,則安全服務(wù)端將第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)則不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;所述第三位置驗(yàn)證消息包括第一位置驗(yàn)證消息和對(duì)應(yīng)的位置識(shí)別碼和可變碼;
當(dāng)發(fā)生壓縮的情況下,實(shí)用中可以采用各種方法,如單向散列函數(shù),消息認(rèn)證碼算法等;如使用消息認(rèn)證碼算法,所述安全驗(yàn)證服務(wù)端保存有第二密鑰和第六密鑰,第一設(shè)備保存第一密鑰和第五密鑰;安全驗(yàn)證服務(wù)端接收到第一位置驗(yàn)證消息后,使用第一位置驗(yàn)證消息中包括的消息m查找對(duì)應(yīng)的第二位置驗(yàn)證消息;提取對(duì)應(yīng)第二位置驗(yàn)證消息中包括的未壓縮的可信位置驗(yàn)證消息,使用安全服務(wù)端保存的第六密鑰和hmac-sha256算法計(jì)算第二位置驗(yàn)證消息中包括的未壓縮的可信位置驗(yàn)證消息得到消息m1,將m1與第一位置驗(yàn)證消息中包括的消息m比較,如果一致,則繼續(xù)下一步處理,否則,停止處理;繼續(xù)下一步處理,在第一密鑰和第二密鑰是非對(duì)稱密鑰的情況下,使用未壓縮的可信位置驗(yàn)證消息包括的位置識(shí)別碼查找對(duì)應(yīng)的第二密鑰,并使用第二密鑰驗(yàn)證對(duì)應(yīng)第二位置驗(yàn)證消息中包括的未壓縮的可信位置驗(yàn)證消息中的可信位置簽名,驗(yàn)證通過(guò)后,提取對(duì)應(yīng)第二位置驗(yàn)證消息中包括的位置識(shí)別碼,可變碼,產(chǎn)生并將第三位置驗(yàn)證消息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)端,所述第三位置驗(yàn)證消息包括第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼;驗(yàn)證不通過(guò)不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;在第一密鑰和第二密鑰是對(duì)稱密鑰的情況下,提取第二位置驗(yàn)證消息中的未壓縮可信位置驗(yàn)證消息,使用包括的可信位置簽名查詢安全驗(yàn)證服務(wù)端是否有存在同樣的可信位置簽名,如果存在就驗(yàn)證所述安全服務(wù)端計(jì)算該可信位置簽名時(shí)使用的可變碼和所述第二位置驗(yàn)證消息中可信位置驗(yàn)證消息中包括的可變碼是否一致,如果通過(guò),就認(rèn)定用戶端接收到了可信位置驗(yàn)證消息并提取包括的可變碼,并安全服務(wù)端提取對(duì)應(yīng)的第二密鑰對(duì)應(yīng)的位置識(shí)別碼,安全服務(wù)端將第一位置驗(yàn)證消息和提取的位置識(shí)別碼以及可變碼包括在第三位置驗(yàn)證消息中發(fā)送至應(yīng)用服務(wù)端,驗(yàn)證不通過(guò)不產(chǎn)生和發(fā)送第三位置驗(yàn)證消息并終止處理;
所述第三位置驗(yàn)證消息包括用于驗(yàn)證發(fā)起用戶端設(shè)備的第一位置驗(yàn)證消息和用于決定應(yīng)用服務(wù)端向?qū)?yīng)的用戶端設(shè)備推送響應(yīng)和后續(xù)服務(wù)的所述位置識(shí)別碼和可變碼信息。
步驟s608應(yīng)用服務(wù)端驗(yàn)證用戶端設(shè)備并進(jìn)行相應(yīng)處理:所述應(yīng)用服務(wù)端保存有第四密鑰;所述應(yīng)用服務(wù)端接收安全驗(yàn)證服務(wù)端發(fā)送的第三位置驗(yàn)證消息,提取包括的第一位置驗(yàn)證消息,使用應(yīng)用服務(wù)密鑰識(shí)別id查找與用戶設(shè)備對(duì)應(yīng)的第四密鑰,并使用第四密鑰驗(yàn)證第一位置驗(yàn)證消息簽名,如果驗(yàn)證通過(guò),則驗(yàn)證用戶端設(shè)備通過(guò),應(yīng)用服務(wù)端就使用包括的位置識(shí)別碼和可變碼關(guān)聯(lián)的對(duì)應(yīng)信息向?qū)?yīng)的用戶設(shè)備推送響應(yīng)和后續(xù)服務(wù);如果驗(yàn)證不通過(guò),就停止處理。優(yōu)選的,應(yīng)用服務(wù)端可從提取第三位置驗(yàn)證消息中得到位置識(shí)別碼,應(yīng)用服務(wù)器預(yù)先存儲(chǔ)有與不同的位置識(shí)別碼相對(duì)應(yīng)的響應(yīng)信息或服務(wù)信息,所述信息的內(nèi)容還與可變碼等參數(shù)有關(guān),實(shí)用中可變碼可以是第一設(shè)備的系統(tǒng)時(shí)間,在第一位置驗(yàn)證消息簽名驗(yàn)證通過(guò)后,應(yīng)用服務(wù)端可以根據(jù)從第一位位置驗(yàn)證消息中得到的位置識(shí)別碼查詢相應(yīng)的響應(yīng)信息或服務(wù)信息,并結(jié)合可變碼所表示的第一設(shè)備的系統(tǒng)時(shí)間,向用戶設(shè)備推送相應(yīng)的響應(yīng)和后續(xù)服務(wù);使用可變碼還可以是預(yù)先輸入或者定義的內(nèi)容編號(hào)。
步驟s609應(yīng)用服務(wù)端向?qū)?yīng)用戶設(shè)備推送相應(yīng)的響應(yīng)和后續(xù)服務(wù)。