專利名稱:用于物理令牌的雙向糾錯的制作方法
技術領域:
本發明涉及根據物理令牌(physical token),特別是物理不可克隆功能(Physical Uncloneable Function,PUF),在兩方或多方之間建立共享的秘密,以用于安全交易中的識別、認證和密碼的方法。本發明還涉及用于生成這種共享秘密的系統,包括證明(proving)裝置和驗證(verifying)裝置。本發明還涉及證明裝置和驗證裝置。
背景技術:
在本領域中已知將物理令牌用于識別、認證和加密/解密密鑰的生成。令牌可以嵌入例如智能卡,并被用于安全交易。在將這種卡發放給用戶之前,在所謂的“登記階段”登記令牌,在該階段,其受到一個或多個挑戰(challenge)。挑戰和對應的應答(response)與標識令牌的信息一同存儲,也可能還連同有其它的數據,以便形成“登記數據”。當由用戶使用智能卡時,在所謂的“認證階段”,通過利用一個或多個對應于標識所述令牌的信息的所存儲的挑戰來向所述令牌發起挑戰,從而驗證令牌的身份。如果所獲得的應答與存儲在登記數據中的應答相同,則識別成功。在一些協議中,該挑戰-應答過程還產生共享秘密,其是通過一些處理運算從所述應答中導出的,所述處理運算將令牌的物理輸出轉換為位串。然后,共享的秘密可以被用作雙方之間的安全交易的會話密鑰。
有許多物理令牌的例子平面纖維分布(例如,在“IEEE ISITConference 2004”的會議論文集的173頁所引用的),所有的生物統計,特別是物理不可克隆功能(PUF)。“物理令牌”通常被認為是一種通過非存儲器訪問的方式來探測的物體,并且應答依賴于所述物體的物理結構。物理令牌的直接的、未處理的應答可以是模擬的或者數字的。應答可以被處理以獲得數字位串。相反,數字令牌由數字存儲器組成,其中存儲對于給定的一組挑戰的應答,例如已經在每個地址被寫入其的位串。
PUF還稱作物理隨機函數或物理單向函數。美國專利2003/0,204,743描述了具有用于認證目的的獨特的可測量的特性和測量模塊的設備的使用。在美國專利6,584,214中描述了根據三維結構、探測和比較來進行認證的另一種方法。通常,PUF是非常難以克隆的物理令牌,其中,“克隆”可以是(i)產生物理副本,或者(ii)創建模仿行為的計算機模型。PUF是包括許多隨機分布的部分的復雜的物理系統。當利用適當的挑戰進行探測時,復雜的物理過程管理PUF和挑戰之間的交互,例如,對于每個獨立的挑戰,在無序介質(disorderedmedium)中的波的多重散射,導致隨機外觀(random-looking)的輸出或者應答。PUF的復雜的小規模的結構使得難以產生物理副本,而物理交互的復雜性使得難以進行計算機模擬。例如,光學PUF可以包括包含許多隨機分布的散射體的光介質。挑戰可以是入射光,然后應答是在檢測器上檢測到的結果斑紋圖樣。明暗斑點的圖案可以被轉換為位串。
與數字令牌相反,所有物理令牌具有的問題是應答易受噪音的影響。測量噪音可以具有許多原因,例如,令牌/檢測器未對準,或者類似溫度、濕氣和振動這樣的環境影響。由于這些噪音,從應答中提取的位串會具有誤差。大多數密碼協議需要在認證階段期間獲得的位串精確地等于在登記階段期間獲得的位串。例如,如果位串被用作加密密鑰,那么密鑰中的一位翻轉將產生不可識別的、無用的結果。
在現有技術中,已知有兩種方法可用于至少部分地補救如上所述的問題。
一種方法是使用糾錯碼,其能夠檢測并糾正與總的位串長度的某一百分比相等的多個誤碼。然而,使用這種代碼加重了位串提取處理中的負擔,并且負擔隨著可以糾正的誤差的數量而增大。
另一種方法是使用應答可靠信息,在本領域中還稱作“助手數據”或輔助信息。通常,應答可靠信息由額外的信息組成,與對應的挑戰和應答一同存儲,通過應答可靠信息可以提高位串提取處理的健壯性。例如,應答可靠信息可以包括指向模擬或數字形式的應答的可靠部分的指針,即,那些不太可能受噪音影響的部分。在認證期間,應答可靠信息被用來選擇物理輸出中的特定的部分,作為位串提取處理的要素,或者被用來給予一些部分比其它部分更大的權重,或者被用來忽略不可靠的部分。
還可以結合使用應答可靠信息和糾錯碼方法。
應答可靠信息方法的缺點在于預測的“可靠性”的分配僅僅反映登記階段。在那時,將發生在認證期間的噪音的屬性是未知的。在許多應用中,在登記期間和在認證期間分別在不同的測試站上獲得應答數據。每個測試站具有自己特殊的干擾和未對準。此外,在許多令牌的應用中(例如智能卡),在認證期間存在眾多的從中進行選擇的測試站,因此不可能預料用戶將要使用的測試站的特性。最后,如上所述的環境影響也會引起噪音,因此即使在相同的測試站,數據的可靠性也會隨著測量而變化。因此,在登記期間被標記為可靠的位在認證期間實際上得到翻轉的位的情況仍然有較大的發生概率,結果導致在雙方之間無法生成公共的共享秘密。
發明內容
因此,本發明的目的是提供一種更健壯的,在雙方之間生成共享秘密的方法。
本發明的另一個目的是提供一種更健壯的,用于生成這種共享秘密的系統,所述系統包括證明裝置和驗證裝置,以及提供所述證明裝置和驗證裝置。
根據本發明,通過權利要求1中定義的方法實現第一目的。
在該方法中,將證明者專用應答可靠信息與驗證者專用應答可靠信息結合使用,以便根據證明者專用應答和/或驗證者專用應答生成共享秘密,從而導致顯著減少不一致地生成共享秘密(即無法生成共享秘密)的概率。
也就是說,根據本發明,采取助手數據的雙向使用。
在根據本發明的方法的實施例中,雙方都訪問證明者專用應答可靠信息和驗證者專用應答可靠信息,雙方都生成共享秘密。在一替代實施例中,僅僅一方訪問證明者專用應答、證明者專用應答可靠信息和驗證者專用應答可靠信息,并且因此能夠生成共享秘密。在這種情況下,生成共享秘密的一方將有關共享秘密的信息發送至另一方,因此另一方也可以確定共享的秘密。
與共享秘密有關的信息可以是指向一部分應答的指針,該部分被通過證明者專用應答可靠信息和驗證者專用應答可靠信息標記為可靠的,基于其生成密鑰。
本發明具有下列優點根據相同的物理測量,能夠可靠地構造比先有技術中更長的標識字符串,提供更大范圍的標識數字;根據相同的物理測量,能夠構造比現有技術中更長的密鑰,從而提高安全性;能夠保持與現有技術中相同的密鑰長度,但是具有提高的噪聲容許量;提高的噪聲容限使得能夠為令牌和測量裝置減少成本。
在本發明的一個實施例中,共享秘密的尺寸可以變化。在組合兩種助手數據之后,共享秘密的尺寸可能與預見的有很大不同。然后,雙方可以協商將要使用的密鑰的尺寸,并且共同決定除預定的之外的某一密鑰長度。甚至可能涉及包含物理令牌的智能卡的擁有者,例如,詢問他是否可以接受稍短的會話密鑰。
此外,如果使用糾錯碼,則糾錯碼不復雜并且產生健壯的,但是簡單的糾錯方案。
由于本發明,減少了位串的推導中的誤差的預期數量,從而利用糾錯碼的糾錯的計算量被進一步減少,并且具有超過線性計算的優點。因此,雙向助手數據與糾錯碼的組合的發明產生比僅僅這些部分的合計更大的優點。
作為不同誤差概率的一個簡單的例子,可以考慮對單個具有標準差σ的高斯分布變量的測量。如果第一測量(登記)產生值f,其具有比一些閾值T更大的絕對值,則該變量被認為“健壯的”。給出一這種健壯的變量,根據現有技術的方法(單向助手數據),在第二測量中將發生的位翻轉的概率等于第二測量產生具有與f相反的符號的數F的概率。該概率為ErrorProb(one-way)=1/2[1-Erf(f/2σ)]然而,如果使用根據本發明的雙向助手數據方法,則位翻轉的概率等于F不僅具有相反符號,并且具有比閾值T更大的絕對值的概率,ErrorProb(two-way)=1/2[1-Erf((f+T)/2σ)]選擇閾值T比σ大是合理的,如在下列例子中所述。對于T=1.5×σ并且f剛剛超出閾值,單向方法具有14%的誤碼率,而雙向方法僅僅具有2%的誤碼率。對于T=2×σ,百分比是8%比0.2%。在兩種情況下,本發明導致誤差概率的大幅度減少。
另外,證明者和驗證者之間的通信信道被假設為公共信道。可以在沒有任何危險的情況下,在開放的公共信道上傳輸根據本發明交換的所有信息,這是因為信息的數量和類型不足以使得向第三方泄漏任何秘密或使第三方生成秘密位串的副本。此外,透露給公眾的信息量(至多是挑戰的類型以及兩組助手數據)僅夠使雙方確定共同的秘密。
在不同的實施例中,共享秘密將用于雙方之間的識別、認證或安全通信。
本發明還涉及計算機可讀介質,其中存儲有指令,用于使證明方和驗證方中的處理單元執行以上方法。
在從屬權利要求中定義根據本發明的方法的各種實施例。
根據本發明,通過權利要求13中定義的系統、權利要求14中定義的證明裝置以及權利要求15中定義的驗證裝置實現進一步的目的。
選擇裝置可以位于證明裝置或驗證裝置中的任何一個,或位于第三方。
獨立于選擇裝置,應答可靠性計算裝置可以位于證明裝置或位于第三方。
獨立于選擇裝置和應答可靠性計算裝置,共享秘密計算裝置可以位于證明裝置或驗證裝置中的任何一個中,或同時位于兩者中,或位于第三方。在一實施例中,應答可靠性計算裝置和共享秘密計算裝置是集成的,作為證明裝置的一部分或位于第三方。
將參照附圖描述本發明的優選實施例,其中圖1說明PUF卡的登記或引導階段;圖2顯示基于根據本發明的雙向糾錯方案,在使用PUF卡期間的PUF的挑戰,信息流和會話密鑰生成。
具體實施例方式
圖1說明了根據本發明的物理令牌的登記或引導階段。物理令牌102帶有標識標簽(圖中為ID#),其被插入測試設備105并且接受一連串的挑戰C_i,其中下標i是指挑戰號。在本發明的一個實施例中,物理令牌被嵌入智能卡101。作為一例子,物理令牌可以由PUF組成,例如三維非均勻介質,其中有不可復制的散射體。挑戰是通過一些參數標識的入射光106,例如入射角、波長等等。
理論上,可以用很多種方法挑戰物理令牌。然而,在實踐中,在登記期間物理令牌受到挑戰的數量最好是例如幾百的數量級,這主要是因為兩個原因,即,第一,減少在物理測量上花費的時間,第二,將存儲器需求保持在相當低的級別。因此,僅進行所需要數量的挑戰。此外,智能卡上的數據可以總被更新,并且可以對物理令牌進行一組新的挑戰。
對于對物理令牌進行挑戰的每個挑戰C_i,檢測對應的應答R_i并且導出登記專用輔助信息S_i,其還稱作助手數據應答可靠信息。登記專用助手數據S_i包含有關可靠的數據以及不可靠的數據的信息。應答和助手數據是專用于所使用的測試站的。在測試是PUF的照射的例子中,應答可以是轉換為位串的二維斑紋圖樣,其中每個位表示特定位置處的光強。然后,助手數據由指向包含可靠的數據的應答中的位的一組指針組成,例如,指向對應于光強明確低或明確高的位置的位。助手數據還可以采取應答的掩碼的形式,即,與表示應答的位串具有相同數量的位的一組位,其中,“1”指示應答中的對應位是可靠的,“0”指示不可靠的。
最后,物理令牌的身份ID#、挑戰C_i、對應的檢測到的應答R_i以及輔助信息S_i共同形成登記數據,并被存儲在數據庫服務器103中,在后續的認證階段期間,通過驗證裝置可以訪問它們。存儲數據以使得挑戰、對應的應答以及助手數據被關聯到物理令牌的身份ID#,因此隨后可以單獨地從關于令牌的身份的信息中取出這些數據。
在一些應用中,還可能不存在中央數據庫。如有必要,挑戰-應答數據還可以完全地或部分地用加密的形式存儲在智能卡上。或者,挑戰和應答數據散布在許多不同的數據載體上。
圖2顯示如何利用根據本發明的一個實施例的證明裝置203和驗證裝置205,使用雙向糾錯方案,由雙方來獲得共同的和秘密的密鑰K。包含標識信息ID#和物理令牌102的智能卡101用于證明裝置203或終端。ID#被發送到驗證裝置205,例如中央數據庫服務器,該中央數據庫服務器包含在物理令牌的登記階段的所有存儲的測量(即登記數據),或者能對其進行直接訪問。ID#被關聯到這些測量,從其中選擇一個所存儲的挑戰C,并且在開放的公共通信信道上將其連同對應的服務器專用輔助信息S發送回終端。在所述終端,在測量/測試站207(在圖2中由陰影線指示)中對物理令牌102執行挑戰C,并且獲得對應的終端專用應答RT和終端專用輔助信息ST。通常,測量站207與在圖1中的引導階段使用的測量站不同。可以通過使用與在登記期間使用的用于助手數據提取的過程相同的過程來獲得終端專用輔助信息ST,但是還可以使用不同的過程。由于物理測量中的噪音,以及測試設備中可能的錯誤,應答RT可能與初始在登記階段中測量的R不同。與在使用期間由終端203生成的應答RT有關的終端專用輔助信息ST被發送回數據庫服務器205。在兩個系統中,終端203和數據庫服務器205,兩組助手數據,服務器專用S和終端專用ST被組合,其產生兩個系統共有的組合的助手數據Sˇ。最后,雙方使用共同的過程生成密鑰。服務器根據R和Sˇ生成K。終端根據RT和Sˇ生成KT。K和KT相同的概率很高,這是因為它們基于已經被雙方認為是可靠的物理輸出的那些部分。
在本發明的一個實施例中,密鑰長度可以變化。當雙方知道Sˇ時,它們可以共同決定選擇除了預定的一個以外的某一密鑰長度。使用之后,密鑰K被丟棄,在這一特定物理令牌上不再使用挑戰C。
可以與一些類型的糾錯碼一起使用如上所述的雙向助手數據,以進一步減少共享秘密中的誤碼率。
在更廣的意義上,本發明不僅覆蓋終端和數據庫服務器,更一般地,覆蓋具有物理令牌的證明方以及驗證方。
如參照圖1所述,根據本發明,登記數據能夠適合任何地方,例如,挨著令牌的智能卡右邊(如有必要,為加密的形式),或者散布于不同的存儲介質(例如,可以經由因特網聯機訪問)。一個可行的選擇是僅具有終端和智能卡,無需中央服務器。挑戰也可以存儲在任何地方,因此驗證方可能不具有它們。根據本發明,驗證方不必知道有關挑戰的一切。
此外,證明方或者終端不必以文字形式發送新的終端專用助手數據。他可以例如發送Sˇ或允許驗證方導出ST或Sˇ的ST的任何函數。
根據本發明,也可能終端或證明方具有很少計算資源。在這種情況下,它可以向服務器發送或多或少的原始應答數據,以使服務器計算第二組助手數據,然后將ST或Sˇ的結果告知終端。如果采用適當的加密,則可以以安全的方式來完成其。
在上述的情況中,本發明可以涉及原始數據的預處理,因此發送到服務器的數據具有可管理的尺寸。
在本發明的另一個實施例中,在認證期間的助手數據的提取可以依賴于來自登記的助手數據。這可以是任何種類的函數相關性。
在本發明的另一個實施例中,用于生成驗證者專用助手數據的閾值可以通過證明方來訪問,以幫助證明者專用助手數據的提取。
應該注意,上述實施例說明而不是限制本發明,并且本領域的技術人員能夠在不脫離所附權利要求的范圍的情況下設計許多替代實施例。在權利要求中,括號內的任何參考標記都不應解釋為限制權利要求。使用動詞“包括”以及它的變化形式不排除存在除權利要求中所述的之外的元素或步驟。在元素或步驟之前使用冠詞“一個”不排除存在多個這種元素或步驟。本發明可以通過包括多個不同元件的硬件來實現,以及通過適當編程的計算機來實現。在列出多個裝置的裝置權利要求中,可以通過同一個硬件來實現這些裝置。在相互不同的從屬權利要求中敘述特定的措施不表示不能使用這些措施的組合。
權利要求
1.一種根據證明方和驗證方之間的物理令牌生成共享秘密的方法,其中,當用挑戰來挑戰物理令牌時,該物理令牌產生應答,所述驗證方訪問登記數據,該登記數據包括一個或多個用于挑戰所述物理令牌的挑戰,并且對于所述一個或多個挑戰中的每個挑戰,所述登記數據還包括驗證者專用應答和驗證者專用應答可靠信息,所述方法包括以下步驟從所述一個或多個挑戰中選擇一挑戰,并且傳送所述選擇的挑戰,以使得所述證明方和所述驗證方都可以訪問所述選擇的挑戰;利用所述選擇的挑戰對所述物理令牌進行挑戰,以便獲得證明者專用應答,并且從所獲得的證明者專用應答導出證明者專用應答可靠信息;將信息傳送至所述證明方和/或所述驗證方,以使得所述證明方和所述驗證方中的至少一個可以訪問所述證明者專用應答可靠信息和所述驗證者專用應答可靠信息;根據所述證明者專用應答可靠信息、所述驗證者專用應答可靠信息、所述證明者專用應答或所述驗證者專用應答,在所述證明方和所述驗證方中的所述至少一個中生成所述共享秘密。
2.根據權利要求1所述的方法,還包括在所述證明方和所述驗證方之間傳送與共享秘密有關的信息的步驟,因此,所述證明方和所述驗證方中的任何一方可以確定所述共享秘密。
3.根據權利要求1所述的方法,其中,所述傳送信息的步驟包括將來自所述證明方的證明者專用助手數據發送至所述驗證方,并且其中,在所述驗證方生成所述共享秘密。
4.根據權利要求1所述的方法,其中,所述傳送信息的步驟包括將來自所述驗證方的驗證者專用助手數據發送至所述證明方,并且其中,在所述證明方生成所述共享秘密。
5.根據權利要求1所述的方法,其中,所述根據所獲得的證明者專用應答導出證明者專用應答可靠信息的步驟被轉移至輔助設備。
6.根據權利要求1所述的方法,其中,所述登記數據包括加密的登記數據,并且所述方法還包括解密所述加密的登記數據的步驟。
7.根據權利要求6所述的方法,其中,所述解密加密的登記數據的步驟被轉移至第三方。
8.根據權利要求1所述的方法,其中,所述共享秘密將被用于所述證明方和所述驗證方之間的認證。
9.根據權利要求1所述的方法,其中,所述共享秘密將被用于識別。
10.根據權利要求1所述的方法,其中,所述共享秘密將被用于所述證明方和所述驗證方之間的安全通信。
11.根據權利要求1所述的方法,其中,所述物理令牌是PUF。
12.根據權利要求1所述的方法,其中,所述物理令牌是光學標識符,所述挑戰是入射光。
13.一種用于根據物理令牌生成共享秘密的系統,包括兩種裝置證明裝置和驗證裝置,通過傳輸裝置將所述兩種裝置彼此相連,其中,當用挑戰來挑戰物理令牌時,該物理令牌產生應答,所述驗證裝置訪問登記數據,該登記數據包括一個或多個挑戰,并且對于所述一個或多個挑戰中的每個挑戰,所述登記數據還包括驗證者專用應答和驗證者專用應答可靠信息,所述系統包括選擇裝置,用于從所述一個或多個挑戰中選擇一挑戰,以及多個用于傳送所述選擇的挑戰的單元,以使得所述證明方和所述驗證方都可以訪問所述選擇的挑戰;挑戰裝置和檢測裝置,在所述證明裝置中,分別用于利用所述選擇的挑戰來挑戰所述物理令牌,以便獲得證明者專用應答,以及用于檢測所述證明者專用應答,應答可靠性計算裝置,用于從所獲得的證明者專用應答導出證明者專用應答可靠信息;一個或多個用于在所述證明裝置和所述驗證裝置間傳送信息的單元,以使得所述兩種裝置中的至少一個可以訪問所述證明者專用應答可靠信息和所述驗證者專用應答可靠信息,以及共享秘密計算裝置,用于根據所述證明者專用應答可靠信息、所述驗證者專用應答可靠信息,以及所述證明者專用應答或所述驗證者專用應答,生成所述共享秘密。
14.一種在用于根據物理令牌生成共享秘密的系統中使用的證明裝置,其中,當用挑戰來挑戰物理令牌時,該物理令牌產生應答,所述系統除所述證明裝置之外還包括驗證裝置,所述驗證裝置通過傳輸裝置連接到所述證明裝置,所述證明裝置包括選擇裝置,用于從一個或多個挑戰中選擇一挑戰,或者用于接收所選擇的挑戰的單元;挑戰裝置和檢測裝置,分別用于利用所述選擇的挑戰來挑戰所述物理令牌,以便獲得證明者專用應答,以及用于檢測所述證明者專用應答,應答可靠性計算裝置,用于從所獲得的證明者專用應答導出證明者專用應答可靠信息;一單元,用于從所述驗證裝置接收對應于所述選擇的挑戰的驗證者專用應答可靠信息,以及共享秘密計算裝置,用于根據所述證明者專用應答、所述證明者專用應答可靠信息以及所述驗證者專用應答可靠信息,生成所述共享秘密。
15.一種在用于根據物理令牌生成共享秘密的系統中使用的驗證裝置,其中,當用挑戰來挑戰物理令牌時,該物理令牌產生應答,所述系統除所述驗證裝置之外還包括證明裝置,所述證明裝置通過傳輸裝置連接到所述驗證裝置,所述驗證裝置包括選擇裝置,用于從一個或多個挑戰中選擇一挑戰,或者用于接收所選擇的挑戰的單元,用于訪問登記數據的裝置,該登記數據包括所述一個或多個挑戰,并且對于所述一個或多個挑戰中的每個挑戰,所述登記數據還包括驗證者專用應答和驗證者專用應答可靠信息,一單元,用于從所述證明裝置接收對應于所述選擇的挑戰的證明者專用應答可靠信息,以及共享秘密計算裝置,用于根據對應于所述選擇的挑戰的驗證者專用應答、所述證明者專用應答可靠信息以及所述驗證者專用應答可靠信息,生成所述共享秘密。
全文摘要
本發明涉及根據物理令牌在雙方或多方之間建立共享秘密的方法,其中,使用來自登記和認證測量的助手數據,以使得僅僅將在兩個測量中都可靠的應答數據用于生成共享秘密。因此,生成的共享秘密以較高的確定度對于雙方相同。本發明還涉及用于生成這種共享秘密的系統,包括中央數據庫服務器和終端,或它們中的任何一個。
文檔編號H04L9/08GK101036340SQ200580033650
公開日2007年9月12日 申請日期2005年10月4日 優先權日2004年10月4日
發明者皮姆·T.·迪爾斯, 鮑里斯·斯科里奇, 馬滕·E.·范戴克 申請人:皇家飛利浦電子股份有限公司