基于鄰近的通信的數據完整性的制作方法
【專利摘要】描述了用于移動設備之間的可信通信的方法、系統和計算機程序。在一些方案中,從第一移動設備向第二移動設備無線地發送信息。該信息準許第二移動設備檢測第一移動設備的鄰近。在一些實現中,可以通過諸如近場通信(NFC)接口等的鄰近激活無線接口來無線地發送信息。第一移動設備接收響應于該信息從第二移動設備向第一移動設備無線地發送的消息和第一認證值。在第一移動設備處基于消息和共享秘密值來產生第二認證值。基于將第一認證值與第二認證值進行比較來驗證消息的完整性。
【專利說明】基于鄰近的通信的數據完整性
【技術領域】
[0001]本說明書涉及基于鄰近的通信的數據完整性。
【背景技術】
[0002]一些移動設備包括近場通信(NFC)芯片,該NFC芯片使移動設備能夠與其它具有NFC能力的組件進行無線通信。例如,用具有NFC能力的移動設備輕敲無源NFC標簽可以使NFC標簽向移動設備無線地發送數據。在一些實例中,移動設備可以在例如對等模式中使用NFC技術直接相互通信。
【專利附圖】
【附圖說明】
[0003]圖1A是示例性通信系統的示意圖。
[0004]圖1B是另一示例性通信系統的示意圖。
[0005]圖2是示例性移動電信設備的示意圖。
[0006]圖3是示出了用于在設備之間進行通信的示例性技術的信令和流程圖。
[0007]圖4A至圖4C是示出了用于在設備之間建立共享秘密的示例性技術的信令和流程圖。
[0008]在各個附圖中,相似的附圖標記和名稱指示相似的元件。
【具體實施方式】
[0009]具有諸如智能電話和平板電腦等的多個設備的用戶可能需要例如在無需對其設備之間的交互進行肯定應答或確認的情況下以無縫的方式在任意一個設備上查看內容或執行動作的能力。作為一個特殊的例子,用戶可能在智能電話上接收到鏈接并且希望在平板設備的更大顯示器上打開鏈接。作為另一示例,用戶可能在平板設備上查看電話號碼(或者聯系人的名字、或者與電話號碼相關聯的其它信息)并且希望使用其有權訪問電信網絡的智能電話向電話號碼發起呼叫。作為另一示例,用戶可能在手持設備上查看電話號碼(或者聯系人的名字或者與電話號碼相關聯的其它信息)并且希望使用有權對電信網絡進行無線或有線訪問的手持電話來向電話號碼發起呼叫。
[0010]更一般地,用戶可能希望其設備例如彼此信任,使得其設備可以無縫地交互并且允許應用在最適合的設備上運行。類似地,多個不同的用戶可能希望其設備例如彼此信任,使得用戶可以無縫地共享內容或者其它類型的信息。例如,用戶可能希望其設備在無需重復的配對、確認步驟、同步步驟或可能中斷用戶體驗的其它操作的情況下進行通信。此外,很多設備包括基于鄰近的無線通信模塊,并且用戶可能希望其設備在利用在其設備上可用的基于鄰近的無線通信特征的同時無縫地交換與應用無關的消息。
[0011]可以在設備之間建立信任機制,使得設備可以例如在無需用戶肯定應答或確認的情況下自動地驗證無線通信的完整性。例如,在沒有額外的適當對策的情況下消除針對無線交互的用戶肯定應答或確認步驟可能使設備易于遭受(例如,由不可信設備發起的)某些類型的攻擊。
[0012]在一些實現中,可以基于設備共享的秘密值在設備之間建立信任。共享秘密可以用于驗證從其它設備接收的消息的完整性,例如,通過基于鄰近的交互來接收的消息。此夕卜,共享秘密可以用于驗證消息的完整性,而與第三方證書無關。例如,在一些實例中,一旦在設備上建立了共享秘密,就可以在無需查詢證書中心或其它傳統的公鑰基礎設施(PKI)范例的情況下利用共享秘密。
[0013]通過近場通信(NFC)技術提供了基于鄰近的通信的一個示例。在一些實現中,NFC技術實現了相距約4至10厘米的設備之間以約IOOkbps的速率進行的數據交換。可以通過簡單地將它們置于彼此附近來使具有NFC能力的設備在設備之間傳遞信息。例如,“輕敲”或以其它方式使兩個具有NFC能力的設備處于彼此的范圍之內可以使設備中的一個或這二者向另一設備發送消息。
[0014]一些具有NFC能力的設備包括無源組件。例如,一些NFC標簽利用從有源NFC設備無線接收到的功率來無源地操作。因此,一些NFC設備可以在監聽模式或另一無源操作模式中操作。在監聽模式中操作的NFC設備可以接收由其它NFC設備發送的無線信號。監聽方NFC設備可以通過發送允許其它NFC設備檢測監聽方NFC設備的鄰近的信號來進行響應。可以基于從監聽方NFC設備接收的信號中提取的能量、在監聽方NFC設備處存儲的能量或者來自其它源的能量來產生響應。
[0015]一些具有NFC能力的設備包括有源組件。例如,一些NFC設備具有內部電源,或者它們可以集成到具有內部電源的設備(例如,智能電話、平板電腦等)中。這種有源設備可以在上文概述的監聽模式中操作。此外或備選地,有源NFC設備可以在輪詢模式中操作。在輪詢模式中操作的NFC設備可以發送允許其它NFC設備檢測輪詢方NFC設備的鄰近的周期輪詢信號或其它詢問消息。例如,當其它NFC設備對輪詢信號進行響應時,輪詢方NFC設備可以檢測其它NFC設備的鄰近。
[0016]具有NFC能力的設備通過電磁信號相互無線通信。例如,一些當前可用的具有NFC能力的設備利用在13.56MHz處或接近13.56MHz的射頻信號。兩個具有NFC能力的設備是否檢測到彼此的鄰近可根據于其NFC模塊的有效范圍和其它因素。在各個環境中,NFC模塊可檢測到彼此的有效范圍可以例如取決于所發送的信號的功率和頻率、傳輸環境、設備的方位、以及其它考慮。例如,當監聽方NFC設備接收到的信號的信噪比大于閾值水平時,監聽方NFC設備可以檢測到輪詢方NFC設備的鄰近。類似地,當輪詢方NFC設備接收到的信號的信噪比大于閾值水平時,輪詢方NFC設備可以檢測到另一設備的鄰近。不同的NFC設備可以具有不同的有效范圍,并且它們可以具有用于檢測其它設備的鄰近的不同閾值。此夕卜,可以基于額外或不同的標準來檢測鄰近。在一些示例中,具有NFC能力的設備被配置為在約4至10厘米的范圍內檢測其它具有NFC能力的設備的鄰近。具有NFC能力的設備可以潛在地被配置為在不同的范圍內檢測具有NFC能力的設備或其它類型的設備。
[0017]在一些實現中,設備可以基于額外或不同的技術來檢測另一設備的鄰近。例如,設備可以包括加速度計、定向耦合器或者增強由NFC或另一種類型的基于鄰近的無線通信技術提供的鄰近檢測特征的這些組件和其它組件的組合。在一些實例中,設備可以基于設備之間的物理接觸來檢測另一設備的鄰近。例如,一些設備可以包括基于與其它設備的非導電接觸(例如,“輕敲”)、導電接觸(例如,電線或導線)、或者另一種類型的導電接觸或非導電接觸來檢測另一設備的鄰近。
[0018]圖1A是示例性通信系統IOOa的示意圖。示例性通信系統IOOa包括移動設備102a、102b。通信系統IOOa可以包括額外或不同的特征和組件。例如,通信系統IOOa可以包括一個或多個網絡、服務器、計算系統、額外的或不同的移動設備、或者這些其它組件的任何適當的組合。通信系統IOOa的組件可以如圖1A中所示地配置,或者通信系統IOOa可以根據需要以另一種方式配置。
[0019]通常,移動設備102a、102b可以包括任何適當類型的子系統、模塊、設備、組件及其組合。移動設備的示例包括各種類型的移動電信設備、智能電話、智能卡、識別設備、媒體播放器、頭戴式耳機、個人數字助理(PDA)、膝上型計算機、筆記本、平板電腦等。在圖1B和圖2中示出了示例性移動設備。示例性通信系統IOOa可以根據需要包括額外或不同類型的設備。例如,在一些實現中,另一種類型的計算設備可以替換移動設備102a、102b中的一個或這二者。
[0020]移動設備102a和102b可以是相同、類似或不同類型的設備。例如,第一移動設備102a可以是移動電信設備,第二移動設備102b可以是平板設備或膝上型計算機設備。作為另一示例,第一移動設備102a和第二移動設備102b可以都是移動電信設備或者它們可以都是平板設備。
[0021]圖1A中所示的示例性移動設備102a、102b各自包括用戶界面108、處理器110、存儲器112a或112b以及無線接口 114。移動設備102a、102b可以包括額外或不同的特征或組件。移動設備102a、102b的特征和組件可以如參照圖1A示出和描述地配置,或者移動設備102a、102b中的一個或這二者的特征和組件可以以不同的方式被配置。在一些實現中,兩個移動設備102a、102b的用戶界面108、處理器110、存儲器112a、112b、無線接口 114和可能的其它組件可以是相同的,或者它們可以是不同的。
[0022]用戶界面108可以包括任何適當的用戶界面設備或組件。例如,用戶界面108可以包括觸摸屏、鍵盤、麥克風、定點設備(例如,鼠標、跟蹤球、觸控筆等)、或者另一種類型的用戶界面。用戶界面108可以檢測用戶交互并且基于用戶交互來產生計算機可讀數據或信號。例如,用戶界面可以將用戶的鍵擊或其它交互轉換為電壓信號,并且向處理器110發送電壓信號,處理器110可以將電壓信號轉換為二進制信息以便存儲或進一步處理。
[0023]處理器110可以包括任何適當的數據處理裝置。例如,處理器110的一個或多個方案可以由微處理器、數字微控制器、數字或模擬電路或者這些類型和其它類型的數字處理硬件或固件的組合來實現。處理器110可以包括移動設備的主處理器,并且可能包括移動設備的一個或多個協同處理器。在一些實現中,處理器110包括通用處理器。此外或備選地,處理器110可以包括一個或多個專用處理器,例如,密碼處理器、視頻壓縮處理器或者另一種類型的專用處理器。在一些實例中,處理器110的一個或多個組件可以與移動設備的另一組件集成在一起或者以其它方式與移動設備的另一組件相關聯。
[0024]處理器110可以執行例如基于數據輸入來產生輸出數據的指令。這些指令可以包括存儲在存儲器中的程序、代碼、腳本或其它類型的數據。此外或備選地,指令可以被編碼為預先編程的或可重新編程的邏輯電路、邏輯門、或者其它類型的硬件或固件組件。在一些實例中,處理器Iio可以通過執行和/或解釋存儲在存儲器112a或112b中的軟件、腳本、程序、功能、可執行文件和/或其它模塊來產生輸出數據。處理器110可以執行如圖3、4A、4B或4C中所示的操作中的一個或多個。在一些情況下,處理器執行消息傳送模塊124的一個或多個操作。
[0025]存儲器112a、112b可以包括任何適當的計算機可讀介質。存儲器112a、112b可以包括易失性存儲器設備、非易失性存儲器設備或者這二者。存儲器112a、112b可以包括一個或多個只讀存儲器設備、隨機存取存儲器設備、緩沖存儲器設備、或者這些和其它類型的存儲器設備的組合。在一些實例中,存儲器的一個或多個組件可以與移動設備的另一組件集成在一起或者以其它方式與移動設備的另一組件相關聯。
[0026]存儲器112a、112b可以存儲與操作系統、計算機應用和/或其它資源相關聯的指令(例如,計算機代碼)。存儲器112a、112b可以存儲可由移動設備上運行的一個或多個應用和/或虛擬機解釋的應用數據和數據對象。移動設備102b的示例性存儲器112b包括消息傳送模塊124和共享秘密120 ;移動設備102a的示例性存儲器112a包括消息傳送模塊124、共享秘密120和消息122。存儲器112a、112b可以根據需要包括額外或不同類型的模塊和數據。
[0027]共享秘密120可以包括在移動設備102a、102b 二者上本地存儲的任何私密信息。例如,共享秘密120可以是在移動設備102a、102b 二者上本地可訪問的對稱密鑰或另一種類型的私密值。共享秘密120可以包括單個共享秘密值或者多個共享秘密值。共享秘密120可以包括可以通過任何適當的技術在移動設備102a、102b之間建立的任何適當的信息。
[0028]在一些實現中,基于圖4A、4B或4C中所示的技術中的一個或多個或者通過另一技術來建立共享秘密120。例如,共享秘密120可以是用戶在移動設備102a、102b 二者處輸入的秘密值(或者可以根據該秘密值導出)。作為另一示例,共享秘密120可以是通過專用信道向兩個設備發送的秘密值或者通過專用信道從移動設備102a、102b中的一個設備向另一設備發送的秘密值(或者可以根據該秘密值導出)。在一些實例中,可以基于移動設備102a、102b之間通過公共信道的通信來建立共享秘密120。例如,可以基于密鑰協商協議、基于配對協議或者基于額外或不同的技術來建立共享秘密120。
[0029]共享秘密120可以與額外信息一起存儲在第一移動設備102a上,該額外信息將共享秘密120與第二移動設備102b相關聯。例如,共享秘密120可以與標識第二移動設備102b的地址、組件或用戶的信息存儲在一起(或者與該信息相關聯)。因此,第一移動設備102a可以訪問共享秘密120以用于與第二移動設備102b進行通信。類似地,共享秘密120可以與額外信息一起存儲在第二移動設備102b上,該額外信息將共享秘密120與第一移動設備102a相關聯。因此,第二移動設備102b可以訪問共享秘密120以用于與第一移動設備102a進行通信。移動設備102a、102b可以存儲與額外或不同的設備或實體相關聯的額外共享秘密。
[0030]消息122可以包括適合于通過無線接口 114進行傳輸的任何類型的信息。例如,消息122可以包括針對內容的鏈接、標識或描述用戶或設備的屬性的信息、針對聯系人的路由信息(例如,電話號碼、電子郵件地址、IP地址等)或者這些信息和其它類型的信息的組合。在一些實例中,消息122可以包括諸如以下各項等的內容:文本數據、圖像數據、音頻數據、多媒體數據或者這些信息和其它類型的信息的組合。
[0031]消息傳送模塊124可以通過硬件、軟件、固件或其組合來實現。例如,在一些情況下,消息傳送模塊124的全部或一部分可以實現為由微處理器執行的軟件程序。作為另一示例,在一些情況下,消息傳送模塊124的全部或一部分可以用數字或模擬電路來實現。在一些實例中,消息傳送模塊124與移動設備的其它軟件或硬件資源集成在一起和/或使用移動設備的其它軟件或硬件資源,或者消息傳送模塊124可以是獨立的模塊。在一些實現中,消息傳送模塊124的一些或全部操作可以由移動設備的處理器110、由移動設備的無線接口 114或者由移動設備的這些組件和其它組件的任何適當的組合來執行。
[0032]在圖1A中所示的示例中,消息傳送模塊124可以使用共享秘密120來在移動設備102a、102b之間提供可信通信。例如,第一移動設備102a的消息傳送模塊124可以使用共享秘密120來產生可以由第二移動設備102b使用來驗證消息122的完整性的數據126。消息傳送模塊124可以使用任何適當的功能、操作或算法來產生數據126。在一些實現中,消息傳送模塊124可以執行如圖3、4A、4B或4C中所示的操作中的一個或多個。
[0033]在一些實現中,第一移動設備102a的消息傳送模塊124可以將數據126附加到消息122或者以其它方式將數據126和消息122進行關聯以向第二移動設備102b進行發送。在一些實現中,消息傳送模塊124指示無線接口 114無線地發送消息122和數據126。第二移動設備102b的消息傳送模塊124可以訪問共享秘密120并且基于數據126和共享秘密120來驗證消息122的完整性。消息傳送模塊124可以使用任何適當的功能、操作或算法以基于數據126來驗證消息122的完整性。
[0034]數據126可以包括可以用于驗證消息的完整性的任何類型的信息。例如,在一些實現中,數據126包括認證值。認證值可以包括基于消息122、共享秘密120和可能的其它信息產生的信息。例如,因為數據126中包含的認證值是基于消息122和共享秘密120產生的,因此第二移動設備102b可以基于認證值來驗證消息122并且在一定程度上保證消息122是從可信源發送的。
[0035]在一些實現中,第一移動設備102a的消息傳送模塊124產生包含在數據126中的認證值,并且數據126與消息122 —起發送到第二移動設備102b。第二移動設備102b的消息傳送模塊124然后可以產生測試認證值以與數據126中包含的認證值進行比較。在一些情況下,如果第二移動設備102b確定認證值匹配,則第二移動設備102b可以接受消息;如果第二移動設備102b確定認證值不匹配,則第二移動設備102b可以拒絕消息。
[0036]在一些實現中,認證值是消息認證碼(MAC)。例如,可以通過帶有密鑰的基于散列的消息認證碼(keyed Hash-based Message Authentication Code,HMAC)算法或者另一種類型的算法來產生MAC。在一些情況下,由HMAC算法產生的MAC可以用于同時驗證潛在的消息的完整性和真實性。可以使用額外或不同類型的認證值。在一些實例中,數據126包括與認證值相關聯的時間戳。例如,時間戳可以用作對抗重放攻擊的對策。因此,在一些情況下,數據126包括認證值和時間戳值。數據126可以包括額外或不同類型的信息。
[0037]無線接口 114可以包括任何適當的無線接口。無線接口 114可以以任何適當的配置包括例如控制器、收發機和天線。無線接口 114可以包括額外或不同的組件。在一些實現中,無線接口 114是鄰近激活無線接口。例如,無線接口 114可以是NFC接口或者另一種類型的鄰近激活無線接口。可以使用鄰近激活或者以其它方式激活的額外或不同類型的無線接口。第一移動設備102a的無線接口 114可以與第二移動設備102b的無線接口 114直接無線通信。移動設備102a、102b可以包括例如通過路由器、集線器、中繼、網關或者另一種類型的中間組件或設備來間接通信的一個或多個額外的無線接口。作為一個具體示例,在一些實現中,移動設備102a、102b可以通過數據網絡或電信網絡相互間接通信。
[0038]無線接口 114可以基于與另一適當的設備的無線交互來檢測該另一設備的鄰近。例如,無線接口 114可以無線地發送輪詢信號或另一種類型的詢問消息,并且另一設備可以接收輪詢信號并且發送可通過無線接口 114檢測到的響應。因此,無線接口 114可以基于其它設備對輪詢信號或另一種類型的詢問消息的響應來檢測另一設備的鄰近。作為另一示例,無線接口 114可以無線地接收由另一設備發送的輪詢信號或另一種類型的詢問消息。因此,無線接口 114可以基于由其它設備發送的輪詢信號或其它類型的詢問消息來檢測另一設備的鄰近。無線接口 114可以基于額外或不同的技術來檢測另一設備的鄰近。
[0039]在圖1A中所示的示例性通信系統IOOa中,第一移動設備102a可以基于無線接口114之間的無線交互來檢測第二移動設備102b的鄰近。例如,如果使第一移動設備102a和第二設備102b處于彼此的特定距離之內,則無線接口 114中的一個或這二者可以檢測到另一設備的鄰近。在一些實現中,當使移動設備102a、102b處于彼此的約4cm、IOcm或另一距離之內時,移動設備可以檢測到彼此的鄰近。在一些實例中,移動設備102a、102b中的一個檢測到另一個的鄰近的條件可以取決于特定移動設備的設置或屬性。例如,無線接口 114可以基于接收到信噪比大于閾值水平的信號而檢測到鄰近。此外,可以檢測到鄰近的條件可以取決于移動設備102a、102b的物理方位、其環境的物理屬性及其它考慮。
[0040]第一移動設備102a的無線接口 114可以向第二設備102b無線地發送消息122和數據126。在一些實現中,第一移動設備102a響應于檢測到第二移動設備102b的鄰近來向第二移動設備102b無線地發送消息122和數據126。在一些實例中,第一移動設備102a可以基于額外或不同的標準來向第二移動設備102b發送信息。此外,第一移動設備102a可以響應于檢測到第二移動設備102b的鄰近來執行額外或不同的操作。
[0041]在操作的一個方案中,第一移動設備102a基于移動設備102a、102b的無線接口114之間的交互來檢測第二移動設備102b的鄰近。響應于檢測到第二移動設備102b的鄰近,第一移動設備102a可以訪問共享秘密120和消息122。在一些實例中,第一移動設備102a響應于檢測到第二移動設備102b的鄰近來產生消息122。第一移動設備102a基于消息122和共享秘密120來產生數據126,并且第一移動設備通過無線接口 114之間的無線交互來向第二移動設備102b發送數據126和消息122。響應于接收到消息122和數據126,第二移動設備102b可以訪問共享秘密120并且使用共享秘密120來驗證消息122的完整性。在第二移動設備102b接受消息122的情況下,第二移動設備102b可以基于消息122自動地采取行動。例如,因為已經驗證和接受了消息122的完整性,因此第二移動設備102b可以在無需用戶手動輸入、確認或肯定應答的情況下信任消息122。
[0042]圖1B是示例性通信系統IOOb的示意圖。示例性通信系統IOOb包括移動電信設備102c和平板設備102d。在一些方案中,圖1B的通信系統IOOb可以表示圖1A的通信系統IOOa的示例性實現。在圖1B中所示的示例中,移動電信設備102c可以被配置為作為圖1A的移動設備102a操作,并且平板設備102d可以被配置為作為圖1B的移動設備102b操作。通信系統IOOb可以包括圖1B中未示出的額外或不同的特征。例如,通信系統IOOb可以包括允許移動電信設備102c和平板設備102d彼此通信并且可能與其它設備或系統進行通信的數據網絡(例如,自組網絡、WiFi網絡、局域網等)。
[0043]在圖1B中所示的示例中,移動電信設備102c和平板設備102d各自是具有NFC能力的設備。因此,兩個設備包括NFC模塊,并且設備可以通過其NFC模塊之間的交互來彼此進行無線通信。此外,已經在移動電信設備102c和平板設備102d上建立了共享秘密。
[0044]如圖1B中所示,移動電信設備102c在移動電信設備102c的顯示器上顯示鏈接150。鏈接150可以是針對通過互聯網可訪問的內容的鏈接、針對在局域網上可訪問的內容的鏈接、針對在平板設備102d本地存儲的內容的鏈接、或者另一種類型的鏈接。圖1B中所示的示例性鏈接150是針對網頁的鏈接。
[0045]在一些實例中,如果當在移動電信設備102c上顯示鏈接150的同時使移動電信設備102c在平板設備102d附近,則移動電信設備102c通過NFC自動地向平板設備102d發送鏈接150,并且鏈接150被自動地打開,且在平板設備102d上自動地顯示相應內容。例如,移動電信設備102c可以基于兩個設備的NFC模塊之間的交互來檢測平板設備102d的鄰近。響應于檢測到平板設備102d的鄰近,移動電信設備102c可以產生標識鏈接150的消息152,基于消息152和共享秘密來產生完整性數據154,然后直接向平板設備102d無線地發送消息152和完整性數據154。
[0046]可以通過兩個設備的NFC模塊之間的無線交互從移動電信設備102c向平板設備102d發送消息152和完整性數據154。在一些實現中,平板設備102d接收消息152和完整性數據154,然后基于完整性數據154和共享秘密來驗證消息152的完整性。例如,平板設備102d可以在本地產生完整性數據,并且將本地產生的完整性數據和與消息152 —起接收到的完整性數據154進行比較。如果平板設備102d接受消息,則平板設備102d可以自動地訪問鏈接150處的內容,并且在平板設備102d的顯示器上顯示該內容。如圖1B中所示,平板設備102d使用web瀏覽器應用160打開鏈接150,并且可以在web瀏覽器窗口 162中顯示相應的內容。
[0047]因為基于共享秘密來驗證消息152的完整性,因此平板設備102d可以例如在無需提示用戶進行肯定應答的情況下信任消息152。類似地,在一些實現中,平板設備102d可以在無需提示用戶交互的情況下拒絕消息152。例如,如果平板設備102d確定完整性數據154與本地產生的完整性數據不匹配,則平板設備102d可以拒絕消息152。在一些實例中,平板設備102d可以被配置為在基于完整性數據154接受或拒絕消息以后提示用戶進行肯定應答。
[0048]圖2是示例性移動電信設備200的示意圖。例如,移動電信設備200可以是BLACKBERRY?電信設備和/或另一種類型的移動電信設備。在一些實現中,移動電信設備200是雙模式設備。圖2中的示例性移動電信設備200包括微處理器202、通信子系統204、隨機存取存儲器(RAM) 206、非易失性存儲器208、顯示器210、一個或多個輔助輸入/輸出(I / O)設備212、數據端口 214、鍵盤216、揚聲器218、麥克風220、藍牙子系統222、近場通信(NFC)子系統223、其它設備子系統224、SIM / RUM卡(即,訂戶標識模塊或可拆卸用戶標識模塊)226、SIM / RUM接口 228、可再充電電池230、電池接口 232和可能的其它組件。移動電信設備200可以包括相同、額外或不同的特征,這些特征可以被布置或配置為以所示的方式或者以不同的方式操作。
[0049]示例性移動電信設備200是電池供電的設備,該電池供電的設備包括從一個或多個可再充電電池230接收直流電功率的電池接口 232。電池230可以是具有嵌入的微處理器的智能電池或者不同類型的電池。電池接口 232可以耦合到穩壓器(未示出),穩壓器可以輔助電池230來向移動電信設備200提供功率V+。此外或備選地,移動電信設備200可以從外部源(例如,交流電源、適配器、轉換器等)和/或不同類型的內部電源接收功率。
[0050]圖2中所示的示例性移動電信設備200可以作為具有語音和數據通信能力的雙向通信設備來操作。移動電信設備200可以通過無線網絡(包括無線電信網絡、無線數據網絡、組合的語音和數據網絡和/或其它類型的無線網絡)進行通信。因此,移動電信設備200可以通過語音網絡(例如,模擬或數字蜂窩網絡中的任意一個)來進行通信,并且還可以通過數據網絡來進行通信。可以使用諸如基站、網絡控制器等的單獨的基礎設施將語音和數據網絡實現為單獨的通信網絡,或者語音和數據網絡可以集成到單個無線網絡中。網絡可以包括一個或多個局域網、地區網、國家網或全球網。網絡可以包括一個或多個蜂窩網絡。在一些實現中,無線網絡使用一個或多個通信協議標準,例如,3G、4G、GSM、CDMA、GPRS、EDGE、LTE 等。
[0051]在圖2中所示的示例性移動電信設備200中,通信子系統204包括接收機250、發射機252、天線254和256、一個或多個本地振蕩器258、數字信號處理器(DSP) 260和可能的其它特征。天線254和256可以包括多元件天線、嵌入式天線、射頻(RF)天線和/或其它類型天線的天線元件。通信子系統204可以用于使用網絡進行通信。DSP260可以用于分別通過接收機250和發射機252來接收和發送信號,并且DSP260可以向接收機250和發射機252提供控制信息。可以通過在DSP260中實現的自動增益控制算法來自適應地控制在接收機250和發射機252中施加于通信信號的增益電平。可以在DSP260中執行額外和/或不同類型的控制算法以提供對通信子系統204的更復雜的控制。
[0052]在一些實現中,本地振蕩器258包括單個本地振蕩器,該單個本地振蕩器向例如接收機250和發射機252提供參考信號,在該接收機250和發射機252中,以單個頻率或者小間距的頻率集合來發生語音和數據通信。在一些情況下,例如,如果不同的頻率用于語音通信和數據通信,則本地振蕩器258可以包括多個本地振蕩器,多個本地振蕩器用于產生與語音和數據網絡相對應的多個不同的頻率。可以通過DSP260與微處理器202之間的鏈路或總線在移動電信設備200內向通信子系統204或從通信子系統204傳送可包括數字語音和數字數據信息的信息。通信子系統204的諸如頻帶、分量選擇、功率電平等的設計和配置可以取決于移動電信設備200旨在其中操作的通信網絡。例如,通信子系統204可以被配置用于2G、2.5G、3G、4G以及其它語音和數據網絡,例如,GSM、CDMA2000、GPRS, EDGE、W-CDMA (UMTS)、FOMA、EV-DO, TD-SCDMA, HSPA, HSOPA 等。
[0053]在已經完成任何所需的網絡注冊或激活過程以后,移動電信設備200可以通過無線網絡發送和接收通信信號(包括語音和數據信號)。天線254從通信網絡接收的信號可以被路由至接收機250,接收機250可以提供信號放大、下變頻、濾波、信道選擇等,并且還可以提供模數信號轉換。接收信號的模數轉換可以允許DSP260對由此產生的數字信號進行解碼。要發送到網絡的信號可以由DSP260處理(例如,調制、編碼等)、然后被提供給發射機252以進行數模轉換、上變頻、濾波、放大并且經由天線256發送到通信網絡。
[0054]在一些實現中,移動電信設備200可以在已經完成無線網絡注冊或激活過程以后通過無線網絡發送和接收通信信號。移動電信設備200的無線網絡注冊或激活過程可以基于移動電信設備200在其中操作的網絡的類型而改變。對圖2中所示的示例性移動電信設備200的無線網絡訪問可以與移動電信設備200的訂戶或用戶相關聯。具體地,SIM /RUM接口 228中的SM / RUM卡226可以標識移動電信設備200的訂戶或用戶。SM /RUM接口 228中的SM / RUM卡226可使得能夠通過無線網絡訪問預訂的服務。例如,預訂的服務可以包括web瀏覽、電子郵件、語音郵件、短消息服務(SMS)、多媒體消息傳送服務(MMS)等。SM / RUM接口 228中的SM / RUM卡226可以與移動電信設備200上的微處理器202進行通信。為了標識訂戶,SM / RUM卡226可以包括用戶參數,例如,國際移動訂戶標識(MSI)和/或另一類型的訂戶標識符。SM / RUIM卡226可以存儲額外和/或不同的訂戶信息,包括:日程信息、通話記錄信息、聯系人信息和/或其它類型的信息。此外或備選地,用戶標識信息也可以存儲在非易失性存儲器208中。
[0055]數據端口 214可以包括串行端口、并行端口和/或另一種類型的連接端口。在一些實現中,數據端口 214是通用串行總線(USB)端口,該USB端口包括用于數據傳遞的數據線和可以提供充電電流以給移動電信設備200的電池230充電的電源線。可以例如通過經由(例如,在接口支架和/或另一種類型的有線連接中的)數據端口 214連接移動電信設備200來手動地將移動電信設備200與主機系統進行同步,該數據端口 214將移動電信設備200耦合到計算機系統或其它設備的數據端口。數據端口 214也可以用于使用戶能夠通過外部設備或軟件應用設置偏好,或者下載其它程序以進行安裝。數據端口 214的有線連接可被用于將加密密鑰加載到設備上。
[0056]藍牙子系統222和NFC子系統223各自在無需使用無線網絡的情況下提供移動電信設備200與不同系統或設備之間的通信。例如,藍牙子系統222和NFC子系統223可以包括用于短距離通信的射頻設備以及相關聯的電路和組件。移動電信設備200可以包括額外或不同類型的短距離通信子系統。例如,移動電信設備200可以包括紅外線通信子系統、WiFi通信子系統或者另一種類型的短距離通信子系統。在一些實現中,短距離通信子系統中的一個或多個可以根據一個或多個標準或者其它類型的規范來配置。短距離通信標準的示例包括由紅外線數據協會(IrDA)開發的標準、BLUETOOTH?、由IEEE、NFC論壇開發的802.11標準族等。
[0057]藍牙子系統222可以包括例如控制器模塊、收發機模塊、天線或者這些組件和其它組件的任何適當的組合。藍牙子系統222可以被配置為根據藍牙設備的任何適當的標準或規范來發送和接收消息。在一些實現中,藍牙子系統222可以被配置為通過一個或多個頻率在2400MHz至2480MHz的范圍中或者另一頻率范圍中的無線信號來進行通信。藍牙子系統222可以被配置為與其它具有藍牙能力的設備進行通信。
[0058]NFC子系統223可以包括例如控制器模塊、收發機模塊、天線或者這些組件和其它組件的任何適當的組合。NFC子系統223可以被配置為根據NFC設備的任何適當的標準或規范來發送和接收消息。在一些實現中,NFC子系統223可以被配置為通過一個或多個頻率在13.56MHz處或接近13.56MHz或者在另一頻率范圍內的無線信號來進行通信。NFC子系統223可以被配置為檢測NFC標簽或者其它具有NFC能力的設備的鄰近。NFC子系統223可以被配置為例如:響應于檢測到NFC標簽或其它具有NFC能力的設備的鄰近,或者響應于其它事件或標準,與NFC標簽或其它具有NFC能力的設備進行通信。
[0059]示例性微處理器202可以管理和控制移動電信設備200的整體操作。可以根據需要使用很多類型的微處理器或微控制器。此外或備選地,單個DSP260可以用于執行微處理器202的一個或多個功能。可以通過通信子系統204中的DSP260來執行包括數據和語音通信的低級通信功能。可以在非易失性存儲器208中存儲諸如語音通信應用、數據通信應用和/或其它類型的軟件應用等的高級通信應用以便由微處理器202來執行。微處理器202可以與其它設備子系統進行交互,該其它設備子系統例如是顯示器210、RAM206、輔助輸入/輸出(I / O)設備212、數據端口 214、鍵盤216、揚聲器218、麥克風220、SM / RUIM接口 228、電池接口 232、藍牙子系統222、NFC子系統223和一般地指定為224的任何其它設備子系統。
[0060]非易失性存儲器208包括可擦除持久性存儲器設備,例如,閃存存儲器、電池支持RAM和/或其它類型的存儲器。在圖2中所示的示例中,非易失性存儲器208存儲與操作系統234、向移動電信設備200提供各種類型的功能的程序236以及其它類型的信息相關聯的指令和數據。非易失性存儲器208可以包括便于在設備上存儲數據項的文件系統。例如,在微處理器202上執行的操作系統234、程序236和/或其它模塊可以通過訪問(例如,讀取、寫入等)非易失性存儲器208上提供的文件系統來存儲、取回、修改、刪除和/或以其它方式處理數據。
[0061]在移動電信設備200上的非易失性存儲器208和/或其它計算機可讀介質中存儲的數據可以包括用戶在移動電信設備200處產生的或者由移動電信設備200接收并存儲的用戶應用數據、文本文件、圖像文件、語音郵件數據和其它數據。用戶應用數據可以包括例如:電子郵件消息數據、地址簿數據、聯系人信息數據、日程約定數據、即時消息數據、SMS消息數據、語音郵件數據、用戶輸入的數據和/或其它類型的應用數據。語音郵件數據可以包括可用于在消息傳送應用中查看的數字化音頻記錄和/或存根項(stub entry),該數字化音頻記錄和/或存根項指示存儲在另一位置處的語音郵件消息的可用性。用戶輸入的數據可以包括由用戶加載到移動電信設備200上的基于文本的文件、圖形文件或其它多媒體文件。
[0062]操作系統234可以控制移動電信設備200的低級功能并且便于程序236的操作。例如,操作系統234可以提供一個或多個程序236與移動電信設備200上的一個或多個硬件組件之間的接口。程序236包括可以由微處理器202 (和/或在一些實例中,DSP260)執行的計算機程序模塊。在一些實現中,一個或多個程序236由微處理器202執行,并且提供用戶與移動電信設備200之間的高級接口。程序236提供的用戶界面通常包括通過顯示器210提供的圖形組件,并且可以另外包括通過輔助I / O設備212、鍵盤216、揚聲器218和/或麥克風220提供的輸入/輸出組件。操作系統234、特定的設備應用或程序236或者其一部分可被臨時加載到諸如RAM206等易失性存儲設備中以便于更快速的操作。此外,在接收的通信信號被永久地寫入非易失性存儲器208中的文件系統中以前,還可以將這些通信信號臨時存儲到RAM206。
[0063]在非易失性存儲器208中存儲的程序236可以包括例如:消息應用、日程應用、一個或多個第三方應用和其它類型的應用。程序236可以包括額外或不同的模塊、程序或應用,例如,個人信息管理器(PM)模塊、連接模塊、設備狀態模塊、IT策略模塊、多服務平臺管理器等。程序236可以包括控制基本設備操作的程序,可以在移動電信設備200的制造和/或初始配置期間將該程序安裝到移動電信設備200上。可以在制造和初始配置移動電信設備200以后添加諸如第三方應用和/或其它類型的模塊等的其它類型的軟件應用。第三方應用的示例包括游戲、工具、互聯網應用等。通常,可以在任意時間更新和/或修改程序236中的任意一個。可以通過無線網絡、輔助I / O設備212、數據端口 214、藍牙子系統222,NFC子系統223或任何其它適當的設備子系統224來將額外應用和/或對應用的更新加載到移動電信設備200上。非易失性存儲器208還可以存儲密鑰,密鑰可以包括在移動電信設備200與服務器之間的通信中使用的加密密鑰和解密密鑰以及尋址信息。
[0064]圖3是示出了用于在移動設備之間進行通信的示例性過程300的信令和流程圖。可以在通信系統中執行過程300。例如,可以由圖1A中所示的通信系統100a、圖1B中所示的通信系統IOOb的一個或多個組件或者由不同類型的系統來執行過程300。圖3中所示的示例性過程300可以被修改或重新配置為包括額外、更少或不同的操作,這些操作可以按所示的順序或者按不同的順序來執行。在一些實例中,例如可以重復或迭代操作中的一個或多個,直到達到終止條件為止。在一些實現中,圖3A中所示的一個或多個單獨的操作中可被作為多個單獨的操作來執行,或者圖3A中所示的操作的一個或多個子集可以被組合為單個操作或者作為單個操作來執行。
[0065]在圖3中不出了第一設備302a和第二設備302b。設備302a、302b可以包括移動設備、計算系統或者這些類型和其它類型的設備的任何適當的組合。例如,設備302a、302b可以是圖1A的移動設備102a、102b、圖1B的移動設備102c、102d、或者任何其它適合的設備對。在一些實現中,第一設備302a或第二設備302可以是移動電信設備、揚聲電話設備、平板設備、頭戴式耳機設備或者任何其它適當類型的設備。在下面的討論中,圖3中所示的操作被描述為由第一設備302a、第二設備302b或者這二者來執行。在一些實現中,圖3中所示的一個或多個單獨的操作可以由一個或多個額外或不同的設備來執行,或者被示出為由設備的組合執行的一個或多個操作可以由單個設備來執行。因此,示例性過程300可以根據需要被修改或重新配置為用于各種類型的實現和多個不同的上下文。
[0066]在310,在設備302a、302b之間建立共享秘密。共享秘密可以是兩個設備302a、302b可訪問但是通常不能由不可信實體訪問的秘密值(例如,私鑰)。可以通過任何適當的方式建立共享秘密。在一些實現中,通過免受第三方對手竊聽或更復雜的攻擊的方式來建立共享秘密。通常,可以在兩個或更多個設備之間建立共享秘密。例如,特定用戶可以具有在用戶的電話、膝上型計算機、平板電腦和由用戶控制的潛在的其它設備之間建立的共享秘密。作為另一示例,兩個用戶可以在其相應設備之間建立共享秘密。
[0067]在一些實例中,可以由如圖4A、4B或4C中所示的示例性技術中的一個或多個或者由另一技術來建立共享秘密。例如,在一些實現中,基于通過一個或多個無線接口(例如,NFC、藍牙、WiFi等)在第一設備302a與第二設備302b之間交換的憑證來建立共享秘密。作為另一示例,在一些實現中,基于通過第一設備302a的用戶界面提供的憑證、通過第二設備302b的用戶界面提供的憑證或者這二者來建立共享密碼。作為另一示例,在一些實現中,基于由證書中心提供的一個或多個證書來建立共享秘密。
[0068]在312,第一設備302a檢測第二設備302b的鄰近。第一設備302a可以基于兩個設備的物理鄰近和可能的其它標準來檢測第二設備302b的鄰近。例如,第一設備302a可以基于第二設備302b在第一設備302a的檢測范圍(例如,4cm、10cm、20cm等)內移動來檢測第二設備302b的鄰近。在一些情況下,第一設備302a基于設備之間的直接無線交互來檢測第二設備302b的鄰近。在一些實現中,第一設備302a通過第一移動設備的鄰近激活無線接口來檢測第二設備302b的鄰近。例如,鄰近激活無線接口可以是NFC接口或者另一種類型的接口。在一些實現中,第一設備302a基于從第二設備302b直接向第一設備302a無線地發送的信息來檢測第二設備302b的鄰近。
[0069]在一些實現中,在312,第二設備302b無線地發送準許第一設備302a檢測第二設備302b的鄰近的信息。例如,在一些實現中,第二設備302b在第一設備302a的范圍內發送輪詢信號,并且第一設備302a通過接收輪詢信號來檢測第二設備302b的鄰近。作為另一示例,在一些實現中,第二設備302b從第一設備302a接收輪詢信號,第二設備302b在第一設備302a的范圍內發送對輪詢信號的響應,并且第一設備302a通過接收響應來檢測第二設備302b的鄰近。第二設備302b可以發送額外或不同類型的信息以準許第一設備302a檢測第二設備302b的鄰近。
[0070]在314,第一設備302a訪問消息。消息可以包括第一設備302a產生的任意類型的信息、第一設備302a從另一源接收的任意類型的信息、或者組合。在一些情況下,第一設備302a響應于檢測到第二設備302b的鄰近來訪問消息。例如,第一設備302a可以產生要發送到第二設備302b的信息、指令或其它類型的數據。
[0071]在一些情況下,消息可以包括針對內容的鏈接、針對電子郵件或呼叫的路由信息、或者其它類型的信息。舉例說明,如果當在第一設備302a的圖形顯示器中顯示或突出顯示鏈接的同時,第一設備302a檢測到第二設備302b的鄰近,則第一設備302a可以產生向第二設備302b傳遞鏈接以使得可以在第二設備302b上打開鏈接的消息。作為另一示例,如果當在第一設備302a的圖形顯示器中顯示或突出顯示電話號碼或者與電話號碼相關聯的信息(例如,聯系人的名字)的同時,第一設備302a檢測到第二設備302b的鄰近,則第一設備302a可以產生向第二設備302b傳遞電話號碼以使得第二設備302b可以發起對電話號碼的呼叫的消息。可以根據需要來使用額外或不同類型的路由信息。
[0072]在316,第一設備302a訪問共享秘密。在一些情況下,第一設備302a響應于檢測到第二設備302b的鄰近來訪問共享秘密。在一些實現中,將存儲在第一設備302a處的共享秘密與第二設備302b相關聯。例如,共享秘密可以與對共享秘密是與第二設備302b建立的進行指示的信息一起存儲在第一設備302a處。因此,如果第一設備302a識別出要向第二設備302b發送消息,則第一設備302a可以取回與第二設備302b相關聯的共享秘密值。在一些情況下,第一設備302a然后可以使用與第二設備302b相關聯的共享秘密值來產生消息的完整性數據,該完整性數據可以使第二設備302b能夠在無需來自用戶的肯定應答的情況下信任消息。
[0073]在318,第一設備302a產生完整性數據。在一些實例中,完整性數據是基于消息、共享秘密和可能的額外信息來產生的。完整性數據可以包括允許第二設備302b驗證消息的完整性的信息。在一些實現中,產生完整性數據包括產生認證值、時間戳值、或者這些完整性數據和其它類型的完整性數據的組合。例如,在一些情況下,通過基于消息和共享秘密值評估帶有密鑰的散列算法來產生認證值。因此,認證值可以是通過基于消息和共享秘密評估帶有密鑰的基于散列的消息認證碼(HMAC)算法而產生的消息認證碼(MAC)。在一些情況下,第一設備302a可以產生與認證值相關聯的時間戳值。例如,時間戳可以用于防止或減小重放攻擊的可能性。在一些實例中,第一設備302a將認證值、時間戳或者這二者附加至消息。
[0074]在320,第一設備302a向第二設備302b無線地發送消息和完整性數據。例如,第一設備302a可以直接向第二設備302b無線地發送認證值、時間戳值或者這兩個值。在一些實例中,響應于檢測到第二設備302b的鄰近,向第二設備302b發送消息和完整性數據。在一些實現中,通過第一設備302a的鄰近激活無線接口來無線地發送消息和認證值。換言之,檢測到第二設備302b的鄰近(在312)的無線接口也可被用于向第二設備302b發送消息和完整性數據(在320)。在一些實現中,消息和完整性數據由第一設備302a的NFC模塊發送并且由第二設備302b的NFC模塊接收。
[0075]在322,第二設備302b從第一設備302a無線地接收消息和完整性數據。在一些實例中,響應于第二設備302b發送準許第一設備302a檢測第二設備302b的鄰近的信息,在第二設備302b處從第一設備302a直接接收消息和認證值。在一些實現中,通過第二設備302b的鄰近激活無線接口(例如,NFC接口或另一種類型的接口)無線地接收消息和認證值。換言之,向第一設備302a發送允許第一設備302a檢測第二設備302b的鄰近(在312)的信息的無線接口也可被用于從第一設備302a接收消息和完整性數據(在322)。
[0076]在324,第二設備302b訪問共享秘密。在一些情況下,響應于檢測到第一設備302a的鄰近,響應于識別出消息是由第一設備302a發送的或者這二者,第二設備302b訪問共享秘密。在一些實現中,共享秘密與第一設備302a相關聯。例如,可以將共享秘密與對共享秘密是與第一設備302a建立的進行指示的信息一起存儲在第二設備302b處。因此,如果第二設備302b識別出消息是從第一設備302a接收的,則第二設備302b可以取回與第一設備302a相關聯的共享秘密值。在一些情況下,第二設備302b然后可以使用與第一設備302a相關聯的共享秘密值來驗證消息的完整性。因此,如果第二設備302b基于共享秘密驗證了消息的完整性,則第二設備302b可以在無需來自用戶的肯定應答的情況下信任消息。
[0077]在326,第二設備302b驗證消息的完整性。例如,當完整性數據包括認證值時,可以基于認證值來驗證消息的完整性。在一些實例中,在第二設備302b處基于消息和共享秘密來本地產生測試認證值,并且通過將測試認證值與從第一設備302a接收的認證值進行比較來驗證消息的完整性。可以由第二設備302b使用第一設備302a使用來產生認證值的相同技術來產生測試認證值。例如,在適當時,可以通過基于消息和共享秘密值評估帶有密鑰的散列算法來產生認證值。因此,測試認證值可以是通過基于消息和共享秘密評估帶有密鑰的基于散列的消息認證碼(HMAC)算法而產生的消息認證碼(MAC)。
[0078]在一些情況下,可以通過確定第一認證值是否與第二認證值相匹配來驗證消息的完整性。例如,如果第二設備302b確定測試認證值與從第一設備302a接收的認證值相匹配,則第二設備302b可以接受消息;如果第二設備302b確定測試認證值與從第一設備302a接收的認證值不匹配,則第二設備302b可以拒絕消息。在一些情況下,可以基于與從第一設備302a接收的認證值相關聯的時間戳來進一步驗證消息的完整性。
[0079]第二設備可以響應于驗證消息的完整性來執行一個或多個額外操作。例如,當消息包括針對內容的鏈接時,第二設備302b可以響應于驗證消息的完整性來自動地顯示內容。在一些情況下,第二設備302b獨立于第二設備302b處的用戶確認或用戶肯定應答來訪問和顯示內容。作為另一示例,當消息包括電話號碼時,第二設備302b可以響應于驗證消息的完整性自動地呼叫電話號碼。在一些情況下,第二設備302b獨立于第二設備302b處的用戶確認或用戶肯定應答來發起呼叫。
[0080]圖4A至圖4C是示出了用于在移動設備之間建立共享秘密的三個示例性過程400a,400b,400c的信令和流程圖。可以在通信系統中執行過程400a、400b、400c。例如,過程400a、400b、400c可以由圖1A中所示的通信系統100a、圖1B中所示的通信系統IOOb的一個或多個組件或者由不同類型的系統來執行。示例性過程400a、400b、400c可以被修改或重新配置為包括額外、更少或不同的操作,這些操作可以按所示的順序或者按不同的順序來執行。在一些實例中,例如可以重復或迭代操作中的一個或多個,直到達到終止條件為止。在一些實現中,圖4A、4B或4C中所示的一個或多個單獨的操作可被作為多個單獨的操作來執行,或者這些操作的一個或多個子集可以被組合為單個操作或者作為單個操作來執行。
[0081]示例性過程400a、400b和400c中的每一個被示出為由第一設備402a和第二設備402b來執行。設備402a和402b可以包括移動設備、計算系統或者這些設備和其它類型的設備的任何適當的組合。例如,設備402a、402b可以是圖1A的移動設備102a、102b、圖1B的移動設備102c、102d、圖3的設備302a、302b或者任何其它適合的設備對。在下面的討論中,圖4A、4B和4C中所示的操作被描述為由第一設備402a、第二設備402b或者這二者來執行。在一些實現中,圖4A、4B和4C中所示的一個或多個單獨的操作可以由一個或多個額外或不同的設備來執行,或者被示出為由設備的組合執行的一個或多個操作可以由單個設備來執行。因此,示例性過程400a、400b和400c可以根據需要被修改或重新配置為用于各種類型的實現和多個不同的環境。
[0082]圖4A示出了用于在設備402a與402b之間建立共享秘密的示例性過程400a。在圖4A中所示的示例性過程400a中,設備402a和402b各自包括兩個或更多個無線接口。具體地,兩個設備都包括NFC接口和另一無線接口(例如,藍牙、WiFi等)。在一些實現中,每一個設備的兩個無線接口被配置為發送處于不同的頻率范圍內的無線信號。在一些情況下,NFC接口 404a、404b可以被配置為在13.56MHz處或接近13.56MHz處發送無線信號,其它接口 406a、406b可以被配置為在另一頻率處發送無線信號。例如,其它接口 406a、406b可以被配置為在2400MHz至2480MHz范圍內的頻率處(例如,針對藍牙)、在大于IGHz的頻率處(例如,針對WiFi)或者在另一頻率處發送無線信號。設備402a、402b可以根據需要包括額外或不同的特征或組件。
[0083]在410,第一設備402a的NFC接口 404a向第二設備402b的NFC接口 404b發送切換請求。NFC發送的切換請求可以包括對通過備選載波進行通信的請求。切換請求可以包括可用備選載波(例如,藍牙、WiFi或另一種類型的載波)的標識。在412,第二設備402b的NFC接口 404b向第一設備402a的NFC接口 404a發送切換選擇。切換選擇可以標識由第二設備402b選擇的備選載波。例如,切換選擇可以標識第二設備402b已經同意通過藍牙、通過WiFi或者通過另一備選載波進行通信。
[0084]在一些實現中,可以基于傳統的技術來執行切換請求(在410)和切換選擇(在412)的一個或多個方案。在NFC論壇公布的連接切換技術規范(參見例如日期為2010年7月7日的Connection Handoverl.2)中描述了用于產生切換請求和切換選擇的一些示例性的傳統技術。可以基于額外或不同的技術來執行切換請求(在410)和切換選擇(在412)。
[0085]在414a和414b,第一設備402a和第二設備402b交換憑證。具體地,在414a,第一設備402a的NFC接口 404a與第二設備402b的NFC接口 404b交換第一憑證集合;在414b,第一設備402a的其它接口 406a與第二設備402b的其它接口 406b交換第二憑證集合。因此,在圖4A中所示的示例中,將憑證劃分為多個部分,并且在多個無線接口上建立安全關聯。在一些實例中,通過不同的無線接口發送訪問憑證的不同部分可以減小例如竊聽者在單個攻擊點處獲取全部憑證的可能性。設備402a、402b可以使用在414a和414b處交換的憑證來導出共享秘密。
[0086]諸如藍牙、WiFi等的一些無線連接使用具有某個安全級別的配對協議來防御竊聽。當兩個設備執行配對協議時,可以在設備之間建立共享秘密。因此,可以至少部分地基于藍牙、WiFi或另一種類型的配對協議來在設備402a、402b之間建立共享秘密。在一些實現中,在每次對設備進行配對時,可以建立不同的共享秘密。
[0087]如圖4A中所示,可以影響設備之間的配對,以用于將來的NFC通信。例如,在一些實現中,設備402a、402b可以使用基于配對協議建立的共享秘密來驗證通過NFC在設備402a、402b之間交換的消息的完整性。因此,在圖4A中所示的示例中,基于其它接口 406a、406b (例如,藍牙或WiFi)之間的交互在設備402a、402b之間建立共享秘密,并且將共享秘密用于在NFC接口 404a、404b之間交換可信消息。
[0088]在416,第一設備402a的NFC接口 404a和第二設備402b的NFC接口 404b交換消息和完整性數據。在建立共享秘密以后,設備402a、402b可以產生針對要通過NFC交換的消息的完整性數據。完整性數據可以包括例如基于共享秘密的認證值。完整性數據可以附加包括例如指示何時產生認證值的時間戳值或另一相關時間。在一些實現中,圖4A中所示的設備402a、402b可以基于圖3中所示的示例性過程300的一個或多個操作來進行通信。設備402a、402b可以基于額外或不同的技術來進行通信。
[0089]在一些示例中,當第一設備402a具有要發送到第二設備的消息時,第一設備402a基于消息和共享秘密來產生認證值,第一設備402a產生與認證值相關聯的時間戳值,并且第一設備402a將消息與認證值和時間戳值一起向第二設備402b發送。在一些實例中,可以將認證值、時間戳值或者這二者附加至消息。在一些實例中,認證值和時間戳值可以通過不同的方式與消息相關聯。
[0090]第二設備402b可以驗證消息的完整性,從而基于認證值和時間戳值來確定是否信任該消息。例如,第二設備402b可以核查時間戳處于例如特定容差內,以防止重放攻擊。第二設備402b可以核查認證值是基于消息和共享秘密產生的。第二設備402b可以根據需要使用額外或不同技術來驗證消息的完整性。
[0091]設備402a、402b可以基于單個共享秘密來交換多個NFC消息。在一些實例中,設備402a、402b可以在指定量的時間之后或者基于其它標準來刷新共享秘密。例如,可以在特定時間段或特定數量的消息期間認為共享秘密是有效的,并在然后通過任何適當的技術在設備402a、402b之間建立新的共享秘密。
[0092]圖4B示出了用于在設備402a與402b之間建立共享秘密的示例性過程400b。在圖4B中所示的示例性過程400b中,設備402a和402b各自包括NFC接口和用戶界面,并且每一個設備的用戶界面可操作以從用戶409接收輸入。示例性用戶界面408a、408b可以包括任何適當的用戶界面組件或模塊。例如,用戶界面可以包括觸摸屏、鍵盤、跟蹤球、定點設備、或者這些用戶界面設備和其它類型的用戶界面設備的任何適當的組合。設備402a、402b可以根據需要包括額外或不同的特征或組件。
[0093]在420a和420b,設備402a、402b接收憑證。在420a,第一設備402a的用戶界面408a從用戶409接收憑證;在420b,第二設備402b的用戶界面408b從用戶409接收憑證。在一些示例中,在相應設備處從相同的用戶或者從兩個不同的用戶接收憑證。用戶409提供的憑證可以包括例如通過鍵盤或圖形界面輸入的字母數字符號、由定點設備檢測到的手勢或移動、或者這些信息和其它類型的信息的組合。設備402a、402b中的每一個可以使用用戶409提供的憑證作為共享秘密,或者設備402a、402b中的每一個可以基于用戶409提供的憑證來導出或以其它方式產生共享秘密。
[0094]在422,第一設備402a的NFC接口 404a和第二設備402b的NFC接口 404b可以交換消息和完整性數據。在一些實現中,設備402a、402b可以如關于圖4A中示出的操作416所描述地交換消息和完整性數據。例如,在基于用戶409輸入的憑證建立共享秘密以后,設備402a、402b可以產生針對要通過NFC交換的消息的完整性數據。完整性數據可以包括例如基于共享秘密的認證值。完整性數據可以附加包括例如指示何時產生認證值的時間戳值或者另一相關時間。在一些實現中,圖4B中所示的設備402a、402b可以基于圖3中所示的示例性過程300的一個或多個操作來進行通信。設備402a、402b可以基于額外或不同的技術來進行通信。
[0095]圖4C示出了用于在設備402a與402b之間建立共享秘密的示例性過程400c。在圖4C中所示的示例性過程400c中,設備402a和402b各自包括NFC接口。此外,設備402a、402b均被配置為從證書中心430接收證書數據。在一些實現中,證書中心430可以是由設備402a、402b中的一個實現的證書中心模塊。在一些實現中,證書中心430可以是由另一設備(例如,遠端或本地設備)實現的證書中心模塊。設備402a、402b中的一個或這二者可以被配置為通過通信鏈路與證書中心進行通信。通信鏈路可以包括一個或多個有線或無線鏈路、一個或多個數據網絡、或者這些數據連接和其它類型的數據連接的組合。設備402a、402b可以根據需要包括額外或不同的特征或組件。
[0096]在432a和432b,第一設備402a和第二設備402b各自從證書中心430獲得證書數據。證書數據可以包括由證書中心430發布的一個或多個數字證書。設備402a、402b中的一個或這二者可以通過與另一設備的有線或無線連接、通過網絡或者以其它方式來接收證書數據。在一些實現中,設備402a、402b中的一個可被用作證書中心430。因此,可以通過從本地存儲器存取證書、在設備本地產生證書或者以另一方式來獲得證書。在一些實現中,設備402a、402b例如通過交換數字證書來從對方獲得證書數據的全部或一部分。
[0097]由設備402a、402b獲得的證書數據可以包括一個或多個數字證書。通常,數字證書證明(certify)與設備或用戶實體相關聯的特定公鑰,并且還可以證明設備或用戶實體擁有與所證明的公鑰相對應的私鑰。在一些示例中,第一設備402a獲得包含第二設備402b的公鑰的證書,并且第二設備402b獲得包含第一設備402a的公鑰的證書。數字證書可以包括隱式證書、顯式證書或者其它類型的數字證書。傳統的數字證書的示例包括X.509證書、橢圓曲線Qu Vanstone (ECQV)隱式證書等。
[0098]由相同的實體擁有或管理的一個或多個設備可以被配置為針對相同實體控制下的其它設備的子集來執行證書中心的職責。在一些實現中,移動設備可被用作根證書中心、從屬證書中心或者另一種類型的證書中心。例如,輔助證書中心可以束縛于根證書中心,并且輔助證書中心可以向其它設備發布證書。例如,如果移動設備的擁有者具有其自己的證書中心,則移動設備可以被配置為向它信任的其它設備發布證書。[0099]在434,第一設備402a和第二設備402b執行密鑰協商協議。例如,密鑰協商協議可以使用證書數據來建立用于NFC通信的共享密鑰。在一些情況下,密鑰協商協議可以包括由設備402a、402b在本地執行的操作以及需要設備402a、402b之間的通信聯系的操作。可以通過設備之間的任何適當類型的數據鏈路或者連接來進行通信聯系。作為執行密鑰協商協議的結果,可以在第一設備402a和第二設備402b處存儲共享秘密值。可以通過防止或減小竊聽者獲得共享秘密的可能性的方式來執行密鑰協商協議。
[0100]密鑰協商協議可以包括基于第一設備402a和第二設備402b獲得的證書數據的操作。例如,密鑰協商協議可以利用與一個或多個數字證書相關聯的公鑰和私鑰。密鑰協商協議可以包括由設備402a、402b上的偽隨機產生器、密碼處理單元或者其它類型的模塊執行的操作。可以使用任何適當的密鑰協商協議。在一些實現中,使用標準化的密鑰協商協議。示例性的密鑰協商協議包括Diffie-Hellman密鑰協商協議、橢圓曲線Menezes QuVanstone (EC MQV)密鑰協商協議、HMQV密鑰協商協議等。
[0101]在436,第一設備402a的NFC接口 404a和第二設備402b的NFC接口 404b可以交換消息和完整性數據。在一些實現中,設備402a、402b可以如關于圖4A中所示的操作416所描述地交換消息和完整性數據。例如,在基于證書中心430提供的證書建立共享秘密以后,設備402a、402b可以產生針對要通過NFC交換的消息的完整性數據。完整性數據可以包括例如基于共享秘密的認證值。完整性數據附加另外包括例如指示何時產生認證值的時間戳值或另一相關時間。在一些實現中,圖4C中所示的設備402a、402b可以基于圖3中所示的示例性過程300的一個或多個操作來進行通信。設備402a、402b可以基于額外或不同的技術來進行通信。
[0102]本說明書中描述的操作可被實現為數據處理裝置對一個或多個計算機可讀存儲設備上存儲的或者從其它源接收的數據執行的操作。術語“數據處理裝置”涵蓋用于處理數據的所有類型的裝置、設備和機器,例如包括可編程處理器、計算機、片上系統或者前述各項中的多個或者組合。裝置可以包括專用邏輯電路,例如,FPGA(現場可編程門陣列)或者ASIC(專用集成電路)。除了硬件以外,裝置還可以包括為所討論的計算機程序創建運行環境的代碼,例如,構成處理器固件、協議棧、數據庫管理系統、操作系統、跨平臺運行時環境、虛擬機或者上述各項中的一項或多項的組合的代碼。
[0103]可以以任何形式的編程語言來寫計算機程序(也稱作程序、軟件、軟件應用程序、腳本或代碼),所述編程語言包括:編譯或解釋語言、聲明或程序語言,并且可以以任何形式來部署計算機程序,包括部署為單獨的程序或者部署為適合于用于計算環境的模塊、組件、子例程、對象,或者其它單元。計算機程序可以、但無需與文件系統中的文件相對應。程序可以存儲在文件的保存其它程序或數據(例如,存儲在標記語言文檔中的一個或多個腳本)的部分中、專用于考慮中的程序的單個文件中、或者多個協同文件(例如,存儲一個或多個模塊、子程序或者代碼的各個部分的文件)中。計算機程序可以被部署為在一個計算設備上或者在位于一個站點或分布在多個站點并且通過通信網絡互連的多個計算機上執行。
[0104]本說明書中描述的過程和邏輯流可以由一個或多個可編程處理器來執行,所述一個或多個可編程處理器執行一個或多個計算機程序以通過操作輸入數據并且產生輸出來執行動作。過程和邏輯流也可以由以下各項來執行并且裝置也可以實現為以下各項:專用邏輯電路,例如,FPGA(現場可編程門陣列)或者ASIC(專用集成電路)。
[0105]適合于執行計算機程序的處理器包括例如通用微處理器和專用微處理器以及任何類型的數字計算設備的任意一個或多個處理器。通常,處理器將從只讀存儲器或隨機存取存儲器或者這二者接收指令和數據。計算設備通常包括用于根據指令執行動作的處理器和用于存儲指令和數據的一個或多個存儲器設備。通常,計算設備還將包括或者被可操作地耦合以從用于存儲數據的一個或多個存儲設備接收數據或者向所述一個或多個存儲設備傳遞數據或者進行這兩個操作。然而,計算設備不需要具有這些設備。此外,計算機可以嵌入在另一設備中,例如,移動電話、個人數字助理(PDA)、移動音頻或視頻播放器、游戲機、全球定位系統(GPS)接收機或者便攜式存儲設備(例如,通用串行總線(USB)閃存驅動器),僅舉幾個例子。適合于存儲計算機程序指令和數據的設備包括所有形式的非易失性存儲器、媒體和存儲器設備,例如包括半導體存儲器設備,例如,EPROM、EEPROM和閃存存儲器設備;磁盤,例如,內部硬盤或可拆卸磁盤;磁光盤;和CD ROM和DVD-ROM磁盤。處理器和存儲器可以由專用邏輯電路來補充或者并入到專用邏輯電路中。
[0106]為了提供與用戶的交互,本說明書中描述的主題可以實現在計算機上,該計算機具有用于向用戶顯示信息的顯示設備(例如,IXD(液晶顯示器)屏幕)和用戶可以向計算機提供輸入的鍵盤和定點設備(例如,觸摸屏、觸控筆、鼠標等)。其它類型的設備也可以用于提供與用戶的交互;例如,提供給用戶的反饋可以是任何類型的傳感反饋,例如,視覺反饋、聽覺反饋或觸覺反饋;并且可以通過任何形式接收來自用戶的輸入,包括:聽覺、語音或觸覺輸入。
[0107]類似地,雖然以特定的順序在附圖中描繪了操作,但是這不應當被理解為需要以所示出的特定順序或者連續順序執行這些操作或者所有示出的操作被執行以實現期望的結果。在特定的環境中,多任務處理和并行處理可以是有利的。此外,上述實現中的各個系統組件的分離不應當被理解為需要所有實現中的分離,并且應當理解的是,所描述的程序組件和系統通常可以一起集成在單個軟件產品中或者封裝在多個軟件產品中。
[0108]在一般的方案中,為移動設備之間的無線通信提供數據完整性。例如,移動設備可以通過近場通信(NFC)接口或另一類型的鄰近激活無線接口來進行通信。
[0109]在一些方案中,從第一移動設備向第二移動設備無線地發送信息。發送信息準許第二移動設備檢測第一移動設備的鄰近。響應于該信息從第二移動設備直接向第一移動設備無線地發送消息和第一認證值,并且在第一移動設備處接收消息和第一認證值。在第一移動設備處訪問與第二移動設備相關聯的共享秘密值。在第一移動設備處基于消息和共享秘密值來產生第二認證值。基于將第一認證值與第二認證值進行比較來驗證消息的完整性。
[0110]對這些方案和其它方案的實現可以包括以下特征中的一個或多個。通過第一移動設備的鄰近激活無線接口從第一移動設備向第二移動設備無線地發送信息。在第一移動設備處通過鄰近激活無線接口接收消息和第一認證值。鄰近激活無線接口包括近場通信(NFC)接口。從第一移動設備向第二移動設備無線地發送信息包括:通過鄰近激活無線接口從平板設備向移動電信設備無線地發送信息。
[0111]此外或備選地,對這些方案和其它方案的實現可以包括以下特征中的一個或多個。在第一移動設備與第二移動設備之間建立共享秘密值。第一移動設備包括第一無線通信模塊和第二無線通信模塊。在第一移動設備處通過第一無線通信模塊無線地接收消息和認證值。部分地基于通過第二無線通信模塊從第一移動設備發送數據來建立共享秘密值。第一無線通信模塊在頻率13.56MHz處發送無線信號,以及第二無線通信模塊在2400MHz至2480MHz范圍內的第二頻率處發送無線信號。第一無線通信模塊在頻率13.56MHz處發送無線信號,并且第二無線通信模塊在大于IGHz的第二頻率處發送無線信號。
[0112]此外或備選地,對這些方案和其它方案的實現可以包括以下特征中的一個或多個。在第一移動設備與第二移動設備之間建立共享秘密值。第一移動設備包括用戶界面。建立共享秘密值包括:在第一移動設備處基于與用戶界面的用戶交互來接收共享秘密值。建立共享秘密值包括:在第一移動設備處訪問由證書中心發布的證書。建立共享秘密值包括:在第一移動設備處基于證書來導出共享秘密。
[0113]此外或備選地,對這些方案和其它方案的實現可以包括以下特征中的一個或多個。驗證完整性包括:確定第一認證值是否與第二認證值相匹配。在第一移動設備處基于確定第一認證值與第二認證值相匹配來接受消息。在第一移動設備處基于確定第一認證值與第二認證值不匹配來拒絕消息。通過基于消息和共享秘密值評估帶有密鑰的散列算法來產生第二認證值。產生第二認證值包括:通過基于消息和共享秘密值評估帶有密鑰的基于散列的消息認證碼(HMAC)算法來產生消息認證碼(MAC)。在第一移動設備處接收與第一認證值相關聯的時間戳值。基于時間戳值來驗證消息的完整性。
[0114]因此,已經描述了主題的特性實現。其它實現在所附的權利要求的范圍內。在一些情況下,權利要求中記載的動作可以以不同的順序來執行并且仍然實現期望的結果。此夕卜,附圖中描繪的過程不一定需要所示的特定順序或者連續順序來實現期望的結果。在特定實現中,多任務處理和并行處理可以是有利的。
【權利要求】
1.一種用于移動設備之間的可信通信的方法,所述方法包括: 從第一移動設備向第二移動設備無線地發送信息,所述信息準許所述第二移動設備檢測所述第一移動設備的鄰近; 在所述第一移動設備處接收響應于所述信息從所述第二移動設備直接向所述第一移動設備無線地發送的消息和第一認證值; 訪問在所述第一移動設備處存儲并且與所述第二移動設備相關聯的共享秘密值; 在所述第一移動設備處基于所述消息和所述共享秘密值來產生第二認證值;以及 基于將所述第一認證值與所述第二認證值進行比較來驗證所述消息的完整性。
2.根據權利要求1 所述的方法,其中,通過所述第一移動設備的鄰近激活無線接口從所述第一移動設備向所述第二移動設備無線地發送所述信息,以及在所述第一移動設備處通過所述鄰近激活無線接口接收所述消息和所述第一認證值。
3.根據權利要求2所述的方法,其中,所述鄰近激活無線接口包括近場通信“NFC”接□。
4.根據權利要求1所述的方法,其中,從所述第一移動設備向所述第二移動設備無線地發送信息包括:通過鄰近激活無線接口從平板設備向移動電信設備無線地發送所述信肩、O
5.根據權利要求1所述的方法,其中,所述消息包括針對內容的鏈接,以及所述方法還包括:響應于驗證所述完整性,在所述第一移動設備處自動顯示所述內容。
6.根據權利要求5所述的方法,其中,自動顯示包括:在所述第一移動設備處獨立于所述第一移動設備處的用戶確認來顯示所述內容。
7.根據權利要求1所述的方法,其中,所述消息包括電話號碼,以及所述方法還包括:響應于驗證所述完整性,在所述第一移動設備處自動地向所述電話號碼發起呼叫。
8.根據權利要求1所述的方法,其中,驗證所述完整性包括: 確定所述第一認證值是否與所述第二認證值相匹配。
9.根據權利要求8所述的方法,還包括:在所述第一移動設備處基于確定所述第一認證值與所述第二認證值相匹配來接受所述消息。
10.根據權利要求8所述的方法,還包括:在所述第一移動設備處基于確定所述第一認證值與所述第二認證值不匹配來拒絕所述消息。
11.根據權利要求1所述的方法,還包括:在所述第一移動設備與所述第二移動設備之間建立所述共享秘密值。
12.根據權利要求11所述的方法,其中,所述第一移動設備包括用戶界面,以及在所述第一移動設備與所述第二移動設備之間建立所述共享秘密值包括:在所述第一移動設備處基于與所述用戶界面的用戶交互來接收所述共享秘密值。
13.根據權利要求11所述的方法,其中,所述第一移動設備包括第一無線通信模塊和第二無線通信模塊,在所述第一移動設備處通過所述第一無線通信模塊接收所述消息和所述第一認證值,以及部分地基于通過所述第二無線通信模塊從所述第一移動設備發送數據來建立所述共享秘密值。
14.根據權利要求13所述的方法,其中,所述第一無線通信模塊在頻率13.56MHz處發送無線信號,所述第二無線通信模塊在2400MHz至2480MHz的范圍內的第二頻率處發送無線信號。
15.根據權利要求13所述的方法,其中,所述第一無線通信模塊在頻率13.56MHz處發送無線信號,所述第二無線通信模塊在大于IGHz的第二頻率處發送無線信號。
16.根據權利要求11所述的方法,其中,在所述第一移動設備與所述第二移動設備之間建立所述共享秘密值包括: 在所述第一移動設備處訪問由證書中心發布的證書;以及 在所述第一移動設備處基于所述證書來導出所述共享秘密。
17.根據權利要求1所述的方法,其中,通過基于所述消息和所述共享秘密值評估帶有密鑰的散列算法來產生所述第二認證值。
18.根據權利要求1所述的方法,其中,產生所述第二認證值包括:通過基于所述消息和所述共享秘密值評估帶有密鑰的基于散列的消息認證碼“HMAC”算法來產生消息認證碼“MAC”。
19.根據權利要求1所述的方法,還包括: 接收與所述第一認證值相關聯的時間戳值;以及 基于所述時間戳值來驗證所述消息的完整性。
20.—種移動設備,包括: 存儲器,用于存儲共享秘密值; 無線通信接口; 數據處理裝置,用于執行包括以下各項的操作: 向第二移動設備發送信息,所述信息準許所述第二移動設備檢測所述無線通信接口的鄰近; 接收響應于所述信息從所述第二移動設備直接向所述無線通信接口無線地發送的消息和第一認證值; 基于所述消息和所述共享秘密值來產生第二認證值;以及 基于將所述第一認證值與所述第二認證值進行比較來驗證所述消息的完整性。
21.根據權利要求20所述的移動設備,其中,所述無線通信接口包括近場通信“NFC”接□。
22.根據權利要求21所述的移動設備,其中,通過所述NFC接口來接收所述消息和所述第一認證值。
23.根據權利要求20所述的移動設備,其中,所述移動設備包括第一無線通信模塊,所述第一無線通信模塊包括所述無線通信接口,所述第一無線通信模塊用于通過第一頻率范圍內的無線信號與所述第二移動設備進行通信,以及所述移動設備還包括第二無線通信模塊,所述第二無線通信模塊用于通過第二頻率范圍內的無線信號與所述第二移動設備進行通信。
24.根據權利要求20所述的移動設備,還包括移動設備顯示器,其中,所述消息包括針對內容的鏈接,以及所述移動設備被配置為:響應于驗證所述完整性,在所述移動設備顯示器上自動顯示所述內容。
25.根據權利要求24所述的移動設備,其中,自動顯示包括:在所述移動設備顯示器上獨立于所述移動設備處的用戶確認來顯示所述內容。
26.根據權利要求20所述的移動設備,其中,通過基于所述消息和所述共享秘密值評估帶有密鑰的散列算法來產生所述第二認證值。
27.根據權利要求20所述的移動設備,其中,產生所述第二認證值包括:通過基于所述消息和所述共享秘密值評估帶有密鑰的基于散列的消息認證碼“HMAC”算法來產生消息認證碼“MAC”。
28.根據權利要求20所述的移動設備,所述操作還包括: 接收與所述第一認證值相關聯的時間戳值;以及 基于所述時間戳值來驗證所述消息的完整性。
29.根據權利要求20所述的移動設備,其中,所述移動設備包括移動電信手機。
30.根據權利要求20所述的移動設備,其中,所述移動設備包括平板設備。
31.一種存儲指令的非瞬時性計算機可讀介質,當數據處理裝置執行所述指令時,所述指令用于執行針對移動設備之間的可信通信的操作,所述操作包括: 從第一移動設備向第二移動設備無線地發送信息,所述信息準許所述第二移動設備檢測所述第一移動設備的鄰近; 在所述第一移動設備處接收響應于所述信息從所述第二移動設備直接向所述第一移動設備無線地發送的消息 和第一認證值; 訪問在所述第一移動設備處存儲并且與所述第二移動設備相關聯的共享秘密值; 在所述第一移動設備處基于所述消息和所述共享秘密值來產生第二認證值;以及 基于將所述第一認證值與所述第二認證值進行比較來驗證所述消息的完整性。
32.根據權利要求31所述的計算機可讀介質,其中,通過所述第一移動設備的鄰近激活無線接口從所述第一移動設備無線地發送所述信息,以及通過所述第一移動設備的所述鄰近激活無線接口接收所述消息和所述第一認證值。
33.根據權利要求32所述的計算機可讀介質,其中,所述鄰近激活無線接口包括近場通信“NFC”接口。
34.根據權利要求31所述的計算機可讀介質,其中,所述消息包括針對內容的鏈接,以及所述操作還包括:響應于驗證所述完整性,在所述第一移動設備處自動顯示所述內容。
35.根據權利要求34所述的計算機可讀介質,其中,自動顯示包括:在所述第一移動設備處獨立于所述第一移動設備處的用戶確認來顯示所述內容。
36.根據權利要求31所述的計算機可讀介質,還包括:在所述第一移動設備與所述第二移動設備之間建立所述共享秘密值。
37.根據權利要求36所述的計算機可讀介質,其中,所述第一移動設備包括用戶界面,以及在所述第一移動設備與所述第二移動設備之間建立所述共享秘密值包括:在所述第一移動設備處基于與所述用戶界面的用戶交互來接收所述共享秘密值。
38.根據權利要求36所述的計算機可讀介質,其中,所述第一移動設備包括第一無線通信模塊和第二無線通信模塊,通過所述第一無線通信模塊從所述第一移動設備無線地發送所述消息和所述第一認證值,以及部分地基于通過所述第二無線通信模塊從所述第一移動設備發送數據來建立所述共享秘密值。
39.根據權利要求31所述的計算機可讀介質,其中,在所述第一移動設備與所述第二移動設備之間建立所述共享秘密值包括:在所述第一移動設備處訪問由證書中心發布的證書;以及 在所述第一移動設備處基于所述證書來導出所述共享秘密。
40.根據權利要求31所述的計算機可讀介質,其中,通過基于所述消息和所述共享秘密值評估帶有密鑰的散列算法來產生所述第二認證值。
41.根據權利要求31所述的計算機可讀介質,所述操作還包括: 在所述第一移動設備處接收從所述第二移動設備直接向所述第一移動設備無線地發送的時間戳值;以及 基于所述時間戳 值來驗證所述消息的完整性。
【文檔編號】H04L29/06GK103650554SQ201180072237
【公開日】2014年3月19日 申請日期:2011年7月11日 優先權日:2011年7月11日
【發明者】米哈爾·拉扎里迪斯, 馬克·E·佩岑, 斯科特·亞歷山大·萬斯通, 馬修·約翰·坎帕尼亞, 安東尼·羅薩蒂 申請人:黑莓有限公司, 塞爾蒂卡姆公司