具有pki籤名的視覺輸出的強認證令牌的製作方法
2024-01-21 18:24:15 1
具有pki籤名的視覺輸出的強認證令牌的製作方法
【專利摘要】包括數據處理器和顯示器的手持認證設備適於:生成輸入值;將輸入值提交給非對稱密碼學運算;獲得所述非對稱密碼學運算的結果;生成基本上包括非對稱密碼學運算的結果的認證消息;將認證消息編碼到一個或更多個圖像中;以及將這些圖像顯示在顯示器上。用於保護用戶遠程訪問基於計算機的應用的安全的方法包括:捕捉顯示在用戶的認證設備的顯示器上的圖像,其中,這些圖像已被編碼有由認證設備生成的認證消息,並且其中,認證消息包括對輸入值的非對稱密碼學運算的結果;對圖像進行解碼以檢索認證消息;從認證消息中檢索非對稱密碼學運算的結果;驗證認證消息。
【專利說明】具有PKI籤名的視覺輸出的強認證令牌
[0001] 對相關申請的交叉引用
[0002] 本申請要求於2011年12月30日提交的名稱為A STRONG AUTHENTICATION TOKEN WITH VISUAL OUTPUT OF PKI SIGNATURES序列號為61/581,897的美國臨時申請的優先權, 其全部內容通過引用合併於本文中。
【技術領域】
[0003] 本發明涉及用於保護通過計算機網絡遠程訪問計算機和應用以及遠程事務處理 的安全的強認證令牌。更具體地,本發明涉及視覺地顯示已使用非對稱密碼學生成的籤名 的強認證令牌。
【背景技術】
[0004] 隨著遠程訪問計算機系統和應用的普及,通過公共網絡如網際網路遠程地訪問的事 務處理的數量和種類顯著增加。該普及突出了對於安全性的需求;特別是:如何確保遠程 地訪問應用的人就是該遠程地訪問應用的人所聲稱的人;如何確保遠程地進行的事務處理 由合法的個體發起;以及如何確保在應用伺服器處接收事務處理數據前,該事務處理數據 未被更改。
[0005] 過去,應用提供者依賴靜態口令來提供遠程應用的安全性。近年來,越加明顯的 是,靜態口令還不夠並且需要更高級的安全技術。
[0006] 解決與通過公共網絡遠程訪問計算機系統和應用相關聯的安全問題的一種方式 包括:將提供安全功能的軟體應用添加到通用目的設備如用戶的PC或行動裝置(例如,移 動電話或個人數字助理(PDA))。與該方式相關聯的主要問題在於:通用目的設備具有使其 易於感染各種惡意軟體如病毒和木馬的固有開放體系結構,各種惡意軟體能夠將偽造消息 呈現給用戶、或者捕捉用戶在鍵盤上的任何輸入、或者讀取與安全應用相關聯的存儲器敏 感數據、或者在數據被籤名前更改該數據。因此,不能夠認為通用目的設備具有可信任的用 戶接口,並且通用目的設備不具有用於存儲秘密如PIN值和密碼學鑰的安全裝置。此外,用 於行動裝置的已知解決方案依賴無線用戶網絡來接收和/或發送事務處理數據。這種網絡 具有固有的安全性和適當的端點加密機構,然而當使用網際網路來進行所有發送時不能夠假 定存在這種網絡。
[0007] "強認證令牌設備"提供了解決基於通用目的設備的解決方案的安全性問題的可 替代的解決方案。強認證令牌的通常示例是由Vasco數據安全公司商業化的DIGIPASS注 冊商標系列的產品(參見網站http://www.vasco.com)。硬體強認證令牌是自主電池供 電設備,專用於提供認證和事務處理籤名功能,通常為袖珍尺寸,具有其自身的顯示器和鍵 盤。在一些情況下,鍵盤被減小為單個按鈕或者甚至完全省略該鍵盤;在其他情況下,鍵盤 可以是全鍵盤。通常強認證令牌的顯示器和鍵盤是非可移除的且不便於用戶使用、完全受 令牌的控制並且不受主機計算機上惡意軟體的幹擾。因此,與例如個人計算機(PC)相比, 強認證令牌被認為具有可信任的用戶接口,在個人計算機(PC)中總是可能存在惡意軟體 如病毒或木馬,該惡意軟體將偽造消息呈現給用戶、或者捕捉用戶在鍵盤上的任何輸入、或 者讀取與安全應用相關聯的存儲器敏感數據、或者在數據被籤名前更改該數據。強認證令 牌的主要目的是生成通常被稱為"一次性口令"(〇TP)或動態口令的動態安全值。通常通過 使用對稱密碼學算法將在令牌和驗證伺服器之間共享的對稱秘密與動態輸入值如時間值、 計數器值或提供給令牌的伺服器挑戰或其組合相組合來生成這些ΟΤΡ。一些強認證令牌還 可以使用作為動態輸入值提供給令牌的數據(如事務處理數據)或者與上述動態輸入值中 的任何動態輸入值相組合來生成安全值。在這些情況下,所得到的安全值意在指示用戶批 準的數據,並且該安全值通常被稱作為電子籤名或消息認證碼(MAC)。強認證令牌通常使 用對稱密碼學算法將動態值與對稱秘密相組合來生成密碼。為了能夠生成安全值如OTP或 MAC,強認證令牌能夠基於利用秘密值或鑰參數化了的對稱密碼學算法進行密碼學計算。這 種利用秘密值或鑰參數化了的對稱密碼學算法的通常示例是對稱加密/解密算法(如3DES 或AES)和/或鍵入單向散列函數(如OATH兼容性令牌中的MD5或SHA-1)。強認證令牌 利用假定對於每個個體令牌而言均不同的一個或更多個對稱秘密鑰進行個性化。為了生成 一次性口令或籤名,令牌通常執行以下步驟。令牌採用一個或更多個動態輸入值(這些動 態輸入值可以包括由伺服器生成和用戶在鍵盤上輸入的挑戰、和/或令牌的內部實時時鐘 的值、和/或由令牌管理的內部計數器的值、和/或用戶在令牌的鍵盤上輸入的事務處理數 據)。在一些情況下,動態輸入值可以包括作為計算先前安全值如先前計算的安全值自身 或者計算從其得出先前安全值的中間值如先前計算的密碼的一部分而生成的令牌的值。可 以將這種情況稱作為基於事件的令牌,並且這種情況基本上等同於基於計數器的令牌。令 牌將一個或更多個動態輸入值置於指定的格式。然後,令牌使用對稱密碼學算法將一個或 更多個輸入值與安全地存儲在令牌中的個性化的對稱秘密鑰在密碼學上相組合。在通常的 強認證令牌中,令牌將一個或更多個輸入值提交給由安全地存儲在令牌中的個性化的對稱 秘密鑰參數化了的對稱加密/解密算法和/或鍵入單向散列函數。結果是對稱密碼或散列 值。令牌將作為該加密/解密或者單向散列的結果的對稱密碼或散列值變換為實際的0TP 或MAC,即密碼或散列的一些位被選擇(例如,通過截斷密碼或散列),並且被選擇的位被變 換為人類可讀格式(例如,通過十進位化)。有時,令牌將額外信息如與所使用的時間值或 計數器值有關的同步信息添加到0TP或MAC。最後,生成的0TP或MAC被呈現給用戶。用戶 可以將該值提交給應用伺服器。
[0008] 在伺服器端,用於驗證所提交的0ΤΡ或籤名的伺服器(假定伺服器具有令牌的秘 密鑰的拷貝或者伺服器能夠重新生成令牌的秘密鑰的值)基本上執行與令牌相同的操作, 獲得0ΤΡ或籤名的參考值或期望值。伺服器將所提交的值與參考值相比較。如果在所提交 的值與參考值之間存在匹配,則認為驗證成功。
[0009] -些強認證令牌包括能夠與插入的智慧卡通信、具有顯示器和鍵盤的設備,其中, 智慧卡的生成部分地由設備自身進行、部分地由插入的智慧卡進行。
[0010] 將輸入數據如事務處理數據或挑戰提供給強認證令牌的通常方式是讓用戶在令 牌的鍵盤上手動輸入數據。當必須以該方式輸入的數據的量超過幾十個字符時,用戶通 常會感覺該過程太麻煩。為了方便用戶,設計出了以下解決方案,其中輸入數據不需要用 戶在令牌的鍵盤上手動輸入所述數據。一個示例包括下述令牌,該令牌使得能夠藉助於 簡單且節約成本的光學接口(通常包括少量便宜的光敏部件如光敏二極體)以較低的數 據率來進行數據輸入,其中用戶保持令牌靠近計算機屏,該計算機屏顯示具有有限數量的 變化區域(通常光學圖案僅有2個變化區域至5個變化區域)的變化光學圖案。這種光 學令牌的示例是由Vasco數據安全公司提供的Digipass 700和Digipass 300以及在EP 121184105/06/2002、EP 178850923/05/2007、US 513664404/08/1992 中描述的令牌。由於 計算機屏的刷新率相當低並且變化光學圖案中區域的數量相當少,因此數據率相當低並且 與手動輸入數據相當。
[0011] 通常,所生成的安全值作為數字串或字母數字字符串顯示在令牌的顯示器上。一 些強認證令牌還具有用於生成合成語音並且能夠藉助於包括語音化的數字串或語音化的 字母數字字符串的合成語音將所生成的安全值呈現給用戶的裝置。
[0012] 在令牌將0ΤΡ或籤名呈現給用戶後,用戶通常通過輸入將該0ΤΡ或籤名手動地傳 遞給應用伺服器。由於用戶依賴於手動傳遞所生成的0ΤΡ或籤名,為了方便起見,該0ΤΡ或 籤名不可以太長。在大多數情況下,0ΤΡ或籤名的長度限於如8個數值數位。這解釋了為何 不將所生成的密碼的所有位包含在0ΤΡ或籤名中,這是因為將密碼的所有位選擇到0ΤΡ中, 0ΤΡ會變得太長以致於用戶不能夠方便地進行拷貝。
[0013] 雖然強認證令牌被證明是非常實用且安全的解決方案,但是強認證令牌也存在缺 點。最明顯地,由於強認證令牌基於對稱密碼學算法,因此想要驗證由特定強認證令牌生成 的0ΤΡ或籤名的任何伺服器必須獲得該令牌的秘密鑰。這使令牌的可用性限於獲得該令牌 的秘密鑰的應用。由於令牌的安全完全取決於該令牌的秘密鑰的保密性,因此不會選擇與 任何應用伺服器共享令牌的秘密鑰。因此,通常,特定令牌實際上僅可以用於有限的一組應 用(通常,一個單個應用提供者的應用)。
[0014] 此外,使用這種令牌會假定利用與認證伺服器共享的秘密鑰個性化的多個令牌設 備必須在多個用戶中進行分配,並且假定必須跟蹤哪個用戶具有哪個令牌設備。這是代表 一定負荷的邏輯處理。
[0015] 解決與通過公共網絡遠程訪問計算機系統和應用相關聯的安全問題的不同方式 由基於非對稱密碼學的公鑰基礎設施(PKI)提供。使用公鑰基礎設施,用戶將公-私鑰對 與每個用戶相關聯。公鑰和私鑰的鑰對在數學上相關。可以藉助於非對稱密碼學使用該 公-私鑰對來對用戶進行認證、對事物處理進行籤名以及設立經加密的通信。私鑰被用於 使用非對稱密碼學算法來生成籤名。嚴格保持該私鑰對任何其他一方的保密性並且從不與 任何驗證伺服器共享該私鑰。為了驗證利用特定私鑰生成的籤名,用戶必須使用數學上與 私鑰相關聯的對應的公鑰對籤名執行逆操作。為了使得能夠對籤名進行驗證,使想要對利 用私鑰生成的籤名進行驗證的任何實體可獲得與該私鑰相關聯的公鑰。由於不能夠使用公 鑰來生成籤名(僅用於驗證籤名),因此不需要保持公鑰的保密性。在公鑰基礎設施中,鑰 對與將公-私鑰對綁定到特定用戶的證書(由可信賴的認證機構頒發)相關聯。證書本身 是將用戶的身份綁定到用戶的公鑰的聲明並且證書由認證機構籤名並且可以利用認證機 構的公鑰進行驗證。該認證機構的公鑰被廣泛地分發。信任該認證機構及其公鑰的任何實 體現在可以對其公-私鑰對已經經認證機構證實的用戶生成的籤名進行驗證。任何應用不 需要訪問用戶的任何秘密信息就能夠對該用戶進行認證或者對該用戶的籤名進行驗證。
[0016] 為了保證足夠的安全級別,強制每個用戶的私鑰仍舊保密,並且僅可以訪問每個 用戶的私鑰,來生成籤名或者由與該鑰相關聯的合法用戶對消息進行解密。通常依賴智能 卡或專用通用串行總線(USB)設備(有時被稱為USB鑰或USB令牌)來存儲公-私鑰對和 證書,並且進行涉及私鑰的密碼學計算。
[0017] 存在一些與PKI和智慧卡或者攜帶PKI鑰和證書的USB令牌相關聯的缺點。
[0018] 1.由於PKI基於非對稱算法並且由於用於生成籤名的私鑰不為任何驗證伺服器 所知,因此驗證PKI籤名的伺服器不可以僅執行與客戶端相同的步驟來獲得能夠與所提交 的籤名相比較的參考籤名。作為替代,驗證伺服器使用公鑰與所接收的籤名來反向客戶端 的計算。然而,這假定伺服器已獲得客戶端利用私鑰計算出的全部的非對稱密碼(即,非截 斷版本)。這意味著基於籤名的PKI包括全部的非對稱密碼。非對稱密碼相當長(通常比 通過對稱算法生成的密碼更長)。這與PKI籤名必須包括全部非對稱密碼的事實相組合意 味著將PKI籤名(例如,為長字母數字字符串的形式、十進位數字的形式或十六進位數字的 形式)呈現給用戶並且期望用戶將PKI籤名手動傳遞給驗證伺服器是不可行的。因此,PKI 固有地限於在客戶端與伺服器之間存在數字連接的環境和應用。換言之,PKI不適用於不 能夠在一方面的PKI證書和私鑰的容器與另一方面的應用伺服器之間提供數字連接的傳 送通道。
[0019] 2. PKI智慧卡和USB令牌不具有內置電源或用戶接口。因此,PKI智慧卡和USB令 牌依賴存在為卡提供電力、能夠與卡數字地交換數據並且能夠與用戶進行交互(例如,捕 捉卡的PIN並且呈現應當籤名的數據)的接口系統。通常,USB令牌被插入到PC的內置USB 埠中,其中USB埠為USB令牌供應電力,並且連接到PC的人類接口設備提供用戶交互 能力(連接USB令牌模型)。通常,藉助於配備有簡單智慧卡讀取器的PC操作PKI智慧卡, 其中讀取器僅為智慧卡供應電力並且使得在PC上的應用與插入的智慧卡之間能夠通信, 並且其中連接到PC的人類接口設備提供用戶交互能力。其自身具有不可信的用戶接口的 這種讀取器通常被稱為透明卡讀取器。這些通常的使用模型減少了用戶的移動性,因為大 多數PC沒有預配備有智慧卡讀取器,並且為USB令牌的讀取器自組織安裝驅動器通常被證 明太麻煩。還存在安全問題:所有的用戶交互(如,批准籤名或捕捉卡的PIN)在固有地不 安全的PC上進行。
【發明內容】
[0020] 為了提供對本文中描述的一些方面的基本理解,以下內容呈現了本發明的簡化概 要。該概要不是所要求保護的主題的詳盡概述。該概要不意在標識所要求保護的主題的關 鍵元素或主要元素,也不意在描繪本發明的範圍。該概要的目的僅在於以簡化的形式呈現 所要求保護的主題的一些構思以作為稍後呈現的更詳細的描述的前序。
[0021] 所需的是將強認證令牌的安全性與應用提供者在不依賴於當前PKI解決方案的 USB連接的情況下對PKI的獨立性相組合的解決方案。
[0022] 本發明的一方面基於發明人的下述觀點:藉助於強認證令牌來保護其安全的許多 應用的用戶藉助於訪問設備如PC(個人計算機)或類似的計算設備(如智慧型電話、筆記本 或平板PC)來訪問該應用,其中大多數訪問設備具有相機並且具有捕捉二維圖像的能力。 通常,用戶的訪問設備還具有足夠的處理能力來處理其捕捉的圖片。
[0023] 本發明的一方面還基於發明人的下述觀點:即使單個中等像素圖片也能夠傳達相 當大的信息量。例如,16*80像素的單個黑白圖像可以傳達1280位。可容易地獲得便宜的 16*80像素的圖形液晶顯示器(IXD)。
[0024] 根據本發明的一方面提供了包括至少一個數據處理部件和顯示器的可攜式手持 認證設備,該認證設備適於:生成輸入值;將輸入值提交給非對稱密碼學運算,其中,非對 稱密碼學運算基於由公-私鑰對中的第一私鑰參數化了的非對稱密碼學算法來生成結果; 獲得所述非對稱密碼學運算的結果;生成基本上包括非對稱密碼學運算的結果的認證消 息;將認證消息編碼到一個或更多個圖像中;以及將一個或更多個圖像顯示在顯示器上。
[0025] 在一些實施方式中,認證設備還包括用於與單獨的安全設備通信的通信接口,其 中:單獨的安全設備存儲所述公-私鑰對中的第一私鑰;單獨的安全設備適於執行非對稱 密碼學運算;認證設備通過執行以下操作來獲得所述非對稱密碼學運算的所述結果:請求 單獨的安全設備通過使用存儲述單獨的安全設備上的第一私鑰對輸入值執行非對稱密碼 學運算來生成非對稱密碼學運算的結果,並且(此後)從單獨的安全設備接收由單獨的安 全設備生成的非對稱密碼學運算的結果。在一些實施方式中,單獨的安全設備包括可移除 的智慧卡。
[0026] 在一些實施方式中,認證設備還包括適於接收在認證設備外部的至少一個可變數 據元素的數據輸入接口,並且其中,輸入值是使用所述至少一個外部可變數據元素來生成 的。
[0027] 在一些實施方式中,數據輸入接口包括鍵盤。在一些實施方式中,數據輸入接口包 括光學數據輸入接口。在一些實施方式中,數據輸入接口包括聲學數據輸入接口。
[0028] 在一些實施方式中,至少一個外部可變數據元素包括挑戰。在一些實施方式中,至 少一個外部可變數據元素包括事務處理數據。
[0029] 在一些實施方式中,認證設備還適於使用在認證設備內部的至少一個可變數據元 素來生成輸入值。在一些實施方式中,認證設備包括實時時鐘,並且至少一個內部可變數據 元素包括由所述實時時鐘提供的時間值。在一些實施方式中認證設備還包括計數器,並且 至少一個內部可變數據元素包括由所述計數器提供的計數器值。
[0030] 在一些實施方式中,認證設備還適於將與輸入值相關的數據包含在認證消息中。 在一些實施方式中,與輸入值相關的數據包括輸入值。
[0031] 在一些實施方式中,認證設備還包括第一安全數據存儲部件,其中第一安全數據 存儲部件存儲所述第一私鑰,並且其中,認證設備還適於通過使用存儲在所述第一安全數 據存儲部件中的所述第一私鑰對輸入值執行非對稱密碼學運算來執行非對稱密碼學運算 並且生成非對稱密碼學運算的結果。
[0032] 在一些實施方式中,認證設備還包括第二安全數據存儲部件,其中所述第二安全 數據存儲部件存儲秘密數據元素。
[0033] 在一些實施方式中,認證設備還適於通過將與輸入值相關的數據與第一密碼學鑰 在密碼學上相組合來生成與輸入值在密碼學上相關的數據、並且將所生成的與輸入值在密 碼學上相關的數據包含在認證消息中,其中,所述第一密碼學鑰包含在秘密數據元素中或 者是從秘密數據元素得出的。
[0034] 在一些實施方式中,所述第一密碼學鑰包括與驗證實體共享的對稱密碼學鑰,並 且在密碼學上相組合是使用對稱密碼學算法來進行的。在一些實施方式中,所述第一密碼 學鑰包括非對稱密碼學鑰,並且在密碼學上相組合是使用非對稱密碼學算法來進行的。在 一些實施方式中,第一密碼學鑰包括加密鑰,並且在密碼學上相組合包括使用加密算法來 加密與輸入值相關的數據。
[0035] 在一些實施方式中,認證設備還適於通過將第二密碼學鑰與非對稱密碼學運算的 結果的至少一部分在密碼學上相組合來生成與非對稱密碼學運算的結果在密碼學上相關 的數據、並且將所生成的與非對稱密碼學運算的結果在密碼學上相關的數據包含在認證消 息中,並且所述第二密碼學鑰包含在秘密數據元素中或者是從秘密數據元素得出的。
[0036] 在一些實施方式中,所述第二密碼學鑰包括與驗證實體共享的對稱密碼學鑰,並 且在密碼學上相組合是使用對稱密碼學算法來進行的。在一些實施方式中,所述第二密碼 學鑰包括非對稱密碼學鑰,並且在密碼學上相組合是使用非對稱密碼學算法來進行的。在 一些實施方式中,所述第二密碼學鑰包括加密鑰,並且在密碼學上相組合包括使用加密算 法來加密非對稱密碼學運算的結果的至少一部分。
[0037] 在一些實施方式中,認證設備還適於將對與所述第一私鑰對應的公鑰的參考包含 在認證消息中。在一些實施方式中,認證設備還適於將用於標識認證設備的數據元素包含 在認證消息中。在一些實施方式中,認證設備還適於將用於標識用戶的數據元素包含在認 證消息中。在一些實施方式中,認證設備還適於將用於標識所述單獨的安全設備的數據元 素包含在認證消息中。
[0038] 根據本發明的另一方面提供了用於保護至少一個用戶遠程訪問基於計算機的應 用的安全的方法,該方法包括以下步驟:捕捉顯示在至少一個用戶的認證設備的顯示器上 的一個或更多個圖像,其中,一個或更多個圖像已被編碼有由認證設備生成的認證消息,並 且其中,認證消息包括基於由公-私鑰對中的第一私鑰參數化了的非對稱密碼學算法對輸 入值的非對稱密碼學運算的結果;對一個或更多個圖像進行解碼以檢索認證消息;從認證 消息中檢索非對稱密碼學運算的結果;驗證認證消息;其中,驗證所述認證消息包括使用 利用與所述第一私鑰對應的公鑰參數化了的非對稱密碼學算法來驗證所檢索到的非對稱 密碼學運算的結果。
[0039] 在一些實施方式中,非對稱密碼學運算的結果包括利用基於非對稱密碼學並且利 用所述第一私鑰參數化了的數字籤名生成算法來生成的對輸入值的數字籤名,並且驗證所 檢索到的非對稱密碼學運算的結果包括使用基於非對稱密碼學並且利用公鑰參數化了的 數字籤名驗證算法來驗證數字籤名。
[0040] 在一些實施方式中,方法還包括通過使用包含在認證消息中的數據來獲得公鑰的 值。
[0041] 在一些實施方式中,認證消息還包括標識至少一個用戶的數據元素,並且用戶標 識數據元素被用來獲得公鑰的值。
[0042] 在一些實施方式中,認證消息還包括標識執行了非對稱密碼學運算的設備(例 如,認證設備自身或單獨的安全設備)的數據元素,並且設備標識數據元素被用來獲得公 鑰的值。
[0043] 在一些實施方式中,認證消息還包括與輸入值相關的數據,並且驗證認證消息還 包括驗證與輸入值相關的數據。
[0044] 在一些實施方式中,認證消息還包括與輸入值在密碼學上相關的數據元素,並且 驗證認證消息包括在密碼學上驗證與輸入值在密碼學上相關的數據元素。
[0045] 在一些實施方式中,認證消息還包括標識認證設備的數據元素;方法還包括使用 認證設備標識數據元素來獲得第一密碼學鑰的值的步驟;並且在密碼學上驗證與輸入值在 密碼學上相關的數據元素包括使用利用所述第一密碼學鑰參數化了的密碼學算法。
[0046] 在一些實施方式中,認證消息還包括與非對稱密碼學運算的結果在密碼學上相關 的數據元素,並且驗證認證消息包括在密碼學上驗證與非對稱密碼學運算的結果在密碼學 上相關的數據元素。
[0047] 在一些實施方式中,認證消息還包括標識認證設備的數據元素;方法還包括使用 認證設備標識數據元素來獲得第二密碼學鑰的值的步驟;並且在密碼學上驗證與非對稱密 碼學運算的結果在密碼學上相關的數據元素包括使用利用所述第二密碼學鑰參數化了的 密碼學算法。
[0048] 在一些實施方式中,包含在認證消息中的非對稱密碼學運算的結果包括至少一個 經加密的部分(即,非對稱密碼學運算的結果的至少一部分已被加密),並且從認證消息中 檢索非對稱密碼學運算的結果包括對至少一個經加密的部分進行解密。
[0049] 在一些實施方式中,認證消息還包括標識認證設備的數據元素;方法還包括使用 認證設備標識數據元素來獲得第三密碼學鑰的值的步驟;並且對至少一個經加密的部分進 行解密包括使用利用所述第三密碼學鑰參數化了的解密算法。
[0050] 根據本發明的一方面的實施方式包括認證設備,該認證設備適於獲得非對稱密碼 學運算的結果(例如,通過其自身執行非對稱密碼學運算,或者通過請求單獨的安全設備 執行非對稱密碼學運算並隨後從單獨的安全設備接收由單獨的安全設備執行的非對稱密 碼學運算的結果)、並且生成對非對稱密碼學運算的結果的表示的(基本上)所有的位進行 編碼的一個或更多個圖像,並且將這些圖像顯示在認證設備的顯示器上。
[0051] 本發明的一種實施方式包括認證設備,該認證設備適於生成非對稱籤名(即,基 於非對稱密碼學的數字籤名),並且該認證設備適於生成對所生成的籤名的(基本上)所有 的位進行編碼的一個或更多個圖像,並且將這些圖像顯示在認證設備的顯示器上。
[0052] 在一些實施方式中,認證設備包括數據處理部件,該數據處理部件適於生成非對 稱密碼學運算的結果的數字表示。在一些實施方式中,數據處理部件適於將非對稱密碼學 運算的結果的數字表示編碼到一個或更多個圖像中,該數字表示不是字母數字字符。在一 些實施方式中,這些圖像可以包括位圖。在一些實施方式中,這些圖像的像素可以僅採用兩 個值(例如,黑或白)之一。一般而言,非對稱密碼學運算的結果在一個或更多個圖像中的 表示不為人類可解釋的形式。
[0053] 在一些實施方式中,認證設備包括適於執行非對稱密碼學運算的數據處理部件。 在一些實施方式中,數據處理部件適於根據非對稱密碼學算法並且使用公-私鑰對中的用 於對非對稱密碼學算法進行參數化的私鑰來執行對輸入值的加密。在一些實施方式中,非 對稱密碼學算法可以例如包括RSA(裡維斯特-沙米爾-阿德爾曼)算法或者可以基於橢 圓曲線密碼學(ECC)。
[0054] 在一些實施方式中,認證設備包括存儲器部件,該存儲器部件用於存儲秘密數據 如PIN值的和/或一個或更多個密碼學鑰如公-私鑰對中的私鑰或對稱密碼學鑰,和/或 可以與另一實體例如認證伺服器共享並且可以從其得出例如密碼學鑰的秘密數據元素。在 一些實施方式中,認證設備還適於存儲與由認證設備存儲或使用的一個或更多個私鑰相關 的一個或更多個證書或證書鏈。
[0055] 在一些實施方式中,認證設備包括用於與第二設備例如單獨的安全設備通信的數 字通信接口。在一些實施方式中,該第二設備適於執行非對稱密碼學運算。在一些實施方式 中,第二設備適於存儲公-私鑰對中的至少一個私鑰。在一些實施方式中,第二設備還適於 存儲與由第二設備存儲和/或使用的一個或更多個私鑰相關的一個或更多個證書或證書 鏈。在一些實施方式中,第二設備還適於存儲標識第二設備的數據(例如,序列號)。在一 些實施方式中,第二設備還適於存儲標識用戶的數據(例如,用戶名或用戶的社會保險號, 或者用戶的國家id號)。在一些實施方式中,第二設備可以包括智慧卡。在一些實施方式 中,智慧卡可以支持IS0/EIC7816-4可兼容通信協議。在一些實施方式中,認證設備可以包 括用於與智慧卡通信的智慧卡接口。在一些實施方式中,認證設備可以使用IS0/EIC7816-4 可兼容通信協議與智慧卡交換智慧卡命令。在一些實施方式中,第二設備可以包括所謂的 USB鑰或USB令牌。
[0056] 在一些實施方式中,認證設備可以包括顯示器,用於顯示對所生成的籤名的表示 或者非對稱密碼學運算的結果進行編碼而生成的圖像。在一些實施方式中,顯示器包括 LCD (液晶顯示器)。在一些實施方式中,使用其他的顯示技術。在一些實施方式中,顯示器 包括圖形顯示器。在一些實施方式中,顯示器具有至少1000像素的解析度。在一些實施方 式中,顯示器具有至少80列的列像素。在一些實施方式中,顯示器具有至少16行的行像素。 在一些實施方式中,顯不器具有16*80像素的解析度。在一些實施方式中,顯不器可以包括 觸控螢幕。
[0057] 在一些實施方式中,認證設備包括用於使用戶將數據提供給認證設備的輸入接 口。在一些實施方式中,輸入接口適於使得用戶能夠輸入挑戰值。在一些實施方式中,輸入 接口適於使得用戶能夠輸入事務處理數據值。在一些實施方式中,輸入接口適於使得用戶 能夠輸入PIN值。在一些實施方式中,輸入接口包括用於例如通過掃描用戶的訪問設備的 顯示器上的光學圖案或者通過捕捉圖像並對圖像進行解碼來讀入數據的光學接口。在一些 實施方式中,輸入接口包括用於通過捕捉由用戶的訪問設備發出的聲音並對該聲音進行解 碼來讀入數據的聲學接口。在一些實施方式中,輸入接口包括用戶輸入接口,該用戶輸入接 口適於使得用戶能夠將信息手動地輸入到認證設備中。在一些實施方式中,用戶輸入接口 包括一個或更多個按鈕。在一些實施方式中,用戶輸入接口包括鍵盤。在一些實施方式中, 用戶輸入接口包括一個或更多個拇指滾輪。在一些實施方式中,用戶輸入接口可以包括觸 摸屏。
[0058] 在一些實施方式中,認證設備可以包括安全存儲部件,該安全存儲部件適於存儲 可以包括密碼學鑰的秘密。在一些實施方式中,認證設備會適於執行密碼學算法,該密碼學 算法可以包括散列算法、和/或對稱加密/解密算法或非對稱加密/解密算法、和/或對稱 電子籤名算法或非對稱電子籤名算法。
[0059] 根據本發明的一方面的另一實施方式包括用於保護用戶遠程訪問基於計算機的 應用的安全的方法。方法包括以下步驟。以上文所述的方式向多個用戶提供認證設備。用 戶使用配備有相機的訪問設備(或者用於電子地捕捉圖像的等同光學設備)遠程地訪問應 用。
[0060] 可以要求用戶提供安全值例如用於對用戶進行認證的安全值或者用於對事務處 理進行籤名的安全值。該安全值可以包括認證消息,該認證消息可以由根據本發明的認證 設備生成並且被傳送給如下文更詳細地描述的根據本發明的驗證實體。
[0061] 驗證實體(驗證實體可以例如包括應用伺服器和/或認證伺服器)驗證認證消 息,並且驗證實體可以使用驗證的結果來確定進一步的動作特別是確定是否接受用戶和/ 或用戶交互例如將事務處理提交給用戶。例如,如果驗證認證消息成功,則應用可以接受用 戶的登錄。
[0062] 給認證設備提供外部數據。
[0063] 可以給用戶挑戰值。該挑戰可以例如包括由應用伺服器或認證伺服器生成的隨機 值。該挑戰還可以從例如對事務處理數據進行散列得出。可以請求用戶將挑戰提供給用戶 的認證設備。用戶可以將該挑戰提供給認證設備。還可以請求用戶將某些事務處理相關數 據提供給認證設備。用戶可以將這些事務處理相關數據提供給認證設備。用戶可以將數據 如挑戰或事務處理數據提供給用戶的認證設備,例如通過將這些數據呈現給認證設備的輸 入接口,例如通過在認證設備的鍵盤上輸入數據。可以將這些數據提供給用戶,例如通過將 這些數據以人類可解釋的形式(例如,字符串)顯示在用戶的訪問設備的顯示器上。
[0064] 生成輸入值。
[0065] 認證設備構造輸入值。構造輸入值可以包括從由用戶提供的數據元素如挑戰值或 事務處理相關數據得出值。構造輸入值還可以(附加地或可替代地)包括從由認證設備存 儲、管理或生成的一個或更多個內部數據元素得出值。在一些實施方式中,一個或更多個內 部數據元素可以包括從實時時鐘的值得出的數據元素。在一些實施方式中,一個或更多個 內部數據元素可以包括從一個或更多個計數器的值得出的數據元素。在一些實施方式中, 這些一個或更多個計數器由認證設備存儲。在一些實施方式中,這些一個或更多個計數器 通過認證設備自動遞增。
[0066] 在一些實施方式中,可以由第二設備(例如,單獨的安全設備)提供內部數據元素 中的一些內部數據元素。在一些實施方式中,構造輸入值可以全部地或部分地由第二設備 (例如,單獨的安全設備)進行。例如,在一些實施方式中,輸入值可以包括或者基於包含 在單獨的安全設備中的計數器的值或實時時鐘的值。在一些實施方式中,輸入值可以由單 獨的安全設備使用完全由單獨的安全設備自身提供的數據元素構造。例如,在一些實施方 式中,輸入值可以由單獨的安全設備根據包含在單獨的安全設備中的計數器和/或實時時 鐘的一個或更多個值構造。在一些實施方式中,輸入值可以由單獨的安全設備通過將在單 獨的安全設備外部的數據元素和單獨的安全設備從認證設備獲得的數據元素(例如,挑戰 值、事務處理相關數據和/或認證設備中的實時時鐘的值)與在單獨的安全設備內部的數 據元素(例如,包含在單獨的安全設備中的計數器和/或實時時鐘的一個或更多個值)相 組合來構造。在一些實施方式中,可以由單獨的安全設備通過使用單獨的安全設備從認證 設備獲得的和由認證設備生成的先導值(例如,使用數據元素例如挑戰值、事務處理相關 數據和/或認證設備中的實時時鐘的值)來構造輸入值。在一些實施方式中,單獨的安全 設備通過將先導值與在單獨的安全設備內部的數據元素(例如,包含在單獨的安全設備中 的計數器和/或實時時鐘的一個或多個值)相組合來生成輸入值。在一些實施方式中,單 獨的安全設備通過使用數學函數例如散列函數如SHA-1對先導值進行變換來生成輸入值。 [0067] 在一些實施方式中,構造輸入值可以包括認證設備將數據與秘密數據元素如秘密 密碼學鑰在密碼學上相組合。例如,在一些實施方式中,認證設備可以對上述數據元素中的 一個或更多個數據元素與秘密數據元素的組合(例如連接)在密碼學上進行散列(例如, 利用SHA-1散列算法),並且認證設備可以從所得到的散列得出輸入值。在一些實施方式 中,認證設備可以對上述數據元素中的一個或更多個數據元素的組合(例如,連接)電子地 進行籤名,並且從電子籤名得出輸入值。在一些實施方式中,認證設備可以使用利用秘密密 碼學鑰參數化了的加密算法對上述數據元素中的一個或更多個數據元素的組合(例如,連 接)進行加密,並且認證設備可以從所得到的經加密的數據得出輸入值。在一些實施方式 中,加密算法可以包括對稱加密算法例如DES (數據加密標準)算法或AES (高級加密標準) 算法。在一些實施方式中,加密算法可以包括非對稱加密算法例如RSA算法,並且密碼學鑰 可以包括公-私鑰對中的私鑰。在一些實施方式中,認證設備可以對上述數據元素中的一 個或更多個數據元素的組合(例如,連接)計算密碼MAC(消息認證碼)並且從MAC得出輸 入值(例如,通過將MAC包含在輸入值中)。在一些實施方式中,可以通過對上述數據元素 中的一個或更多個數據元素的組合施加 CBC(密碼塊連結)模式中的對稱塊密碼並且保留 最後塊的密碼(的一部分)來計算MAC。
[0068] 在一些實施方式中,認證設備適於存儲秘密數據元素。例如,認證設備可以包括用 於存儲秘密數據元素的安全存儲器部件。在一些實施方式中,每個單獨的認證設備可以具 有其自身的用於秘密數據元素的單獨值。在其他實施方式中,秘密數據元素的值由多個認 證設備共享。在一些實施方式中(特別在認證設備將秘密數據元素與對稱密碼學算法一起 使用的實施方式中),與例如認證伺服器或應用伺服器共享的秘密數據元素的值可以例如 與相關聯的認證設備的秘密數據元素的值以及標識數據存儲在資料庫中。在一些實施方式 中,認證設備可以適於重構與特定認證設備相關聯的秘密數據元素的值,例如通過從特定 認證設備的主鑰和標識數據得出秘密數據元素的值。
[0069] 認證設備將所生成的輸入值提交給非對稱密碼學運算。
[0070] 認證設備將輸入值提交給根據非對稱密碼學算法的非對稱密碼學運算。可以由 公-私鑰對中的私鑰對非對稱密碼學算法參數化了。在一些實施方式中,非對稱密碼學運 算包括使用公-私鑰對中的私鑰和由該私鑰參數化了的非對稱密碼學算法來加密輸入值。 在一些實施方式中,非對稱密碼學運算包括使用公-私鑰對中的私鑰和由該私鑰參數化了 的非對稱密碼學算法對從輸入值(例如,使用數字摘要算法例如散列算法如SHA-1生成的 數字摘要)得出的值進行加密。在一些實施方式中,非對稱密碼學算法可以例如包括RSA 算法或者基於橢圓曲線密碼學的算法。在一些實施方式中,非對稱密碼學算法可以包括基 於非對稱密碼學的電子籤名算法。
[0071] 在一些實施方式中,可以由單獨的安全設備執行非對稱密碼學運算。在一些實施 方式中,單獨的安全設備可以是可移除的安全設備,並且認證設備可以包括用於與單獨的 安全設備通信的通信接口。在一些實施方式中,單獨的安全設備可以包括例如PKI智慧卡。
[0072] 在一些實施方式中,生成(例如,通過例如使用密碼散列算法如SHA-1對輸入值進 行散列)輸入值的摘要並且將輸入值的摘要提交給非對稱密碼學運算。在一些實施方式 中,認證設備生成輸入值的摘要。在一些實施方式中,輸入值的摘要由單獨的安全設備生 成。
[0073] 認證設備獲得非對稱密碼學運算的結果。
[0074] 認證設備獲得非對稱密碼學運算的結果。在一些實施方式中,該結果包括非對稱 密碼。在一些實施方式中,該結果包括使用基於非對稱密碼學的數字籤名算法或電子籤名 算法生成的數字籤名或電子籤名。在一些實施方式中,認證設備藉助於認證設備從單獨的 安全設備接收的對認證設備發送給單獨的安全設備的命令的一個或更多個響應獲得非對 稱密碼學運算的結果。在一些實施方式中,認證設備獲得非對稱密碼學運算的為下述硬體 或軟體部件的輸出的形式的結果,該硬體或軟體部件嵌入在認證設備中並且輸入值被提交 給該硬體或軟體部件以執行非對稱密碼學運算。
[0075] 認證設備生成認證消息。
[0076] 認證設備生成包括非對稱密碼學運算的結果的認證消息。認證消息可以基本上包 括非對稱密碼學運算的全部結果。在一些實施方式中,認證設備包括非對稱密碼學運算的 全部結果(例如,全部的非對稱密碼或全部的數字籤名)。在一些實施方式中,認證設備可 以包括非對稱密碼學運算的除了少數位以外的全部結果。這可以是例如為了使非對稱密碼 學運算的結果適合可以被編碼到認證設備可以顯示的單個圖像中的認證消息的最大容量 的情況。驗證認證消息的實體還可以在不管缺失位的情況下通過試錯法來驗證非對稱密碼 學運算的結果,其中對用於缺失位的所有可能的值進行嘗試直到找到成功生效的非對稱密 碼學運算的結果的任一值,或者直到已對用於缺失位的所有可能的值進行嘗試而沒有得出 成功驗證非對稱密碼學運算的結果的值。可以被包含在認證消息中的非對稱密碼學運算的 結果忽略的位的數量可以確定或者選擇作為在忽略該非對稱密碼學運算的結果的位的缺 點(例如,對於驗證而言更低的安全性和/或更高的計算工作量)與優點(更短的認證消 息)之間權衡的函數。在一種實施方式中,非對稱密碼的不多於8個位被認證消息忽略。 如果與非對稱密碼學運算的結果的密碼驗證相關的非對稱密碼學運算的全部結果中的至 少95的位被表示在認證消息中,則可以說認證消息基本上包括非對稱密碼學運算的全部 結果。
[0077] 認證設備將非對稱密碼學運算的結果與秘密數據元素在密碼學上相組合。
[0078] 在一些實施方式中,生成認證消息包括認證設備將非對稱密碼學運算的結果與秘 密數據元素相組合,該秘密數據元素可以存儲在認證設備中或者該秘密數據元素可以從存 儲在認證設備中的另一(秘密)數據元素得出。在一些實施方式中,秘密數據元素或者從 其得出秘密數據元素的數據元素可以與另一實體例如認證伺服器共享。在一些實施方式 中,該組合可以包括向非對稱密碼學運算的結果施加利用秘密數據元素參數化了的密碼學 算法。例如,在一些實施方式中,認證設備使用秘密數據元素作為電子籤名鑰對包括非對稱 密碼學運算的結果的至少一部分的數據生成電子籤名。在一些實施方式中,電子籤名算法 可以基於對稱密碼學。在一些實施方式中,電子籤名算法可以基於非對稱密碼學。在一些 實施方式中,認證消息還包括該電子籤名。在一些實施方式中,認證設備使用秘密數據元素 作為加鑰對非對稱密碼學運算的結果進行加密。在一些實施方式中,認證設備對非對稱密 碼學運算的全部結果進行加密。在其他實施方式中,認證設備僅對非對稱密碼學運算的結 果的一部分進行加密。在一些實施方式中,認證設備應用對稱加密算法進行該加密。在一 些實施方式中,認證設備應用非對稱加密算法進行該加密。在一些實施方式中,認證消息包 括非對稱密碼學運算的經(全部地或部分地)加密的結果的至少一部分。在一些實施方式 中,認證設備使用由秘密數據元素參數化了的密碼學算法(例如,CBC模式中的對稱加密算 法)對包括非對稱密碼學運算的結果的至少一部分的數據計算MAC(消息認證碼)。在一 些實施方式中,認證消息包括該MAC。在一些實施方式中,認證設備可以將非對稱密碼學運 算的結果的一部分或從該結果得出的數據(例如散列)與一個或更多個動態變量的值(例 如,實時時鐘的時間值、和/或計數器值、和/或挑戰值)以及秘密數據元素在密碼學上相 組合。在一些實施方式中,認證設備可以與驗證實體例如認證伺服器共享將該秘密數據元 素。
[0079] 在生成輸入值或在根據非對稱密碼生成認證消息的過程中如此涉及秘密數據元 素(例如,通過將秘密數據元素與非對稱密碼學運算的結果或與輸入值相關的數據在密碼 學上相組合)的一個優點在於:這可以用於證明在計算輸入值和/或認證消息的過程中認 證設備參與其中。這在其中非對稱密碼學運算不是由實際的認證設備執行而是由適於執行 非對稱密碼的單獨的安全設備(例如PKI智慧卡)(可以是可移除的)執行的實施方式中 會特別有用。以該方式可以阻止某些類型的攻擊,其中攻擊者訪問單獨的安全設備(例如, 如果安全設備是PKI智慧卡並且用戶將智慧卡插入到連接到感染有受攻擊者控制的惡意 軟體的PC的智慧卡讀取器中)並且嘗試仿效認證設備來獲得有效的認證消息。如果認證 設備在生成輸入值和/或認證消息的過程中涉及安全地存儲在認證設備中並且可以假定 不為攻擊者所知的秘密數據元素,則這種攻擊會更加困難。在該情況下,攻擊者不太可能能 夠生成用於輸入值和/或認證消息的正確值。通過(在密碼學上)驗證輸入值和/或認證 消息的正確性,生效實體(例如,認證伺服器)可以檢測到攻擊者試圖仿效認證設備的這種 攻擊。
[0080] 認證設備將額外數據包含在認證消息中。
[0081] 在一些實施方式中,認證消息還可以包括額外信息(即,除非對稱密碼學運算的 結果以外的其他數據)。
[0082] 在一些實施方式中,該額外信息可以例如包括與認證設備相關的標識符(例如, 序列號)。在一些實施方式中,可以例如由驗證實體如認證伺服器使用設備標識符來檢索或 獲得認證設備可以使用(例如,如在上文段落中的一些段落中所說明的那樣)的秘密數據 元素的值。在一些實施方式中,可以使用設備標識符來查找資料庫中的密碼學鑰。該密碼 學鑰可以包括與認證設備共享的對稱秘密密碼學鑰。該密碼學鑰還可以包括與存儲在認證 設備中和/或由認證設備使用的私鑰對應的公鑰。
[0083] 在一些實施方式中,該額外信息可以例如包括用戶的標識符(例如,從執行非對 稱密碼學運算的智慧卡讀取的用戶名)。在一些實施方式中,包含在認證消息中的這種用戶 標識符可以例如由應用使用,以確定例如在試圖登錄期間的用戶id。這可以增加用戶便利 性,因為在這種情況下當用戶想要訪問應用時不要用戶提供登錄ID或者用戶ID。
[0084] 在一些實施方式中,該額外信息可以例如包括執行非對稱密碼學運算的單獨的安 全設備的標識符,例如PKI智慧卡的序列號。
[0085] 在一些實施方式中,該額外信息可以例如包括下述數據元素,該數據元素可以使 得應用伺服器或驗證伺服器能夠標識、獲得或檢索對應於用於執行非對稱密碼學運算的私 鑰的公鑰。例如,額外信息可以包括公鑰自身;或者額外信息可以包括含有公鑰或包含公 鑰的參考的證書;或者額外信息可以包括這種證書的可以用於獲得實際的證書的序列號; 或者額外信息可以包括使得能夠檢索公鑰和/或證書的URL (統一資源定位符)。在一些 實施方式中,可以使用用戶的標識符來獲得公鑰和/或證書,例如通過將用戶標識符使用 作為包括公鑰和/或證書的資料庫中的搜索關鍵字。在一些實施方式中,可以以類似的方 式使用設備標識符來檢索公鑰和/或證書。設備標識符可以包括用於標識下述設備的數 據元素,該設備執行非對稱密碼學運算和/或存儲用於生成非對稱密碼學運算的結果的私 鑰,例如在一些實施方式中該設備為認證設備自身或在其他實施方式中該設備為單獨的安 全設備。
[0086] 在一些實施方式中,該額外信息可以包括輸入值或與輸入值相關的數據,例如與 計數器值或時間值相關的數據,該輸入值或與輸入值相關的數據可以由認證設備或單獨的 安全設備生成並且可以用於生成輸入值。在一些實施方式中,可以由認證設備從輸入值或 者從認證設備使用其來獲得輸入值的值的數據在密碼學上得出與輸入值相關的這些數據。 例如,輸入值可以包括一組事務處理數據,並且與包含在認證消息中的輸入值相關的數據 可以包括由認證設備使用存儲在認證設備中的秘鑰對這些事務處理數據計算出的MAC。例 如,在一些實施方式中,認證設備可以使用一個或更多個動態變量的一個或多個值(例如, 實時時鐘的時間值、和/或計數器值、和/或挑戰、和/或事務處理數據)來生成輸入值,並 且認證設備可以將這些值中的一個或更多個值包含在認證消息中。特別地,如果使用一個 或更多個內部動態變量(如實時時鐘和/或計數器)來生成輸入值,則認證設備可以將指 示這些內部動態變量的值的數據包含在認證消息中。在一些實施方式中,認證設備可以將 認證設備通過將秘密數據元素(該秘密數據元素可以與例如驗證實體如應用伺服器或認 證伺服器共享)與認證設備使用其來生成輸入值的一個或更多個動態變量(如實時時鐘、 和/或計數器、和/或挑戰、和/或事物處理數據)的一個或更多個值在密碼學上相組合生 成的一次性口令包含在認證消息中。在一些實施方式中,輸入值也可以包括該一次性口令。 在一些實施方式中,輸入值自身被包含在認證消息中。在一些實施方式中,認證設備利用秘 密數據元素對輸入值進行加密,並且將經加密的輸入值包含在認證消息中。在一些實施方 式中,認證設備對指示認證設備使用其來生成輸入值的數據元素的值的數據進行加密,並 且認證設備將這些經加密的數據元素包含在認證消息中。
[0087] 在一些實施方式中,可以以特定格式對認證消息進行編碼。在一些實施方式中,以 使得能夠確定組成認證消息的各種數據元素的存在、位置和/或長度的格式對認證消息進 行編碼。在一些實施方式中,可使用TLV(標記-長度-值)結構將組成認證消息的各種數 據元素組合在認證消息中。
[0088] 認證設備將認證消息編碼到一個或更多個圖像中。
[0089] 認證設備生成對認證消息進行編碼的一個或更多個圖像。一般而言,這些圖像不 以人類可解釋的形式來表示認證消息。在一些實施方式中,以人類可解釋的形式表示的數 據與圖像一起呈現。一般而言,以人類可解釋的形式表示的數據不包括非對稱密碼學運算 的結果。在特定的實施方式中,為人類可解釋形式的數據可以包括例如一次性口令(例如, 被表示作為字符串),該一次性口令可以由認證設備(例如,通過將一個或更多個動態變量 的一個或更多個值如實時時鐘值、計數器值、挑戰值或事務處理數據值與在認證設備與驗 證實體如應用伺服器或認證伺服器之間共享的秘密數據元素在密碼學上相組合)生成。在 一些實施方式中,圖像中的一些圖像包括位圖。在一些實施方式中,認證設備使用二維條形 碼格式或矩陣條形碼格式對圖像中的一些圖像進行編碼。在一些實施方式中,認證設備使 用QR碼(快速響應)格式對圖像中的一些圖像進行編碼。在一些實施方式中,一些圖像被 以黑白的方式編碼。在一些實施方式中,可以使用多個灰度級水平對一些圖像進行編碼。在 一些實施方式中,可以使用彩色編碼方案對一些圖像進行編碼。在一些實施方式中,可以使 用下述編碼方案對一些圖像進行編碼,該編碼方案包括可以提供錯誤檢測和/或錯誤校正 功能的數據冗機制的。在一些實施方式中,數據冗餘率可以是可變的。在一些實施方式中, 可以使用下述編碼方案,其中圖像包括對已使用的冗餘率的指示。在一些實施方式中,可以 以固定的解析度來使用編碼方案。在一些實施方式中,可以以可變的解析度來使用編碼方 案。在一些實施方式中,可以使用下述編碼方案,其中圖像包括對解析度的指示。在一些實 施方式中,可以使用下述編碼方案,其中圖像包括使得能夠對圖像進行解碼以檢測圖像的 取向、放縮和/或可能的形變的某些元素。在一些實施方式中,可以將認證消息編碼在多於 一個圖像上,並且認證設備可以添加序列信息以使得捕捉圖像並對圖像進行解碼的實體能 夠正確地組裝多個圖像的內容,以獲得完整的認證消息。
[0090] 認證設備顯示一個或更多個圖像
[0091] 認證設備將一個或更多個圖像顯示在其顯示器上。在一些實施方式中,認證設備 顯示多於一個圖像,並且以在特定量的時間內顯示多個圖像中的每個圖像的方式循環通過 這些圖像。這具有以下優點:對於給定的顯示解析度可以比單個圖像傳遞更多的數據(這 在還需要傳遞證書的情況下會特別有利)或者對於給定的數據大小,具有更低的解析度的 更便宜的顯示器可以用於認證設備。
[0092] 訪問設備捕捉一個或更多個圖像。
[0093] 用戶保持認證設備處在訪問設備的相機的前方。在一些實施方式中,一個或更多 個圖像僅包括單個圖像。這具有用戶必須保持認證設備處在照相器的前面的時間更短的有 點。
[0094] 訪問設備獲取認證設備的一個或更多個圖片或影像,該一個或更多個圖片或影像 顯示對所獲得的非對稱密碼學運算的結果的數字表示進行編碼的一個或更多個圖像。
[0095] 在一些實施方式中,訪問設備可以對如何保持認證設備處在訪問設備的前方提供 指導,和/或可以針對成功地捕捉到由認證設備顯示的圖像向用戶提供反饋。例如,在一些 實施方式中,訪問設備可以顯示其捕捉的圖像,以使得用戶可以查看訪問設備如何觀察認 證設備及其顯示的圖像。在一些實施方式中,在訪問設備在捕捉由認證設備顯示的圖像時 遇到問題的情況下,例如,在用戶相對於理想位置以太傾斜、或太近、或太遠、或太偏離的方 式保持認證設備處在訪問設備的相機的前方的情況下,訪問設備可以嘗試診斷捕捉問題的 原因,並且訪問設備可以提示用戶如何解決該問題。例如,訪問設備可能檢測到由於用戶以 不足以平行於相機的圖像平面的方式來保持認證設備導致圖像嚴重失真,從而訪問設備可 以提示用戶傾斜認證設備以使其更加平行於相機的圖像平面;或者訪問設備可能檢測到用 戶保持認證設備太遠離於相機,從而可以提示用戶保持認證設備更靠近相機;或者訪問設 備可能檢測到由認證設備顯示的圖像的一部分在訪問設備的相機的視場之外,從而可以提 示用戶移動認證設備使其更朝向相機的視角的中心。在一些實施方式中,訪問設備可以通 知用戶:已成功地捕捉到由認證設備顯示的一個或更多個圖像並且成功地對其進行解碼, 以使得用戶知道何時不必保持認證設備處在相機的前方。
[0096] 測試模式
[0097] 在一些實施方式中,認證設備能夠生成一個或更多個圖像,該一個或更多個圖像 可以為特定格式,並且可以例如在測試模式中使用該一個或更多個圖像,以例如幫助訪問 設備或應用診斷在捕捉由認證設備顯示的圖像的過程中的問題。
[0098] 檢索認證消息。
[0099] 根據所捕捉的圖片或影像,重構對認證消息進行編碼的一個或更多個圖像。對所 重構的圖像進行解碼,以檢索認證消息。
[0100] 驗證認證消息。
[0101] 然後,可以驗證所檢索到的認證消息。驗證所檢索到的認證消息包括若干步驟:驗 證包含在所檢索到的認證消息中的數據元素的數量,並且對這些數據元素進行驗證。包含 在所檢索到的認證消息中的待被檢索和驗證的數據元素包括非對稱密碼學運算的結果,並 且還可以包括與輸入值相關的數據和/或與非對稱密碼學運算的結果在密碼學上相關的 數據元素。
[0102] 檢索和驗證非對稱密碼學運算的結果。
[0103] 驗證認證消息包括從所獲得的認證消息中檢索非對稱密碼學運算的結果,並且對 該非對稱密碼學運算的結果進行驗證。
[0104] 檢索非對稱密碼學運算的結果。
[0105] 在一些實施方式中,非對稱密碼學運算的包含在認證消息中的結果被部分地或全 部地加密。從認證消息中檢索非對稱密碼學運算的結果可以包括對非對稱密碼學運算的結 果的在認證消息中被加密的部分進行解密。在一些實施方式中,這些經加密的部分中的一 些經加密的部分可能已由認證設備使用對稱加密算法(例如,AES)進行加密,因此對這些 經加密的部分進行解密可能涉及使用對應的對稱解密算法。在一些實施方式中,認證設備 使用其來對非對稱密碼學運算的結果的一部分進行加密的加密鑰可以包括或來自於可以 存儲在認證設備中並且與另一實體例如認證伺服器進行共享的秘密數據元素。在一些實施 方式中,這些經加密的部分中的一些經加密的部分可能已由認證設備使用利用私鑰參數化 了的非對稱加密算法進行加密,並且對這些經加密的部分進行解密可能涉及使用利用與該 私鑰對應的公鑰參數化了的對應的非對稱解密算法。在一些實施方式中,可以使用包含在 認證消息中的數據元素來檢索該公鑰。
[0106] 驗證非對稱密碼學運算的結果
[0107] 在一些實施方式中,使用用於驗證非對稱密碼學運算的結果的標準方法來執行對 非對稱密碼學運算的結果的驗證。在一些實施方式中,結果包括使用私鑰和非對稱密碼學 算法生成的電子籤名或數字籤名,並且驗證該結果可以包括使用非對稱密碼學算法和與用 於生成籤名的私鑰對應的公鑰來驗證籤名。在一些實施方式中,驗證包括使用與假定使用 其來生成非對稱密碼的私鑰相關聯的公鑰。在一些實施方式中,驗證包括使用非對稱密碼 學算法和與假定使用其來生成非對稱密碼的私鑰相關聯的公鑰對非對稱密碼進行解密。在 一些實施方式中,驗證非對稱密碼學運算的結果可以包括驗證與假定使用其來生成非對稱 密碼的私鑰相關聯的公鑰相關的證書或證書鏈。可以使用現在技術中已知的證書驗證方法 來進行對證書或證書鏈的該驗證。
[0108] 獲得公鑰。
[0109] 在一些實施方式中,使用從認證消息中檢索到的數據元素來確定公鑰和/或與公 鑰對應的證書。例如,在一些實施方式中,公鑰和/或證書可以包含在認證消息中,並且可 以從認證消息中檢索該公鑰和/或證書。在其他實施方式中,數據元素可以包括涉及公鑰 或證書的參考值。例如,參考值可以包括使得能夠從伺服器檢索公鑰和/或證書的URL,或 者參考值可以包括可以用於從資料庫檢索公鑰和/或證書的索引。參考值可以例如包括證 書序列號或執行非對稱密碼學運算的單獨的安全設備或認證設備的序列號。在一些實施方 式中,認證消息可以包括與用戶相關的數據元素(例如,用戶名或用戶的國家id號),並且 可以使用該用戶相關數據元素來例如從資料庫中檢索公鑰和/或證書。
[0110] 處理非對稱密碼學運算的結果的缺失位。
[0111] 在一些實施方式中,認證消息可以基本上包括非對稱密碼學運算的全部結果。在 一些實施方式中,非對稱密碼學運算的結果的每個位被包含在認證消息中。在一些實施方 式中,非對稱密碼學運算的結果的少數位(例如,4位)不包含在認證消息中。在一些實施 方式中,認證消息包括非對稱密碼的除該非對稱密碼的少數位之外的所有位。在不管缺失 位的情況下驗證非對稱密碼學運算的結果可以包括將所有可能的值逐個分配給缺失位,並 且逐個驗證非對稱密碼學運算的結果的包含在認證消息中的部分與這些可能的值中的每 個的組合直到組合中的一個組合成功生效(非對稱密碼學運算的結果的有效可以認為成 功)或者直到已嘗試了所有的組合而沒有成功。
[0112] 重構輸入值。
[0113] 在一些實施方式中,確定由認證設備提交給非對稱密碼學運算的輸入值的參考 值,並且將該參考值用於驗證非對稱密碼學運算的結果。在一些實施方式中,輸入值被包含 在認證消息中,並且參考值被設定成包含在認證消息中的該輸入值。在一些實施方式中,輸 入值被包含在認證消息中,並且可以對該經加密的輸入值進行解密以獲得用於輸入值的參 考值的參考值。在一些實施方式中,以與認證設備得出輸入值相類似的方式從一個或更多 個數據元素得出參考值,並且確定參考值可以包括確定認證設備使用其來生成輸入值的一 個或更多個數據元素的一個或更多個值。在一些實施方式中,可以通過從認證消息中檢索 指示這些數據元素中的一些數據元素的一個或更多個值的數據元素來確定這些值。在一些 實施方式中,指示認證設備使用其來生成輸入值的數據元素的值的這些數據元素可能已由 認證設備進行加密,並且經加密的值可能已包含在認證消息中。然後,確定輸入值的參考值 可以包括從認證消息中檢索這些經加密的值,並且在使用這些加密的值來生成參考值前對 這些加密的值進行解密。
[0114] 在驗證非對稱密碼學運算的過程中使用輸入值的參考值。
[0115] 在一些實施方式中,可以將參考值用於驗證非對稱密碼學運算的包含在認證消息 中的結果。例如,在一些實施方式中,驗證實體可以使用與認證設備的私鑰(即,認證設備 使用其來生成非對稱密碼學運算的結果的私鑰)相關聯的公鑰對非對稱密碼學運算的包 含在認證消息中的結果執行非對稱密碼學算法。然後,可以將所得到的值與輸入值的參考 值相比較。例如,在一些實施方式中,可以通過認證設備利用私鑰和非對稱密碼學算法對輸 入值進行加密獲得非對稱密碼學運算的包含在認證消息中的結果,並且認證實體可以通過 利用與認證設備的私鑰對應的公鑰對該結果進行解密並且將解密值與輸入值的參考值相 比較來驗證非對稱密碼學運算的結果。在一些實施方式中,可以通過認證設備首先使用輸 入值來生成摘要信息(這可以例如包括使用散列算法如SHA-1對輸入值進行散列),接著利 用私鑰和非對稱密碼學算法對摘要值進行加密來獲得非對稱密碼學運算的包含在認證消 息中的結果,並且驗證實體可以通過利用與認證設備的私鑰對應的公鑰對該結果進行解密 並且將解密值與輸入值的參考值相比較或者將解密值與從參考值例如使用輸入值的參考 值生成的參考散列值或參考摘要值得到的值相比較來驗證非對稱密碼學運算的結果。
[0116] 驗證與輸入值相關的數據。
[0117] 在一些實施方式中,認證消息還可以包括與被提交給非對稱密碼學運算以生成非 對稱密碼學運算的結果的輸入值相關的數據,並且驗證認證消息還可以包括對與輸入值相 關的這些數據進行驗證。在一些實施方式中,驗證與輸入值相關的這些數據包括驗證這些 數據元素中的一個或更多個數據元素是否具有可接受的值。例如,在一些實施方式中,認證 設備可以使用實時時鐘的值和/或計數器的值構造輸入值,並且可以將與這些值相關的數 據包含在認證消息中,並且驗證這些數據可以包括驗證這些數據是否落入期望值的可接受 的範圍內。
[0118] 在一個示例中,認證設備可以使用其實時時鐘的值來確定輸入值,並且可以將給 出該值的指示的數據元素(例如,在一種實施方式中為確定輸入值的時間的年、月、日、小 時、分鐘、秒,或者在另一實施方式中僅為確定輸入值的時間的小時、分鐘和秒)包含在認 證消息中。驗證實體可以驗證呈現在認證消息中的數據元素是否指向下述時間值,該時間 值與認證實體所知的期望生成認證消息時的實際實時時間偏離不超過例如一分鐘。
[0119] 在另一示例中,認證設備可以使用其值在每次使用後單調增加(相應地減小)的 計數器的值來確定輸入值,並且可以將給出該計數器值的指示的數據元素(例如,在一種 實施方式中為計數器的全部值,或者在另一實施方式中僅為該計數器的某一數量的最低有 效位或數字例如最低有效4位或者列出有效的2個數位)包含在認證消息中。驗證實體可 以參照確實比最後知道的計數器的值更大(相對更小)的計數器值來驗證認證消息中是否 存在該數據元素。
[0120] 在一些實施方式中,認證設備可以例如使用利用認證設備中的秘密數據元素和可 以包括或者可以得自於例如挑戰值、和/或時間值、和/或計數器值、和/或事務處理數據 的動態變量生成一次性口令的已知的算法(例如可以由已知的強認證令牌使用)來生成一 次性口令,並且輸入值可以包括該一次性口令。在該實施方式中,驗證輸入值可以包括使用 例如用於驗證一次性口令的已知的驗證方法對該一次性口令進行驗證。在一些實施方式 中,這可以向驗證實體證明:有效的認證設備被用來生成輸入值。在一些實施方式中,這可 以向驗證實體證明:特定認證設備被用來生成輸入值。
[0121] 驗證與輸入值在密碼學上相關的數據元素。
[0122] 在一些實施方式中,認證消息還可以包括與輸入值在密碼學上相關的數據(即, 認證設備通過將與輸入值相關的數據與秘密數據元素在密碼學上相組合而生成的數據), 並且驗證認證消息還可以包括對這些數據元素進行驗證。例如,在一些實施方式中,認證消 息可以包括對與輸入值相關的數據的電子籤名,並且驗證實體可以驗證該電子籤名。在一 些實施方式中,認證消息可以包括認證設備使用利用對稱秘密鑰參數化了的對稱密碼學算 法對與輸入值相關的數據生成的MAC,並且驗證實體可以例如通過使用其自身對認證設備 的秘密鑰的拷貝對與輸入值相關的數據的參考值生成參考MAC,並且將該參考MAC與包含 在認證消息中的MAC相比較來驗證該MAC。在一些實施方式中,可以間接地驗證與輸入值在 密碼學上相關的數據元素。例如,在一些實施方式中,認證消息可以包括與已由認證設備加 密的輸入值相關的數據元素,並且驗證實體可以對包含在認證消息中的這些經加密的數據 元素進行解密並且可以在隨後驗證認證消息的步驟中間接地進行對這些數據元素的驗證, 其中可以使用這些解密的數據元素。例如,在一些實施方式中,認證消息可以包括經加密的 輸入值或用於生成輸入值的經加密的數據元素(例如,認證設備的實時時鐘的時間值或者 認證設備的計數器值),並且驗證實體可以對這些數據元素進行解密並且利用解密的數據 元素獲得輸入值的參考值,然後使用該輸入值的參考值對非對稱密碼學運算的包含在認證 消息中的結果進行驗證。
[0123] 在一些實施方式中,驗證與輸入值在密碼學上相關的數據元素可以向驗證實體證 明:有效的認證設備被用來生成輸入值。在一些實施方式中,驗證與輸入值在密碼學上相關 的數據元素可以向驗證實體證明:特定的認證設備被用來生成輸入值。在一些實施方式中, 接受認證消息的必要條件可以是:利用有效的認證設備生成該認證消息。在一些實施方式 中,接受用於特定用戶的認證消息的必要條件可以是:利用分配給特定用戶的特定認證設 備生成該認證消息。
[0124] 驗證與非對稱密碼學運算的結果在密碼學上相關的數據元素。
[0125] 在一些實施方式中,認證消息還包括與非對稱密碼學運算的結果在密碼學上相關 的數據元素(即,由認證設備通過將非對稱密碼學運算的結果的一部分與秘密數據元素在 密碼學上相組合而生成的數據元素),並且驗證認證消息還可以包括對這些數據元素進行 驗證。
[0126] 在一些實施方式中,認證設備使用利用可以存儲在認證設備中的秘密鑰參數化了 的密碼學算法對非對稱密碼學運算的結果(至少一部分)生成電子籤名,並且認證設備可 以將該電子籤名包含在認證消息中,並且驗證實體可以驗證該電子籤名。
[0127] 在一些實施方式中,秘密數據元素可以例如是在認證設備與驗證實體(例如,驗 證伺服器)之間共享的秘密(如對稱密碼學鑰),並且驗證這些數據元素包括驗證實體使 用與用於生成這些數據元素的密碼學算法在數學上相關的密碼驗證算法和其對秘密數據 元素的拷貝。例如,在一些實施方式中,可以由認證設備使用利用秘密數據元素參數化了的 對稱密碼學算法來生成這些數據元素,並且驗證這些數據元素可以包括:驗證實體使用相 同的對稱密碼學算法和秘密數據元素的拷貝來生成這些數據元素的參考值,並且將與非對 稱密碼學運算的結果在密碼學上相關的並且包含在認證消息中的數據元素與該參考值相 比較。例如,在一些實施方式中,認證消息還可以包括認證設備可以使用秘密數據元素對非 對稱密碼學運算的結果(一部分)生成的MAC(例如,通過使用基於由秘密數據元素參數化 了的對稱密碼學算法的MAC算法),並且驗證該MAC可以包括:驗證實體使用相同的MAC算 法並且使用其自身對秘密數據元素的拷貝對非對稱密碼學運算的包含在認證消息中的結 果(相同的部分)生成參考MAC,並且認證實體將該參考值與包含在認證消息中的MAC相比 較。
[0128] 在一些實施方式中,與非對稱密碼學運算的結果在密碼學上相關的這些數據元素 可能通過認證設備對非對稱密碼學運算的結果的一部分進行加密生成,從而驗證這些數據 元素可以包括:驗證實體對這些數據元素進行解密並且將解密的部分與非對稱密碼學運算 的包含在認證消息中的結果的相應部分相比較。
[0129] 在一些實施方式中,與非對稱密碼學運算的結果在密碼學上相關的這些數據元素 可以包括非對稱密碼學運算的結果中已由認證設備加密的一部分或全部,並且可以通過驗 證實體對這些部分進行解密以獲得非對稱密碼學運算的結果,並且隨後以上文所述的方式 對解密的非對稱密碼學運算的結果進行驗證來間接地進行對這些數據元素的驗證。
[0130] 在一些實施方式中,驗證與非對稱密碼學運算的結果在密碼學上相關的數據元素 可以向驗證實體證明:有效的認證設備被用來生成輸入值。在一些實施方式中,驗證與非對 稱密碼學運算的結果在密碼學上相關的數據元素可以向驗證實體證明:特定的認證設備被 用來生成非對稱密碼學運算的結果。
[0131] 在一些實施方式中,可以由用戶使用其來訪問應用的訪問設備來執行用於從所捕 捉的圖片或影像中檢索認證消息的步驟和用於驗證所檢索到的驗證消息的步驟中的一些 步驟或所有步驟。在一些實施方式中,可以由託管用戶所訪問的應用的計算設備來執行這 些步驟中的一些步驟或所有步驟。這例如可以包括由用戶的訪問設備通過計算機網絡訪問 的遠程應用伺服器。在一些實施方式中,可以由可以與用戶的訪問設備和/或與託管應用 的計算設備通信(例如,通過計算機網絡)的單獨的安全設備來執行這些步驟中的一些步 驟或所有步驟。
[0132] 在一些實施方式中,可以使用驗證認證消息的結果,來例如對用戶進行認證、或者 來確定用戶是否批准某一事務處理數據。這又可以用來確定是否授權用戶進行訪問或者是 否接受特定事務處理。
[0133] 有益效果
[0134] 本發明的重要優點在於其使得能夠使用基於非對稱密碼學的安全機制來保護用 戶訪問電子應用的安全。更特別地,本發明使得即使在用戶藉助於不適於或不適用於與包 含用戶的私鑰的用戶的單獨的安全設備通信的訪問設備來訪問應用的情況下也能夠使用 非對稱密碼學來保護應用的安全。例如,如果用戶具有PKI智慧卡但是利用不包含智慧卡 讀取器和/或不包含用於連接智慧卡的通信接口的計算機或智慧型手機來訪問應用,和/或 如果不方便將軟體(例如,驅動器)安裝到訪問設備以與智慧卡讀取器和用戶的PKI智能 卡通信。本發明在用戶通過不具有與用戶的PKI智慧卡通信的智慧卡讀取器但是具有相機 的智慧型手機訪問應用時,使得例如遠程應用可以獲得由PKI智慧卡(例如,電子國家ID卡, 其中可以合法地綁定數字籤名)生成的對事物處理數據的數字籤名。在一些情況下,例如, 如果假定用戶已經具有能夠執行非對稱密碼學運算的安全設備(例如PKI智慧卡),則本發 明使得能夠保護用戶訪問應用的安全而不需要分配額外的個性化安全設備例如通常的強 認證令牌並且不要求用戶的訪問設備配備有下述硬體和軟體(例如,連接到或嵌入在訪問 設備中的智慧卡讀取器和智慧卡驅動器以及安裝在訪問設備上的密碼庫軟體),通常這些 訪問設備需要該硬體和軟體來與用戶的安全設備進行接口。
[0135] 本發明的一些實施方式的另一顯著優點在於其可以使得應用能夠驗證非對稱密 碼學運算的結果(例如數字籤名)是不是使用與用戶行交互的安全設備在執行非對稱密碼 學運算的上下文中生成。
[0136] 本發明的更多的優點對本領域的計算人員而言是明顯的。
【專利附圖】
【附圖說明】
[0137] 如附圖所示,根據以下對本發明的幾個實施方式的更具體的描述,本發明的前述 和其他的特徵和優點將會明顯。
[0138] 以下描述和附圖詳細闡明了所要求保護的主題的某些說明性方面。然而,這些方 面僅指示了可採用本發明的原理的各種方式中的幾種,而所要求保護的主題意在包括所有 這些方面及其等價方面。當結合附圖考慮以下本發明的詳細描述時,所要求保護的主題的 其他優點和新穎性特徵將變得明顯。
[0139] 下面結合附圖所闡述的詳細說明意在作為本發明的一些實施方式的說明而非意 在表示可以構造和/或利用本發明的唯一形式。本說明書結合所示出的實施方式闡明了用 於構造和操作本發明的功能和步驟順序。然而,應當理解的是,相同或等同的功能和順序可 以通過意在被包括在本發明的範圍內的不同的實施方式進行。
[0140] 參照附圖來描述所要求保護的主題,其中相同的附圖標記自始至終用來指代相同 的元件。在以下描述中,出於解釋的目的,闡述了許多特定的細節以便提供對本發明的透徹 理解。可以明顯的是可以在沒有這些特定細節的情況下實施所要求保護的主題。在其他實 例中,以框圖的形式示出了公知的結構和裝置,以便利於描述本發明。
[0141] 圖1示意性地示出了根據本發明的一方面的設備。
[0142] 圖2示意性地示出了根據本發明的一方面的另一設備。
[0143] 圖3示意性地示出了根據本發明的一方面的用於保護用戶與應用之間的事務處 理的安全的系統。
[0144] 圖4示意性地示出了根據本發明的一方面的用於保護用戶與應用之間的事務處 理的安全的方法。
[0145] 圖5a和圖5b示意性地示出了根據本發明的一方面的用於通過包含認證設備的裝 置獲得非對稱密碼學運算的結果和通過該裝置生成包含如此獲得的非對稱密碼學運算的 結果的認證消息的方法。
[0146] 圖6示意性地示出了根據本發明的一方面的用於驗證從一個或更多個圖像檢索 到的並且包含非對稱密碼學運算的結果的認證消息的方法。
【具體實施方式】
[0147] 下面論述本發明的一些實現。雖然論述了特定實現,但是應當理解這僅是出於說 明的目的。相關領域的技術人員將認識到在不脫離本發明的精神和範圍的情況下可以使用 其他的部件和配置。
[0148] 圖1示出了根據本發明的一方面的認證設備(100)。設備包括一個或更多個數 據處理部件(150)、一個或更多個存儲器部件(160)以及顯示器(130)。可選地,設備可以 包括實時時鐘(170)、聲學輸入接口(110)、手動用戶輸入接口(120)和/或光學輸入接口 (140)。設備(100)適於基於非對稱密碼學來生成安全值,並將這些安全值編碼在一個或更 多個圖像(135)中並且將這些圖像顯示在顯示器(130)上。
[0149] 一個或更多個數據處理部件(150)可以包括微控制器和/或微處理器和/或密碼 協處理器。一個或更多個數據處理部件(150)可以包括一個或更多個處理部件。這些處理 部件可以包括微晶片、集成電路、微控制器、微處理器、FPGA(現場可編程門陣列)、ASIC(專 用集成電路)等。一個或更多個數據處理部件(150)可以包括適於構造輸入值的部件。輸 入值可以從由實時時鐘(170)提供的時間值、保存在存儲器(150)中的計數器值、挑戰和/ 或通過聲學輸入接口(110)、手動用戶輸入接口(120)和/或光學輸入接口(140)獲得的某 些事務處理數據值中的一個或更多個得出。一個或更多個數據處理部件(150)可以包括適 於根據非對稱密碼學算法對輸入值執行非對稱密碼學運算並且使用公-私鑰對中的私鑰 對該非對稱密碼學算法進行參數化的部件。一個或更多個數據處理部件(150)可以包括下 述部件,該部件適於生成該非對稱密碼學運算的結果的數字表示,將該表示編碼到一個或 更多個數字圖像(135)中並且將該一個或更多個圖像(135)顯示在其顯示器(130)上。
[0150] 顯不器(130)可以包括圖形顯不器。顯不器(130)可以包括IXD。在一些實施方 式中,顯示器(130)可以包括觸控螢幕。在一些實施方式中,顯示器可以具有最低限度為1000 像素的解析度。在一些實施方式中,顯示器可以具有最低限度為2000像素的解析度。在一 些實施方式中,顯示器可以是黑白顯示器。在一些實施方式中,顯示器能夠顯示灰度等級。 在一些實施方式中,顯示器可以是彩色顯示器。
[0151] 存儲器部件(160)可以包括非易失性存儲器。存儲器部件(160)可以包括一個或 更多個存儲器部件,包括RAM(可以備有電池)、ROM、EEPR0M、快閃記憶體或其他類型的存儲器部 件。存儲器部件(160)可以包括安全防篡改存儲器。存儲器部件(160)可以適於存儲秘密 數據如PIN或密碼學鑰。存儲器部件(160)可以適於存儲公-私鑰對中的一個或更多個私 鑰。存儲器部件(160)可以適於存儲與所存儲的私鑰相關聯的一個或更多個證書或證書 鏈。存儲器部件(160)可以適於存儲一個或更多個對稱密碼學鑰。存儲器部件(160)可以 適於存儲一個或更多個秘密數據元素。可以與另一實體例如認證伺服器共享存儲在存儲器 部件(160)中的秘密數據元素中的一個或更多個。
[0152] 手動用戶輸入接口(120)可以適於使得用戶能夠輸入信息。由用戶輸入的信息可 以包括PIN值、挑戰值和/或某些事物處理數據的值。
[0153] 圖2示出了根據本發明的一方面的認證設備(101)。裝置包括一個或更多個數據 處理部件(151)、一個或更多個存儲器部件(161)以及顯示器(131)。設備(101)包括與第 二設備(102)例如單獨的安全裝置通信的數字接口(182)。可選地,裝置可以包括實時時 鍾(171)、聲學輸入接口(111)、手動用戶輸入接口(121)和/或光學輸入接口(141)。設 備(101)適於基於非對稱密碼學來生成安全值,並將這些安全值編碼在一個或更多個圖像 (135)中並且將這些圖像顯示在顯示器(131)上。
[0154] 一個或更多個數據處理部件(151)可以包括微控制器和/或微處理器和/或密碼 協處理器。一個或更多個數據處理部件(151)可以包括一個或更多個處理部件。這些處理 部件可以包括微晶片、集成電路、微控制器、微處理器、FPGA(現場可編程門陣列)、ASIC(專 用集成電路)等。
[0155] 一個或更多個數據處理部件(151)可以包括適於構造輸入值的部件。輸入值可以 從由實時時鐘(171)提供的時間值、保存在存儲器(151)中的計數器值、挑戰和/或通過聲 學輸入接口(111)、手動用戶輸入接口(121)和/或光學輸入接口(141)獲得的某些事務處 理數據值中的一個或更多個得出。一個或更多個數據處理部件(151)可以包括適於將輸入 值通過接口(182)提交給第二設備例如單獨的安全設備、適於根據非對稱密碼學算法對輸 入值執行非對稱密碼學運算並且使用公-私鑰對的私鑰對該非對稱密碼學算法進行參數 化從而獲得該非對稱密碼學運算的結果的部件。一個或更多個數據處理部件(151)可以包 括下述部件,該部件適於生成該結果的數字表示,將該表示編碼到一個或更多個數字圖像 (135)中並且將該一個或更多個圖像(135)顯示在其顯示器(131)上。
[0156] 在一些實施方式中,可以使用由第二設備提供的數據元素來構造輸入值。例如,在 一些實施方式中,可以使用第二設備中的計數器的值或實時時鐘的值來構造輸入值。在一 些實施方式中,可以全部地或部分地由第二設備構造輸入值。在一些實施方式中,可以由第 二設備使用第二設備通過接口(182)獲得的數據元素例如挑戰(可以已由用戶提供)或事 務處理數據(可以已由用戶提供)來構造輸入值。在一些實施方式中,可以由第二設備僅 使用在第二設備內部的數據元素例如包含在第二設備中的計數器的值和/或實時時鐘的 值來構造輸入值。在一些實施方式中,第二設備使用第二設備從認證裝置(101)獲得的數 據元素與第二設備內部的數據元素的組合來構造輸入值。
[0157] 顯不器(131)可以包括圖形顯不器。顯不器(131)可以包括IXD。在一些實施方 式中,顯示器(131)可以包括觸控螢幕。在一些實施方式中,顯示器可以具有最低限度為1000 像素的解析度。在一些實施方式中,顯示器可以具有最低限度為2000像素的解析度。在一 些實施方式中,顯示器可以是黑白顯示器。在一些實施方式中,顯示器能夠顯示灰度等級。 在一些實施方式中,顯示器可以是彩色顯示器。
[0158] 數字接口(182)可以包括智慧卡接口。
[0159] 第二設備(102)可以包括單獨的安全裝置如智慧卡或USB鑰。單獨的安全設備可 以是PKI智慧卡,或者單獨的安全設備可以是包含智慧卡晶片的USB鑰。在一些實施方式 中,單獨的安全裝置可以存儲公-私鑰對中的私鑰。在一些實施方式中,單獨的安全裝置可 以存儲證書和/或公-私鑰對中的公鑰。在一些實施方式中,單獨的安全裝置可以適於利 用存儲在單獨的安全裝置上的私鑰來執行非對稱密碼學運算。在一些實施方式中,這些非 對稱密碼學運算可以包括利用私鑰來生成數字籤名和/或利用私鑰來對數據進行加密或 解密。在一些實施方式中,單獨的安全裝置可以包括小尺寸的智慧卡(例如,如由IS0/IEC 7810限定的SM(用戶身份模塊)卡的尺寸或ID-100卡的尺寸),並且設備(101)可以包 括與行動電話的用於接納SIM卡的內部槽類似的用於接納安全裝置的內部槽。在一些實施 方式中,單獨的安全裝置可以包括信用卡尺寸的智慧卡(例如,如由IS0/IEC 7810限定的 ID-1尺寸的智慧卡)。在一些實施方式中,設備(101)可以包括外部可訪問的槽,以使得能 夠方便地接納或移除單獨的安全裝置。例如,設備(101)可以包括與通常P0S(銷售點)支 付終端的槽類似的開放智慧卡槽,用戶可以容易地將標準信用卡尺寸的智慧卡插入在該開 放智慧卡槽中,並且用戶可以容易地從該開放智慧卡槽中抽出標準信用卡尺寸的智慧卡。
[0160] 數字接口(182)可以包括用於與第二設備(102)通信的硬體和軟體。例如,數字 接口(182)可以包括用於與第二設備(102)交換命令的驅動器。例如,數字接口(182)可 以包括用於與智慧卡或與包括智慧卡晶片的USB鑰交換智慧卡APDU (應用協議數據單元) 的驅動器。在一些實施方式中,數字接口(182)可以適於支持在IS0/IEC 7816的規範中描 述的協議和/或命令。在一些實施方式中,這些命令可以包括用於選擇安全設備上的應用 的命令、或者用於從安全設備中檢索數據的命令、或者用於通過安全設備提交用於驗證的 PIN的命令、或者用於選擇安全環境的命令、或者用於指示安全設備執行密碼學運算如非對 稱密碼學運算的命令、或者用於生成數字籤名或電子籤名的命令。
[0161] 存儲器部件(161)可以包括非易失性存儲器。存儲器部件(161)可以包括一個或 更多個存儲器部件,包括RAM(可以備有電池)、ROM、EEPROM、快閃記憶體或其他類型的存儲器部 件。存儲器部件(161)可以包括安全防篡改存儲器。存儲器部件(161)可以適於存儲安全 數據如PIN或密碼學鑰。存儲器部件(161)可以適於存儲公-私鑰對中的一個或更多個私 鑰。存儲器部件(161)可以適於存儲與所存儲的私鑰相關聯的一個或更多個證書或證書 鏈。存儲器部件(161)可以適於存儲一個或更多個對稱密碼學鑰。存儲器部件(161)可以 適於存儲一個或更多個秘密數據元素。可以與另一實體例如認證伺服器共享存儲在存儲器 部件(161)中的秘密數據元素中的一個或更多個。
[0162] 手動用戶輸入接口(121)可以適於使得用戶能夠輸入信息。由用戶輸入的信息可 以包括PIN值、挑戰值和/或某些事物處理數據的值。
[0163] 在一些實施方式中,認證設備(100或101)如上文結合圖1或圖2描述的設備是 專用硬體設備。在一些實施方式中,認證設備可以在方法中專用於保護用戶訪問應用的安 全或保護用戶與這種應用進行交互的安全。在一些實施方式中,認證設備的主要目的是在 方法中被使用以保護用戶訪問應用的安全或保護用戶與這種應用進行交互的安全。在一些 實施方式中,為了保證認證設備專用於其作為安全設備的用途,認證裝置可以適於使得可 以更改其固件。為了保證認證設備專用於其作為安全設備的用途,對認證設備的固件的任 何改變或更改僅可以通過安全固件更新協議進行,該安全固件更新協議被設計成確保僅授 權控制的可信方能夠更新或改變認證設備的固件。這使得控制可信方能夠確保沒有下述固 件更新發生,該固件更新會取消認證設備專用於其在方法中用於保護用戶訪問應用的安全 或保護用戶與這種應用進行交互的安全的用途。具有智慧卡讀取能力但是其在例如用戶可 以在不具有控制可信方的授權的情況下更新軟體的意義上是開放的通用目的設備不能夠 當作專用設備。用戶可以將未經控制可信方授權的額外軟體安裝到其中的設備不能夠當作 專用設備。其主要目的是提供電信設施的設備不能夠當作在方法中專用於保護用戶訪問應 用的安全或保護用戶與該應用進行交互的安全的設備。通用目的PC、膝上型計算機、平板計 算機及智慧型電話不能夠當作專用設備。
[0164] 在一些實施方式中,認證設備(100或101)如上文結合圖1或圖2描述的設備是安 全硬體設備。在一些實施方式中,安全硬體設備適於確保檢測和/或防止試圖篡改安全硬 件設備。在一些實施方式中,安全硬體設備的殼體適於防止打開殼體和/或增加用戶注意 到試圖通過使殼體形變(篡改證據)打開殼體的概率。在一些實施方式中,可以將共同組 成殼體的部分焊接在一起或粘在一起,以使得拆卸這些部分通常會導致殼體的明顯形變。 在一些實施方式中,安全硬體設備包括檢測打開殼體的開關。在一些實施方式中,安全硬體 設備適於在檢測到試圖篡改時採取適當的動作。在一些實施方式中,安全硬體設備可以在 檢測到試圖篡改該安全硬體設備時擦除某些敏感數據如密碼學鑰,或者安全硬體設備可以 (可能不可逆地)進入錯誤模式或者停止起作用。
[0165] 安全硬體設備可以具有安全用戶輸出接口(例如,安全顯示器)和安全輸入接口 (例如,安全鍵盤)。在一些實施方式中,安全硬體設備具有安全的輸出接口,是因為該輸出 接口完全由安全硬體設備控制並且安全硬體設備外部的處理不可以使用該輸出接口將數 據或信息呈現給用戶,除非該處理由安全硬體設備授權和控制。在一些實施方式中,安全硬 件設備具有安全的輸入接口,是因為該輸入接口完全由安全硬體設備控制並且安全硬體設 備外部的處理不可以使用該輸入接口從用戶獲得數據或信息,除非該處理由安全硬體設備 授權和控制。在一些實施方式中,安全用戶輸入接口和安全硬體輸出接口的安全性通過不 允許對其固件進行任何改變的安全硬體裝置維持,或者通過提供僅允許通過安全協議對安 全硬體設備的固件進行改變的安全固件更新機制維持,該全協議使得安全硬體設備僅接受 來自可信源的授權的固件更新。
[0166] 在一些實施方式中,認證設備(100或101)可以包括用於與計算設備例如用戶的 訪問裝置通信的額外數字通信接口。該額外通信接口可以例如包括USB接口和/或無線數 字通信接口和/或紅外接口。在這些實施方式中的一些實施方式中,可以對認證設備進行 配置使其還能夠用作為連接的智慧卡讀取器(在一些實施方式中作為安全連接的智慧卡 讀取器)。在這些實施方式中的一些實施方式中,認證設備可以包括防火牆,以篩選通過額 外數字通信接口進入的命令並且根據某些安全相關標準來阻擋如此進入的命令或讓如此 進入的命令通過。
[0167] 在一些實施方式中,為了確保安全,認證裝置(100或101)不具有這種額外數字通 信接口。在一些實施方式中,為了確保安全,使得能夠將用戶數據輸入到認證裝置中的輸入 接口僅為手動用戶輸入接口。
[0168] 在一些實施方式中,讀取器具有重量和空間度量,以使得可以將認證設備當作便 攜式手持設備。在一些實施方式中,讀取器具有重量和空間度量,以使得可以以適當的成本 通過郵寄將認證裝置發送給用戶。例如,在一些實施方式中,認證裝置可以具有小於2cm的 厚度、小於l〇cm的寬度、小於15cm的長度以及小於200克的重量。在其他實施方式中,認 證裝置可以具有小於1. 5cm的厚度、小於7cm的寬度、小於13cm的長度以及小於110克的 重量。在一些實施方式中,認證裝置的長度和寬度可以分別超出標準全尺寸信用卡的長度 和寬度不多於百分之10。在一些實施方式中,認證裝置可以具有標準全尺寸信用卡的長度 和寬度。在一些實施方式中,認證裝置可以具有標準全尺寸信用卡的在適用於標準全尺寸 信用卡的公差內的長度、寬度以及厚度(例如,具有由IS0/IEC 7810規定的ID-1尺寸的智 能卡的尺寸)。
[0169] 在一些實施方式中,認證裝置包括自主電源。在一些實施方式中,電源可以包括電 池。在一些實施方式中,電池是可更換的。
[0170] 在一些實施方式中,認證裝置可以支持EMV (歐洲支付卡-萬事達卡-維薩信用 卡)智慧卡,並且認證裝置可以支持CAP(晶片認證協議)規範或者與CAP規範兼容。
[0171] 根據本
【發明內容】
的方面,提供了包括認證設備和單獨的安全設備例如結合圖2描 述的認證設備和單獨的安全設備的裝置。
[0172] 圖3示出了根據本發明的一方面的用於保護用戶(360)與應用之間的事物處理的 安全的系統。系統包括認證設備(320)和訪問設備(330)。系統還可以包括應用主機(340)。 系統還可以包括認證伺服器(350)。系統還可以包括單獨的安全設備(310)。
[0173] 認證裝置(320)可以包括結合圖1和圖2描述的認證裝置(100、101)之一。認證 裝置(320)具有用於顯示圖像的顯示器。認證裝置(320)具有用於與用戶進行交互的用戶 接口。認證裝置(320)可以具有用於與例如單獨的安全裝置(310)通信的通信接口。認證 裝置(320)適於使用根據本發明的一方面的方法來生成認證消息。該方法可以例如包括結 合圖5描述的方法。認證裝置(320)適於顯示對認證消息進行編碼的一個或更多個圖像。
[0174] 訪問設備(330)可以例如包括用戶(360)可以使用其來訪問應用的計算設備,例 如膝上型計算機或智慧型電話或平板計算機。訪問設備(330)可以包括用於與用戶(360)進 行交互的用戶接口。訪問設備(330)可以例如包括觸控螢幕或者顯示器和鍵盤和/或滑鼠。 訪問設備(330)包括用於捕捉圖像或影像的光學輸入設備(331),如(數字)相機或CCD (電 荷耦合設備)。在一些實施方式中,訪問設備可以包括用於將訪問設備連接到計算機網絡 (370)如網際網路的通信接口。在一些實施方式中,訪問設備通過計算機網絡(370)連接到其 他計算設備例如應用主機計算機(340)和/或認證伺服器(350)。
[0175] 應用主機計算機(340)包括計算設備,該計算設備託管用戶(360)正在訪問的應 用中的至少一部分應用。應用主機計算機(340)可以包括通過計算機網絡(370)如網際網路 連接到訪問設備的遠程應用伺服器。在一些實施方式中,應用主機計算機還可以連接到認 證伺服器(350)。在一些實施方式中,應用主機計算機(340)可以適於執行根據本發明的一 方面的方法的一個或更多個步驟,以保護用戶訪問應用的安全。在一些實施方式中,該方法 可以包括結合圖4和/或圖6描述的方法。在一些實施方式中,應用可以是基於web的應 用,並且應用主機計算機可以包括web伺服器。
[0176] 在一些實施方式中,用戶訪問的應用可以包括遠程金融應用例如網際網路銀行應 用。在一些實施方式中,應用可以是電子政務應用例如使得用戶能夠通過網際網路提交納稅 申報的應用。
[0177] 圖4示出了用於保護用戶與應用之間的事務處理的安全的方法。方法包括以下 步驟:通過包括認證設備(例如,上述認證設備之一)的裝置獲得(410)非對稱密碼學運 算的結果;通過裝置生成(420)包括如此獲得的非對稱密碼學運算的結果的認證消息;通 過裝置將認證消息編碼(430)到一個或更多個圖像中;通過裝置將一個或更多個圖像顯示 (440)在認證設備的顯示器上;通過訪問設備捕捉(450)顯示在認證設備的顯示器上的一 個或更多個圖像;從所捕捉到的一個或更多個圖像中檢索(460)經編碼的認證消息;以及 驗證(470)所檢索到的認證消息。
[0178] 可以在公開本發明的先前的段落中找到關於在圖4中示出的方法的步驟的更多 細節。
[0179] 圖5a和圖5b示出了通過包括認證設備(例如,上述認證設備之一)的裝置獲得 非對稱密碼學運算的結果的方法,以及通過裝置生成包括所獲得的非對稱密碼學運算的結 果的認證消息的方法。方法可以包括以下步驟:生成(510)輸入值;將所生成的輸入值提交 給(520)使用非對稱密碼學算法和公-私鑰對中的私鑰的非對稱密碼學運算;獲得(530) 非對稱密碼學運算的結果;(可選地)將非對稱密碼學運算的結果與秘密數據元素在密碼 學上相組合(540),以獲得與非對稱密碼學運算的結果在密碼學上相關的數據元素;(可選 地)將與輸入值相關的數據與秘密數據元素在密碼學上相組合(550),以獲得與輸入值在 密碼學上相關的數據元素;生成(560)認證消息;以及將認證消息編碼(570)在一個或更 多個圖像中。
[0180] 生成(510)輸入值的步驟可以包括以下子步驟:(可選地)捕捉(511) -個或更 多個外部數據元素例如挑戰或事務處理數據;(可選地)確定(512) -個或更多個內部數 據元素例如實時時鐘的時間值或計數器值;從這些外部數據元素和/或內部數據元素得出 (513)輸入值;以及(可選地)將這些外部數據元素和/或內部數據元素中的一些數據元 素與秘密數據元素在密碼學上相組合(514)。
[0181] 將所生成的輸入值提交給(520)非對稱密碼學運算的步驟可以包括將輸入值(或 輸入值的先導(precursor)值)提交(521)給單獨的安全設備的(可選的)子步驟。
[0182] 獲得(530)非對稱密碼學運算的結果的步驟可以包括以下子步驟:通過執行非對 稱密碼學運算(通過認證設備自身或通過單獨的安全設備)來生成(531)非對稱密碼學運 算的結果和(可選地)從單獨的安全設備中檢索(532)非對稱密碼學運算的結果。
[0183] 生成(560)認證消息的步驟可以包括以下子步驟:將非對稱密碼學運算的結果包 含(561)在認證消息中;(可選地)將輸入值包含(562)在認證消息中;(可選地)將與非對 稱密碼學運算的結果在密碼學上相關的數據元素包含(563)在認證消息中;(可選地)將 與輸入值在密碼學上相關的數據元素包含(564)在認證消息中;(可選地)將指示用戶身 份的數據元素包含(565)在認證消息中;(可選地)將標識認證設備的數據元素包含(566) 在認證消息中;(可選地)將標識單獨的安全設備的數據元素包含(567)在認證消息中;以 及(可選地)將公鑰參考數據包含(568)在認證消息中,該公鑰參考數據可以用於標識或 檢索與用於生成非對稱密碼學運算的結果的私鑰對應的公鑰和/或該公鑰參考數據可以 用於標識或檢索與公鑰相關聯的證書或證書鏈。
[0184] 將認證消息編碼(570)在一個或更多個圖像中的步驟可以包括以下子步驟:(可 選地)添加(571)數據冗餘以及(可選地)添加(572)序列信息。
[0185] 可以在公開本發明的先前的段落中找到關於在圖5中示出的方法的步驟和子步 驟的更多細節。
[0186] 圖6示出了用於對從由認證設備顯示的一個或更多個圖像中檢索到的並且包括 非對稱密碼學運算的結果的認證消息進行驗證的方法。方法可以包括以下步驟:使用非對 稱密碼學算法利用與用於生成非對稱密碼學運算的結果的私鑰對應的公鑰來驗證(610) 非對稱密碼學運算的結果;(可選地)驗證(620)與輸入值相關的數據;(可選地)使用 (630)認證消息中的與認證設備的身份相關的數據元素來確定密碼學鑰的值;(可選地)對 與輸入值在密碼學上相關的數據元素進行驗證¢40),其中在一些實施方式中使用在步驟 630中確定的密碼學鑰來進行驗證;(可選地)對與非對稱密碼學運算的結果在密碼學上相 關的數據元素進行驗證¢50),其中在一些實施方式中使用在步驟630中確定的密碼學鑰 來進行驗證。
[0187] 驗證(610)非對稱密碼學運算的結果的步驟可以包括以下子步驟:從認證消息中 檢索¢11)非對稱密碼學運算的結果,這又可以(可選地)包括對認證消息中的非對稱密 碼學運算的結果的經加密的部分進行解密(612);(可選地)處理(613)非對稱密碼學運算 的檢索結果中的缺失位;獲得(614)與用於生成非對稱密碼學運算的結果的私鑰對應的公 鑰;(可選地)對與公鑰相關聯的證書或證書鏈進行驗證(615);將公鑰和非對稱密碼學運 算的結果與非對稱密碼學算法一起使用¢16);(可選地)獲得¢17)用於被用來生成非對 稱密碼學運算的結果的輸入值的參考值;(可選地)使用(618)參考值,例如通過將參考值 與通過使用公鑰和非對稱密碼學運算的結果以及非對稱密碼學算法獲得的值相比較。
[0188] 可以在公開本發明的先前的段落中找到關於在圖6中示出的方法的步驟和子步 驟的更多細節。
[0189] 方法的步驟的順序
[0190] 在一種實施方式中,上述方法的一些步驟按以下順序發生:首先生成(510)輸入 值;然後將輸入值提交給(520)非對稱密碼學運算;然後獲得(410、530)非對稱密碼學運 算的結果;然後生成(420、560)認證消息;然後將認證消息編碼(430、570)到一個或更多 個圖像中;然後將一個或更多個圖像顯示(440)在認證設備的顯示器上。在一些實施方式 中,在生成(510)輸入值後和生成(420、560)認證消息前,認證設備可以(可選地)生成其 他數據元素如(540)與非對稱密碼學運算的結果在密碼學上相關的數據元素和(550)與輸 入值在密碼學上相關的數據元素。
[0191] 在另一實施方式中,上述方法的一些步驟按以下順序發生:首先認證設備顯示對 以上述方式生成的認證消息進行編碼的一個或更多個圖像;然後通過訪問設備的光學圖像 捕捉設備(例如,相機)來捕捉一個或更多個圖像;然後對一個或更多個圖像進行解碼以獲 得認證消息;然後從認證消息中檢索非對稱密碼學運算的結果;然後檢索非對稱密碼學運 算的結果。在一些實施方式中,在認證設備生成認證消息和顯示被編碼到一個或更多個圖 像中的認證消息前,生成挑戰並且將挑戰提供給用戶。
[0192] 在一種實施方式中,按如下方式來使用本發明的各個方面,以保護例如網際網路銀 行應用的安全。
[0193] 用戶使用用戶的訪問設備(例如,用戶的PC或智慧型電話)上的web瀏覽器通過互 聯網來訪問遠程應用如網際網路銀行網站。
[0194] 用戶按如下方式獲得訪問。用戶取得認證設備並且將他的或她的個人PKI智慧卡 (個人PKI智慧卡可以是由銀行發行的電子國家ID卡或卡)插入到認證設備中。認證設備 生成輸入值。在一些情況下,應用生成挑戰並且提示用戶將挑戰輸入到認證設備中。在一些 情況下,認證設備確定從其實時時鐘得出的時間值。認證設備使用該挑戰和/或時間值來 確定輸入值。認證設備請求用戶輸入智慧卡的PIN並且將PIN提交給智慧卡進行驗證。當 PIN驗證成功時,認證設備將輸入值發送給插入的PKI智慧卡,並且指示智慧卡生成對輸入 值的數字籤名。智慧卡使用用於生成數字籤名的標準PKI機制與安全地存儲在智慧卡中的 與用戶相關聯的私鑰在輸入值上生成數字籤名。認證設備從智慧卡接收數字籤名。認證設 備還從智慧卡接收用戶的用於用戶的私鑰的證書,並且從證書中提取證書的序列號。認證 設備使用基於利用安全地存儲在認證設備中的唯一對稱秘密加密鑰參數化了的對稱加密 算法的0ΤΡ生成算法來生成一次性口令。認證設備將挑戰和/或時間值以及從智慧卡中獲 得的數字籤名的一部分用作為OPT算法的輸入。認證設備將以下數據組裝在認證消息中: 由智慧卡生成的數字籤名、所生成的0ΤΡ、(如果可用)時間值、證書的序列號以及認證設備 的序列號。認證設備將認證消息編碼到單個圖像中,在一些情況下該圖像可以為黑白位圖 的形式。認證設備將圖像顯示在其顯示器上。用戶保持認證設備的顯示器位於訪問設備的 相機的前方直到應用指示成功地捕捉到圖像為止。
[0195] 應用捕捉顯示在認證設備的顯示器上的圖像,並且應用對捕捉到的圖像進行解碼 以獲得認證消息。應用提取組成認證消息的各種數據元素。應用伺服器使用證書序列號在 包含用戶的證書和公鑰的中心資料庫中檢索證書和公鑰。應用從證書數據中提取用戶的身 份,並且確定用戶的用戶ID。在一些情況下,應用使用認證設備的序列號來驗證該特定認證 設備是否已被分配給該特定用戶。在一些情況下,應用驗證該特定認證設備是否被列入黑 名單(例如,由於已知或懷疑該特定認證設備受損)。應用將以下數據元素轉發給認證服 務器:從認證消息中檢索到的0ΤΡ、從認證消息中檢索到的認證設備的序列號、(如果可用) 應用提供給用戶的挑戰、(如果可用)從認證消息中從認證消息中檢索到的時間值、從認證 消息中檢索到的數字籤名的用於生成OTP的可用位。認證伺服器從主鑰和認證設備的序列 號得出認證設備的唯一對稱秘密加密鑰的拷貝,並且認證伺服器使用所得出的加密鑰的拷 貝值和從應用伺服器獲得的數據來驗證OTP值,並且將驗證結果返回給應用伺服器。應用 伺服器驗證(如果可用)時間值是否在當前時間的預定的公差範圍內。應用伺服器使用挑 戰和/或時間值來確定輸入值的參考值。應用伺服器使用輸入值的參考值和所檢索到的公 鑰來驗證從認證消息中檢索到的數字籤名。如果所有的驗證都是成功的,則應用伺服器授 權用戶訪問。
[0196] 現在,用戶將事務處理提交給應用伺服器。例如,用戶指示應用執行將一定量的錢 從用戶的帳戶轉移到另一帳戶。按如下的方式來保護該事務處理的安全。應用提示用戶使 用認證設備的鍵盤將錢的數量和目標帳戶號提供給認證設備。在一些情況下,為了防止重 放攻擊,還向用戶呈現挑戰以提供給認證設備。附加地或可替代地,認證設備確定其實時時 鐘的時間值。現在,認證設備以與登錄基本上相同的方式來生成認證消息,除了認證設備現 在使用由用戶提供的事務處理數據和(如果可用)挑戰的組合而不是僅挑戰來生成輸入 值、0ΤΡ以及數字籤名之外。認證設備將認證消息編碼到顯示在認證設備的顯示器上的圖像 中,該認證消息包括由智慧卡生成的數字籤名、所生成的0ΤΡ、(如果可用)時間值、證書的 序列號以及認證設備的序列號。用戶保持認證設備的顯示器位於訪問設備的相機的前方直 到應用指示已成功地捕捉到圖像為止。從認證消息中檢索通過應用捕捉並編碼的圖像和組 成認證消息的各種數據元素。應用伺服器以與登錄認證消息基本上相同的方式來驗證認證 消息,除了現在應用伺服器和認證伺服器現在使用事務處理數據和(如果可用)挑戰的組 合而不是僅挑戰來驗證0ΤΡ和數字籤名之外。也就是說,應用伺服器將以下數據元素轉發 給認證伺服器:從認證消息中檢索到的0ΤΡ、從認證消息中檢索到的認證設備的序列號、事 物處理數據、(如果可用)應用伺服器提供給用戶的挑戰、(如果可用)從認證消息中檢索 到的時間值、從認證消息中檢索到的數字籤名的可用位(即,用於生成0ΤΡ的位),其中,在 認證伺服器驗證0ΤΡ值。應用伺服器還使用事務處理數據、挑戰和/或時間值來確定輸入 值的參考值。應用伺服器使用輸入值的參考值和所檢索到的公鑰來驗證從認證消息中檢索 到的數字籤名。驗證0ΤΡ成功指示通過認證消息中的設備標識符標識的認證設備被用來生 成0ΤΡ和非對稱密碼學運算的結果。驗證數字籤名成功指示用戶的確批准事物處理數據。 如果所有的驗證都是成功的,則應用伺服器執行所請求的事物處理。
[0197] 已描述了多個實施方式。然而,應理解,可以進行各種修改。例如,可以對一個或 更多個實施方式的元件進行組合、刪除、修改或補充,以形成其他的實施方式。作為又一示 例,在圖中描繪的邏輯流程不要求以所示出的特定順序或連續順序來實現希望的結果。另 夕卜,可以提供其他步驟、或可以從所描述的流程中去除步驟,以及可以將其他部件添加到所 描述的系統中、或從所描述的系統中移除部件。例如,在上述實施方式中,模塊或部件不需 要執行屬入該模塊的功能中的所有功能或任何功能,並且屬於一個模塊或部件的所有功能 或一部分功能可以由另一模塊或部件執行,或者完全不執行。因此,其他實施方式在所附權 利要求的範圍內。
[0198] 此外,雖然,可能僅針對本發明的幾個實施方式中的一個公開了本發明的特定特 徵,但是當任何給定應用或特定應用需要或對其有利時,這樣的特徵可與其它實施方式中 的一個或更多個其他特徵相組合。此外,就術語"包括"、"含有"、"具有"、"包含"及其變型 以及其他類似的詞語在詳細描述或權利要求書中的使用而言,這些術語旨在以類似於術語 "包括"作為開放性過渡詞的方式被解釋而不排除任何附加元件或其他元件。
[0199] 雖然上面描述了本發明的各種實施方式,但是應該理解,這些實施方式僅作為示 例呈現,而不是限制。特別地,當然,出於描述所要求保護的主題的目的而要描述部件或方 法的每一種可構想到的組合是不可能的,但是本領域普通技術人員會認識到,許多其他組 合和置換是可能的。由此,本發明的廣度和範圍不應該被以上所描述的示例性實施方式中 的任何示例性實施方式所限制,而是應該僅根據所附權利要求及其等價物來限定。
【權利要求】
1. 一種包括至少一個數據處理部件和顯示器的可攜式手持認證設備,所述認證設備適 於: 生成輸入值; 將所述輸入值提交給非對稱密碼學運算,所述非對稱密碼學運算基於由公-私鑰對中 的第一私鑰參數化了的非對稱密碼學算法來生成結果; 獲得所述非對稱密碼學運算的結果; 生成基本上包括所述非對稱密碼學運算的所述結果的認證消息; 將所述認證消息編碼到一個或更多個圖像中;以及 將所述一個或更多個圖像顯示在所述顯示器上。
2. 根據權利要求1所述的認證設備,還包括用於與單獨的安全設備通信的通信接口, 其中: 所述單獨的安全設備存儲所述公-私鑰對中的所述第一私鑰; 所述單獨的安全設備適於執行所述非對稱密碼學運算; 所述認證設備通過執行以下操作來獲得所述非對稱密碼學運算的所述結果:請求所述 單獨的安全設備通過使用存儲在所述單獨的安全設備上的所述第一私鑰對所述輸入值執 行所述非對稱密碼學運算來生成所述非對稱密碼學運算的所述結果,並且從所述單獨的安 全設備接收由所述單獨的安全設備生成的所述非對稱密碼學運算的所述結果。
3. 根據權利要求2所述的認證設備,其中,所述單獨的安全設備包括可移除的智慧卡。
4. 根據權利要求2所述的認證設備,還包括適於接收在所述認證設備外部的至少一個 可變數據元素的數據輸入接口,並且其中,所述輸入值是使用所述至少一個外部可變數據 元素來生成的。
5. 根據權利要求4所述的認證設備,其中,所述數據輸入接口包括鍵盤。
6. 根據權利要求4所述的認證設備,其中,所述數據輸入接口包括光學數據輸入接口。
7. 根據權利要求4所述的認證設備,其中,所述數據輸入接口包括聲學數據輸入接口。
8. 根據權利要求4所述的認證設備,其中,所述至少一個外部可變數據元素包括挑戰。
9. 根據權利要求4所述的認證設備,其中,所述至少一個外部可變數據元素包括事務 處理數據。
10. 根據權利要求1或2所述的認證設備,還適於使用在所述認證設備內部的至少一個 可變數據元素來生成所述輸入值。
11. 根據權利要求10所述的認證設備,還包括實時時鐘,並且其中,所述至少一個內部 可變數據元素包括由所述實時時鐘提供的時間值。
12. 根據權利要求11所述的認證設備,還包括計數器,並且其中,所述至少一個內部可 變數據元素包括由所述計數器提供的計數器值。
13. 根據權利要求2所述的認證設備,還適於將與所述輸入值相關的數據包含在所述 認證消息中。
14. 根據權利要求13所述的認證設備,其中,所述與所述輸入值相關的數據包括所述 輸入值。
15. 根據權利要求1所述的認證設備,還包括第一安全數據存儲部件,其中,所述第一 安全數據存儲部件存儲所述第一私鑰,並且其中,所述認證設備還適於通過使用存儲在所 述第一安全數據存儲部件中的所述第一私鑰對所述輸入值執行所述非對稱密碼學運算來 執行所述非對稱密碼學運算並且生成所述非對稱密碼學運算的所述結果。
16. 根據權利要求2所述的認證設備,還包括第二安全數據存儲部件,其中,所述第二 安全數據存儲部件存儲秘密數據元素。
17. 根據權利要求16所述的認證設備,還適於通過將與所述輸入值相關的數據與第一 密碼學鑰在密碼學上相組合來生成與所述輸入值在密碼學上相關的數據、並且將所生成的 所述與所述輸入值在密碼學上相關的數據包含在所述認證消息中,其中,所述第一密碼學 鑰包含在所述秘密數據元素中或者是從所述秘密數據元素得出的。
18. 根據權利要求17所述的認證設備,其中,所述第一密碼學鑰包括與驗證實體共享 的對稱密碼學鑰,並且其中,所述在密碼學上相組合是使用對稱密碼學算法來進行的。
19. 根據權利要求17所述的認證設備,其中,所述第一密碼學鑰包括非對稱密碼學鑰, 並且其中,所述在密碼學上相組合是使用非對稱密碼學算法來進行的。
20. 根據權利要求17所述的認證設備,其中,所述第一密碼學鑰包括加密鑰,並且其 中,所述在密碼學上相組合包括使用加密算法來加密所述與所述輸入值相關的數據。
21. 根據權利要求16所述的認證設備,還適於通過將第二密碼學鑰與所述非對稱密碼 學運算的所述結果的至少一部分在密碼學上相組合來生成與所述非對稱密碼學運算的所 述結果在密碼學上相關的數據、並且將所生成的所述與所述非對稱密碼學運算的所述結果 在密碼學上相關的數據包含在所述認證消息中,並且其中,所述第二密碼學鑰包含在所述 秘密數據元素中或者是從所述秘密數據元素得出的。
22. 根據權利要求21所述的認證設備,其中,所述第二密碼學鑰包括與驗證實體共享 的對稱密碼學鑰,並且其中,所述在密碼學上相組合是使用對稱密碼學算法來進行的。
23. 根據權利要求21所述的認證設備,其中,所述第二密碼學鑰包括非對稱密碼學鑰, 並且其中,所述在密碼學上相組合是使用非對稱密碼學算法來進行的。
24. 根據權利要求21所述的認證設備,其中,所述第二密碼學鑰包括加密鑰,並且其 中,所述在密碼學上相組合包括使用加密算法來加密所述非對稱密碼學運算的所述結果的 至少一部分。
25. 根據權利要求2所述的認證設備,還適於將對與所述第一私鑰對應的公鑰的參考 包含在所述認證消息中。
26. 根據權利要求1或2所述的認證設備,還適於將用於標識所述認證設備的數據元素 包含在所述認證消息中。
27. 根據權利要求2所述的認證設備,還適於將用於標識用戶的數據元素包含在所述 認證消息中。
28. 根據權利要求2所述的認證設備,還適於將用於標識所述單獨的安全設備的數據 元素包含在所述認證消息中。
29. -種用於保護至少一個用戶遠程訪問基於計算機的應用的安全的方法,所述方法 包括以下步驟: 捕捉顯示在所述至少一個用戶的認證設備的顯示器上的一個或更多個圖像,其中,所 述一個或更多個圖像已被編碼有由所述認證設備生成的認證消息,並且其中,所述認證消 息包括基於由公-私鑰對中的第一私鑰參數化了的非對稱密碼學算法對輸入值的非對稱 密碼學運算的結果; 對所述一個或更多個圖像進行解碼以檢索所述認證消息; 從所述認證消息中檢索所述非對稱密碼學運算的所述結果; 驗證所述認證消息; 其中,驗證所述認證消息包括使用利用與所述第一私鑰對應的公鑰參數化了的非對稱 密碼學算法來驗證所檢索到的所述非對稱密碼學運算的所述結果。
30. 根據權利要求29所述的方法,其中,所述非對稱密碼學運算的所述結果包括利用 基於非對稱密碼學並且利用所述第一私鑰參數化了的數字籤名生成算法來生成的對所述 輸入值的數字籤名,並且其中,驗證所檢索到的所述非對稱密碼學運算的所述結果包括使 用基於非對稱密碼學並且利用所述公鑰參數化了的數字籤名驗證算法來驗證所述數字籤 名。
31. 根據權利要求29所述的方法,還包括通過使用包含在所述認證消息中的數據來獲 得所述公鑰的值。
32. 根據權利要求31所述的方法,其中,所述認證消息還包括標識所述至少一個用戶 的數據元素,並且其中,所述用戶標識數據元素被用來獲得所述公鑰的值。
33. 根據權利要求31所述的方法,其中,所述認證消息還包括標識執行了所述非對稱 密碼學運算的設備的數據元素,並且其中,所述設備標識數據元素被用來獲得所述公鑰的 值。
34. 根據權利要求29所述的方法,其中,所述認證消息還包括與所述輸入值相關的數 據,並且其中,驗證所述認證消息還包括驗證所述與所述輸入值相關的數據。
35. 根據權利要求29所述的方法,其中,所述認證消息還包括與所述輸入值在密碼學 上相關的數據元素,並且其中,驗證所述認證消息包括在密碼學上驗證與所述輸入值在密 碼學上相關的所述數據元素。
36. 根據權利要求35所述的方法,其中,所述認證消息還包括標識所述認證設備的數 據元素;其中,所述方法還包括使用所述認證設備標識數據元素來獲得第一密碼學鑰的值 的步驟;並且其中,在密碼學上驗證與所述輸入值在密碼學上相關的所述數據元素包括使 用利用所述第一密碼學鑰參數化了的密碼學算法。
37. 根據權利要求29所述的方法,其中,所述認證消息還包括與所述非對稱密碼學運 算的所述結果在密碼學上相關的數據元素,並且其中,驗證所述認證消息包括在密碼學上 驗證與所述非對稱密碼學運算的所述結果在密碼學上相關的所述數據元素。
38. 根據權利要求37所述的方法,其中,所述認證消息還包括標識所述認證設備的數 據元素;其中,所述方法還包括使用所述認證設備標識數據元素來獲得第二密碼學鑰的值 的步驟;並且其中,在密碼學上驗證與所述非對稱密碼學運算的所述結果在密碼學上相關 的所述數據元素包括使用利用所述第二密碼學鑰參數化了的密碼學算法。
39. 根據權利要求29所述的方法,其中,包含在所述認證消息中的所述非對稱密碼學 運算的所述結果包括至少一個經加密的部分,並且其中,從所述認證消息中檢索所述非對 稱密碼學運算的所述結果包括對所述至少一個經加密的部分進行解密。
40. 根據權利要求39所述的方法,其中,所述認證消息還包括標識所述認證設備的數 據元素;其中,所述方法還包括使用所述認證設備標識數據元素來獲得第三密碼學鑰的值 的步驟;並且其中,所述對所述至少一個經加密的部分進行解密包括使用利用所述第三密 碼學鑰參數化了的解密算法。
【文檔編號】H04L29/06GK104126292SQ201280070386
【公開日】2014年10月29日 申請日期:2012年12月28日 優先權日:2011年12月30日
【發明者】迪爾克·馬裡恩 申請人:威斯科數據安全國際有限公司