TW201446067A - 用於確保通信裝置之鄰近之系統、方法及設備 - Google Patents

用於確保通信裝置之鄰近之系統、方法及設備 Download PDF

Info

Publication number
TW201446067A
TW201446067A TW103109323A TW103109323A TW201446067A TW 201446067 A TW201446067 A TW 201446067A TW 103109323 A TW103109323 A TW 103109323A TW 103109323 A TW103109323 A TW 103109323A TW 201446067 A TW201446067 A TW 201446067A
Authority
TW
Taiwan
Prior art keywords
response
computing device
request
parameter
apdu
Prior art date
Application number
TW103109323A
Other languages
English (en)
Inventor
Sergey Ignatchenko
Dmytro Ivanchykhin
Original Assignee
Ologn Technologies Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ologn Technologies Ag filed Critical Ologn Technologies Ag
Publication of TW201446067A publication Critical patent/TW201446067A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • G06F21/43User authentication using separate channels for security data wireless channels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本文描述之系統、方法及設備提供一種運算裝置,其經組態以確保其鄰近於一通信配對體。在一態樣中,該運算裝置可包括一通信埠及一處理器。該處理器可經組態以經由該通信埠自該通信配對體接收一請求、將對該請求之一回應發送至該通信配對體、產生包含該請求之一選定部分及該回應之一選定部分之一次級值、產生鑑認資料以鑑認該次級值並經由該通信埠將該所產生之次級值及該鑑認資料發送至該通信配對體。在另一態樣中,該通信配對體經組態以確保該運算裝置之鄰近。

Description

