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