用於確保通信裝置之鄰近之系統、方法及設備 相關申請案
本申請案主張2013年3月15日申請之美國臨時申請案第61/792,996號、2013年5月10日申請之美國臨時申請案第61/821,994號及2013年5月20日申請之美國臨時申請案第61/825,376號之優先權,其等全部命名為「Systems,Methods and Apparatuses for Ensuring Proximity of Communication Device」,此等申請案之內容係以引用之方式全部併入本文。
本文描述之系統、方法及設備係關於電子裝置之間的資料通信,且特定言之確保通信裝置係在彼此之一預定鄰近內。
此項技術需要判定彼此通信之兩個裝置是否在彼此之一預定鄰近內。此需要可基於確保兩個裝置保持實體鄰近之一要求或基於藉由減小某些類型的惡意攻擊之可能性增強安全性之一要求。關於前者,例如,可能希望確保由一保釋之人穿戴之一電子監控裝置或位於一汽車上之一電子追蹤裝置保持在一監控站或監控終端機之一預定義或預定距離內。
關於後一案例,雖然彼此通信之裝置之實體鄰近可增強通信之安全性,但是仍需要確保裝置實際上鄰近。例如,超短程通信技術 (諸如(例如)近場通信(NFC))可用於在兩個裝置之間建立一安全通信通道之程序。作為一實例,具有超短程通信能力之兩個裝置可彼此靠近以交換用於建立一安全通訊端層(SSL)工作階段之加密金鑰。歸因於此等超短程通信方法之實體約束,據信金鑰交換可僅發生在經定位實體上彼此靠近之裝置之間。然而,各種攻擊仍可造成嚴重的安全威脅。例如,在合法通信配對體可能相距較遠時可藉由使用裝備有信號再傳輸器之假終端機或熱點再傳輸通信信號來執行一中繼轉送攻擊(relay attack)(中間人攻擊之一變體)。
因此,此項技術需要確保一通信鏈路之另一端處之一通信配對體係在一預定義實體鄰近內。
100‧‧‧系統
102‧‧‧合法裝置/有效裝置/裝置
104‧‧‧運算模組
106‧‧‧通信埠
110‧‧‧終端機
112‧‧‧通信埠
114‧‧‧計時器/計數器
116‧‧‧處理器
130‧‧‧通信鏈路/鏈路
200‧‧‧方法/程序
202‧‧‧步驟
204‧‧‧步驟
206‧‧‧步驟
208‧‧‧步驟
209‧‧‧步驟
210‧‧‧步驟
212‧‧‧步驟
214‧‧‧步驟
216‧‧‧步驟
218‧‧‧步驟
252‧‧‧持續時間
254‧‧‧持續時間
256‧‧‧持續時間
260‧‧‧方法
262‧‧‧步驟
264‧‧‧步驟
266‧‧‧步驟
300‧‧‧方法
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
309‧‧‧步驟
310‧‧‧步驟
311‧‧‧步驟
312‧‧‧步驟
314‧‧‧步驟
316‧‧‧步驟
318‧‧‧步驟
330‧‧‧方法
332‧‧‧步驟
334‧‧‧步驟
336‧‧‧步驟
400‧‧‧方法
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408‧‧‧步驟
409‧‧‧步驟
410‧‧‧步驟
411‧‧‧步驟
412‧‧‧步驟
413‧‧‧步驟
414‧‧‧步驟
416‧‧‧步驟
418‧‧‧步驟
422‧‧‧步驟
424‧‧‧步驟
426‧‧‧步驟
430‧‧‧方法
432‧‧‧步驟
434‧‧‧步驟
436‧‧‧步驟
438‧‧‧步驟
440‧‧‧步驟
442‧‧‧步驟
500‧‧‧方法
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
509‧‧‧步驟
511‧‧‧步驟
512‧‧‧步驟
513‧‧‧步驟
514‧‧‧步驟
516‧‧‧步驟
518‧‧‧步驟
520‧‧‧步驟
522‧‧‧步驟
524‧‧‧步驟
526‧‧‧步驟
530‧‧‧方法
532‧‧‧步驟
534‧‧‧步驟
536‧‧‧步驟
538‧‧‧步驟
540‧‧‧步驟
T0‧‧‧時間
T1‧‧‧時間
T2‧‧‧時間
T3‧‧‧時間
T4‧‧‧時間
T5‧‧‧時間
圖1係根據本發明之一例示性系統之一方塊圖。
圖2A係繪示根據本發明之用於確認一通信配對體之一例示性方法之一流程圖。
圖2B係繪示根據本發明之用於確認一通信配對體之一系列事件之一時序圖。
圖2C係繪示根據本發明之用於確認一通信配對體之一例示性方法之一流程圖。
圖3A係繪示根據本發明之用於確認一通信配對體之另一例示性方法之一流程圖。
圖3B係繪示根據本發明之用於確認一通信配對體之另一例示性方法之一流程圖。
圖4A係繪示根據本發明之用於確認一通信配對體之另一例示性方法之一流程圖。
圖4B係繪示根據本發明之用於確認一通信配對體之另一例示性方法之一流程圖。
圖5A係繪示根據本發明之用於確認一通信配對體之另一例示性方法之一流程圖。
圖5B係繪示根據本發明之用於確認一通信配對體之另一例示性方法之一流程圖。
本文結合以下描述及隨附圖式描述根據本發明之系統、設備及方法之某些闡釋性態樣。然而,此等態樣僅指示可採用本發明之原理之各種方式中的幾種方式且本發明旨在包含所有此等態樣及其等等效物。在結合圖式考慮時可從以下詳細描述明白本發明之其他優點及新穎特徵。
在以下詳細描述中,陳述數種特定細節以提供對本發明之一完整理解。在其他例項中,並未詳細展示熟知結構、介面及程序以免不必要地混淆本發明。然而,一般技術者應明白,本文揭示之該等特定細節無需用來實踐本發明且惟申請專利範圍中敘述以外並不表示對本發明之範疇之限制。希望本說明書之任何部分皆不會被解釋成實現對本發明之全範疇之任何部分之一否定。雖然已描述本發明之某些實施例,但是此等實施例同樣不旨在限制本發明之全範疇。
當無限制時,圖1展示根據本發明之一例示性系統100。系統100可包括一裝置102及一終端機110。裝置102可包括一運算模組104及一通信埠106。終端機110可包括一通信埠112、一計時器(或計數器)114及一處理器116。雖然計時器(或計數器)114被示為一單獨組件,但在某些實施例中,計時器114可實施為處理器116之部分(例如,以軟體或硬體形式)或可整合至終端機110之其他組件中。
通信埠106及通信埠112可藉由建立一通信鏈路130而進行通信。鏈路130可為一無線通信鏈路、一有線通信鏈路或二者之一組合。作為一非限制實例,通信埠106及112可為可相容超短程(例如,NFC或 基於電容之收發器)、短程(例如,WiFi或藍芽收發器)或遠程(例如,無線電收發器)通信埠,其等可用以在通信埠106及通信埠112實體上在足以建立一通信鏈路之一距離內時建立一無線通信鏈路130。熟習此項技術者認知,此距離可取決於所利用的特定通信鏈路(例如,NFC、藍芽、WiFi、無線電等等)而改變。作為另一非限制實例,通信埠106及112可為用於有線鏈路(諸如USB連接器、IEEE 1394、RJ-45等等)之通信介面,且鏈路130可為裝置102與終端機110之間之一有線鏈路。
應瞭解,本發明之系統、方法及設備足夠廣泛以可適用於能夠彼此通信(直接或間接地)之任何兩個電子裝置,且其等不限於任何特定通信技術或實施方案。僅出於繪示目的,裝置102可為一行動裝置(諸如一行動電話)或一金鑰卡,且終端機110可為一金鑰卡閱讀器終端機。作為另一實例,裝置102可為位於一汽車上或由一保釋之人攜帶之一追蹤裝置,且終端機110可為一監控站。亦應瞭解,終端機110無需係一靜止裝置,且其亦可以一行動或可攜式外觀尺寸實施。
運算模組104可用於快速計算函數(例如,如本文描述之函數F1、F2A及/或F3)且用於關於確認本文論述之鄰近之其他操作。運算模組104可實施為一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)、一微控制器或在一通用CPU上運行之一程式。在一些實施例中,一基於ASIC之實施方案可具有一優點,此係因為其可能快於其他實施方案且可減少處理時間。
如上文論述,確保兩個裝置係在彼此之一預定義距離或鄰近內(例如,監控一車輛或一人)具有多種優點。然而,確認裝置102鄰近於終端機110之能力亦可用以減小某些類型的惡意攻擊之可能性。在一例示性中繼轉送攻擊案例中,一攻擊者可使用一經特定建構之假裝置(其亦可稱為一攻擊者的裝置)以誤導終端機110與攻擊者的裝置通 信。攻擊者的裝置繼而可在攻擊者之控制下連接至一遠端終端機,即,一攻擊者遠端終端機。攻擊者的裝置可使用適用於攻擊者之任何通信鏈路將其接收自終端機110之資訊傳達至攻擊者遠端終端機。攻擊者遠端終端機繼而可經定位以與一合法裝置102通信。因此,在一攻擊期間,雖然終端機110可似乎係與實體上緊鄰終端機110之一裝置(即,攻擊者的裝置)通信,但是事實上其可與可實體上位於任何任意位置中(例如,相距幾百或幾千千米)之一有效裝置102交換資訊。此外,在合法裝置102與終端機110之間交換之資訊可穿過攻擊者的裝置及攻擊者遠端終端機且可由攻擊者的裝置及攻擊者遠端終端機存取,且因此易於被截獲及誤用。
圖2A繪示可由終端機110實施以確認裝置102之鄰近(例如,判定一裝置102是在終端機110之一預定或預定義實體鄰近之內還是之外)之一例示性方法200。方法200可開始於方塊202,此時終端機110可與裝置102建立一通信鏈路130以在該裝置與該終端機之間傳達資料。建立此一資料連接之細節可取決於用於一特定實施方案之無線或有線(或二者之組合)通信鏈路130之特定類型。此外,可經由通信鏈路130建立一選用邏輯通道(諸如TCP連接、X.25連接、依序封包交換(SPX)連接、高階資料鏈路控制(HDLC)連接、此等連接之任一者上方之SSL/TLS連接或類似連接;在一些實施例中,邏輯通道可由多個TCP連接、X.25連接、依序封包交換(SPX)連接、高階資料鏈路控制(HDLC)連接、SSL/TLS連接、其他類似連接或其等之組合組成)。
在方塊204處,可產生一臨時標誌(nonce)。例如,出於此目的可使用一密碼編譯安全隨機數產生器(以硬體(未展示)實施或以在處理器116上運行之軟體實施)。在方塊206處,可將所產生之臨時標誌作為一請求發送至裝置102且可啟動計時器114以自發送臨時標誌時起計數時間。
在一實施例中,裝置102可接收臨時標誌、對此臨時標誌計算一預定義函數F1並將計算值作為一確認值發送返回至終端機110。圖2C係根據本發明之繪示確認裝置102之一例示性方法260之一流程圖。如圖2C中所示,在方塊262處,裝置102可自一終端機接收一臨時標誌。接著,在方塊264處,可計算一預定義函數F1。在一實施例中,可選擇函數F1使得開始其計算必需臨時標誌之所有位元,且同時獲得所得位元。例如且無限制,函數F1可為一密碼編譯雜湊函數(諸如SHA-0、SHA-1、SHA-2或SHA-256)或一加密函數(諸如進階加密函數(AES)演算法)。如本文論述,為證實其鄰近於終端機110,裝置102可能需要儘可能快地執行此等操作。接著,方法260可進行至方塊266,此時可將計算結果作為確認值及亦作為對請求之一回應自裝置102發送返回至終端機110。
返回參考圖2A中之方法200,在方塊208處,可由終端機110接收一值。該值可為在方塊264處由裝置102產生之確認值。在方塊209處,判定接收該值時之時間且判定或計算發送臨時標誌時與接收該值時之間之一持續時間。在方塊210處,可比較發送臨時標誌與接收確認值之間的持續時間與一預定義或預定時間臨限值Tth。可選擇(或計算)預定義(或預定)時間臨限值Tth作為以下項必需的合理預期時間之和:(i)將臨時標誌自終端機110傳輸至裝置102,(ii)由裝置102計算函數F1之值,及(iii)將計算值傳輸返回至終端機110。
可選擇(或計算)時間臨限值Tth作為適用於根據本發明之一系統、方法及/或設備之特定實施方案之任何有限持續時間。如本文論述,時間臨限值可為微秒(或甚至奈秒)之數量級。當實施根據本發明之一終端機110及/或一裝置102時,可部分考量預期用於終端機與裝置之間之通信鏈路之傳輸速率及該裝置(或該終端機)計算預定函數可能需要的一最少時間以選擇將確保該裝置及該終端機係彼此在一預定實體 鄰近內之一時間臨限值Tth。根據本文論述之實例應明白,一適當預定或預定義鄰近的構成取決於其中利用本發明之系統、方法及設備之特定實施方案。例如,在監控一車輛或一保釋之人的背景下,幾十或幾百(或甚至幾千)千米之數量級之距離可能係適當的。然而,在於一金鑰閱讀器處使用一金鑰卡時防止一中繼轉送攻擊的背景下,一米或更小之數量級之距離可能係更適當的。然而,此等實例不旨在縮小本發明之範疇且可基於本文作出的特定實施方案及設計選擇來選擇任何預定或預定義鄰近距離。
在一例示性實施方案中,可使用預定時間臨限值Tth以確認裝置102係在終端機110之一預定或預定義實體鄰近內(或外部)。終端機110與裝置102之間之最大可能距離可被計算為(C * Tth)/2,其中C係光速。例如,若時間臨限值Tth係100微秒(μs)或更小,則兩個通信裝置之間之最大距離可為大約(300,000km/s * 100μs)/2=15km。此一時間臨限值可適用於(例如)監控一保釋之人或監控一汽車之背景中以確保他或其保持在終端機110之一預定義實體鄰近內(在此背景及實例中,在終端機之15km內)。
設定一適當時間臨限值Tth亦可顯著減小或消除如上文描述之一中間人攻擊或其變體之可能性。例如,若時間臨限值Tth係1微秒(μs)或更小,則兩個通信方之間之最大距離可為大約(300,000km/s * 1μs)/2=150米,此有效地排除使用一假裝置將資訊再傳輸至經定位與終端機110相距150米以上的裝置102之攻擊者。
在另一實例中,將時間臨限值Tth設定為10ns之數量級之一持續時間將最大可能攻擊半徑減小至大約1.5米(即,(300,000km/s * 10ns)/2=1.5m)。在許多情況下,此一時間臨限值可使所有實務上可能的中繼轉送攻擊無用。此外,實際情況係,終端機110與裝置102之間之最大可能距離可甚至更小,此係因為執行預定義函數F1將需要消耗一 定量的時間(且攻擊者裝置及終端機可能引入額外延遲)。例如,若Tth係10ns之數量級且已知在任何合理可用實施方案中函數F1的計算不能快於4ns,則最大可能半徑可被評估為(300,000km/s * (10ns-4ns))/2=0.9m,此係因為僅6ns(即,10ns-4ns)保持可用於自終端機110至裝置102及返回之資料傳輸。因此,可大幅減小或消除使用一攻擊者的裝置及一攻擊者遠端終端機實施一中間人攻擊之可能性。
應瞭解,確保或確認兩個裝置係在一預定鄰近內及減小或消除中繼轉送攻擊之風險可為本發明之系統、方法及設備之互補應用。例如,本發明可適用於不僅確保一受監控車輛係在一監控站之一預定鄰近內,而且確保惡意或未授權中繼轉送技術不被用於在受控車輛實際上不在預定義鄰近內時誤導監控站相信受監控車輛係在預定義鄰近內。
在其中預定義函數F1滿足上文陳述之特性(僅在引數之所有位元可用之後同時計算結果之所有位元)之實施例中,可將發送臨時標誌與接收確認值之間之持續時間量測為發送臨時標誌之最後一個位元與接收確認值之第一位元之間之一時間。圖2B更詳細解釋此途徑。如圖2B中所示,在一時間T0處,可由終端機110發送臨時標誌之第一位元,且在一時間T1處,可能已發送臨時標誌之最後一個位元(且因此所有位元)。持續時間252因此係自發送第一位元至發送最後一個位元經過的時間。接著,在一時間T2處,可由裝置102接收所有位元且可啟動函數F1。在一時間T3處,可結束F1的計算。因此,完成函數F1可消耗一持續時間254。又,在時間T3處,可由裝置102將第一結果位元發送返回至終端機110。在一時間T4處可由終端機110接收第一結果位元,且在時間T5處可接收最後一個結果位元,且持續時間256因此係自接收第一結果位元至接收最後一個結果位元經過的時間。本文論述之時間及持續時間可能係相對時間且無需對應於現實世界時間。
持續時間252及256可取決於通信鏈路130之本質,且特定言之可取決於可由通信鏈路達成之傳輸速率。例如,若鏈路130係基於近場通信(NFC),則傳輸速率可自106kbit/s變化至424kbit/s。若傳輸速率係424kbit/s,則傳輸一單個位元可消耗1/424000秒=2.4μs,且對於128個位元之一臨時標誌,傳輸臨時標誌之所有位元可消耗大約300μs。在此實例中,若量測自發送臨時標誌之第一位元(時間T0處)直至接收結果之最後一個位元(時間T5處)之時間,則Tth可能不小於600μs(300μs用於傳輸臨時標誌之所有位元,300μs用於傳輸結果之所有位元,加上計算函數F1需要的任何時間)。然而,600μs之一Tth僅可確保裝置102位於(300,000km/s * 600μs)/2=90km之距離內。然而,若量測自發送臨時標誌之最後一個位元(時間T1處)直至接收結果之第一位元(時間T4處)之時間,則可以一低得多的持續時間設定時間臨限值。例如,若估計計算F1需要1.2μs,則Tth可低至6μs。應注意,在多個情況下,尤其在使用一ASIC或某種其他形式的硬體加速的情況下,可在1μs或更短時間中計算函數F1。小於6μs之此Tth值可確保裝置102可位於(300,000km/s * 6μs)/2=0.9km之一距離內,該距離比第一情況中之距離小100倍。應注意,可藉由增加通信鏈路130之資料傳輸速率(及/或頻率)達成較小或較短預定義鄰近。
返回參考圖2之方法200,若成功通過方塊210處之時間檢查,則在方塊212處可比較接收值與一預期值。例如,終端機110可比較所接收之確認值與由終端機110本身計算之預定義函數F1之一值。若通過方塊210及212處之兩次檢查,在方塊216處方法200可判定已通過鄰近確認且裝置102係在終端機110之一預定義鄰近內。若方塊210處之時間檢查或方塊212處之值檢查失敗,則方法200可在方塊218處判定鄰近確認失敗。例如,若方塊210處之時間檢查或方塊212處之值檢查失敗,則終端機110可判定存在通信鏈路130或經由通信鏈路130建立之 邏輯通道已被損壞或裝置102可能為一假裝置的可能性。
在一或多個實施例中,為處置偶然通信錯誤,方法200可如方塊214(其可選用)指示般嘗試重複方塊204至212。在一些實施例中,可限制再傳輸嘗試的次數(例如,限制在如3次或5次之一數字)。
在一些實施例中,可由裝置102起始相同程序200以確保終端機110緊鄰。在某些實施例中,可由雙方執行相同程序200(同時另一通信方執行方法260)以進行相互鄰近確認。
應注意,若攻擊者已知函數F1,則藉由在一假裝置內執行函數F1(且因此完全繞開裝置102)且藉此避免通信延遲並規避系統,圖2上所示之方法200仍可能遭遇一攻擊。為解決此類型的攻擊,根據本發明之一例示性實施例之一設備(例如,一裝置102或終端機110)可儲存設備特定加密金鑰(在一些實施例中,其等可額外地由一受信賴第三方證實)。此等設備之實例可包含以下設備:包含軟體(作業系統或軟體應用程式)或硬體(非揮發性記憶體或電路)中之設備特定私密金鑰之任何設備;具有一積體可信賴平台模組(TPM)之設備;及具有諸如命名為「Secure Zone for Digital Communications」且於2012年4月13日申請之美國臨時專利申請案第61/623,861號(該案之全部內容係以引用之方式併入本文)中描述之一安全區之電子設備。
若裝置102儲存設備特定加密金鑰,則裝置102及終端機110可實施方法200之一擴展。擴展方法可使用加密/解密以進行確認以確保具有一特定私密金鑰(例如,對應於一經證實公用金鑰)之裝置102經定位緊鄰於終端機110。此可藉由(例如)根據本發明之圖3中所示之一例示性方法300達成。
方法300可為方法200之一擴展版本且可實施於裝置102儲存或包含一設備特定加密金鑰且終端機110能夠確認裝置102之設備特定加密金鑰時。例如,終端機110可具有裝置102之對應於儲存於裝置102處 之一私密金鑰之一公用金鑰。例如,此公用金鑰可被硬編碼至終端機110中或可獲自另一方。若公用金鑰係獲自另一方,則公用金鑰可能伴隨有由一受信賴第三方簽名之一憑證。
在方塊302處,可在終端機110與裝置102之間建立一通信鏈路(例如,鏈路130及鏈路130上方之選用邏輯通道),例如類似於圖2中所示之方法200之方塊202中建立之通信鏈路。在方塊304處,可以(例如)類似於圖2中所示之方法200之方塊204之一方式產生一臨時標誌。在方塊306處,可將所產生之臨時標誌作為一請求發送至裝置102且終端機110可自發送臨時標誌時起開始計數時間。在一非限制實施例中,可在發送臨時標誌之最後一個位元時開始計數時間。
裝置102可實施圖3B上所示之一例示性方法330以處理臨時標誌。在方塊332處,裝置102可接收臨時標誌。接著在方塊334處,裝置102可使用可稱為F2A之一預定義函數計算一確認值。函數F2A可使用裝置102之私密金鑰及所接收之臨時標誌二者以計算確認值。在一些實施例中,類似於函數F1,可選擇函數F2A使得開始計算必需臨時標誌之所有位元且同時獲得所得位元。例如,在一非限制實施例中,函數F2A可為使用裝置102之私密金鑰對臨時標誌之一加密。接著,方法330可進行至方塊336,此時可將確認值作為一回應發送返回至終端機110。
返回參考圖3A,在將臨時標誌發送至裝置102之後,例示性方法300可自方塊306進行至方塊308,此時可由終端機110接收一值。如上文關於圖3B描述,接收值可為由裝置102使用預定義函數F2A產生之確認值。在方塊309處,判定接收該值時之時間且判定或計算發送臨時標誌時與接收該值時之間之一持續時間。
在方塊310處,比較發送臨時標誌與接收確認值之間的持續時間與一預定義時間臨限值Tth(先前已關於方塊210論述時間臨限值Tth)。 若發送臨時標誌與接收確認值之間的時間超過預定義時間臨限值,則此可指示該計算係由位於大於預期(或允許)距離之一距離處之一裝置執行且方法可進行至方塊318(或視情況進行至方塊314)。
若發送臨時標誌與接收確認值之間的時間係在預定義時間臨限值內,則方法300進行至方塊311,此時可處理所接收之確認值。可由終端機110使用專用於由裝置102使用之函數F2A之程序執行該處理。
在一實施例中,若函數F2A使用裝置102之私密金鑰加密臨時標誌(如上文關於方塊334描述),則可使用一函數(可稱為F2B)進行該處理,該函數使用裝置102之公用金鑰解密接收值。函數F2B可解密接收值以恢復臨時標誌。例如,在一些實施例中,終端機110可獲得裝置102之一公用金鑰且確保由一受信賴第三方(例如,一憑證授權機構)適當地證實公用金鑰。此證實可意謂此公用金鑰對應於屬於一受信賴裝置之一特定私密金鑰。因此,基於公用金鑰之證實及受信賴裝置不會將其私密金鑰曝露於任何第三方之假定,可假定實際上已在受信賴裝置處且並非其他某處進行函數F2A之計算。
應注意,可在接收確認值之前或之後之任何時間獲得裝置之公用金鑰,前提係在開始方塊311之處理之前接收到該公用金鑰。例如,公用金鑰可在其在終端機110與一受信賴第三方之間之一先前通信工作階段期間被接收之後儲存在終端機110之一揮發性或非揮發性儲存裝置中,或可由終端機110之廠商安裝在終端機110上。
在方塊312處,可比較解密值與發送至裝置102之臨時標誌。若其等相同,則在方塊316處方法300可判定鄰近確認已通過。在方塊316處通過鄰近確認可被解譯成「對應於用於方塊311之公用金鑰之私密金鑰之擁有者係在方塊302中建立之邏輯通道之另一端上且係在由Tth判定之鄰近內」。在一些實施例中,若該兩個通信方之間透過一受保護邏輯通道(諸如通信鏈路上方之SSL/TLS連接)進行通信,則程序 300可提供有力的鄰近及鑑認保證。
若方塊310處之時間檢查或方塊312處之驗證判定失敗,則方法300可進行至方塊318,此時方法300可判定鄰近確認失敗。例如,若方塊310處之時間檢查或方塊312處之驗證判定失敗,則終端機110可判定存在通信鏈路130或經由通信鏈路130建立之邏輯通道已被損壞或裝置102可能為一假裝置的可能性。
在一或多個實施例中,為處置偶然通信錯誤,方法300可如方塊314(其可選用)指示般嘗試重複方塊304至312。在一些實施例中,可限制再傳輸嘗試的次數(例如,限制在如3次或5次之一數字)。
因為消耗在函數F2A之計算之時間量可影響Tth之值,所以一些實施例可使用一函數F3,函數F3的計算可快於使用一私密金鑰進行之不對稱加密。應注意,使用不對稱密碼編譯加密及解密臨時標誌皆可消耗幾十毫秒之數量級之時間,此可導致幾千千米之最大半徑。因此,在一些實施例中,可實施具有一更快計算速度之一預定義函數F3。例如,可使用利用兩個參數之一預定義函數F3使得一參數可為臨時標誌且另一者可為一參數V,其可由裝置102(在一些實施例中,隨機)產生。
在一實施例中,函數F3可為使用參數V作為加密金鑰以進行對臨時標誌之一對稱加密之一對稱加密函數。例如,對稱加密可經實施以在100奈秒內完成,此可能比相同臨時標誌之不對稱加密小若干個數量級。在另一實施例中,函數F3可為計算臨時標誌及參數V之一級聯之一雜湊值。應瞭解,此等實施例僅僅係例示性的且本發明之範疇足夠廣泛以涵蓋任何適當的當前已知或未來開發的函數F3。
圖4A係其中具有一參數V之一例示性函數F3可用於一例示性方法400之一實施例之一流程圖。在此實施例中,在方塊402處,終端機110可與裝置102建立通信。在方塊404處,終端機110可產生一臨時標誌;且在方塊406處,終端機110可將臨時標誌作為一請求傳輸至裝置 且開始計數時間。方塊402至406可類似於先前論述之方塊302至306。
裝置102可實施圖4B中所示且對應於例示性方法400之一例示性方法430。在方塊432處,裝置102可接收臨時標誌;在方塊434處,裝置102可產生一值V。在一實施例中,值V(其亦可稱為參數V)可使用一隨機數產生器(未展示)產生且可為不能在裝置102外部預測及/或計算之一隨機數。在一些實施例中,為加速方塊434內之處理,可預產生值V(前提係值V先前未在裝置102外部揭示)。在方塊436處,裝置102可藉由使用臨時標誌及值V二者計算一預定義函數F3來計算一確認值。例如,函數F3可由使用參數V作為加密金鑰對稱地加密臨時標誌組成。在方塊438處,可將確認值作為對請求之一回應發送至終端機110。
返回參考圖4A上之例示性方法400,在方塊408處,終端機110可自裝置102接收確認值,且在方塊409處可判定自發送臨時標誌直至接收確認值經過的時間。在方塊410處,可比較經過的時間與一預定義時間臨限值Tth。若在預定義時間臨限值Tth內未接收到確認值,則在方塊410處方法400可進行至方塊418(或視情況進行至方塊414)。
與此同時,圖4B之例示性方法430可自方塊438進行至方塊440,此時裝置102可使用其私密金鑰對方塊432處接收之臨時標誌之值及參數V(即,上述實例中之對稱加密金鑰)進行簽名(或加密)。在另一實施例中,裝置可使用其私密金鑰對參數V及確認值進行簽名(或加密)。在執行方塊440之計算或操作之後獲得之結果可稱為一次級值。在方塊442處,裝置102可將次級值發送至終端機110。
應注意,雖然方塊440內之操作可消耗相當多的時間量(例如,0.01秒至0.1秒之數量級),但是其不影響Tth(Tth可僅受限於方塊434之速度),因此1μs之數量級之Tth值(且甚至更低,取決於通信鏈路)可用於類似於圖4A及圖4B中所示之實施例中。
返回參考圖4A中之例示性方法400,若在方塊410處判定在預定義時間臨限值Tth內接收到確認值,則方法400可進行至方塊411,此時終端機110可接收次級值。接著在方塊412處,終端機110可藉由執行方塊422、424及426中所示之例示性程序處理確認值及次級值。例如,在方塊422處,使用裝置102之公用金鑰,終端機110可確認所接收之次級值之簽名(或解密所接收之次級值)。在方塊424處,可比較發送至裝置102之臨時標誌之值與作為次級值之部分自裝置102接收之臨時標誌之值。在方塊426處,終端機110可使用作為次級值之部分接收之臨時標誌及參數V(在此實例中用作一對稱金鑰)計算函數F3之值,且判定計算值是否與接收自裝置102之確認值相同。
若方塊426處之計算結果與接收自裝置102之確認值相同,則在方塊412處判定驗證成功且方法400可進行至方塊416,此時方法300可判定已鄰近確認(在方法400之情況下,「鄰近確認已通過」之語義可與方法300之語義相同)通過。若方塊410處之時間檢查或方塊413處之驗證判定失敗,則方法400可進行至方塊418,此時方法400可判定鄰近確認已失敗。若方塊422至426處執行之檢查之任一者失敗,則在方塊413處驗證將被視為失敗且方法進行至方塊418(或視情況進行至方塊414)。
在方法400及430之一替代性實施例中,確認值可僅由參數V(如關於方法430描述,其可由裝置102產生)組成且次級值可由使用裝置102之私密金鑰簽名之臨時標誌及確認值(即,參數V)組成。仍可比將較臨時標誌自終端機傳輸至裝置時與終端機接收確認值時之間的持續時間與一預定時間臨限值Tth,同時認知鑑於以下事實可能需要調整Tth:裝置102在將確認值發送至終端機之前無需對臨時標誌執行一函數(例如,函數F、F2A或F3)。在此一替代性實施例中,方塊412處之處理可由確認所接收之次級值之簽名、判定次級值中包含之臨時標誌 與由終端機發送至裝置之臨時標誌相同及判定次級值中包含之參數V與確認值中包含之參數V相同組成。
圖5A係由根據其中可不需要任何預定義函數之實施例之終端機110實施之另一例示性方法500之一流程圖。圖5B係由裝置102實施且對應於方法500之一例示性方法530之一流程圖。
如圖5A中所示,在方塊502處,終端機110可與裝置102建立通信。在方塊504處,終端機110可產生一臨時標誌,且在方塊506處,終端機110可將所產生之臨時標誌發送至裝置102且開始計數時間。
關於圖5B,裝置102可在方法530之方塊532處接收臨時標誌。在方塊534處,裝置102可產生一確認值V。此值可為一隨機數或不能在裝置102外部預測及/或計算之任何其他值。在一些實施例中,為加速方塊534內之處理,可預產生確認值V,前提係在方塊536之前先前未在裝置102外部揭示確認值V。例如,可(但無須)在裝置102與終端機110之間建立任何通信或接收到臨時標誌之前執行確認值V之產生。又,為避免一些種類的重播攻擊,不再用確認值V可能係有利的;即,針對每次請求產生一新的確認值V。
在方塊536處,裝置102可將確認值V發送至終端機110。在方塊538處,裝置102可計算一次級值。在一例示性實施例中,可由裝置102判定或計算一時間週期Td。時間週期Td可表示自接收到臨時標誌直至發送確認值V之持續時間(例如,以奈秒表達)。例如,在一實施例中,Td可表示自當接收到臨時標誌之最後一個位元直至當發送確認值V之第一位元之持續時間。在此等實施例中,可藉由使用裝置102之一私密金鑰對接收於方塊532處之臨時標誌、產生於方塊534處之確認值V及時間週期Td進行簽名產生次級值。
在方塊540處,可將所產生之次級值發送至終端機110。
返回參考圖5A之方法500,在方塊508處,終端機110可接收由裝 置102發送之確認值V且在方塊509處判定自在方塊506發送臨時標誌以來經過的時間Tpassed
在方塊511處,終端機110可接收次級值。如上文描述,次級值可包含臨時標誌、確認值V及時間週期Td之簽名值。在方塊512處,可確認次級值中之接收值。例如,在方塊522處,使用裝置102之公用金鑰,可確認接收於方塊511處之值之下之簽名;在方塊524處,可比較接收於方塊511處之臨時標誌與產生於方塊504處之臨時標誌;且在方塊526處,可比較接收於方塊511處之確認值V與接收於方塊508處之確認值V。接著方法500可進行至方塊513,此時可判定確認是否成功。例如,若通過方塊522至526處之所有檢查,則可將確認視為成功且該方法可進行至方塊516。若方塊522至526處之檢查之一者失敗,則可將確認視為失敗,且該方法可進行至方塊518(或視情況進行至方塊514)。
在方塊516處,可計算Tpassed(步驟509處量測之自發送臨時標誌至接收確認值V之持續時間)與持續時間Td(例如在方塊511處作為次級值之一部分接收)之間之一差值△T。若在方塊520處,發現此差值△T小於一預定義時間臨限值Tth,則在方塊522處可將鄰近確認視為成功通過。若在方塊520處,發現此差值△T大於一預定義時間臨限值Tth,則在可將鄰近確認視為失敗,且該方法可進行至方塊518(或視情況進行至方塊514)。
應注意,當使用次級值之簽名時,可藉由憑藉裝置102之私密金鑰加密次級值之整體或一部分實施簽名;在此情況下,可使用對應於裝置102之私密金鑰之一公用金鑰將簽名確認實施為解密。
在一些實施例中,除使用一數位簽名識別裝置102以外或作為對使用一數位簽名識別裝置102的替代,可使用涉及裝置102之秘密金鑰之任何種類的訊息鑑認碼(MAC)。
在一些實施例中,可將諸如當前時間及日期之其他參數添加至由裝置102計算或產生之確認值及/或次級值。此等額外參數可用以增強驗證程序。例如,終端機110可檢查確認值中包含之時間及日期是否對應於次級值中包含之時間及日期(例如,正/負一天以內)。若此等檢查失敗,則此可用作封裝不一致之一指示且最終可造成判定鄰近確認失敗。
在經由鏈路130實施一加密通道(諸如SSL、TLS或安全外殼(SSH))之實施例中,經由此加密通道將臨時標誌自終端機110發送至裝置102且接著簡單地回覆可為充分的。可量測自發送含有臨時標誌之訊息時至接收到回覆時之持續時間。應注意,當臨時標誌離開加密通道時在裝置102處解密該臨時標誌及當臨時標誌在返回途中進入加密通道時加密該臨時標誌所需時間可影響Tth之值(上述提及之解密及加密二者皆作為標準SSL或TLS通信之部分而執行)。在此等實施例中,若成功通過鄰近確認,則可假定與在預定義鄰近內之一裝置102建立加密通道。另一方面,若鄰近確認失敗,則可指示裝置102並非如預期一樣在預定義鄰近內。若鄰近確認失敗,則在一些實施例中,出於安全原因可終止經由加密通道進行之通信。
在使用方法300、400或500進行鄰近確認之其他實施例中(其中在鄰近確認時未使用一加密通道),若成功通過鄰近確認,則可使用公用/私密金鑰對以隨後建立一安全通道(例如,一加密通道)及/或對經由通信鏈路130(或經由通信鏈路130上方之邏輯通道)發送之訊息進行簽名。在此等實施例中,可假定與在鄰近確認時在預定鄰近內之一裝置102建立安全通道及/或由該裝置102發送訊息(自該裝置102接收訊息)。
在一些實施例中,可使用基於組合方法400與報告由裝置102消耗在訊息處理方面(如上所述)之時間Td之一方法。例如,在此等實施 例之一者中,終端機110可以發送請求並接收回應(例如,在終端機110上運行之一程序或軟體應用程式內)之軟體對Tth執行量測。可在裝置102處由接收請求並發送返回回應之軟體(例如,由在裝置102上運行之一程序或一軟體應用程式)量測時間Td。在此等實施例之一些中,可將Tth替代地計算為(例如)Tth=Td+Tterm+Tdev,其中Td可接收自裝置102(例如,在應用程式級計算為以軟體接收一請求與發送一回應之間之時間),Tterm可表示終端機110處之典型(或最大)時間延遲,且TdeV可表示裝置102處之典型(或最大)未考量時間延遲(時間間隔Td以外)。在一些實施例中,Tdev可取決於裝置102之類型。例如,對於裝置102之已知類型之各者,終端機110可具有(或存取)儲存Tdev之一資料庫(DBT,未展示)。裝置102之類型可由(例如)裝置102之一公用金鑰導出。在一非限制實例中,終端機110可搜尋公用金鑰之一資料庫(DBK,未展示)且基於裝置102之公用金鑰定位裝置102之類型。替代地,裝置102可將其類型(例如)作為次級值中之一額外欄發送至終端機110,其可由裝置102之私密金鑰簽名。在一些實施例中,終端機110可將一請求發送至一伺服器(未展示)以獲得必需資訊,而非使用資料庫DBT及/或DBK。
在一非限制例示性實施例中,終端機110可為一POS終端機,且裝置102可為一支付裝置,諸如一無接觸式智慧卡或一NFC啟用電話。終端機110可將常見的智慧卡應用程式協定資料單元(APDU)請求/回應發送至裝置102且自裝置102接收常見的智慧卡應用程式協定資料單元(APDU)請求/回應。常見的請求/回應之至少一些可包含由裝置102產生之一數位簽名或MAC。在此等常見的APDU請求/回應之一或多者之後可添加一特殊APDU請求/回應。此特殊APDU請求/回應中之回應可包含一先前常見的APDU請求/回應的時間Td。在一些實施例中,可對時間Td簽名且時間Td可具有由裝置102產生之一相關聯之 MAC。此外,在一些實施例中,可使用先前常見的APDU請求之一獨有識別符產生簽名或相關聯之MAC。
在一些實施例中,簽名/MAC計算中可能必須包含先前常見的請求之獨有識別符以避免重播攻擊,在重播攻擊中一攻擊者可試圖將先前記錄之特殊APDU用於與一不同APDU請求/回應相關聯之一Td。應瞭解,在此等實施例中,所有請求可能係獨有的。為達成此,除其他資料以外,各APDU請求可(例如)具有一臨時標誌作為其欄之一者。獨有識別符可為(例如)請求之一雜湊值或該臨時標誌。
時間Td可以多種方式包含在APDU回應中。例如,在一些情況下,用於一先前APDU之Td可包含在一特殊APDU請求/回應之一後續回應中。替代地,可擴展一常見的APDU請求/回應以含有先前APDU請求/回應對之Td。在另一替代中,一APDU回應可包含用於其自身之一定時估計作為由裝置102進行之一上界估計,且裝置102可在發送APDU回應之前等待直至所估計的時間過去(應用程式級)。
在一些實施例中,終端機110可將Tth設定在(例如)Td+10ms與Td+50ms之間,其中再傳輸嘗試次數(類似於方塊214、314、414及514之再傳輸嘗試次數)限於自3至5之一數字。在任何情況下,類似於上述方法200、300、400及500,若超過Tth,則終端機110可拒絕支付。
在又另一實施例中,基於上文描述之方法500,可使用兩個特殊APDU請求/回應對。在第一特殊APDU請求/回應對之請求中,終端機110可發送一臨時標誌,且在第一特殊APDU請求/回應對之回應中,裝置102可發送一確認值。裝置102可量測消耗在準備此回應上之時間Td且將經量測Td包含在第二特殊APDU請求/回應對之回應中。在此實施例中,無需修改常見的APDU(諸如添加臨時標誌)。
在一又另一非限制例示性實施例中,終端機110可為一POS終端 機,且裝置102可為一支付裝置,諸如一無接觸式智慧卡或一NFC啟用電話。為執行鄰近確認,可如下使用類似於上文描述之方法300之一方法。終端機110可發送並接收常見的智慧卡APDU請求/回應,從而取決於APDU請求之本質將Tth設定為(例如)一固定數字。可根據可包含由裝置102產生之某種簽名(或MAC)之APDU命令設定Tth。在一些實施例中,對於需要計算一簽名或MAC之一APDU請求,可將Tth預設定為(例如)介於100ms與300ms之間之一值。在一些實施例中,裝置102在發送此等APDU回應之前可等待一預定義時間(例如,Tth-50ms至Tth-10ms)。裝置102等待一預定義時間可確保所有請求之處理消耗大概相同的時間,而不論裝置102之計算能力如何。在此等實施例中,若終端機110在預定義時間之前接收回應,則其可指示裝置102未如預期般等待,且因此可能被損壞,且因此終端機110可拒絕進一步通信。
在又另一實施例中,Tth可為裝置102之裝置類型之一函數。終端機10可(例如)藉由自裝置102接收裝置102之類型或在基於裝置102之共用金鑰之某個外部資料庫中查找類型資訊來如上文描述般判定裝置102之類型。基於裝置類型,例如,對於執行地較快之裝置可將Tth設定為較低值,對於執行地較慢之裝置可將Tth設定為較高值。在一些其他實施例中,Tth可為裝置102之類型及命令之本質二者之一函數。此外,作為一額外保護措施,若對於此一裝置及/或命令終端機110比所期望更快地接收回應,則裝置102或通信通道可被視為被損壞,且終端機110可終止通信。
熟習此項技術者應瞭解,方法300或方法400亦可由裝置102起始以確保終端機110緊鄰。在某些實施例中,相同的方法300及330(或方法400及430)可由一通信鏈路之雙方執行以進行相互鄰近確認。
在一些情況下,例如出於隱私原因,可為較佳的是,僅在確認 一通信配對體之鄰近及憑證之後向該通信配對體提供認證憑證。例如,在一實施例中,終端機110可為一門鎖且裝置102可為一金鑰卡。在此實施例中,可能重要的是,不向每個終端機但僅向一期望門鎖透露金鑰卡之一公用金鑰。為解決此問題,當終端機110與裝置102之間建立通信時,裝置102可首先確認終端機110係在一預定義鄰近內且具有對應於已知屬於此終端機之一公用金鑰之一私密金鑰。例如,金鑰卡可自一受信賴第三方獲得公用金鑰並使用上文描述之方法300或400之一者執行此確認。若成功通過此確認,則裝置102可分別用以(如方法330或430之一者中描述)將其鄰近提供給終端機110。
在一些實施例中,根據本發明之裝置或終端機可具有用於計算函數F1、F2A及/或F3之硬體加速器。例如且無限制,函數F1、F2A及/或F3可實施於一或多個ASIC中使得其等執行時間(例如,分別或組合)可小於當使用現代通用CPU時將需要的執行時間。此可減小一攻擊者可使用一通用CPU足夠快地執行此等計算之可能性。進一步言之,此可在以下情境中尤其有用:實施函數F1、F2A及/或F3之ASIC係一專用裝置使得控制或監控其製造、分發及/或使用以消除(或至少大幅減小)一攻擊者可接觸到此一運算ASIC之可能性。
在一些實施例中,如上文描述,根據本發明之鄰近確認程序可使用基於連接之通信。在一些其他實施例中,上文描述之鄰近確認程序亦可應用於基於訊息(無連接式)通信。
雖然已繪示且描述本發明之特定實施例及應用,但是應瞭解本發明不限於本文揭示之精確組態及組件。本文使用之術語、描述及圖式係僅藉由繪示加以陳述且並不意謂限制。在不脫離本發明之精神及範疇之情況下,可對本文揭示之本發明之設備、方法及系統之配置、操作及細節作出熟習此項技術者應明白之各種修改、改變及變動。藉由非限制實例,應瞭解本文包含之方塊圖旨在展示各設備及系統之組 件之一選定子集且各經描繪之設備及系統可包含圖式上未展示之其他組件。此外,一般技術者應認知,在不減損本文描述之實施例之範疇或效能之情況下,可省略或重新排序本文描述之某些步驟及功能性。
結合本文揭示之實施例描述之各種闡釋性邏輯區塊、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或其二者之組合。為繪示硬體與軟體之此可互換性,各種闡釋性組件、區塊、模組、電路及步驟已在上文就其等功能性大體上加以描述。此功能性是實施為硬體還是軟體取決於特定應用及強加於整體系統之設計約束。對於各特定應用可以各種方式實施所描述之功能性一諸如藉由使用微處理器、微控制器、場可程式化閘陣列(FPGA)、特定應用積體電路(ASIC)及/或一系統單晶片(SoC)之任何組合一但是此等實施決定不應被解釋為導致脫離本發明之範疇。
結合本文揭示之實施例描述之一方法或演算法之步驟可直接以硬體、以由一處理器執行之一軟體模組或以二者之一組合體現。一軟體模組可駐留在RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、一可抽換磁碟、一CD-ROM、一DVD或此項技術中已知之任何其他形式的儲存媒體中。
本文揭示之方法包括用於達成所描述之方法之一或多個步驟或動作。在不脫離本發明之範疇之情況下,該等方法步驟及/或動作可彼此互換。換言之,除非實施例之適當操作需要步驟或動作之一特定順序,否則在不脫離本發明之範疇之情況下可修改特定步驟及/或動作之順序及/或使用。
100‧‧‧系統
102‧‧‧合法裝置/有效裝置/裝置
104‧‧‧運算模組
106‧‧‧通信埠
110‧‧‧終端機
112‧‧‧通信埠
114‧‧‧計時器/計數器
116‧‧‧處理器
130‧‧‧通信鏈路/鏈路

Claims (48)

  1. 一種用於確保其鄰近於一通信配對體之運算裝置,其包括:一通信埠;及一處理器,其經組態以:經由該通信埠自該通信配對體接收一請求;將對該請求之一回應發送至該通信配對體;產生包含該請求之一選定部分及該回應之一選定部分之一次級值;產生鑑認資料以鑑認該次級值;及經由該通信埠將該所產生之次級值及該鑑認資料發送至該通信配對體。
  2. 如請求項1之運算裝置,其中該鑑認資料係使用該電腦裝置之一私密金鑰產生之該次級值之一簽名。
  3. 如請求項1之運算裝置,其中該鑑認資料係使用該運算裝置之一秘密金鑰產生之一訊息鑑認碼(MAC)。
  4. 如請求項1之運算裝置,其中發送該回應並產生該次級值包括:產生一參數V;基於該參數V計算該回應;及產生該次級值作為對包含該請求之該選定部分及該參數V之一資料區塊之一加密。
  5. 如請求項4之運算裝置,其中使用該參數V及該請求之該選定部分作為輸入將該回應計算為一預定義函數之一計算結果。
  6. 如請求項1之運算裝置,其中該回應包含在接收該請求之前預產生之一隨機數。
  7. 如請求項6之運算裝置,其中先前並未在該運算裝置外部揭示該 隨機數。
  8. 如請求項1之運算裝置,其中發送該回應並產生該次級值包括:計算一時間週期Td,其表示自在該運算裝置處接收到該請求至自該運算裝置發送該回應之一時間週期;及將該次級值計算作為對包含該請求之該選定部分、該回應之該選定部分及時間週期Td之一資料區塊之一加密。
  9. 如請求項1之運算裝置,其中該回應係一預定義密碼編譯函數之一計算結果。
  10. 如請求項1之運算裝置,其中該處理器經組態以自該通信配對體接收智慧卡應用程式協定資料單元(APDU)請求並將APDU回應發送至該通信配對體。
  11. 如請求項10之運算裝置,其中一後續APDU回應含有一時間週期Td,其表示自在該運算裝置處接收到一先前APDU請求至自該運算裝置發送一先前APDU回應之一時間週期。
  12. 如請求項11之運算裝置,其中該先前APDU回應含有一簽名或訊息鑑認碼(MAC)作為該鑑認資料。
  13. 如請求項12之運算裝置,其中使用該先前APDU請求之一獨有識別符產生該簽名或MAC。
  14. 一種用於確保一通信配對體鄰近於一運算裝置之方法,其包括:經由該運算裝置之一通信埠自該通信配對體接收一請求;將對該請求之一回應發送至該通信配對體;在該運算裝置處產生包含該請求之一選定部分及該回應之一選定部分之一次級值;產生鑑認資料以鑑認該次級值;及經由該通信埠將該所產生之次級值及該鑑認資料發送至該通 信配對體。
  15. 如請求項14之方法,其中該鑑認資料係使用該電腦裝置之一私密金鑰產生之該次級值之一簽名。
  16. 如請求項14之方法,其中該鑑認資料係使用該運算裝置之一秘密金鑰產生之一訊息鑑認碼(MAC)。
  17. 如請求項14之方法,其中將該回應發送至該通信配對體並產生該次級值包括:產生一參數V;基於該參數V計算該回應;及產生該次級值作為包含該請求之該選定部分及該參數V之一資料區塊之一加密。
  18. 如請求項16之方法,其中使用該參數V及該請求之該選定部分作為輸入將該回應計算為一預定義函數之一計算結果。
  19. 如請求項13之方法,其中該回應包含在接收該請求之前預產生之一隨機數。
  20. 如請求項18之方法,其中先前並未在該運算裝置外部揭示該參數V。
  21. 如請求項14之方法,其中發送該回應並產生該次級值包括:計算一時間週期Td,其表示自在該運算裝置處接收到該請求至自該運算裝置發送該回應之一時間週期;及將該次級值計算作為對該請求之該選定部分、該回應之該選定部分及時間週期Td之一加密。
  22. 如請求項14之方法,其中該回應係一預定義密碼編譯函數之一計算結果。
  23. 如請求項14之方法,其進一步包括自該通信配對體接收智慧卡應用程式協定資料單元(APDU)請求並將APDU回應發送至該通信 配對體。
  24. 如請求項22之方法,其中一後續APDU回應含有一時間週期Td,其表示自在該運算裝置處接收到一先前APDU請求至自該運算裝置發送一先前APDU回應之一時間週期。
  25. 如請求項24之方法,其中該先前APDU回應含有一簽名或訊息鑑認碼(MAC)作為該鑑認資料。
  26. 如請求項25之方法,其中使用該先前APDU請求之一獨有識別符產生該簽名或MAC。
  27. 一種用於確保一運算裝置之鄰近之設備,其包括:一通信埠;及一處理器,其經組態以:獲得一臨時標誌;經由該通信埠將包含該臨時標誌之一請求發送至該運算裝置且開始量測一時間間隔;經由該通信埠自該運算裝置接收一回應且結束量測該時間間隔;經由該通信埠自該運算裝置接收一次級訊息,該次級訊息包含一次級值及鑑認該次級值之鑑認資料;及使用該鑑認資料鑑認該次級值並確認該請求之一預定義部分及該回應之一預定義部分包含在該次級值中。
  28. 如請求項27之設備,其中該鑑認資料係該次級值之一簽名,且鑑認該次級值包括使用該運算裝置之一公用金鑰確認該簽名。
  29. 如請求項27之設備,其中該鑑認資料係一訊息鑑認碼(MAC),且鑑認該次級值包括使用該運算裝置之一秘密金鑰確認該MAC。
  30. 如請求項27之設備,其中比對於一預定義時間臨限值檢查該所量測之時間間隔。
  31. 如請求項27之設備,其中根據該所量測之時間間隔計算該設備與該運算裝置之間之一距離。
  32. 如請求項27之設備,其中該處理器經進一步組態以:自該回應獲得一第一參數V;自該次級值獲得該次級值之一預定義部分;比較該次級值之該預定義部分與在該請求中發送之該臨時標誌以判定其等是否相等;自該次級值獲得一第二參數V;比較該第一參數V及該第二參數V;及當該第一參數V及該第二參數V相等時判定該運算裝置係一可信賴裝置。
  33. 如請求項27之設備,其中該處理器經進一步組態以:自該回應獲得一第一參數V;自該次級值獲得一第二臨時標誌、一第二參數V及一經簽名時間週期Td,其中該時間週期Td表示自在該運算裝置處接收到該請求至自該運算裝置發送該回應之一時間週期;判定該第二臨時標誌及發送至該運算裝置之該臨時標誌相等;判定該第一參數V及該第二參數V相等;將一時間差△T計算為△T=該所量測之時間間隔-Td;及當該時間差△T小於一預定義時間臨限值時判定該運算裝置係一可信賴裝置。
  34. 如請求項27之設備,其中該處理器經組態以將智慧卡應用程式協定資料單元(APDU)請求發送至該運算裝置並自該運算裝置接收APDU回應。
  35. 如請求項34之設備,其中一後續APDU回應含有一時間週期Td, 其表示自在該運算裝置處接收到一先前APDU請求至自該運算裝置發送一先前APDU回應之一時間週期。
  36. 如請求項35之設備,其中該先前APDU回應含有一簽名或訊息鑑認碼(MAC)作為該鑑認資料。
  37. 如請求項36之設備,其中使用該先前APDU請求之一獨有識別符產生該簽名或MAC。
  38. 一種用於確保一運算裝置之鄰近之方法,其包括:在一設備處獲得一臨時標誌;經由該設備之一通信埠將包含該臨時標誌之一請求發送至該運算裝置且開始量測一時間間隔;經由該通信埠自該運算裝置接收一回應且結束量測該時間間隔;經由該通信埠自該運算裝置接收一次級訊息,該次級訊息包含一次級值及鑑認該次級值之鑑認資料;及使用該鑑認資料鑑認該次級值並確認該請求之一預定義部分及該回應之一預定義部分包含在該次級值中。
  39. 如請求項38之方法,其中該鑑認資料係該次級值之一簽名,且鑑認該次級值包括使用該運算裝置之一公用金鑰確認該簽名。
  40. 如請求項38之方法,其中該鑑認資料係一訊息鑑認碼(MAC),且鑑認該次級值包括使用該運算裝置之一秘密金鑰確認該MAC。
  41. 如請求項38之方法,其中比對一預定義時間臨限值檢查該所量測之時間間隔。
  42. 如請求項38之方法,其中根據該所量測之時間間隔計算該設備與該運算裝置之間之一距離。
  43. 如請求項38之方法,其進一步包括:自該回應獲得一第一參數V; 自該次級值獲得該次級值之一預定義部分;比較該次級值之該預定義部分與在該請求中發送之該臨時標誌以判定其等是否相等;自該次級值獲得一第二參數V;比較該第一參數V及該第二參數V;及當該第一參數V及該第二參數V相等時判定該運算裝置係一可信賴裝置。
  44. 如請求項38之方法,其進一步包括:自該回應獲得一第一參數V;自該次級值獲得一第二臨時標誌、一第二參數V及一經簽名時間週期Td,其中該時間週期Td表示自在該運算裝置處接收到該請求至自該運算裝置發送該回應之一時間週期;判定該第二臨時標誌及發送至該運算裝置之該臨時標誌相等;判定該第一參數V及該第二參數V相等;將一時間差△T計算為△T=該所量測之時間間隔-Td;及當該時間差△T小於一第二預定義時間臨限值時判定該運算裝置係一可信賴裝置。
  45. 如請求項38之方法,其進一步包括將智慧卡應用程式協定資料單元(APDU)請求發送至該運算裝置並自該運算裝置接收APDU回應。
  46. 如請求項45之方法,其中一後續APDU回應含有一時間週期Td,其表示自在該運算裝置處接收到一先前APDU請求至自該運算裝置發送一先前APDU回應之一時間週期。
  47. 如請求項46之方法,其中該先前APDU回應含有一簽名或訊息鑑認碼(MAC)作為該鑑認資料。
  48. 如請求項47之方法,其中使用該先前APDU請求之一獨有識別符產生該簽名或MAC。
TW103109323A 2013-03-15 2014-03-14 用於確保通信裝置之鄰近之系統、方法及設備 TW201446067A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361792996P 2013-03-15 2013-03-15
US201361821994P 2013-05-10 2013-05-10
US201361825376P 2013-05-20 2013-05-20

Publications (1)

Publication Number Publication Date
TW201446067A true TW201446067A (zh) 2014-12-01

Family

ID=50390149

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103109323A TW201446067A (zh) 2013-03-15 2014-03-14 用於確保通信裝置之鄰近之系統、方法及設備

Country Status (4)

Country Link
EP (1) EP2974203B1 (zh)
CA (1) CA2902283C (zh)
TW (1) TW201446067A (zh)
WO (1) WO2014141024A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951558B2 (en) * 2017-09-27 2021-03-16 Slack Technologies, Inc. Validating application dialog associated with a triggering event identification within user interaction data received via a group-based communication interface
US20230308298A1 (en) * 2020-08-07 2023-09-28 Google Llc Encrypted Response Timing for Presence Detection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269732B2 (en) * 2003-06-05 2007-09-11 Sap Aktiengesellschaft Securing access to an application service based on a proximity token
JP3949148B2 (ja) * 2005-09-06 2007-07-25 株式会社東芝 無線通信装置、受信装置、送信装置および通信制御プログラム
WO2011131745A1 (en) * 2010-04-21 2011-10-27 ETH Zürich Authenticated key exchange using distance bounding protocol
US9323915B2 (en) * 2010-12-08 2016-04-26 Verizon Patent And Licensing Inc. Extended security for wireless device handset authentication

Also Published As

Publication number Publication date
CA2902283C (en) 2022-05-24
WO2014141024A1 (en) 2014-09-18
EP2974203B1 (en) 2018-08-08
CA2902283A1 (en) 2014-09-18
EP2974203A1 (en) 2016-01-20

Similar Documents

Publication Publication Date Title
US10587600B2 (en) Systems, methods and apparatuses for determining proximity of communication device
US10958309B2 (en) Systems, methods and apparatuses for prevention of relay attacks
US20140282875A1 (en) Systems, methods and apparatuses for ensuring proximity of communication device
US10958664B2 (en) Method of performing integrity verification between client and server and encryption security protocol-based communication method of supporting integrity verification between client and server
EP3249420B1 (en) Secure wireless ranging
CN103532713B (zh) 传感器认证和共享密钥产生方法和系统以及传感器
EP2456121A2 (en) Challenge response based enrollment of physical unclonable functions
US20160352605A1 (en) Systems and methods for distance bounding to an authenticated device
JP2014217044A (ja) セキュアな充電プロトコルを用いたワイヤレス充電システム
CN114710351A (zh) 用于在通信过程中改进数据安全性的方法和系统
JP2020530726A (ja) サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証
US20210167963A1 (en) Decentralised Authentication
CN106027250A (zh) 一种身份证信息安全传输方法及系统
WO2017040124A1 (en) System and method for detection of cloned devices
Mayrhofer et al. Security by spatial reference: Using relative positioning to authenticate devices for spontaneous interaction
CA2902283C (en) Ensuring the proximity of a communication device to its partner device
KR102415628B1 (ko) Dim을 이용한 드론 인증 방법 및 장치
EP2965488B1 (en) Method and system for preparing a communication between a user device and a server
CN113261255B (zh) 通过封存和验证进行的装置认证
KR101502652B1 (ko) 무선 단말기와 유선 단말기 사이의 비밀키 교환 방법
CN113556230B (zh) 数据安全传输方法、证书相关方法、服务端、系统及介质
WO2018024251A1 (zh) 一种数据通信方法及系统
CN113556230A (zh) 数据安全传输方法、证书相关方法、服务端、系统及介质
CN109951283A (zh) 加密验证方法
Schirninger et al. Wireless On-Board Diagnostics