具有安全記錄特征的智能卡讀取器的制造方法
【專利摘要】本發(fā)明提供了一種安全智能卡讀取器,其能夠在表示可以是安全相關(guān)的事件和動作的數(shù)據(jù)上作出讀取器簽名,該數(shù)據(jù)可以包括表示讀取器從主機(jī)或遠(yuǎn)程應(yīng)用接收到的讀取器命令、讀取器與所插入的智能卡交換的智能卡命令、讀取器呈現(xiàn)給用戶以供批準(zhǔn)的數(shù)據(jù)、和/或讀取器在處理任何前述項時應(yīng)用的配置參數(shù)的數(shù)據(jù)。智能卡讀取器還可以適于保持可以包括與主機(jī)或遠(yuǎn)程應(yīng)用交換讀取器命令、與所插入的智能卡交換智能卡命令和/或與用戶的交互的特定事件和動作的日志。日志可以包括表示讀取器從主機(jī)或遠(yuǎn)程應(yīng)用接收到的讀取器命令、讀取器與所插入的智能卡交換的智能卡命令、讀取器呈現(xiàn)給用戶以供批準(zhǔn)的數(shù)據(jù)、和/或讀取器在處理任何前述項時應(yīng)用的配置參數(shù)的數(shù)據(jù)。該安全智能卡讀取器可以適于生成對這些日志中的一個或更多個日志的讀取器簽名。
【專利說明】具有安全記錄特征的智能卡讀取器
[0001]對相關(guān)申請的交叉引用
[0002]本申請涉及并且要求于2011年11月14日提交的美國臨時申請序列號61/559,503的權(quán)益,其全部內(nèi)容通過引用合并到本申請中。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明涉及用戶與服務(wù)經(jīng)由電子媒介、通過電子簽名的使用進(jìn)行的安全遠(yuǎn)程交互。更具體地,本發(fā)明涉及用于保護(hù)用戶利用智能卡進(jìn)行的電子數(shù)據(jù)的簽名的安全智能卡讀取器。
【背景技術(shù)】
[0004]用戶通過電子媒介對所有種類的服務(wù)的遠(yuǎn)程訪問以及與所有種類的服務(wù)的交互的越來越重要的作用已引發(fā)用戶能夠作出電子簽名的需求。為了安全的原因,這樣的電子簽名優(yōu)選地由于將利用與用戶相關(guān)聯(lián)的密碼學(xué)鑰而被參數(shù)化的密碼學(xué)算法應(yīng)用于一些電子數(shù)據(jù)而產(chǎn)生。在一些情況下,密碼學(xué)算法可以包括帶鑰哈希函數(shù),由此,密鑰和要被簽名的數(shù)據(jù)的組合被提交至單向密碼學(xué)哈希函數(shù)或摘要函數(shù)(如來自MD5、SHA-1、SHA-2或SHA-256哈希函數(shù)族的密碼學(xué)哈希函數(shù))并且所得到的哈?;蛘獦?gòu)成電子簽名。在其他情況下,密碼學(xué)算法可以包括對稱加密(或解密)塊密碼如可以在CBC (密碼塊鏈)模式中使用以生成可以構(gòu)成電子簽名的MAC(消息認(rèn)證碼)的(三重)DES(數(shù)據(jù)加密標(biāo)準(zhǔn))或AES(高級加密標(biāo)準(zhǔn))。在另一些情況下,例如在PKI (公鑰基礎(chǔ)設(shè)施)的上下文中,可以使用基于非對稱密碼學(xué)的電子簽名方案來生成電子簽名。在這些情況下,通常對要被簽名的數(shù)據(jù)進(jìn)行哈希操作或?qū)⒁缓灻臄?shù)據(jù)提交至摘要函數(shù),然后利用非對稱加密算法、使用用戶的私鑰對所得到的哈?;蛘M(jìn)行加密。用于生成電子簽名的非對稱密碼學(xué)算法的示例包括RSA(通用關(guān)鍵子密碼方法)和DSA(數(shù)字簽名算法)。為了增強(qiáng)移動性和安全性,通常把密鑰或私鑰存儲在通常也能夠執(zhí)行涉及該鑰的密碼學(xué)操作的單獨的安全容器中。生成電子簽名的一種普遍的解決方案包括:智能卡,智能卡包括用于安全地存儲一個或更多個密鑰或私鑰以及其他安全相關(guān)信息如PIN(個人識別碼)、安全配置文件、PIN嘗試計數(shù)器、…的安全存儲器;以及密碼學(xué)引擎,其用于使用這些密鑰或私鑰通過一些對稱或非對稱密碼學(xué)算法來生成從主機(jī)接收到的數(shù)據(jù)的密碼。大部分智能卡遵循至少部分IS0/IEC7816標(biāo)準(zhǔn)組。在許多情況下通過要求用戶輸入有效的PIN來保護(hù)智能卡的密碼學(xué)功能。
[0005] 在典型的使用案例中,用戶使用主機(jī)計算設(shè)備例如PC(個人計算機(jī))來與一些遠(yuǎn)程服務(wù)例如網(wǎng)上銀行網(wǎng)站交互。用戶具有被插入又與主機(jī)計算設(shè)備通信(即,能夠從主機(jī)計算設(shè)備接收指令并且向主機(jī)計算設(shè)備返回響應(yīng))的智能卡讀取器的智能卡(如上所述)。在典型的案例中,智能卡讀取器是通過USB (通用串行總線)連接附接至主機(jī)計算設(shè)備的相當(dāng)緊湊的設(shè)備。遠(yuǎn)程用戶在主機(jī)計算設(shè)備上審查要被簽名的文件或數(shù)據(jù)。當(dāng)用戶認(rèn)可要被簽名的文件或數(shù)據(jù)時,可以通過應(yīng)用(其可以是專用應(yīng)用或網(wǎng)頁瀏覽器)將文件或數(shù)據(jù)提交至密碼學(xué)庫以便被簽名文件。通常用于應(yīng)用和這樣的密碼學(xué)庫之間的接口的API (應(yīng)用編程接口)的示例包括MS-CAPI (微軟密碼學(xué)API)和由RSA實驗室公布的PKCS#11 (公鑰密碼學(xué)標(biāo)準(zhǔn)#11)指定并且通過引用合并到本申請中的API。密碼學(xué)庫(通常稱為中間件)可以將應(yīng)用對于簽名的請求轉(zhuǎn)換為通過智能卡讀取器與智能卡交換的一系列智能卡命令響應(yīng)指令。通常用于個人計算機(jī)上的這樣的智能卡讀取器驅(qū)動的API (應(yīng)用編程接口)是PC/SC(個人計算機(jī)/智能卡)。在由智能卡的實際簽名之前,通常要求用戶在主機(jī)計算設(shè)備上輸入然后被提交至智能卡用于認(rèn)證的PIN。在大多數(shù)情況下,智能卡讀取器是所謂的透明型,意思是其不執(zhí)行任何安全功能并且其本質(zhì)上僅僅是將來自主機(jī)計算設(shè)備(在下文中也稱為主計算機(jī)或主機(jī))的命令傳送至智能卡,并且將來自智能卡的響應(yīng)傳送至主計算機(jī)的傳輸媒介。
【發(fā)明內(nèi)容】
[0006]技術(shù)問題
[0007]盡管密碼學(xué)智能卡通常配備有各種復(fù)雜的技術(shù)來阻止各類攻擊,然而在上述場景中還是存在通過對智能卡采取措施不能解決的基本安全問題。一個基本問題是事實上在上文描繪的場景中(其對于智能卡用于生成電子簽名的方式是典型的)所有用戶交互,包括非常敏感的操作如PIN輸入發(fā)生在主計算機(jī)上。但是在大多數(shù)情況下不認(rèn)為主計算機(jī)是值得信賴的安全平臺。實際上大部分主計算機(jī)設(shè)備是PC或類似的設(shè)備,由于其本質(zhì)是公開通用計算機(jī)平臺,所以通常很容易受到各種病毒和惡意軟件的攻擊。這使上述場景的設(shè)置非常容易受到攻擊,其中用戶主計算機(jī)上的惡意軟件干預(yù)主計算機(jī)的用戶接口例如以獲得用戶輸入的PIN(例如通過按鍵記錄器的用戶),或者甚至通過在將數(shù)據(jù)發(fā)送至智能卡用于簽名之前,使用欺騙性數(shù)據(jù)代替要被簽名的用戶已審查并且批準(zhǔn)的數(shù)據(jù)。
[0008]一種解決方案是提供配備有安全鍵盤(或用于接受來自用戶的數(shù)據(jù)的一些其他安全用戶數(shù)據(jù)接口)的智能卡讀取器,智能卡讀取器使得用戶能夠在讀取器而不是在不安全的主機(jī)上輸入卡的PIN,然后讀取器然后可以將所輸入的PIN在不通過主機(jī)的情況下直接提交至卡。然而,該解決方案不能防御干預(yù)要被簽名的數(shù)據(jù)的攻擊,由此實際上提交至智能卡用于簽名的數(shù)據(jù)與用戶在主機(jī)上已經(jīng)審閱并且批準(zhǔn)的數(shù)據(jù)不同。
[0009]為了解決該問題,可以為智能卡讀取器配備安全顯示器(或向用戶呈現(xiàn)信息的一些其他安全用戶輸出接口)用于在將數(shù)據(jù)提交至卡之前將要被簽名的數(shù)據(jù)呈現(xiàn)給用戶用于批準(zhǔn)。然而,如此可以比較容易地規(guī)避該解決方案。實際上,這足以使主計算機(jī)上的惡意軟件邀請用戶批準(zhǔn)主計算機(jī)上的數(shù)據(jù)并且輸入卡的PIN,然后惡意軟件可以使用欺騙性數(shù)據(jù)代替已批準(zhǔn)的數(shù)據(jù)并且在不使用讀取器的安全數(shù)據(jù)批準(zhǔn)特征的情況下直接將欺騙性數(shù)據(jù)提交至卡(通過把讀取器用作透明讀取器)??梢酝ㄟ^某種社會工程來說服用戶接收這個,例如通過惡意軟件宣稱讀取器存在一些技術(shù)故障阻礙讀取器的安全顯示器上的數(shù)據(jù)審查。
[0010]為了防止該最后一種攻擊,讀取器可以提供某種防火墻,S卩,讀取器可以掃描每個傳入的智能卡命令并且檢查其是否對應(yīng)于簽名命令。在所接收到的命令是簽名卡命令的情況下,讀取器然后可以采取適當(dāng)?shù)拇胧﹣泶_保主機(jī)不能向包括沒有在讀取器安全顯示器上呈現(xiàn)給用戶并且由用戶批準(zhǔn)的數(shù)據(jù)的卡發(fā)送簽名命令。例如,讀取器可以自動組織命令(例如當(dāng)讀取器支持安全簽名讀取器命令時,其中主機(jī)向讀取器提交要被簽名的數(shù)據(jù),隨之讀取器會在其安全顯示器上將數(shù)據(jù)呈現(xiàn)給用戶并且在用戶批準(zhǔn)后構(gòu)建包括已批準(zhǔn)的數(shù)據(jù)的簽名命令并且將其發(fā)送給用戶)。可替選地,讀取器可以從所接收到的命令中提取要被簽名的數(shù)據(jù),將該數(shù)據(jù)呈現(xiàn)給用戶,并且僅在用戶批準(zhǔn)后使得能夠?qū)⒑灻顐魉椭量ā?br>
[0011]這樣的安全智能卡讀取器支持在讀取器鍵盤上的安全PIN輸入、在讀取器顯示器上的簽名數(shù)據(jù)的安全審查和批準(zhǔn)、以及防火墻,竭盡全力阻止攻擊。然而,仍然存在一些問題。具體地,仍然存在以下兩個問題。
[0012]首先,讀取器防火墻適合由具體的智能卡支持的簽名命令。在實際應(yīng)用中,用于對數(shù)據(jù)進(jìn)行簽名的智能卡的命令集不是標(biāo)準(zhǔn)的。因此,同一讀取器可以很好地保護(hù)第一類型的智能卡,但是不能保護(hù)第二類型的智能卡(支持不能由讀取器防火墻識別的簽名命令)。如果用戶改變簽名智能卡的類型或希望使用不同類型的智能卡,則這可能會帶來安全問題??梢酝ㄟ^使防火墻可重構(gòu)來解決這個問題,然而為了不引入安全漏洞,防火墻的重構(gòu)必須根據(jù)安全程序來發(fā)生,安全程序非常可能對讀取器造成沉重負(fù)擔(dān)和/或降低讀取器的使用便利性。
[0013]另一問題是該解決方案不阻止攻擊者說服用戶在不安全的或已篡改的智能卡讀取器上使用他們的簽名智能卡。
[0014]因此,需要能夠以安全方式支持多種不同類型的智能卡并且另外還提供阻止攻擊者說服用戶通過不安全的讀取器來使用他或她的智能卡的攻擊的方法。
[0015]技術(shù)解決方案
[0016]下文給出本發(fā)明的簡化的概要,以便提供本文中描述的一些方面的基本理解。此概述不是所要求保護(hù)的主題的詳盡概述。它既不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵或重要元素,也不旨在描述本發(fā)明的范圍。其唯一的目的是以簡化形式給出所要求保護(hù)的主題的一些概念,作為稍后給出的更詳細(xì)的描述的序言。
[0017]本發(fā)明基于發(fā)明人的見解:盡管保證攻擊者不能說服用戶使用不安全的卡讀取器而不使用安全的卡讀取器是非常困難的或者甚至是不可能的,然而檢測使用了不安全的卡讀取器足以阻止這樣的攻擊。
[0018]在根據(jù)本發(fā)明的一種實施方式中,檢測使用了不安全卡讀取器的方法包括:使用戶使用提供其被使用過的證明的安全卡讀取器,而在不存在這樣的證明的情況下假定(或斷定)替代地使用了不安全的卡讀取器。
[0019]根據(jù)本發(fā)明的另一實施方式包括一種智能卡讀取器,該智能卡讀取器適于證明:其已用于通過自己生成表示安全相關(guān)事件和動作的數(shù)據(jù)上的讀取器簽名來將要被簽名的數(shù)據(jù)安全呈現(xiàn)給用戶,從用戶獲得該簽名操作的批準(zhǔn)并且從卡得到已批準(zhǔn)的數(shù)據(jù)上的簽名。在一種實施方式中,讀取器適于提供其呈現(xiàn)給用戶以供批準(zhǔn)并且提交至卡供簽名的數(shù)據(jù)的表示上的電子簽名。在一些實施方式中,讀取器可以向應(yīng)用返回由讀取器生成的讀取器簽名連同要被簽名的數(shù)據(jù)上的所請求的卡簽名。
[0020]本發(fā)明還基于發(fā)明人的見解:如果主計算機(jī)能夠?qū)⒃撔畔鬟f給讀取器,并且如果讀取器能夠提供發(fā)生在安全讀取器上的動作(例如,將哪些數(shù)據(jù)呈現(xiàn)給用戶以供批準(zhǔn))以及與卡交換了哪些命令(例如,使用了哪些簽名命令以及通過哪個有效荷載)的證明,則讀取器可能不需要具有敏感智能卡命令的精確知識。這可以使得能夠檢測實際發(fā)生了什么與假設(shè)已經(jīng)發(fā)生了什么之間的任何差異。這又表示對于防火墻的需求可能較小,或者可以對防火墻進(jìn)行較少的限制,使得讀取器相對于正在使用的卡的類型和這些卡的使用模式方面可以更靈活。
[0021]在根據(jù)本發(fā)明的一些實施方式中,安全智能卡讀取器適于提供其呈現(xiàn)給用戶以供批準(zhǔn)并且提交至卡以供簽名的數(shù)據(jù)的表示與表示如何使用了安全讀取器——例如從主計算機(jī)接收了哪些命令和/或已經(jīng)發(fā)生哪些用戶交互和/或者當(dāng)執(zhí)行在從主機(jī)接收到的命令中所請求的操作時讀取器應(yīng)用了哪些設(shè)置或配置參數(shù)和/或發(fā)生的用戶交互和/或讀取器與智能卡交換了哪些命令——的數(shù)據(jù)的表示的組合上的電子簽名。
[0022]在一些實施方式中,安全智能卡讀取器適于保持用于記錄表示讀取器與主機(jī)交換的命令和/或與用戶的交互和/或與智能卡交換的命令的數(shù)據(jù)的一個或更多個日志。在一些實施方式中,讀取器可以適于作出包括這些日志中的一個或更多個的內(nèi)容的表示的數(shù)據(jù)上的讀取器簽名。在一些實施方式中,例如,當(dāng)與用戶交互或者當(dāng)與智能卡交換命令時,已經(jīng)應(yīng)用的配置參數(shù)或設(shè)置也可以包括在讀取器簽名的數(shù)據(jù)中。
[0023]在一些實施方式中,當(dāng)進(jìn)入具體的安全模式時,讀取器可以開始記錄。在一些實施方式中,響應(yīng)于讀取器從主機(jī)接收到的特定讀取器命令,讀取器可以進(jìn)入這樣的具體的安全模式。在一些實施方式中,響應(yīng)于與卡相關(guān)的事件如卡插入,讀取器可以進(jìn)入這樣的具體的安全模式。在一些實施方式中,當(dāng)進(jìn)入其支持的一個或更多個安全模式時,讀取器可以重置其自動保持的一個或更多個日志。在一些實施方式中,響應(yīng)于對與卡相關(guān)的事件如卡插入或卡移除,讀取器可以重置其自動保持的一個或更多個日志。在一些實施方式中,讀取器可以記錄當(dāng)在安全模式下時其與智能卡交換的任意智能卡命令。在一些實施方式中,讀取器可以記錄當(dāng)在安全模式下時讀取器與主機(jī)交換的任意讀取器命令。在一些實施方式中,讀取器可以記錄其呈現(xiàn)給用戶以供批準(zhǔn)的數(shù)據(jù)。在一些實施方式中,讀取器可以記錄是否通過讀取器將用戶已批準(zhǔn)的數(shù)據(jù)呈現(xiàn)給用戶。在一些實施方式中,讀取器可以記錄安全PIN輸入功能是否用于輸入并且驗證用戶的智能卡的PIN。
[0024]在一些實施方式中,安全智能卡讀取器可以保持添加至一個或更多個日志的數(shù)據(jù)的備份,并且當(dāng)將數(shù)據(jù)添加至日志時讀取器可以將新數(shù)據(jù)與已經(jīng)記錄的數(shù)據(jù)聯(lián)系起來。在一些實施方式中,安全智能卡讀取器可以將關(guān)于添加至這些日志的數(shù)據(jù)的一個或更多個哈希值與一個或更多個日志相關(guān)聯(lián),并且當(dāng)將數(shù)據(jù)添加至這樣的日志時,讀取器可以更新與正在添加的數(shù)據(jù)相關(guān)聯(lián)的哈希值。
[0025]在一些實施方式中,安全智能卡讀取器支持將一個日志的內(nèi)容添加至另一日志的內(nèi)容的可能性。在一些實施方式中,安全智能卡讀取器適于將日志的內(nèi)容作為智能卡命令發(fā)送至卡。在一些實施方式中,安全智能卡讀取器適于將日志的內(nèi)容作為智能卡命令的一部分發(fā)送至卡。在一些實施方式中,安全智能卡讀取器適于生成對一個或更多個日志的內(nèi)容或部分內(nèi)容的讀取器簽名。
[0026]在一些實施方式中,安全智能卡讀取器包括用于存儲與密碼學(xué)算法一起使用以生成讀取器簽名的一個或更多個秘密或私有讀取器鑰的安全存儲器。在一些實施方式中,安全智能卡使用其來生成讀取器簽名的密碼學(xué)算法包括對稱加密或解密算法如DES或AES、密碼學(xué)帶鑰哈希算法(例如基于SHA-1或SHA-256)以及密碼學(xué)摘要函數(shù)(例如基于SHA-1或SHA-256)中的至少一個或基于非對稱密碼學(xué)的數(shù)字簽名算法(例如基于RSA算法或DSA算法或橢圓曲線)中的至少一個。[0027]本發(fā)明的一個方面提供了用于生成與所插入的智能卡相關(guān)聯(lián)的電子簽名的智能卡讀取器,包括:用于與主計算機(jī)通信的通信接口 ;用于與智能卡通信的智能卡連接器;用于安全地存儲一個或更多個密碼學(xué)鑰的第一存儲器部件;用于存儲日志的第二存儲器部件;用戶接口,包括向用戶呈現(xiàn)信息的用戶數(shù)據(jù)接口以及用于接收用戶指示的用戶輸入接口 ;用于與主計算機(jī)通信,與智能卡通信以及驅(qū)動用戶接口的數(shù)據(jù)處理部件;智能卡讀取器適于使用智能卡連接器與智能卡交換智能卡命令;智能卡讀取器還適于工作在安全記錄模式下,在安全記錄模式下,智能卡讀取器在日志中記錄關(guān)于讀取器或讀取器的使用的日志安全相關(guān)事件;并且智能卡讀取器還適于使用存儲在第一存儲器中的一個或更多個密碼學(xué)鑰中的至少一個密碼學(xué)鑰來生成所述日志上的讀取器簽名。
[0028]在一組實施方式中,智能卡讀取器還適于執(zhí)行從主計算機(jī)接收到的讀取器命令并且在日志中記錄所接收到的讀取器命令中的至少一些讀取器命令。在一些實施方式中,智能卡讀取器還適于支持用于指示讀取器執(zhí)行以下操作的一個或更多個讀取器命令:向用戶呈現(xiàn)數(shù)據(jù)以供用戶審查和批準(zhǔn);使用輸出接口向用戶呈現(xiàn)供審查和批準(zhǔn)的數(shù)據(jù);使用輸入接口捕捉用戶對供審查和批準(zhǔn)的數(shù)據(jù)的批準(zhǔn)或拒絕;以及在日志中記錄供審核和批準(zhǔn)的數(shù)據(jù)。
[0029]在另一組實施方式中,智能卡讀取器還適于在所述日志中記錄一些在主機(jī)與智能卡之間交換的至少一些透明智能卡命令。在一些實施方式中,讀取器記錄的透明智能卡命令包括用于向所插入的智能卡提交要由智能卡簽名的數(shù)據(jù)的透明智能卡命令。在其他實施方式中,讀取器記錄的透明智能卡命令包括用于從所插入的智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的透明智能卡命令。在又一實施方式中,讀取器適于在從第一時間點至第二時間點的時段內(nèi)記錄所有透明智能卡命令。在這些實施方式中的一些實施方式中,其中讀取器記錄所有透明智能卡命令的時段包括:其中將要被簽名的數(shù)據(jù)提交至所插入的智能卡的時段;或者其中從所插入的智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的時段。
[0030]在又一組實施方式中,智能卡讀取器存儲至少部分地確定讀取器存儲哪些日志的一組配置數(shù)據(jù)。在一些實施方式中,智能卡讀取器適于記錄當(dāng)前組配置數(shù)據(jù)。在這些實施方式中的一些實施方式中,讀取器支持用于改變該組配置數(shù)據(jù)的一個或更多個讀取器命令。[0031 ] 在再一組實施方式中,智能卡讀取器還包括時鐘并且適于向日志添加一個或更多個時間戳。在一些實施方式中,智能卡讀取器適于向所記錄的事件中的至少一些事件添加時間戳。
[0032]在另一組實施方式中,智能卡讀取器還適于通過讀取器命令接收挑戰(zhàn)并且記錄所接收到的挑戰(zhàn)。
[0033]在另一組實施方式中,智能卡讀取器還包括計數(shù)器并且還適于記錄與所述計數(shù)器相關(guān)的值。在這些實施方式中的一些實施方式中,智能卡讀取器還適于當(dāng)進(jìn)入安全記錄模式時或者當(dāng)生成日志上的讀取器簽名時自動遞增計數(shù)器值。
[0034]在另一組實施方式中,日志包括多個日志文件,以及日志上的讀取器簽名包括對多個日志文件的多個簽名。
[0035]在另一組實施方式中,智能卡讀取器還適于支持用于驗證用戶身份的讀取器命令。在這些實施方式中的一些實施方式中,智能卡讀取器還適于記錄驗證用戶身份的結(jié)果。在這些實施方式中的一些其他實施方式中,智能卡讀取器還適于請求用戶在用戶輸入接口上輸入PIN值、在用戶輸入接口上捕捉用戶輸入的PIN值、并且將所捕捉到的PIN值提交至所插入的智能卡以供驗證。
[0036]本發(fā)明的另一方面提供了一種用于生成對要被簽名的數(shù)據(jù)的電子簽名的方法,包括以下步驟:將智能卡讀取器連接至主計算機(jī);將智能卡插入讀取器中;讀取器進(jìn)入安全記錄模式;向讀取器提交供用戶審查和批準(zhǔn)的數(shù)據(jù);由讀取器使用讀取器上的用戶輸出接口來向用戶呈現(xiàn)供用戶審查和批準(zhǔn)的數(shù)據(jù);由讀取器使用讀取器上的用戶輸入接口來捕捉用戶對所呈現(xiàn)的數(shù)據(jù)的批準(zhǔn);由讀取器在讀取器上的日志中記錄供審查和批準(zhǔn)的數(shù)據(jù);向所插入的智能卡提交要被簽名的數(shù)據(jù),然后由所插入的智能卡生成對所提交的要被簽名的數(shù)據(jù)的電子卡簽名,然后從所插入的智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名;由讀取器使用利用存儲在讀取器中的密碼學(xué)鑰而被參數(shù)化的密碼學(xué)數(shù)據(jù)簽名算法來生成對讀取器上的日志的電子讀取器簽名,以及然后獲得由讀取器生成的對日志的電子讀取器簽名。在一些實施方式中,方法還包括以下步驟:由讀取器將已提交至卡的要被簽名的數(shù)據(jù)或者由所插入的智能卡生成的電子卡簽名記錄在讀取器上的日志中。
[0037]在一組實施方式中,方法還包括:向所插入的智能卡提交要被簽名的數(shù)據(jù),并且從所插入的智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名包括主計算機(jī)使用智能卡讀取器與所插入的智能卡交換透明智能卡命令;以及由讀取器在讀取器上的日志中記錄被提交至卡的要被簽名的數(shù)據(jù)或者由所插入的智能卡生成的電子卡簽名包括:由讀取器在讀取器上的日志中記錄所交換的透明智能卡命令中的至少一些透明智能卡命令。在這些實施方式中的一些實施方式中,主計算機(jī)使用智能卡讀取器與所插入的智能卡交換的透明智能卡命令至少包括:用于向所插入的智能卡提交要被簽名的數(shù)據(jù)的透明智能卡命令;以及讀取器在讀取器上的日志中記錄的所交換的透明智能卡命令中的至少一些透明智能卡命令至少包括:用于向所插入的智能卡提交要被簽名的數(shù)據(jù)的透明智能卡命令;或者用于從所插入的智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的透明智能卡命令。在這些實施方式中的一些實施方式中,讀取器在讀取器上的日志中記錄的所交換的透明智能卡命令中的至少一些透明智能卡命令包括在特定時段期間所交換的所有透明智能卡命令。在這些其他實施方式中的一些實施方式中,其中讀取器記錄全部所交換的透明智能卡命令的時段包括:其中將要被簽名的數(shù)據(jù)提交至所插入的智能卡的時段;或者其中從所插入的智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的時段。
[0038]在另一組實施方式中,方法還包括在讀取器上配置至少部分地確定讀取器在讀取器上的日志中記錄哪些事件的一組配置數(shù)據(jù)。這些實施方式中的一些實施方式還包括以下步驟:由讀取器在讀取器上的日志中記錄當(dāng)前組配置數(shù)據(jù)。這些實施方式中的一些實施方式還包括配置該組配置數(shù)據(jù)使得讀取器在讀取器上的日志中記錄供審查和批準(zhǔn)的數(shù)據(jù)。這些實施方式中的一些其他實施方式還包括配置該組配置數(shù)據(jù)使得讀取器在讀取器上的日志中記錄被提交至卡的要被簽名的數(shù)據(jù)或者由所插入的智能卡生成的電子卡簽名。其他實施方式還包括配置該組配置數(shù)據(jù)使得讀取器在讀取器上的日志中記錄用于向用戶呈現(xiàn)數(shù)據(jù)供審查和批準(zhǔn)的讀取器命令。其他實施方式還包括配置該組配置數(shù)據(jù)使得讀取器在讀取器上的日志中記錄一組透明智能卡命令。這些實施方式中的一些實施方式還包括配置該組配置數(shù)據(jù)使得讀取器在讀取器上的日志中記錄包括用于向所插入的智能卡提交要被簽名的數(shù)據(jù)或者用于從所插入的智能卡獲得被提交至智能卡的數(shù)據(jù)上的所生成的電子簽名的智能卡命令的一組透明智能卡命令。
[0039]本發(fā)明的再一方面提供了用于保護(hù)用戶訪問應(yīng)用的方法,包括以下步驟:向用戶提供用于對數(shù)據(jù)進(jìn)行簽名的智能卡;向用戶提供根據(jù)上述實施方式中的任意一種實施方式的智能卡讀取器;向用戶提供與來自讀取器所連接的主計算機(jī)的應(yīng)用的交互;匯集交易數(shù)據(jù);匯集與所匯集的交易數(shù)據(jù)相關(guān)的要被審查和批準(zhǔn)的數(shù)據(jù);匯集與所匯集的交易數(shù)據(jù)相關(guān)的要被簽名的數(shù)據(jù);確保智能卡被插入智能卡讀取器中;確保讀取器進(jìn)入安全記錄模式;向讀取器提交用于由用戶審查和批準(zhǔn)的數(shù)據(jù);由讀取器使用讀取器上的用戶輸出接口來向用戶呈現(xiàn)供用戶審查和批準(zhǔn)的數(shù)據(jù);由讀取器使用讀取器上的用戶輸入接口來捕捉用戶對所呈現(xiàn)的數(shù)據(jù)的批準(zhǔn);由讀取器在讀取器上的日志中記錄供審查和批準(zhǔn)的數(shù)據(jù);向所插入的智能卡提交要被簽名的數(shù)據(jù),然后由所插入的智能卡生成對所提交的要被簽名的數(shù)據(jù)的電子卡簽名,以及然后從所插入的智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名;由讀取器在讀取器上的日志中記錄被提交至卡的要被簽名的數(shù)據(jù)或者由所插入的智能卡生成的電子卡簽名;由讀取器使用利用存儲在讀取器中的密碼學(xué)鑰而被參數(shù)化的密碼學(xué)數(shù)據(jù)簽名算法來生成對讀取器上的日志的電子讀取器簽名,以及然后獲得由讀取器生成的對日志的電子讀取器簽名;驗證所獲得的電子卡簽名;驗證所獲得的由讀取器生成的對日志的電子讀取器簽名;驗證由讀取器簽名的日志和所匯集的交易數(shù)據(jù)之間的一致性。
[0040]在本方法的一些實施方式中,向所插入的智能卡提交要被簽名的數(shù)據(jù)包括:在主計算機(jī)與所插入的智能卡之間交換用于向智能卡提交要被簽名的數(shù)據(jù)的透明智能卡命令;并且其中,由讀取器在讀取器上的日志中記錄提交至卡的要被簽名的數(shù)據(jù)或者由所插入的智能卡生成的電子卡簽名包括:記錄在主計算機(jī)與所插入的智能卡之間交換的、用于向智能卡提交要被簽名的數(shù)據(jù),或者用于檢索被提交至卡以供簽名的數(shù)據(jù)上的由所插入的智能卡生成的電子卡簽名的透明智能卡命令。
[0041]有益效果
[0042]本發(fā)明的重要優(yōu)點在于:其使得能夠檢測其中攻擊者說服用戶使用不安全讀取器來使用他或她的簽名卡的攻擊。本發(fā)明的另一優(yōu)點在于:其使得能夠檢測在讀取器上和/或使用卡應(yīng)該發(fā)生的事件與實際發(fā)生的事件之間的不一致性,使得由讀取器應(yīng)用的防火墻能夠放寬,其中又表示可以與更大范圍的卡一起使用讀取器或在更大范圍的用例中使用讀取器。
[0043]本發(fā)明的更多優(yōu)點對本領(lǐng)域的技術(shù)人員來說是明顯的。
【專利附圖】
【附圖說明】
[0044]如附圖所示,根據(jù)下面的本發(fā)明的若干實施方式的更具體的描述,本發(fā)明的前述以及其他特征和優(yōu)點將變得明顯。
[0045]下面的描述和附圖詳細(xì)闡述了所要求保護(hù)的主題的特定說明性方面。然而,這些方面僅表示了可以利用本發(fā)明的原理的各種方式中的幾種方式,并且所要求保護(hù)的主題意在包括所有這樣的方面及其等同。當(dāng)結(jié)合附圖考慮時,根據(jù)下面的本發(fā)明的方面的詳細(xì)描述,所要求保護(hù)的主題的其他優(yōu)點和新穎特征會變得明顯。
[0046]下文結(jié)合附圖闡述的詳細(xì)描述旨在作為本發(fā)明的一些實施方式的描述,而并不旨在僅表示可以構(gòu)造和/或利用本發(fā)明的形式。該描述結(jié)合所示出的實施方式闡述了用于構(gòu)造本發(fā)明的功能和操作本發(fā)明的步驟順序。然而,應(yīng)當(dāng)理解的是,可以通過也意在包括在本發(fā)明的范圍內(nèi)的不同的實施方式來實現(xiàn)相同或等同的功能與順序。
[0047]參照附圖描述了所要求保護(hù)的主題,其中貫穿附圖同樣的附圖標(biāo)記用于指代同樣的元件。在下面的描述中,為了說明的目的,闡述了大量具體細(xì)節(jié)以提供對本發(fā)明的透徹理解。然而,明顯的是,在沒有這些具體細(xì)節(jié)的情況下也可以實踐所要求保護(hù)的主題。在其他情況下,以框圖形式示出公知的結(jié)構(gòu)和設(shè)備以便于對本發(fā)明進(jìn)行描述。
[0048]圖1示出了根據(jù)本發(fā)明的一種實施方式的安全智能卡讀取器;
[0049]圖2示出了根據(jù)本發(fā)明的一個方面的用于進(jìn)行安全交易的系統(tǒng);以及
[0050]圖3a和圖3b示出了根據(jù)本發(fā)明的一個方面的用于保護(hù)遠(yuǎn)程交易安全的方法。[0051 ] 用于執(zhí)行本發(fā)明的模式
[0052]圖1示出了根據(jù)本發(fā)明的一個方面的安全智能卡讀取器(100),包括:用于與主計算機(jī)(99)通信的通信接口(110);用于接受智能卡(98)的智能卡讀取器插槽(120);用于與智能卡(98)通信的智能卡連接器(130);用于安全地存儲一個或更多個密碼學(xué)鑰和/或一個或更多個日志文件的至少一個存儲器部件(140);用戶接口,包括用于向用戶呈現(xiàn)信息的用戶輸出接口(151)和用于接收用戶指示的用戶輸入接口(152);用于與主計算機(jī)(99)通信,與智能卡(98)通信以及驅(qū)動用戶接口(151/152)的一個或更多個處理部件(160)。智能卡讀取器100還適于工作在安全記錄模式下,在安全記錄模式下,智能卡讀取器(100)保持日志,日志的內(nèi)容與安全相關(guān),并且可以表示涉及讀取器和/或讀取器的使用,當(dāng)讀取器處于安全記錄模式下時發(fā)生的并且可能對安全等級有影響的至少一些安全相關(guān)事件。讀取器可以適于以該方式在日志文件中記錄的事件包括:讀取器從應(yīng)用(例如,主機(jī)上的本地應(yīng)用或與主計算機(jī)連接的服務(wù)器上的遠(yuǎn)程應(yīng)用)接收到的讀取器命令例如向用戶呈現(xiàn)數(shù)據(jù)供審查和批準(zhǔn)的讀取器命令或用于設(shè)置或改變特定配置數(shù)據(jù)的讀取器命令;讀取器與所插入的智能卡交換的(和讀取器可能已從應(yīng)用接收到的)智能卡命令例如使卡簽名數(shù)據(jù)的智能卡命令;用戶交互如用戶批準(zhǔn)或拒絕讀取器呈現(xiàn)給用戶的數(shù)據(jù);與安全相關(guān)的其他事件如表示意圖篡改讀取器的情況的檢測。智能卡讀取器(100)還適于使用由至少一個存儲器部件(140)存儲的一個或更多個密碼學(xué)鑰中的至少一個密碼學(xué)鑰生成所述日志上的讀取器簽名。為了生成讀取器簽名,讀取器可以包括處理部件(162),處理部件(162)包括能夠使用由至少一個存儲器部件(140)存儲的一個或更多個密碼學(xué)鑰中的至少一個密碼學(xué)鑰來進(jìn)行密碼學(xué)計算的密碼學(xué)引擎。在一些實施方式中,處理裝置(160)可以包括處理部件(162)。在一些實施方式中,上述部件可以包括在殼體(170)中。在一些實施方式中,讀取器可以適于通過在利用存儲在讀取器的至少一個存儲器部件(140)中的公-私鑰對中的私鑰而被參數(shù)化的日志文件的內(nèi)容(或其表示,如摘要或密碼學(xué)哈希)上應(yīng)用非對稱密碼學(xué)算法來生成對所述日志文件的讀取器簽名。
[0053]在一些實施方式中,用于與主計算機(jī)(99)通信的通信接口(110)可以包括USB接口,USB接口可以包括可以用于將具有USB線纜(97)的讀取器(100)連接至主計算機(jī)(99)的USB端口的USB連接器。在一些實施方式中,用于與主計算機(jī)(99)通信的處理裝置(160)可以適于支持與主計算機(jī)(99)通信的USB協(xié)議。在一些實施方式中,USB線纜(97)可以固定至讀取器(100)。在其他實施方式中,USB線纜(97)可以是從讀取器(100)可拆卸的。[0054]在一些實施方式中,智能卡(98)符合智能卡的IS0/IEC7816規(guī)范的至少一部分或與智能卡的IS0/IEC7816規(guī)范的至少一部分兼容,以及用于接受智能卡(98)的智能卡讀取器插槽(120)、用于與智能卡(98)通信的智能卡連接器(130)和用于與智能卡(98)通信的處理裝置(160)適于處理符合智能卡的IS0/IEC7816規(guī)范的至少一部分或與智能卡的ISO/IEC7816規(guī)范的至少一部分兼容的智能卡,并且適于根據(jù)IS0/IEC7816規(guī)范的至少一部分處理協(xié)議。
[0055]在一些實施方式中,智能卡(98)可以支持密碼學(xué)功能以對數(shù)據(jù)進(jìn)行簽名。在一些實施方式中,智能卡可以支持基于對稱密碼學(xué)的數(shù)據(jù)簽名功能。在一些實施方式中,智能卡可以支持基于非對稱密碼學(xué)的數(shù)據(jù)簽名功能。在一些實施方式中,智能卡包括安全地存儲一個或更多個對稱或非對稱密碼學(xué)鑰的安全存儲器。在一些實施方式中,智能卡包括執(zhí)行密碼學(xué)操作如對稱或非對稱加密或解密以及基于對稱或非對稱密碼學(xué)的數(shù)據(jù)簽名操作的安全密碼學(xué)代理。在一些實施方式中,智能卡的安全密碼學(xué)代理可以適于使用存儲在智能卡的安全存儲器中的一個或更多個密碼學(xué)鑰。在一些實施方式中,由智能卡支持的操作或功能中的一些操作或功能可以通過PIN值的正確輸入來保護(hù),或者可以以PIN值的正確輸入為條件。
[0056]在一些實施方式中,智能卡讀取器(100)可以包括提供時間值的時鐘(180)。在一些實施方式中,該時鐘(180)可以包括實時時鐘。在一些實施方式中,智能卡讀取器可以使用由時鐘(180)提供的時間值來對特定數(shù)據(jù)、動作或事件加時間戳。在一些實施方式中,時間值可以表示絕對實時時間,即,讀取器的時間值與真實通用時間有直接關(guān)系。在其他實施方式中,時間值可以是相對于某個讀取器具體事件如生產(chǎn)讀取器的時刻的值。在一些實施方式中,讀取器的時間值可以是例如Unix時間(在一些實施方式中,在某個精度范圍內(nèi))、GMT (格林威治標(biāo)準(zhǔn)時間)或UMT (通用度量時間)時間。在一些實施方式中,實時時鐘可以表不某個精度范圍內(nèi)的當(dāng)前時間。在一些實施方式中,時鐘(180)表不與服務(wù)器的時鐘的值同步(在某個精度范圍內(nèi))的時間值。
[0057]篡改證據(jù)、篡改檢測和防篡改
[0058]在一些實施方式中,安全智能卡讀取器(100)適于確保檢測和/或抵御篡改讀取器的意圖。在一些實施方式中,智能卡讀取器(100)的殼體(170)適于抵御殼體的打開和/或增加用戶可以通過殼體(170)的變形(篡改證據(jù))注意到打開殼體(170)的意圖的可能性。在一些實施方式中,可以將共同組成殼體(170)的部分焊接或膠合在一起使得卸下這些部分的意圖通常會導(dǎo)致殼體(170)的明顯變形。在一些實施方式中,讀取器(100)包括檢測殼體(170)的打開的開關(guān)。在一些實施方式中,讀取器(100)適于在檢測到篡改的意圖時采取適當(dāng)?shù)膭幼?。在一些實施方式中,在檢測到篡改讀取器(100)的意圖時,讀取器(100)可以擦除特定敏感數(shù)據(jù)如密碼學(xué)鑰,或者讀取器(100)可以(可能不可逆地)進(jìn)入錯誤模式,或者停止工作。在一些實施方式中,讀取器(100)可以設(shè)置以及存儲與篡改意圖的檢測有關(guān)的信息(如篡改意圖的日期、時間和/或類型),并且將該信息包括在隨后的讀取器簽名計算中。
[0059]在一些實施方式中,讀取器(100)可以包括例如即使在沒有連接至主計算機(jī)(99)的情況下仍然變得或保持主動的自主電源,例如以確保主動篡改檢測,以使得時鐘(180)能夠保持實時,或給易失存儲器(140)供電。在一些實施方式中,電源可以包括電池。在一些實施方式中,電池可以是可替換的。
[0060]讀取器(100)可以具有安全用戶輸出接口(例如,安全顯示器)和安全輸入接口(例如,安全鍵盤)。在一些實施方式中,讀取器具有輸出接口,由于輸出接口完全由讀取器來控制,并且由于其不能用于通過讀取器外部的進(jìn)程來向用戶呈現(xiàn)數(shù)據(jù)或信息,除非該進(jìn)程是由讀取器授權(quán)并且控制的,所以輸出接口是安全的。在一些實施方式中,讀取器具有輸入接口,由于輸入接口完全由讀取器來控制,并且由于其不能用于通過讀取器外部的進(jìn)程來從用戶獲得數(shù)據(jù)或信息,除非該進(jìn)程是由讀取器授權(quán)并且控制的,所以輸入接口是安全的。在一些實施方式中,通過不允許對其固件進(jìn)行任何更改或提供僅允許通過確保讀取器僅接受來自可信來源的授權(quán)的固件更新的安全協(xié)議來對讀取器固件進(jìn)行更改的安全固件更新機(jī)制來保持用戶輸入接口和用戶輸出接口的安全。
[0061]讀取器(100)可以適于確保固件安全和/或支持安全固件更新。
[0062]處理部件(160)可以包括一個或更多個處理部件。這些處理部件可以包括微芯片、集成電路、微控制器、微處理器、FPGA(現(xiàn)場可編程門陣列)、ASIC(專用集成電路)等。
[0063]存儲器(140)可以用于安全地存儲密碼學(xué)鑰。存儲器(140)可以包括一個或多個存儲器部件,包括RAM (可能是電池支持的)、ROM、EEPR0M、閃存或其他類型的存儲器部件。在一些實施方式中,存儲器(140)可以包括一個或更多個SAM(安全存取模塊)模塊。在一些實施方式中,存儲器(140)可以包括一個或更多個SIM(用戶身份模塊)卡。在一些實施方式中,存儲器(140)可以包括一個或更多個內(nèi)部智能卡或智能卡芯片。讀取器(100)可以適于保護(hù)敏感存儲數(shù)據(jù)一例如可以包括密碼學(xué)鑰的秘密數(shù)據(jù)一的機(jī)密性。這些秘密密碼學(xué)鑰可以包括要與對稱密碼學(xué)算法一起使用的對稱密碼學(xué)鑰和/或要與非對稱密碼學(xué)算法一起使用的非對稱密碼學(xué)鑰如公/私鑰對中的私鑰。讀取器(100)可以適于在檢測到篡改讀取器的意圖時擦除一些存儲器區(qū)域??梢詫Υ鎯ζ?140)的特定內(nèi)容進(jìn)行加密。
[0064]讀取器(100)還可以用于存儲公鑰和/或與存儲在存儲器(140)中的私鑰相關(guān)聯(lián)的證書。
[0065]讀取器(100)可以適于支持密碼學(xué)能力比如支持用于非對稱密碼學(xué)算法和/或?qū)ΨQ密碼學(xué)算法和/或哈希函數(shù)的計算。讀取器可以適于在表示安全相關(guān)事件和動作的數(shù)據(jù)上生成讀取器簽名,該數(shù)據(jù)可以包括表示讀取器從主機(jī)(99)接收到的讀取器命令、讀取器與所插入的智能卡(98)交換的智能卡命令、讀取器呈現(xiàn)給用戶以供批準(zhǔn)(例如,借助于用戶輸出接口(151))的數(shù)據(jù)、或者讀取器在處理任何前述項時應(yīng)用的配置參數(shù)的數(shù)據(jù)。智能卡讀取器(100)還可以適于保持可以包括與主機(jī)交換讀取器命令、與所插入的智能卡交換智能卡命令和/或與用戶的交互的特定安全相關(guān)事件和動作的日志。安全智能卡讀取器
(100)可以適于生成對這些日志中的一個或更多個的讀取器簽名。
[0066]讀取器(100)可以通過對要被簽名的數(shù)據(jù)應(yīng)用利用存儲在存儲器(140)中的密碼學(xué)鑰而被參數(shù)化的密碼學(xué)算法來生成讀取器簽名。密碼學(xué)算法可以包括帶鑰哈希函數(shù),由此將密鑰和要被簽名的數(shù)據(jù)的組合提交至單向密碼學(xué)哈希函數(shù)或摘要函數(shù)(如來自MD5、SHA-USHA-2或SHA-256哈希函數(shù)族的密碼學(xué)哈希函數(shù)),并且所得到的哈?;蛘獦?gòu)成電子簽名。密碼學(xué)算法可以包括對稱加密(解密)塊密碼如可以(例如,在CBC (密碼塊鏈)模式或一些其他塊鏈模式中)使用以生成可以構(gòu)成電子簽名的MAC(消息認(rèn)證碼)的(三重)DES(數(shù)據(jù)加密標(biāo)準(zhǔn))或AES(高級加密標(biāo)準(zhǔn))。讀取器可以使用基于非對稱密碼學(xué)的電子簽名方案來生成讀取器簽名。在這些情況下,可以對要被簽名的數(shù)據(jù)進(jìn)行哈希操作或?qū)⒁缓灻臄?shù)據(jù)提交至摘要函數(shù),然后利用非對稱加密算法、使用用戶的私鑰對所得到的哈?;蛘M(jìn)行加密。用于生成電子簽名的非對稱密碼學(xué)算法的示例包括RSA(RivestShamir Adleman)和DSA (數(shù)字簽名算法)。
[0067]在一些實施方式中,安全智能卡讀取器適于在生產(chǎn)期間或在生產(chǎn)然后使用一個或更多個秘密或私有讀取器鑰來被初始化和/或個人化。在一些實施方式中,安全智能卡讀取器支持安全數(shù)據(jù)交換協(xié)議以更新敏感讀取器數(shù)據(jù)如安全配置參數(shù)和/或密碼學(xué)鑰。在一些實施方式中,安全智能卡讀取器包括能夠生成密碼學(xué)鑰的安全部件。在一些實施方式中,安全智能卡讀取器可以包括能夠生成公-私鑰對的安全部件。在一些實施方式中,安全智能卡讀取器可以包括生成隨機(jī)數(shù)的安全部件。
[0068]防火墻
[0069]讀取器可以支持檢查由主機(jī)發(fā)送并且用于智能卡的智能卡命令的防火墻,由此讀取器可以根據(jù)特定標(biāo)準(zhǔn)來阻止命令。在一些實施方式中,讀取器可以根據(jù)卡的類型來配置防火墻。在一些實施方式中,讀取器借助于一個或更多個選擇應(yīng)用(SELECT APPLICAT1N)智能卡命令來確定卡的類型。在一些實施方式中,防火墻保持必須被阻止的智能卡命令(和可以允許通過的其他智能卡命令)的列表。在一些實施方式中,防火墻保持允許通過的智能卡命令(和可以被阻止的所有其他智能卡命令)的列表。在一些實施方式中,防火墻基于命令頭中的特定字節(jié)(如CLA、INS、P1和/或P2字節(jié))的值來識別智能卡命令。在一些實施方式中,讀取器可以具有可以調(diào)查和/或改變一些智能卡命令的內(nèi)容的防火墻。讀取器從主機(jī)接收到的智能卡命令、主機(jī)旨在由讀取器轉(zhuǎn)發(fā)至卡的智能卡命令以及在不阻止智能卡命令或更改其內(nèi)容的情況下讀取器轉(zhuǎn)發(fā)至卡的智能卡命令可以被稱為透明智能卡命令。如果讀取器工作在不通過防火墻來阻止或更改智能卡命令的模式下,則可以稱為讀取器工作在透明模式下。
[0070]讀取器命令
[0071]讀取器可以適于從主計算機(jī)(即,從例如主計算機(jī)上的本地應(yīng)用或連接至主計算機(jī)的應(yīng)用服務(wù)器上的遠(yuǎn)程應(yīng)用)接收并且執(zhí)行讀取器命令。這樣的讀取器命令可以包括:改變讀取器的配置數(shù)據(jù)的命令、使讀取器進(jìn)入安全記錄模式的命令、使用戶進(jìn)行安全用戶身份認(rèn)證(如輸入安全PIN)的命令、使讀取器向用戶呈現(xiàn)特定數(shù)據(jù)的命令,以及使用戶審查并且批準(zhǔn)或者拒絕所呈現(xiàn)的數(shù)據(jù)的命令。
[0072]安全用戶認(rèn)證
[0073]在一些實施方式中,讀取器可以支持能夠用于指示讀取器安全地認(rèn)證用戶的讀取器命令。
[0074]例如,在一些實施方式中,讀取器可以支持能夠用于指示讀取器提示用戶輸入PIN(或口令)、捕捉由用戶輸入的PIN(或口令)并且將所捕捉到的PIN(或口令)提交至智能卡以由智能卡來驗證的讀取器命令。在一些實施方式中,這樣的安全PIN輸入讀取器命令可以包括向讀取器指示如何構(gòu)造PIN驗證智能卡命令的參數(shù)。在一些實施方式中,讀取器適于在將PIN或口令值提交至智能卡用于驗證然后從存儲器擦除PIN或口令值的所有副本。
[0075]在一些實施方式中,讀取器可以包括某種類型的生物特征捕捉設(shè)備例如指紋,并且讀取器可以支持能夠用于指示讀取器(可選地)提示用戶將他或她的生物特征提交至讀取器,捕捉生物特征并且驗證所捕捉到的生物特征(例如,以便認(rèn)證用戶)的讀取器命令。在一些實施方式中,可以通過由讀取器將所捕捉到的生物特征提交至智能卡并且智能卡驗證所捕捉到的生物特征來驗證生物特征。在一些實施方式中,可以通過讀取器從智能卡獲得生物特征參考數(shù)據(jù)并且將所捕捉到的用戶生物特征數(shù)據(jù)與從智能卡獲得的生物特征參考數(shù)據(jù)相比較來驗證生物特征。在一些實施方式中,讀取器適于在已經(jīng)將生物特征數(shù)據(jù)提交至智能卡用于驗證然后或在他們已經(jīng)由讀取器用于用戶認(rèn)證目的然后從存儲器擦除生物特征數(shù)據(jù)的所有副本。
[0076]安全簽名
[0077]讀取器可以適于提供安全簽名模式,在安全簽名模式下與讀取器交互的主機(jī)或應(yīng)用將數(shù)據(jù)提交至讀取器以要由卡來簽名。在這樣的安全簽名模式下,讀取器向用戶呈現(xiàn)要被簽名的數(shù)據(jù)并且請求用戶批準(zhǔn)數(shù)據(jù)。在用戶批準(zhǔn)數(shù)據(jù)然后,讀取器向卡發(fā)送包括要被簽名的數(shù)據(jù)(或其表示如要被簽名的數(shù)據(jù)的哈希)的簽名命令。讀取器從卡接收簽名并且將其返回至主機(jī)。在一些實施方式中,讀取器可以支持使得與讀取器交互的應(yīng)用能夠向讀取器發(fā)送要由卡來簽名的數(shù)據(jù)的讀取器命令,由此應(yīng)用能夠在由卡來對數(shù)據(jù)進(jìn)行簽名之前向讀取器指示必須由用戶來審查和批準(zhǔn)這些數(shù)據(jù)中的哪些數(shù)據(jù)以及用戶不必審查和批準(zhǔn)這些數(shù)據(jù)中的那些數(shù)據(jù)。
[0078]數(shù)據(jù)審查和批準(zhǔn)
[0079]在一些實施方式中,讀取器可以支持使得應(yīng)用能夠?qū)?shù)據(jù)提交至讀取器以由用戶來審查和批準(zhǔn)的讀取器命令。在一些實施方式中,這樣的讀取器命令可以包括發(fā)起如上所述的安全簽名操作的讀取器命令。在一些實施方式中,這樣的讀取器命令可以包括不指示讀取器使卡自動簽名已審查并且已批準(zhǔn)的數(shù)據(jù)的讀取器命令。例如,在一些實施方式中,讀取器可以支持使得應(yīng)用能夠?qū)?shù)據(jù)提交至讀取器以由用戶來審查和批準(zhǔn)的讀取器命令,由此讀取器在用戶批準(zhǔn)數(shù)據(jù)然后將已批準(zhǔn)的數(shù)據(jù)(或表示已批準(zhǔn)的數(shù)據(jù)的數(shù)據(jù)如包括這些數(shù)據(jù)或這些數(shù)據(jù)的哈希的讀取器命令)添加至日志文件。然后,應(yīng)用可以例如通過向卡發(fā)送透明智能卡命令來將同樣的數(shù)據(jù)提交至卡用于簽名。讀取器還可以將其添加至日志文件。然后,讀取器可以簽名日志文件。日志文件上的讀取器簽名由此證明已經(jīng)由卡簽名的數(shù)據(jù)也由用戶已經(jīng)在安全讀取器上審查和批準(zhǔn)。
[0080]在一些實施方式中,由讀取器在例如讀取器的(安全)顯示器上將要由用戶審查和批準(zhǔn)的數(shù)據(jù)可視化。在一些實施方式中,可以通過讀取器例如通過人工語音生成來將要由用戶審查和批準(zhǔn)的數(shù)據(jù)呈現(xiàn)給用戶。在一些實施方式中,用戶可以例如通過按壓讀取器鍵盤上的OK按鈕來批準(zhǔn)數(shù)據(jù)。在一些實施方式中,用戶可以通過例如按壓讀取器(安全)鍵盤上的取消按鈕來拒絕數(shù)據(jù)。
[0081]在一些實施方式中,如果要被審查的數(shù)據(jù)不適合于讀取器的顯示器,讀取器可以顯示一部分?jǐn)?shù)據(jù)并且向用戶提供滾屏遍及其余數(shù)據(jù)的可能性,或者讀取器可以將數(shù)據(jù)分為一系列的數(shù)據(jù)塊,每個數(shù)據(jù)塊都適合于顯示器并且向用戶提供瀏覽遍及這些數(shù)據(jù)庫的可能性。在一些實施方式中,在滾屏遍及所有數(shù)據(jù)然后或在瀏覽遍及所有數(shù)據(jù)塊然后用戶僅能夠表示批準(zhǔn)。
[0082]安全記錄模式[0083]讀取器可以適于提供安全記錄模式,在安全記錄模式下保持一個或更多個日志。讀取器可以提供打開這樣的安全記錄模式的讀取器命令。讀取器在進(jìn)入安全記錄模式時可以重置一個或更多個日志的內(nèi)容。在一些實施方式中,讀取器可以支持使得主機(jī)能夠重置日志的讀取器命令。讀取器可以將表示其在該模式下接收到的讀取器命令中的至少一些的數(shù)據(jù)添加至日志中的一個日志。讀取器可以支持使得主機(jī)能夠?qū)?shù)據(jù)添加至日志中的至少一個日志的讀取器命令。讀取器可以支持使得主機(jī)能夠指示讀取器使用日志的內(nèi)容構(gòu)造智能卡命令并且將該智能卡命令發(fā)送至智能卡的讀取器命令。讀取器可以支持使得主機(jī)能夠指示讀取器在讀取器的用戶輸出接口上向用戶呈現(xiàn)特定數(shù)據(jù)用于用戶批準(zhǔn)的讀取器命令。讀取器可以支持使得主機(jī)能夠指示讀取器向用戶呈現(xiàn)日志的內(nèi)容用于批準(zhǔn)的讀取器命令。當(dāng)用戶批準(zhǔn)數(shù)據(jù)時,讀取器可以將已批準(zhǔn)的數(shù)據(jù)自動添加至日志中的至少一個日志。在一些實施方式中,讀取器可以支持使得主機(jī)能夠指示讀取器將一個日志的內(nèi)容添加至另一日志的內(nèi)容的讀取器命令。讀取器可以適于當(dāng)處于安全記錄模式時將表示從主機(jī)接收到的讀取器命令的數(shù)據(jù)自動添加至日志中的至少一個日志。讀取器可以適于當(dāng)處于安全記錄模式時將表示在讀取器和智能卡之間交換的智能卡命令和響應(yīng)的數(shù)據(jù)自動添加至日志中的至少一個日志。在一些實施方式中,讀取器可以適于當(dāng)處于安全記錄模式時將表示在讀取器和智能卡之間交換的透明智能卡命令和相應(yīng)的響應(yīng)中的至少一些或所有在讀取器和智能卡之間交換的透明智能卡命令和相應(yīng)的響應(yīng)的數(shù)據(jù)自動添加至日志中的一個日志。當(dāng)處于安全記錄模式時,讀取器可以激活防火墻。該防火墻可以阻止主機(jī)要求讀取器與智能卡交換的特定或所有智能卡命令。
[0084]當(dāng)將數(shù)據(jù)添加至日志文件時讀取器使用的機(jī)制。
[0085]在一些實施方式中,當(dāng)讀取器記錄新數(shù)據(jù)時,其可以通過將正在被記錄的新數(shù)據(jù)附加至之前已添加至日志文件的數(shù)據(jù)來將該新數(shù)據(jù)添加至日志文件。在一些實施方式中,讀取器可以通過更新與日志文件相關(guān)聯(lián)的摘要或哈希值來將新數(shù)據(jù)添加至日志文件。在一些實施方式中,當(dāng)將新數(shù)據(jù)添加至日志文件時,讀取器可以既將新數(shù)據(jù)附加至之前已記錄的數(shù)據(jù),又更新與日志文件相關(guān)聯(lián)的摘要或哈希值。
[0086]在一些實施方式中,讀取器可以將其添加至日志文件的數(shù)據(jù)格式化,并且如上所述將已格式化的數(shù)據(jù)添加至日志文件。例如,讀取器可以添加分隔符以區(qū)分被添加至日志文件的連續(xù)數(shù)據(jù)項。在一些實施方式中,讀取器可以將開始定界符和結(jié)束定界符添加至被添加至日志文件的數(shù)據(jù)項。在一些實施方式中,在添加至日志文件之前,將被添加至日志文件的數(shù)據(jù)項可以被加標(biāo)簽。在一些實施方式中,在將被添加至日志文件的數(shù)據(jù)項添加至日志文件之前可以將它們嵌入TLV(標(biāo)簽-長度-內(nèi)容)結(jié)構(gòu)。在一些實施方式中,標(biāo)簽可以用于表示被添加至日志文件的各種數(shù)據(jù)項的性質(zhì)。例如,不同的標(biāo)簽可以用于表示特定數(shù)據(jù)代表的是卡命令或響應(yīng)、或是讀取器命令或響應(yīng)、或是讀取器配置數(shù)據(jù)、或是代表涉及用戶交互的數(shù)據(jù)(例如,表示特定數(shù)據(jù)是否由讀取器呈現(xiàn)來供審查,以及用戶是否批準(zhǔn)了被呈現(xiàn)來供審查的數(shù)據(jù)),或是表示特定事件的數(shù)據(jù)(例如可能企圖篡改設(shè)備的什么的檢測),或者數(shù)據(jù)是否表示時間戳。在一些實施方式中,在將數(shù)據(jù)項添加至日志文件之前可以給數(shù)據(jù)項加時間戳。在一些實施方式中,時間戳可以是應(yīng)用于被添加至日志文件的數(shù)據(jù)的格式化結(jié)構(gòu)的一部分。
[0087]在一些實施方式中,讀取器可以在文件系統(tǒng)的一個或更多個文件中存儲日志文件的內(nèi)容。在其他實施方式中,讀取器可以將日志文件的內(nèi)容存儲在其保持在一些存儲器部件中的另一類型的數(shù)據(jù)結(jié)構(gòu)中。
[0088]讀取器可以適于支持使得主機(jī)能夠指示讀取器生成對包括在一個或更多個日志中的數(shù)據(jù)的讀取器簽名的讀取器命令。讀取器還可以適于在特定事件的情況下自動生成對日志中的一個的讀取器簽名。例如,當(dāng)讀取器與智能卡交換包括由用戶批準(zhǔn)的數(shù)據(jù)的智能卡命令時,其可以自動生成讀取器簽名?;蛘?,當(dāng)讀取器與智能卡交換其根據(jù)日志的內(nèi)容構(gòu)建的智能卡命令時,其可以自動生成讀取器簽名?;蛘撸?dāng)退出安全記錄模式時,其可以自動生成對日志中的一個的讀取器簽名。
[0089]在一些實施方式中,讀取器支持用于檢索日志文件的內(nèi)容的讀取器命令。在一些實施方式中,讀取器可以使得能夠檢索一些日志文件而不是其他日志文件的內(nèi)容。在一些實施方式中,僅當(dāng)讀取器生成了對其內(nèi)容的簽名時,才能夠檢索一些日志文件的內(nèi)容。在一些實施方式中,不能從讀取器檢索日志文件的內(nèi)容。在一些實施方式中,一些日志文件的內(nèi)容可以連同對這些內(nèi)容的讀取器簽名來檢索。
[0090]安全記錄模式可配置性
[0091]在一些實施方式中,當(dāng)讀取器處于安全記錄模式下時,讀取器工作的方式的特定方面可以是可配置的。例如,讀取器應(yīng)當(dāng)記錄哪些數(shù)據(jù)或事件,以及讀取器應(yīng)當(dāng)將它們記錄在哪個日志文件中可以是可配置的。在哪些條件下讀取器應(yīng)當(dāng)生成簽名以及讀取器應(yīng)當(dāng)關(guān)于哪些數(shù)據(jù)或日志文件生成簽名也可以是可配置的。在一些實施方式中,一些安全記錄模式配置參數(shù)可以被硬編碼在讀取器中并且不能被更改。在一些實施方式中,硬編碼配置參數(shù)可以是隱式的,因為其被硬編碼入讀取器的固件邏輯。在其他實施方式中,可以以硬編碼參數(shù)值的形式對一些配置參數(shù)進(jìn)行顯式硬編碼。在一些實施方式中,可以將一些安全記錄模式配置參數(shù)存儲在讀取器的非易失性存儲器中。在一些實施方式中,存儲在讀取器的非易失性存儲器中的一些安全記錄模式配置參數(shù)可以是例如使用安全參數(shù)更新讀取器命令可更新的。在一些實施方式中,可以將一些安全記錄模式配置參數(shù)作為讀取器命令的一部分提供給讀取器。在一些實施方式中,作為讀取器命令的一部分被提供給讀取器的一些安全記錄模式配置參數(shù)可以至少暫時地覆蓋存儲在非易失性存儲器中的或硬編碼的安全記錄模式配置參數(shù)。在一些實施方式中,可以使用存儲在讀取器的非易失性存儲器并且使用例如安全讀取器參數(shù)更新命令以安全方式可更新的安全記錄模式配置參數(shù)來覆蓋至少一些硬編碼的安全記錄模式配置參數(shù)。在一些實施方式中,可以將一些安全記錄模式配置參數(shù)作為讀取器命令的一部分提供給讀取器以進(jìn)入安全記錄模式。在一些實施方式中,如果通過讀取器命令來提供一些安全記錄模式配置參數(shù),則表示該命令的數(shù)據(jù)可以被自動添加至日志文件。在一些實施方式中,當(dāng)讀取器命令指示讀取器進(jìn)入安全記錄模式時,該命令可以包括安全記錄模式配置參數(shù)組,并且可以自動記錄表示可用于該安全記錄模式的至少一些安全記錄模式配置參數(shù)的數(shù)據(jù)。
[0092]加時間戳
[0093]在一些實施方式中,讀取器(100)可以適于給特定數(shù)據(jù)加時間戳。讀取器(100)可以使用由時鐘(180)提供的時間來給數(shù)據(jù)加時間戳。讀取器可以加時間戳的數(shù)據(jù)可以包括被添加至日志中的一個日志的數(shù)據(jù)、由卡(98)簽名的數(shù)據(jù)、由讀取器(100)簽名的數(shù)據(jù)、由卡生成的簽名或由讀取器生成的簽名。在一些實施方式中,自動對添加至日志文件的數(shù)據(jù)的每個項目加時間戳。在一些實施方式中,僅對添加至日志文件的數(shù)據(jù)的具體項目加時間戳。在一些實施方式中,讀取器對具體事件一如讀取器進(jìn)入或退出安全記錄模式的時刻,或者從卡請求或獲得簽名的時刻,或者特定用戶交互的時刻如向用戶呈現(xiàn)數(shù)據(jù)用于批準(zhǔn)或從用戶獲得對于數(shù)據(jù)的批準(zhǔn)一提供時間戳。在一些實施方式中,讀取器支持使得能夠指示讀取器給日志文件添加時間戳的讀取器命令。在一些實施方式中,例如,作為對于具體讀取器命令的響應(yīng)或作為對具體事件的響應(yīng),讀取器可以適于將表示當(dāng)前讀取器時間的數(shù)據(jù)元素添加至日志文件。
[0094]防止重放措施
[0095]在一些實施方式中,讀取器(100)可以適于支持阻止特定類型的重放攻擊的特定措施。例如,在一些實施方式中,讀取器可以將時間戳應(yīng)用于讀取器簽名,或者向日志文件或被添加至日志文件的數(shù)據(jù)添加時間戳。在一些實施方式中,讀取器可以適于生成隨機(jī)數(shù)并且可以將隨機(jī)數(shù)添加至由讀取器簽名的數(shù)據(jù),或者可以將隨機(jī)數(shù)添加至日志文件。在一些實施方式中,讀取器可以保持每次讀取器使用其值時單調(diào)遞增(或遞減)的計數(shù)器或其等同物,如單調(diào)變化值,即每次由當(dāng)前值的函數(shù)例如當(dāng)前值的哈希函數(shù)使用時被替換的值。在一些實施方式中,讀取器可以將這樣的計數(shù)器或單調(diào)變化值添加至日志文件或添加至其簽名的數(shù)據(jù)。在一些實施方式中,讀取器可以適于通過讀取器命令從外部應(yīng)用接收服務(wù)器挑戰(zhàn)如不可預(yù)知數(shù)(其可以包括隨機(jī)數(shù)或偽隨機(jī)數(shù))或時間值或服務(wù)器計數(shù)器值,或者讀取器可以將該服務(wù)器挑戰(zhàn)添加至讀取器簽名的數(shù)據(jù)或添加至讀取器添加至日志文件的數(shù)據(jù)。在一些實施方式中,這樣的服務(wù)器挑戰(zhàn)可以是指示讀取器進(jìn)入安全記錄模式的讀取器命令中的一部分?jǐn)?shù)據(jù)。在一些實施方式中,這樣的服務(wù)器挑戰(zhàn)可以是應(yīng)用發(fā)送至讀取器以要由卡來簽名的一部分?jǐn)?shù)據(jù)。在一些實施方式中,這樣的服務(wù)器挑戰(zhàn)可以是應(yīng)用發(fā)送至讀取器以要由用戶來審查和批準(zhǔn)的一部分?jǐn)?shù)據(jù)。
[0096]與智能卡的安全通信
[0097]在一些實施方式中,讀取器(100)適于保護(hù)其與智能卡(98)的通信。例如,在一些實施方式中,讀取器可以適于例如通過驗證智能卡的證書或者通過驗證由智能卡生成的消息認(rèn)證碼來認(rèn)證智能卡。在一些實施方式中,讀取器能夠例如通過生成能夠由卡來驗證的消息認(rèn)證碼來將其自身認(rèn)證到智能卡。在一些實施方式中,讀取器可以適于生成其與所插入的智能卡共享的對稱會話鑰。在一些實施方式中,讀取器適于對其與智能卡交換的命令和/或響應(yīng)進(jìn)行加密和/或解密。例如,讀取器可以適于對智能卡命令進(jìn)行加密,讀取器以智能卡命令向卡提交敏感數(shù)據(jù)如生物特征數(shù)據(jù)或PIN或口令值。在一些實施方式中,讀取器可以適于對來自智能卡的加密數(shù)據(jù)例如生物參考數(shù)據(jù)進(jìn)行解密。
[0098]與應(yīng)用的安全通信
[0099]在一些實施方式中,讀取器(100)適于保護(hù)其與外部應(yīng)用的通信,外部應(yīng)用通過讀取器命令與讀取器通信。外部應(yīng)用可以(全部或部分地)在讀取器所連接的主計算機(jī)上運行。外部應(yīng)用還可以(全部或部分地)在經(jīng)由計算機(jī)網(wǎng)絡(luò)連接至讀取器所連接的主計算機(jī)的遠(yuǎn)程應(yīng)用服務(wù)器上運行。在一些實施方式中,讀取器可以與外部應(yīng)用共享可以用于保護(hù)讀取器和應(yīng)用之間的通信的密鑰。在一些實施方式中,讀取器可以適于與應(yīng)用建立共享的秘密會話鑰。在一些實施方式中,讀取器可以存儲公-私鑰對中的私鑰,并且讀取器可以適于接收由應(yīng)用使用該公-私鑰對中的公鑰加密的種子,對加密種子進(jìn)行解密并且使用解密種子來建立與應(yīng)用共享的秘密會話鑰。在一些實施方式中,讀取器可以適于對來自應(yīng)用(或聲稱來自應(yīng)用)的命令或數(shù)據(jù)進(jìn)行解密或認(rèn)證。在一些實施方式中,讀取器可以適于驗證關(guān)于聲稱來自應(yīng)用的命令或數(shù)據(jù)的簽名或消息認(rèn)證碼。在一些實施方式中,讀取器可以適于對其返回給應(yīng)用的響應(yīng)或數(shù)據(jù)進(jìn)行加密。在一些實施方式中,讀取器可以適于使用具有其與應(yīng)用共享的密鑰的對稱密碼學(xué)來對讀取器與應(yīng)用交換的消息和/或數(shù)據(jù)進(jìn)行解密、加密和/或認(rèn)證。在一些實施方式中,讀取器可以適于使用具有其存儲的并且與應(yīng)用提供商或與受信任的證書頒發(fā)機(jī)構(gòu)相關(guān)聯(lián)的公鑰的非對稱密碼學(xué)來對聲稱來自應(yīng)用的消息、命令或數(shù)據(jù)進(jìn)行認(rèn)證(例如,通過驗證來自應(yīng)用的關(guān)于這樣的消息、命令或數(shù)據(jù)的簽名)。在一些實施方式中,讀取器可以適于使用具有其存儲的私鑰的非對稱密碼學(xué)來對其返回或發(fā)送至應(yīng)用的消息或數(shù)據(jù)進(jìn)行認(rèn)證(例如,通過簽名)。
[0100]在一些實施方式中,讀取器(100)可以適于以這種方式來對在安全固件更新協(xié)議的上下文中交換的應(yīng)用消息或數(shù)據(jù)進(jìn)行解密或認(rèn)證(即,驗證來源)。在一些實施方式中,讀取器可以適于以這種方式來對在安全參數(shù)更新協(xié)議的上下文中交換的應(yīng)用消息或數(shù)據(jù)進(jìn)行解密或認(rèn)證。在一些實施方式中,讀取器可以適于以這種方式來對意在由用戶來審查和批準(zhǔn)和/或由卡來簽名的數(shù)據(jù)(或包括這樣的數(shù)據(jù)的應(yīng)用命令)進(jìn)行解密或認(rèn)證。
[0101]識別讀取器
[0102]在一些實施方式中,讀取器可以適于使得能夠?qū)蝹€讀取器進(jìn)行識別。例如,讀取器可以存儲識別數(shù)據(jù)元素(如序列碼),并且可以適于使得應(yīng)用能夠獲得該識別數(shù)據(jù)元素的值(例如,通過一些讀取器命令)。在一些實施方式中,讀取器的身份可以表示在存儲在讀取器中并且可以通過應(yīng)用來檢索的公鑰證書中。在一些實施方式中,讀取器可以存儲識別存儲在讀取器中并且可以通過應(yīng)用來檢索的一個或更多個公鑰的一個或更多個識別數(shù)據(jù)元素。在一些實施方式中,讀取器可以支持使得應(yīng)用能夠檢索讀取器的識別數(shù)據(jù)的一個或更多個讀取器命令。在一些實施方式中,讀取器將讀取器的識別數(shù)據(jù)包括在響應(yīng)于其他命令返回的數(shù)據(jù)中。例如,在一些實施方式中,讀取器可以將讀取器的識別數(shù)據(jù)包括在讀取器對應(yīng)用請求檢索對日志文件的讀取器簽名的響應(yīng)中。
[0103]讀取器命令的交換和格式化
[0104]在一些實施方式中,讀取器支持形式上具有與真正智能卡APDUS(如由ISO/IEC7816定義的應(yīng)用協(xié)議數(shù)據(jù)單元)相同的格式或結(jié)構(gòu)的讀取器命令,或者具有與真正智能卡APDUS至少足夠相似的格式和結(jié)構(gòu)使得能夠以與真正智能卡命令相同的方式并且使用讀取器的主計算機(jī)上的與真正智能卡命令相同的軟件和驅(qū)動棧來與讀取器進(jìn)行交換的讀取器命令。在一些實施方式中,讀取器可以基于上下文或基于所接收到的命令的參數(shù)值來區(qū)分讀取器命令與實際智能卡命令。例如,在一些實施方式中,讀取器可以基于APDU中的CLA和/或INS字節(jié)的特定具體值來識別讀取器命令。在一些實施方式中,讀取器可以支持向讀取器表示后續(xù)命令應(yīng)當(dāng)被解釋為智能卡命令還是被解釋為讀取器命令的一個或更多個命令。
[0105]在一些實施方式中,可以使用其他機(jī)制來交換讀取器命令,例如通過專有USB命令。
[0106]未連接模式
[0107]在一些實施方式中,讀取器(100)可以適于使得其在不連接至主計算機(jī)(99)時也能夠工作。在這樣的未連接模式下,其可以從其自己的自主電源獲得電力。在未連接模式下,讀取器能夠例如工作為強(qiáng)認(rèn)證令牌并且生成一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名??梢酝ㄟ^讀取器應(yīng)用基于使用也對驗證服務(wù)器已知的對稱密鑰的對稱密碼學(xué)的算法來生成讀取器在未連接模式下從而生成的一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名。在一些實施方式中,讀取器在一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名的生成中可以使用所插入的智能卡(98)。在一些實施方式中,在一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名的生成中可以使用智能卡來進(jìn)行至少一部分密碼學(xué)計算。在一些實施方式中,讀取器可以使用智能卡來獲得一個值,讀取器可以使用該值得到對稱密鑰,然后讀取器在一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名的生成中使用該對稱密鑰。在一些實施方式中,讀取器可以在一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名的生成中使用由時鐘(180)提供的時間值。在一些實施方式中,讀取器可以在對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名的生成中使用用戶經(jīng)由輸入接口(152)提供給讀取器的數(shù)據(jù)。在一些實施方式中,輸入接口(152)包括鍵盤,并且用戶可以鍵入數(shù)據(jù)。在一些實施方式中,讀取器可以通過輸出接口(151)向用戶輸出所生成的一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名。在一些實施方式中,輸出接口(151)可以包括顯示器,并且可以將所生成的一次性口令、對挑戰(zhàn)的響應(yīng)和/或交易數(shù)據(jù)簽名顯示為字符串例如十進(jìn)制字符串、十六進(jìn)制字符串或字母數(shù)字式字符串。
[0108]在一些實施方式中,讀取器(100)可以適于與EMV-CAP(泛歐卡-萬事達(dá)卡-VISA-芯片認(rèn)證計劃)可兼容或符合EMV-CAP。
[0109]便攜式和手持式
[0110]在一些實施方式中,讀取器具有重量和空間度量使得讀取器能夠被認(rèn)為是便攜式手持設(shè)備。在一些實施方式中,讀取器具有重量和空間度量使得能夠以適度成本通過郵件將讀取器發(fā)送至用戶。例如,在一些實施方式中,讀取器可以具有小于2cm的厚度、小于1cm的寬度、小于15cm的長度以及小于200克的重量。在其他實施方式中,讀取器可以具有小于1.5cm的厚度、小于7cm的寬度、小于13cm的長度以及小于110克的重量。
[0111]專用硬件設(shè)備
[0112]在一些實施方式中,讀取器是專用硬件設(shè)備。在一些實施方式中,讀取器可以專用于在保護(hù)用戶訪問應(yīng)用或保護(hù)用戶與這樣的應(yīng)用交互的方法中使用。在一些實施方式中,讀取器的主要目的是在保護(hù)用戶訪問應(yīng)用或保護(hù)用戶與這樣的應(yīng)用交互的方法中使用。在一些實施方式中,為了保證讀取器專用于其作為安全設(shè)備的用途,讀取器可以適于使不可能更改其固件。在一些實施方式中,為了保證讀取器專用于其作為安全設(shè)備的用途,僅可以通過被設(shè)計成確保僅授權(quán)的控制可信方能夠更新或改變讀取器的固件的安全固件更新協(xié)議來對其固件作出任何改變或更新。這使得受控可信方能夠確保不發(fā)生會影響讀取器專用于其在保護(hù)用戶訪問應(yīng)用或保護(hù)用戶與這樣的應(yīng)用交互的方法中使用的固件更新。具有智能卡讀取功能但是在例如用戶能夠在沒有控制可信方的授權(quán)的情況下能夠更新軟件的意義上是開放的通用設(shè)備不能被認(rèn)為是專用設(shè)備。
[0113]安全讀取器
[0114]在一些實施方式中,智能卡讀取器是安全讀取器。這表示讀取器的用戶輸入接口是安全用戶輸入接口,并且讀取器的用戶輸出接口是安全用戶輸出接口。這還表示:讀取器的安全敏感固件和數(shù)據(jù)(其可以包括使特定安全功能參數(shù)化的密碼學(xué)鑰和/或配置數(shù)據(jù))不能被改變或被更新,或僅能夠借助于僅使得可信方能夠進(jìn)行改變或更新的安全更新協(xié)議來被改變或被更新。
[0115]圖2示出了根據(jù)本發(fā)明的一個方面的用于進(jìn)行安全交易的系統(tǒng)。系統(tǒng)包括:安全智能卡讀取器(100)如結(jié)合圖1討論的讀取器;主計算機(jī)(99),智能卡讀取器(100)可以連接至主計算機(jī);一個或更多個遠(yuǎn)程應(yīng)用服務(wù)器(200);以及計算機(jī)網(wǎng)絡(luò)(210),計算機(jī)網(wǎng)絡(luò)(210)可以連接主計算機(jī)(99)和一個或更多個遠(yuǎn)程應(yīng)用服務(wù)器(200)。系統(tǒng)還包括智能卡(98),智能卡(98)與用戶相關(guān)聯(lián),并且可以被插入智能卡讀取器中(100)。
[0116]主計算機(jī)(99)可以包括用戶接口如顯示器和鍵盤和鼠標(biāo)以與用戶交互。主計算機(jī)(99)可以包括網(wǎng)絡(luò)接口以將主計算機(jī)(99)連接至計算機(jī)網(wǎng)絡(luò)(210)。主計算機(jī)(99)可以包括數(shù)據(jù)處理裝置如微處理器。主計算機(jī)(99)可以包括存儲器。主計算機(jī)(99)可以包括軟件如操作系統(tǒng)和應(yīng)用軟件。在典型的實施方式中,主計算機(jī)(99)可以包括PC(個人計算機(jī))或筆記本電腦。主計算機(jī)(99)可以包括與外圍硬件例如智能卡讀取器(100)交換數(shù)據(jù)和/或命令和/或響應(yīng)的接口。該接口可以包括例如USB接口。
[0117]遠(yuǎn)程應(yīng)用服務(wù)器(200)可以包括網(wǎng)絡(luò)服務(wù)器。遠(yuǎn)程應(yīng)用服務(wù)器可以包括在多個硬件部件上運行的多個軟件部件。遠(yuǎn)程應(yīng)用服務(wù)器可以與主計算機(jī)上的軟件交互。主計算機(jī)上的遠(yuǎn)程應(yīng)用服務(wù)器和/或軟件可以是整體應(yīng)用的部件。在一些實施方式中,這樣的整體應(yīng)用的一些部件可以由不同的參與者來操作或者代表不同的參與者。例如,在一些實施方式中,整體應(yīng)用可以包括由用戶或客戶操作或者代表用戶或客戶的部件、由零售商操作或者代表零售商的其他部件、和/或由金融機(jī)構(gòu)操作或者代表金融機(jī)構(gòu)的另一些部件。一個或更多個遠(yuǎn)程應(yīng)用服務(wù)器可以包括多于一個遠(yuǎn)程應(yīng)用服務(wù)器,由此不同的服務(wù)器可以承擔(dān)不同的功能。例如在一些實施方式中,用戶可以與一個服務(wù)器交互以向應(yīng)用提交交易數(shù)據(jù),而另一服務(wù)器可以負(fù)責(zé)驗證卡和/或?qū)缃灰讛?shù)據(jù)的讀取器簽名。
[0118]計算機(jī)網(wǎng)絡(luò)(210)可以包括例如互聯(lián)網(wǎng)。
[0119]在一些實施方式中,智能卡(98)可以例如包括能夠使用具有公-私鑰對中的私鑰的非對稱密碼學(xué)來生成簽名的PKI智能卡。智能卡(98)可以安全地存儲并且使用公-私鑰對中的私鑰。智能卡(98)還可以存儲公-私鑰對中的公鑰和/或與公-私鑰對中的公鑰相關(guān)聯(lián)的證書??梢酝ㄟ^PIN來保護(hù)使用存儲在智能卡(98)中的公-私鑰對中的私鑰的操作。
[0120]在一些實施方式中,智能卡(98)可以包括例如能夠使用具有密鑰的對稱密碼學(xué)來生成密碼的智能卡。智能卡(98)可以安全地存儲并且使用密鑰??梢酝ㄟ^PIN來保護(hù)使用存儲在智能卡(98)中的密鑰的操作。在一些實施方式中,智能卡(98)可以是EMV可兼容的,或符合EMV,或者可以包括EMV可兼容或符合EMV的智能卡應(yīng)用。
[0121]在一些實施方式中,由用戶通過主計算機(jī)訪問的并且與智能卡讀取器(100)交互以保護(hù)該用戶訪問應(yīng)用的應(yīng)用可以由遠(yuǎn)程應(yīng)用服務(wù)器(200)來運行或以其為主機(jī)。在一些實施方式中,這個應(yīng)用的部分可以由遠(yuǎn)程應(yīng)用服務(wù)器(200)來運行或以其為主機(jī),以及應(yīng)用的部分可以由主計算機(jī)(99)來運行或以其為主機(jī)。在一些實施方式中,應(yīng)用可以由主計算機(jī)(99)和遠(yuǎn)程應(yīng)用服務(wù)器(200)來運行或以其為主機(jī),在這種情況下,計算機(jī)網(wǎng)絡(luò)(210)可以是可選的或不存在。在一些實施方式中,應(yīng)用的一些部件可以由不同的參與者來操作或者代表不同的參與者。例如,在一些實施方式中應(yīng)用可包括由用戶或客戶操作或者代表用戶或客戶的部件、由零售商操作或者代表零售商的其他部件、和/或由金融機(jī)構(gòu)操作或者代表金融機(jī)構(gòu)的另一些部件。
[0122]在一些實施方式中,應(yīng)用可以包括網(wǎng)絡(luò)銀行或互聯(lián)網(wǎng)銀行應(yīng)用,遠(yuǎn)程應(yīng)用服務(wù)器(200)可以包括可以是后端銀行服務(wù)器的網(wǎng)絡(luò)前端的網(wǎng)絡(luò)服務(wù)器,并且主計算機(jī)(99)可以通過互聯(lián)網(wǎng)(210)連接至網(wǎng)絡(luò)服務(wù)器并且可以包括用戶能夠使用以通過互聯(lián)網(wǎng)(210)訪問網(wǎng)絡(luò)銀行應(yīng)用的網(wǎng)絡(luò)瀏覽器。
[0123]圖3a和圖3b示出了根據(jù)本發(fā)明的一個方面的保護(hù)遠(yuǎn)程交易的方法。
[0124]向用戶提供讀取器
[0125]在步驟(302)中,可以向用戶提供安全智能卡讀取器(100)如結(jié)合圖1描述的讀取器。在一些實施方式中,應(yīng)用所有者向一個或更多個應(yīng)用用戶提供合適的讀取器。在一些實施方式中,應(yīng)用鼓勵應(yīng)用用戶獲得合適的讀取器。在一些實施方式中,應(yīng)用向應(yīng)用用戶提供如何獲得合適的讀取器的信息。
[0126]將讀取器連接至用戶的主計算機(jī)
[0127]在步驟(304)中,將已經(jīng)提供給用戶的安全智能卡讀取器(100)連接至可以由用戶使用的主計算機(jī)(99)。
[0128]用戶訪問應(yīng)用
[0129]在步驟(306)中,用戶使用主計算機(jī)(99)來訪問應(yīng)用,安全智能卡讀取器(100)可以連接至主計算機(jī)(99)。在一些實施方式中,應(yīng)用可以包括例如由遠(yuǎn)程應(yīng)用服務(wù)器
(200)運行的應(yīng)用。在其他實施方式中,應(yīng)用可以包括由主計算機(jī)執(zhí)行的軟件應(yīng)用。在又一些實施方式中,應(yīng)用可以包括客戶端-服務(wù)器應(yīng)用,其包括在主計算機(jī)上運行的客戶端軟件模塊和在一個或更多個遠(yuǎn)程服務(wù)器(200)上運行的一個或更多個服務(wù)器軟件模塊。在一種實施方式中,應(yīng)用可以包括文本編輯器。在另一實施方式中,應(yīng)用可以包括電子郵件程序。在又一實施方式中,應(yīng)用可以包括財務(wù)應(yīng)用如互聯(lián)網(wǎng)銀行應(yīng)用。在一種實施方式中,用戶可以使用在他或她的主計算機(jī)上運行的網(wǎng)絡(luò)瀏覽器來訪問基于遠(yuǎn)程網(wǎng)絡(luò)的應(yīng)用。
[0130]用戶發(fā)起交易
[0131]在步驟(308)中,例如,用戶可以與例如在主計算機(jī)上或在遠(yuǎn)程服務(wù)器上的應(yīng)用交互以發(fā)起交易。在用戶與應(yīng)用交互的過程中,用戶可以將交易提交至應(yīng)用。例如,用戶可以向互聯(lián)網(wǎng)銀行網(wǎng)站提供用戶希望執(zhí)行的貨幣轉(zhuǎn)移的細(xì)節(jié),或者用戶可以表示他們希望在商業(yè)網(wǎng)站上購買特定物品,或者用戶可以批準(zhǔn)合同或可以書寫要被簽名的電子郵件或信件。
[0132]要被簽名的數(shù)據(jù)的匯集。
[0133]在步驟(310)中,例如在主計算機(jī)上或在遠(yuǎn)程服務(wù)器上的應(yīng)用匯集要由用戶數(shù)字地簽名的數(shù)據(jù)組例如表示由用戶發(fā)起的交易的數(shù)據(jù)。該數(shù)據(jù)組可以包括例如要被簽名的文件或電子郵件,或者可以包括例如表示用戶希望執(zhí)行的金融交易的數(shù)據(jù)或與用戶希望執(zhí)行的金融交易相關(guān)的數(shù)據(jù)。要被簽名的數(shù)據(jù)可以包括例如與用戶想要進(jìn)行的貨幣轉(zhuǎn)移相關(guān)的數(shù)據(jù),例如要被轉(zhuǎn)移的貨幣的量、流通量指示器、貨幣應(yīng)當(dāng)被轉(zhuǎn)移至的目的地的表示(例如,目的賬戶號碼)、和/或要被轉(zhuǎn)移的貨幣應(yīng)當(dāng)從其獲得的源的表示(例如,源賬戶號碼)。在另一情況下,要被簽名的數(shù)據(jù)可以例如與股票交易訂單——例如一些股票的出售或收購一相關(guān)。數(shù)據(jù)可以例如包括要交易的股票的類型的指示符、要交易的股票的數(shù)量的指示符、交易的類型(出售、購買、…)、價格、有效性、期限、…。
[0134]智能卡插入
[0135]在某個點(312)處,要求用戶將用戶的智能卡插入讀取器中,并且用戶將智能卡插入讀取器中。從這個時刻開始,應(yīng)用和讀取器開始與所插入的智能卡交換智能卡命令。在一些實施方式中,插入智能卡表示將智能卡物理地插入讀取器的智能卡插槽中。在其他實施方式中(例如,在其中讀取器使用非接觸智能卡通信協(xié)議與非接觸智能卡交互的實施方式中),插入智能卡表示相對于讀取器對智能卡進(jìn)行定位使得智能卡與智能卡讀取器之間可以通信。例如,在一些實施方式中,不需要物理地將智能卡插入讀取器中,但是為了可以進(jìn)行通信,必須將智能卡移動至某個距離范圍(例如,小于1cm)內(nèi)。
[0136]識別讀取器
[0137]在步驟(314)中,例如在主計算機(jī)上或在遠(yuǎn)程服務(wù)器上的應(yīng)用識別讀取器。在一些實施方式中,應(yīng)用僅確立讀取器的類型。在其他實施方式中,應(yīng)用獲得讀取器固件的版本。在又一些實施方式中,應(yīng)用獲得特定讀取器的身份的表示(例如,讀取器的序列號或?qū)εc在讀取器中存儲的私鑰對應(yīng)的公鑰的參考)。在一些實施方式中,應(yīng)用可以使用標(biāo)準(zhǔn)USB智能卡讀取器機(jī)制來檢索讀取器的類型。在其他實施方式中,應(yīng)用可使用一個或更多個讀取器命令來檢索讀取器的識別數(shù)據(jù)。在一些實施方式中,應(yīng)用可以檢索讀取器的識別數(shù)據(jù)作為還可以包括其他讀取器相關(guān)數(shù)據(jù)如讀取器狀態(tài)、讀取器的一組配置數(shù)據(jù)、讀取器的固件版本等的讀取器數(shù)據(jù)組的一部分。
[0138]讀取器進(jìn)入安全記錄模式 [0139]在步驟(320)中,使安全智能卡讀取器進(jìn)入安全記錄模式。在一些實施方式中,讀取器可以響應(yīng)于指示讀取器進(jìn)入安全記錄模式的具體讀取器命令來進(jìn)入安全記錄模式。在一些實施方式中,作為指示讀取器作出一些動作的讀取器命令——如以安全方式(例如通過輸入安全PIN)對用戶進(jìn)行認(rèn)證的命令,或?qū)⑻囟〝?shù)據(jù)呈現(xiàn)給用戶用于批準(zhǔn)和審查的命令,或進(jìn)行安全簽名會話的命令——的自動副效應(yīng),讀取器可以進(jìn)入安全記錄模式。在一些實施方式中,響應(yīng)于特定事件如讀取器開啟事件、或智能卡插入事件、或智能卡開啟或重置事件,讀取器可以自動進(jìn)入安全記錄模式。在一些實施方式中,讀取器可以默認(rèn)處于安全記錄模式。在一些實施方式中,讀取器始終處于安全記錄模式。在一些實施方式中,讀取器可以將一個或更多個認(rèn)證文件初始化成某個具體的狀態(tài)。例如,可以將它們重置為空或使用例如包括配置數(shù)據(jù)(例如,影響安全記錄模式的配置數(shù)據(jù))和/或表示讀取器狀態(tài)和/或固件版本的數(shù)據(jù)等的數(shù)據(jù)組來將它們初始化。在一些實施方式中,初始化在使讀取器進(jìn)入安全記錄模式之前發(fā)生。在一些實施方式中,該初始化可以在讀取器進(jìn)入安全記錄模式時發(fā)生。在一些實施方式中,初始化可以在讀取器進(jìn)入安全記錄模式然后的某個時間點發(fā)生。
[0140]讀取器記錄數(shù)據(jù)
[0141]一旦處于安全記錄模式,智能卡讀取器可以自動開始將數(shù)據(jù)添加至一個或更多個記錄文件(步驟321)。在一些實施方式中,被添加至記錄文件的數(shù)據(jù)包括表示以下事件的數(shù)據(jù):安全敏感事件、狀態(tài)和動作如讀取器命令和/或響應(yīng)、用戶與讀取器的交互(例如,數(shù)據(jù)對用戶的呈現(xiàn)和用戶輸入)、智能卡命令和/或響應(yīng)、固件版本和/或固件變化事件、配置數(shù)據(jù)和/或配置數(shù)據(jù)變化事件、其他事件(例如,可以表示篡改意圖或可能危害讀取器安全的完整性的事件——如特定機(jī)械或電子操作如試圖打開殼體或功率尖峰或失去電力----的檢測。)
[0142]讀取器記錄智能卡命令
[0143]在一些實施方式中,讀取器以這種方式記錄與其與卡交換的智能卡命令例如讀取器從應(yīng)用接收以與插入讀取器中的智能卡交換的透明智能卡命令有關(guān)的數(shù)據(jù)(步驟322)。在一些實施方式中,讀取器可以系統(tǒng)地記錄所有所交換的智能卡命令。在一些實施方式中,讀取器可以僅記錄一些所交換的智能卡命令。在一些實施方式中,讀取器可以記錄滿足特定標(biāo)準(zhǔn)的那些智能卡命令。例如,讀取器可以記錄特定類型的智能卡命令。在一些實施方式中,讀取器用來決定要記錄哪些命令的標(biāo)準(zhǔn)可以由配置參數(shù)來參數(shù)化。這些配置參數(shù)可以包括例如要被記錄的命令列表或不應(yīng)當(dāng)被記錄的命令列表。在一些實施方式中,讀取器基于智能卡命令報頭的特定字節(jié)——例如CLA、INS、P1和/或P2字節(jié)——的值來識別智能卡命令類型。在一些實施方式中,通過應(yīng)用例如借助于一些讀取器命令例如指示讀取器進(jìn)入安全記錄模式的讀取器命令來將確定可以記錄哪些智能卡命令(和/或相應(yīng)的卡響應(yīng))以及在適用的情況下在那個日志文件中記錄的配置參數(shù)傳送至讀取器。
[0144]讀取器記錄讀取器命令
[0145]在一些實施方式中,讀取器記錄與其接收到的讀取器命令相關(guān)的數(shù)據(jù)(步驟S323)。在一些實施方式中,讀取器可以系統(tǒng)地記錄所有所交換的讀取器命令。在一些實施方式中,讀取器可以僅記錄一些所交換的讀取器命令。
[0146]設(shè)置安全記錄配置參數(shù) [0147]在一些實施方式中,應(yīng)用借助于讀取器命令指示讀取器進(jìn)入安全記錄模式,并且借助于同一讀取器命令或一個或更多個另外的讀取器命令向讀取器傳遞(步驟316)可以
確定讀取器在安全記錄模式下應(yīng)當(dāng)記錄哪些數(shù)據(jù)-例如記錄哪些智能卡命令、記錄哪些
讀取器命令、記錄哪些用戶交互(例如,哪些用戶消息和/或讀取器呈現(xiàn)給用戶的數(shù)據(jù),以及讀取器從用戶接收到的哪些用戶響應(yīng))、記錄那些其他事件(例如,錯誤事件)——的安全記錄模式配置參數(shù)組。在一些實施方式中,讀取器自動記錄相關(guān)的配置參數(shù)和/或?qū)@些配置參數(shù)作出的任何改變。在一些實施方式中,應(yīng)用可以借助于一個或更多個讀取器命令將安全記錄模式配置參數(shù)傳遞給讀取器。在一些實施方式中,讀取器可以借助于同樣的讀取器命令將安全記錄模式配置參數(shù)傳遞給讀取器以指示讀取器進(jìn)入安全記錄模式。在一些實施方式中,應(yīng)用使用一個或更多個其他讀取器命令來將安全記錄模式配置參數(shù)傳遞給讀取器。在一些實施方式中,讀取器可以在讀取器進(jìn)入安全記錄模式之前將安全記錄模式配置參數(shù)傳遞給讀取器。在一些實施方式中,讀取器可以在讀取器進(jìn)入安全記錄模式然后將安全記錄模式配置參數(shù)傳遞給讀取器。
[0148]日志交易數(shù)據(jù)的審查和批準(zhǔn)
[0149]在一些實施方式中,當(dāng)讀取器處于安全記錄模式時,使讀取器至少記錄(步驟324)讀取器呈現(xiàn)給用戶并且用戶審查和批準(zhǔn)(或不批準(zhǔn))的數(shù)據(jù)(或這樣的數(shù)據(jù)的表示如這樣的數(shù)據(jù)的摘要或哈希)。在一些實施方式中,讀取器記錄其呈現(xiàn)供審查和批準(zhǔn)的數(shù)據(jù),并且記錄用戶的決定(批準(zhǔn)或拒絕)。在一些實施方式中,讀取器僅記錄已經(jīng)呈現(xiàn)給用戶并且用戶已經(jīng)審查并批準(zhǔn)的數(shù)據(jù)(以及讀取器不記錄用戶已經(jīng)拒絕的數(shù)據(jù))。在一些實施方式中,讀取器記錄應(yīng)用使用其向讀取器傳送要被審查和批準(zhǔn)的數(shù)據(jù)的讀取器命令(或這樣的命令的表示如讀取器命令的哈希或讀取器命令的部分),并且記錄讀取器對應(yīng)用的響應(yīng)以表示用戶的批準(zhǔn)或拒絕。
[0150]在一些實施方式中,當(dāng)讀取器處于安全記錄模式下時,使讀取器至少記錄(步驟336)應(yīng)用提交至卡用于獲得簽名的數(shù)據(jù)(或這樣的數(shù)據(jù)的表示如摘要或哈希,或甚至對這些數(shù)據(jù)的卡簽名)。在一些實施方式中,這可以通過讀取器記錄用于將要被簽名的數(shù)據(jù)傳遞至卡的智能卡命令的內(nèi)容來完成。在一些實施方式中,這通過記錄卡的響應(yīng)包括對要被簽名的數(shù)據(jù)的卡簽名來完成。在一些實施方式中,使讀取器記錄能夠由應(yīng)用使用以使卡簽名數(shù)據(jù)的所有智能卡命令。在一些實施方式中,讀取器記錄當(dāng)讀取器處于安全記錄模式下時應(yīng)用通過讀取器發(fā)送至卡的所有透明智能卡命令。在一些實施方式中,讀取器記錄當(dāng)讀取器處于安全記錄模式下時應(yīng)用通過讀取器發(fā)送至卡并且滿足一些標(biāo)準(zhǔn)的所有透明智能卡命令。在一些實施方式中,這些標(biāo)準(zhǔn)是用于安全記錄模式的讀取器的配置數(shù)據(jù)的一部分。在一些實施方式中,可以設(shè)置這些標(biāo)準(zhǔn)使得確保記錄了表示或確定卡已經(jīng)簽名或?qū)⒁缓灻男?shù)據(jù)的那些智能卡命令。在一些實施方式中,讀取器記錄關(guān)于要被簽名的數(shù)據(jù)的智能卡簽名以及要被簽名的數(shù)據(jù)本身,或者記錄對要被簽名的數(shù)據(jù)的智能卡簽名而不記錄要被簽名的數(shù)據(jù)本身。
[0151]在一些實施方式中,當(dāng)讀取器處于安全記錄模式下時,使讀取器至少記錄讀取器呈現(xiàn)給用戶并且用戶審查并批準(zhǔn)的數(shù)據(jù)(或這樣的數(shù)據(jù)的表示)(如上所述),以及應(yīng)用提交至卡用于獲得簽名的數(shù)據(jù)(如上所述)。
[0152]根據(jù)標(biāo)準(zhǔn)記錄數(shù)據(jù)
[0153]在一些實施方式中,讀取器用于記錄滿足特定標(biāo)準(zhǔn)的任何事件、透明智能卡命令、讀取器命令、用戶動作或其他事件。在一些實施方式中,這些標(biāo)準(zhǔn)可以是讀取器的配置數(shù)據(jù)的一部分。在一些實施方式中,應(yīng)用可以在步驟(316)中設(shè)置或改變讀取器的配置數(shù)據(jù)中的至少一些。例如在一些實施方式中,應(yīng)用可以指示讀取器進(jìn)入安全記錄模式并且應(yīng)用可以包括讀取器可以使用以決定其要記錄哪些事件、智能卡命令、讀取器動作或用戶動作的標(biāo)準(zhǔn)中的一些標(biāo)準(zhǔn)的特定配置數(shù)據(jù)。
[0154]記錄配置數(shù)據(jù)
[0155]在一些實施方式中,讀取器自動記錄(步驟318)其應(yīng)用以決定記錄什么的所有配置數(shù)據(jù)或一部分配置數(shù)據(jù)。在一些實施方式中,讀取器自動記錄其從應(yīng)用接收并且其應(yīng)用以決定要記錄什么的配置數(shù)據(jù)。
[0156]交換透明智能卡命令
[0157]在步驟(328)中,應(yīng)用將一系列一個或更多個智能卡命令發(fā)送至安全智能卡讀取器用于讀取器與智能卡讀取器中所插入的智能卡交換并且向應(yīng)用返回對這些智能卡命令的卡響應(yīng)。在一些實施方式中,應(yīng)用通過讀取器的主計算機(jī)上的標(biāo)準(zhǔn)軟件棧與讀取器交換這些命令以與智能卡讀取器中所插入的智能卡交換智能卡命令。在一些實施方式中,該軟件??梢园–CID (集成電路卡接口設(shè)備)USB驅(qū)動器和/或PC/SC (個人計算機(jī)/智能卡)部件。如上所述,在一些實施方式中,當(dāng)讀取器處于安全記錄模式下時,讀取器可以將與一些或所有這些智能卡命令相關(guān)的數(shù)據(jù)和/或相應(yīng)的智能卡響應(yīng)添加至一個或更多個讀取器的日志文件。在一些實施方式中,讀取器可以支持接觸接口并且可以通過電流接觸與智能卡交換命令。在一些實施方式中,讀取器可以支持非接觸智能卡接口并且可以使用非接觸通信協(xié)議例如IS0/IEC14443協(xié)議來與智能卡交換命令。在一些實施方式中,智能卡讀取器包括用于插入智能卡的智能卡插槽。
[0158]對智能卡命令應(yīng)用防火墻
[0159]在一些實施方式中,在與智能卡交換這些智能卡命令之前,讀取器可以對這些智能卡命令應(yīng)用防火墻(步驟326)。在一些實施方式中,讀取器可以基于特定標(biāo)準(zhǔn)來阻止一些智能卡命令。
[0160]在一些實施方式中,應(yīng)用可以例如與智能卡交換透明智能卡命令以在卡上選擇用于生成簽名的函數(shù)以及/或者以在卡上選擇安全預(yù)置文件或環(huán)境以及/或者以從卡讀取數(shù)據(jù)例如與用戶相關(guān)的數(shù)據(jù)和/或與用戶相關(guān)聯(lián)的公鑰(例如證書)。
[0161]驗證用戶身份
[0162]在步驟(330)中,讀取器可以驗證用戶身份。例如,讀取器可以進(jìn)行安全PIN輸入。讀取器可以提示用戶輸入PIN,捕捉用戶輸入的PIN并且將PIN提交至智能卡用于由智能卡來驗證。在一些實施方式中,應(yīng)用借助于一個或更多個安全PIN輸入讀取器命令來指示讀取器進(jìn)行安全PIN輸入。在其他實施方式中,讀取器借助于可以例如基于指紋的生物特征用戶認(rèn)證法來驗證用戶的身份。在一些實施方式中,讀取器可以記錄用戶的身份驗證。例如,讀取器可以記錄用戶身份驗證是否發(fā)生和/或用戶身份驗證的結(jié)果是什么。
[0163]交易數(shù)據(jù)的批準(zhǔn)
[0164]在步驟(331)處,應(yīng)用將數(shù)據(jù)(例如,交易數(shù)據(jù))提交至讀取器以將數(shù)據(jù)呈現(xiàn)給用戶用于由用戶來審查和批準(zhǔn)。在一些實施方式中,應(yīng)用使用具體讀取器命令來將這些數(shù)據(jù)提交至讀取器。讀取器可以將這些數(shù)據(jù)呈現(xiàn)給用戶(例如通過在讀取器的顯示器上呈現(xiàn)數(shù)據(jù)),并且提示用戶審查數(shù)據(jù)并且表示批準(zhǔn)或拒絕。讀取器可以捕捉(322)用戶的批準(zhǔn)或拒絕(用戶可以例如通過按壓OK或取消按鈕來表示)。讀取器可以將用戶批準(zhǔn)或拒絕的決定返回至應(yīng)用。在一些實施方式中,如果用戶不批準(zhǔn)數(shù)據(jù),則應(yīng)用可以退出交易。
[0165]在典型的實施方式中,讀取器記錄(333)呈現(xiàn)給用戶和/或由用戶批準(zhǔn)的數(shù)據(jù)(或這些數(shù)據(jù)的表示例如摘要或哈希)。在一些實施方式中,讀取器僅在用戶批準(zhǔn)數(shù)據(jù)的情況下記錄這些數(shù)據(jù)。在一些實施方式中,讀取器記錄數(shù)據(jù)而不管用戶是批準(zhǔn)了這些數(shù)據(jù)還是拒絕了這些數(shù)據(jù),并且還記錄用戶的決定(即,用戶是批準(zhǔn)了數(shù)據(jù)還是拒絕了數(shù)據(jù))。在一些實施方式中,讀取器記錄數(shù)據(jù)和表示用戶的結(jié)果的數(shù)據(jù)元素。在一些實施方式中,在用戶批準(zhǔn)了數(shù)據(jù)的情況下,讀取器僅記錄已經(jīng)被審查的數(shù)據(jù)使得用戶記錄這些數(shù)據(jù)的事實在日志文件中表示用戶審查了并且批準(zhǔn)了這些數(shù)據(jù)。在一些實施方式中,讀取器記錄包括要由用戶來審查和批準(zhǔn)的數(shù)據(jù)的讀取器命令,并且還記錄包括用戶的決定的表示的相應(yīng)的響應(yīng)。
[0166]通過卡的交易數(shù)據(jù)的簽名
[0167]在步驟(334)中,如果用戶批準(zhǔn)了數(shù)據(jù),使智能卡對一組數(shù)據(jù)進(jìn)行簽名。在典型的實施方式中,應(yīng)用可以生成關(guān)于要被簽名的數(shù)據(jù)的摘要(例如,通過對數(shù)據(jù)應(yīng)用密碼學(xué)哈希函數(shù)),并且可以將摘要或哈希提交至智能卡,隨后智能卡簽名所提交的摘要或哈希。在一些實施方式中,應(yīng)用可將要被簽名的數(shù)據(jù)直接提交至智能卡。在一些實施方式中,智能卡可以關(guān)于其從應(yīng)用接收到的要被簽名的數(shù)據(jù)來生成摘要或哈希并且簽名該摘要或哈希。在一些實施方式中,要被簽名的數(shù)據(jù)和要由用戶來審查和批準(zhǔn)的數(shù)據(jù)是相同的。在一些實施方式中,要被簽名的數(shù)據(jù)包括要被審查和批準(zhǔn)的數(shù)據(jù),但還可以包括其他數(shù)據(jù)(例如對于用戶無意義的隨機(jī)挑戰(zhàn),并且因此不需要被審查和批準(zhǔn),但是它們可以用于防止特定類型的重放攻擊)。在一些實施方式中,要被審查和批準(zhǔn)的數(shù)據(jù)包括要被簽名的數(shù)據(jù),但是還可以包括沒有提交至卡用于簽名的另外的信息。在典型的實施方式中,在一方面要被審查和批準(zhǔn)的數(shù)據(jù)與另一方面要被簽名的數(shù)據(jù)之間存在至少部分的重疊。然而,在一些實施方式中,在一方面要被審查和批準(zhǔn)的數(shù)據(jù)與另一方面要被簽名的數(shù)據(jù)之間不存在直接的字面上的重疊,但是存在關(guān)系,即關(guān)于這些數(shù)據(jù)的含義。例如,要被簽名的數(shù)據(jù)可以包括全部合約,而要被審查和批準(zhǔn)的數(shù)據(jù)可以包括合約的簡短概要。
[0168]在典型的實施方式中,應(yīng)用借助于其與智能卡交換的透明智能卡命令來提交要被簽名的數(shù)據(jù)。在這樣的實施方式中,讀取器可以不具有或不需要關(guān)于可以用于使卡簽名要被簽名的數(shù)據(jù)的該組命令的知識。例如,在一些實施方式中,應(yīng)用可以向智能卡發(fā)送透明智能卡命令以選擇合適的安全環(huán)境(其可以例如選擇卡可以隨后使用的私鑰)。應(yīng)用可以向智能卡發(fā)送一個或更多個透明智能卡命令以向智能卡提交要被簽名的數(shù)據(jù)的摘要或哈希,或者應(yīng)用可以向智能卡發(fā)送一個或更多個智能卡命令以向智能卡提交要被簽名的數(shù)據(jù)本身,并且智能卡可以計算摘要或哈希(例如,自動或在從應(yīng)用接收到這樣做的明確命令時)。然后智能卡可以簽名所接收到的或所生成的摘要或哈希。在一些實施方式中,同時使用相同的智能卡命令以向智能卡提交要被簽名的數(shù)據(jù)或者關(guān)于要被簽名的數(shù)據(jù)的摘要或哈希并且指示智能卡生成實際簽名。在其他實施方式中,可以使用不同的智能卡命令一方面向智能卡提交要被簽名的數(shù)據(jù)或者關(guān)于要被簽名的數(shù)據(jù)的摘要或哈希,而另一方面指示智能卡生成實際簽名。在一些實施方式中,與生成對數(shù)據(jù)的簽名有關(guān)的一些或所有智能卡命令可以被稱為PS0(執(zhí)行安全操作)命令。
[0169]在其他實施方式中,應(yīng)用使用指示讀取器向用戶呈現(xiàn)特定數(shù)據(jù)來供審查和批準(zhǔn)并且(在用戶批準(zhǔn)數(shù)據(jù)的情況下)將已批準(zhǔn)的數(shù)據(jù)(或與已批準(zhǔn)的數(shù)據(jù)相關(guān)的數(shù)據(jù)組)提交至智能卡用于簽名的安全簽名讀取器命令。在這樣的實施方式中,讀取器可以已經(jīng)內(nèi)置或配置關(guān)于可以用于使卡簽名要被簽名的數(shù)據(jù)的該組命令的知識使得其能夠構(gòu)造正確的命令。在一些實施方式中,應(yīng)用可以傳遞關(guān)于如何構(gòu)造簽名命令的讀取器信息。
[0170]記錄由卡簽名的數(shù)據(jù)
[0171]在典型的實施方式中,讀取器在步驟(336)中記錄已經(jīng)由卡簽名的數(shù)據(jù)(或表示這些數(shù)據(jù)的數(shù)據(jù)如摘要或哈希)。在一些實施方式中,讀取器記錄所有透明智能卡命令(至少對于特定時刻)使得也自動記錄由應(yīng)用使用來向卡提交數(shù)據(jù)用于簽名的任何透明智能卡命令。在一些實施方式中,讀取器被配置成自動記錄滿足特定標(biāo)準(zhǔn)的所有透明智能卡命令,并且這些標(biāo)準(zhǔn)被配置使得也自動記錄由應(yīng)用使用來向卡提交數(shù)據(jù)用于簽名的任何透明智能卡命令。在典型的實施方式中,讀取器不具有關(guān)于如何識別被用于向卡提交要被簽名的數(shù)據(jù)的智能卡命令的知識。在一些實施方式中,讀取器還記錄與所記錄的智能卡命令對應(yīng)的卡響應(yīng)。在一些實施方式中,可以在不記錄相應(yīng)的卡響應(yīng)的情況下記錄一些智能卡命令。在一些實施方式中,可以在不記錄相應(yīng)的智能卡命令的情況下記錄一些卡響應(yīng)。在一些實施方式中,讀取器僅記錄要被簽名的數(shù)據(jù)(或其表示如哈希)。在一些實施方式中,讀取器僅記錄卡簽名(其可以被認(rèn)為是要被簽名的數(shù)據(jù)的表示)。在一些實施方式中,讀取器記錄要被簽名的數(shù)據(jù)(或其表示如哈希)和相應(yīng)的卡簽名二者。[0172]檢索卡簽名
[0173]在步驟(338)中,應(yīng)用例如通過接收卡對于簽名智能卡命令的響應(yīng)來檢索卡對要被簽名的數(shù)據(jù)所生成的卡簽名。
[0174]生成對日志文件的讀取器簽名
[0175]在步驟(340)中,讀取器生成對所記錄的數(shù)據(jù)的讀取器簽名。在一些實施方式中,讀取器使用基于非對稱密碼學(xué)的簽名算法并且使用公-私鑰對中的讀取器私鑰來生成日志簽名,由此該私鑰被安全地存儲在讀取器中。在一些實施方式中,讀取器使用基于對稱密碼學(xué)的算法并且使用安全地存儲在讀取器中的秘密讀取器鑰來生成日志簽名,并且由此可以與一些驗證服務(wù)器共享該秘密讀取器鑰。在典型的實施方式中,所有所記錄的數(shù)據(jù)被記錄在單個日志文件中,并且讀取器生成對該單個日志文件的單個日志簽名。在一些實施方式中,讀取器可以使用多個日志文件來記錄數(shù)據(jù)并且可以分別簽名一些日志文件使得日志簽名包括對分別簽名的日志文件的多個簽名。例如在一些實施方式中,讀取器可以在一個日志文件中記錄讀取器命令或供審查和批準(zhǔn)的數(shù)據(jù),并且可以在另一日志文件中記錄透明智能卡命令,并且生成對每個這些日志文件的簽名,使得讀取器的日志簽名包括對具有所記錄的讀取器命令或供審查和批準(zhǔn)的數(shù)據(jù)的日志文件的讀取器簽名以及對具有透明智能卡命令的日志文件的讀取器簽名。
[0176]檢索所生成的讀取器簽名
[0177]在步驟(342)中,應(yīng)用檢索讀取器對該一個或更多個日志所生成的讀取器簽名。在一些實施方式中,應(yīng)用還可以檢索所簽名的日志本身的內(nèi)容。在一些實施方式中,應(yīng)用還可以從讀取器檢索與由讀取器使用來生成日志上的讀取器簽名的一個或更多個鑰(其可以包括公-私鑰對中的私鑰)有關(guān)的一個或更多個證書。在一些實施方式中,應(yīng)用還可以從讀取器檢索與由讀取器使用來生成對日志的讀取器簽名的公-私鑰對中的私鑰對應(yīng)的一個或更多個公鑰。在一些實施方式中,應(yīng)用還可以從讀取器檢索可以由應(yīng)用使用以獲得(例如,通過查詢數(shù)據(jù)庫)與由讀取器使用來生成對日志的讀取器簽名的鑰相關(guān)的一個或更多個公鑰和/或證書的讀取器識別數(shù)據(jù)。
[0178]驗證用戶確實已經(jīng)批準(zhǔn)了交易。
[0179]在已經(jīng)將交易數(shù)據(jù)提交至應(yīng)用,并且用戶已經(jīng)審查要被審查和批準(zhǔn)的數(shù)據(jù),并且卡已經(jīng)簽名要被簽名的數(shù)據(jù)然后,應(yīng)用可以驗證是否每件事都根據(jù)應(yīng)用的適用安全策略發(fā)生。例如,為了排除或最小化中間人攻擊的風(fēng)險,其中攻擊者通過使用欺詐數(shù)據(jù)替換用戶意在提交至應(yīng)用的交易數(shù)據(jù)來干預(yù)交易(例如,攻擊者可以在貨幣轉(zhuǎn)移交易中改變了目標(biāo)賬號),應(yīng)用可以驗證由用戶提交至應(yīng)用的交易數(shù)據(jù)是否有效地與用戶在安全讀取器上審查和批準(zhǔn)并且通過卡簽名的數(shù)據(jù)相符。為了進(jìn)行該驗證,應(yīng)用可以驗證日志文件上的讀取器簽名和卡簽名,并且驗證已簽名的日志文件與根據(jù)應(yīng)用的預(yù)期和安全策略應(yīng)當(dāng)發(fā)生的事件是否相符。在典型的實施方式中,應(yīng)用的安全策略要求由用戶在安全讀取器上審查和批準(zhǔn)交易數(shù)據(jù)的表示并且由卡來簽名同一交易數(shù)據(jù)的表示。在一些實施方式中,應(yīng)用還可以要求用戶的審查和批準(zhǔn)以及卡的簽名在同一會話中發(fā)生。在一些實施方式中,應(yīng)用還可以要求在該會話中沒有其他數(shù)據(jù)被呈現(xiàn)給用戶來供審查和批準(zhǔn)并且/或者沒有其他數(shù)據(jù)被卡簽名。在典型的實施方式中,讀取器被配置成記錄由用戶在讀取器上執(zhí)行的數(shù)據(jù)的所有數(shù)據(jù)審查和批準(zhǔn),并且記錄由卡簽名的所有數(shù)據(jù)(例如,通過記錄可以包括所有智能卡命令的一組透明智能卡命令)。在一些實施方式中,應(yīng)用要求所提交的交易數(shù)據(jù)和由用戶在讀取器上審查和批準(zhǔn)的數(shù)據(jù)和由卡簽名的數(shù)據(jù)是相同的。在一些實施方式中,應(yīng)用不要求這些數(shù)據(jù)相同但是要求在它們之間存在一些預(yù)定義的關(guān)系。例如,在一些實施方式中,由用戶審查的數(shù)據(jù)可以包括所提交的數(shù)據(jù)或者由卡簽名的數(shù)據(jù)的子集或概要。例如,除了由用戶審查的數(shù)據(jù)之外,由卡簽名的數(shù)據(jù)可以包括對用戶沒有意義的并且因此不被呈現(xiàn)給用戶以供審查的一些數(shù)據(jù)元素(如交易序列號)。例如,所提交的交易數(shù)據(jù)可以包括可變交易數(shù)據(jù)連同標(biāo)準(zhǔn)條款和條件的龐大列表,并且僅可變交易數(shù)據(jù)被有效地呈現(xiàn)給用戶用于在安全讀取器上審查。
[0180]在下面的示例性步驟中,應(yīng)用驗證是否已經(jīng)由用戶審查和批準(zhǔn)了正確的數(shù)據(jù)以及是否已經(jīng)由卡簽名了正確的數(shù)據(jù)。
[0181]驗證卡簽名
[0182]在步驟(344)中,應(yīng)用驗證卡的簽名是否與應(yīng)用意在要由卡來簽名的數(shù)據(jù)相符。這可以借助于驗證數(shù)據(jù)簽名的傳統(tǒng)技術(shù)來完成。例如在典型的實施方式中,通過對要被簽名的數(shù)據(jù)進(jìn)行哈希操作以及卡利用其私鑰對所得到的哈希進(jìn)行加密來獲得簽名。在這樣的情況下,可以通過使用與卡的私鑰對應(yīng)的公鑰對簽名進(jìn)行解密并且將解密結(jié)果與假定已經(jīng)由卡簽名的數(shù)據(jù)的哈希相比較來驗證簽名。
[0183]日志文件的應(yīng)用副本的驗證或匯集
[0184]在步驟(346)中應(yīng)用驗證或匯集讀取器已簽名的日志的內(nèi)容。
[0185]在一些實施方式中,應(yīng)用已經(jīng)從讀取器檢索到已簽名的日志的內(nèi)容并且驗證這些內(nèi)容是否與應(yīng)用假設(shè)已經(jīng)發(fā)生的事件和動作一致。例如,應(yīng)用可以驗證日志是否表示是否已經(jīng)將數(shù)據(jù)呈現(xiàn)給用戶以供審查和批準(zhǔn),已經(jīng)將哪些數(shù)據(jù)呈現(xiàn)給用戶以及用戶是已經(jīng)批準(zhǔn)還是已經(jīng)拒絕這些數(shù)據(jù)。應(yīng)用還可以例如驗證在與其中由用戶批準(zhǔn)數(shù)據(jù)的會話相同的安全記錄會話的過程中是否已經(jīng)生成從卡獲得的卡簽名。應(yīng)用可以例如驗證是否在與由用戶批準(zhǔn)的數(shù)據(jù)相同的日志文件中已經(jīng)記錄了卡簽名。應(yīng)用可以例如驗證日志文件中的特定時間戳是否在應(yīng)用的容受極限范圍內(nèi)。
[0186]在其他實施方式中,應(yīng)用通過其自己記錄讀取器應(yīng)當(dāng)記錄的所有動作和事件并且應(yīng)用假設(shè)讀取器應(yīng)用的同樣的記錄機(jī)制和規(guī)則來匯集讀取器所匯集的日志文件的假設(shè)副本。例如在典型的實施方式中,讀取器可以在安全記錄模式下記錄其與應(yīng)用交換的所有讀取器命令和透明智能卡命令(以及他們相應(yīng)的響應(yīng)),并且應(yīng)用可以以完全相同的方式記錄其假設(shè)與讀取器交換的所有讀取器命令和透明智能卡命令。該組所交換的讀取器命令和透明智能卡命令包括向用戶呈現(xiàn)數(shù)據(jù)以供審查和批準(zhǔn)的任意讀取器命令和使卡生成簽名的任意透明智能卡命令。
[0187]關(guān)于日志文件的讀取器簽名的驗證
[0188]在步驟(348)中,應(yīng)用驗證讀取器簽名是否與其已經(jīng)檢索到的或所匯集的日志文件的內(nèi)容匹配。這可以借助于驗證數(shù)據(jù)簽名的傳統(tǒng)技術(shù)來完成。例如在典型的實施方式中,通過對要被簽名的數(shù)據(jù)進(jìn)行哈希操作以及讀取器使用其私鑰對所得到的哈希進(jìn)行加密來獲得簽名。在這樣的情況下,可以通過使用與讀取器的私鑰對應(yīng)的公鑰對簽名進(jìn)行解密以及將解密結(jié)果與假定已經(jīng)由讀取器簽名的數(shù)據(jù)(即,日志文件的內(nèi)容)的哈希相比較來驗證簽名。[0189]驗證正確的數(shù)據(jù)是否已由用戶批準(zhǔn)
[0190]在步驟(350)中,應(yīng)用驗證由用戶批準(zhǔn)的數(shù)據(jù)是否與由卡簽名的數(shù)據(jù)匹配以及/或者由用戶批準(zhǔn)的數(shù)據(jù)是否與所提交的交易數(shù)據(jù)匹配。在一些實施方式中(例如在應(yīng)用自己匯集日志文件的應(yīng)用副本的實施方式中),這可以是隱式的。在其他實施方式中,該步驟可以是顯式的(例如,在應(yīng)用檢索日志文件的內(nèi)容的實施方式中,應(yīng)用可以驗證在日志文件中記錄的已經(jīng)由用戶批準(zhǔn)的數(shù)據(jù)是否與應(yīng)用意在由用戶審查和批準(zhǔn)的數(shù)據(jù)相符)。
[0191]已簽名的日志文件內(nèi)容是否與交易數(shù)據(jù)一致的驗證
[0192]應(yīng)用可以驗證所提交的交易數(shù)據(jù)是否與根據(jù)日志文件已經(jīng)由用戶審查和批準(zhǔn)的數(shù)據(jù)一致以及/或者所提交的交易數(shù)據(jù)和/或這些已審查和已批準(zhǔn)的數(shù)據(jù)是否與由卡簽名的數(shù)據(jù)一致。
[0193]在一些實施方式中,應(yīng)用可以驗證日志文件中的特定時間戳是否與特定交易事件的時間一致。
[0194]生成用戶批準(zhǔn)確認(rèn)信號
[0195]在步驟(352)中,當(dāng)成功地完成上述驗證時,應(yīng)用可以生成確認(rèn)用戶批準(zhǔn)了交易的信號;否則應(yīng)用可以生成表示驗證失敗的信號。
[0196]執(zhí)行交易
[0197]在步驟(354 )中,應(yīng)用可以通過執(zhí)行交易來按照該確認(rèn)信號行動。
[0198]在一些實施方式中,如果上述驗證中的任何驗證失敗,則應(yīng)用會中止或取消交易。
[0199]方法步驟的順序
[0200]雖然在上文已經(jīng)以在典型實施方式中可以執(zhí)行這些步驟的順序描述了本方法的步驟,但在其他實施方式中,可以以另一種順序來執(zhí)行一些步驟,可以省略一些步驟,可以添加額外的步驟,可以將一些步驟與其他步驟合并,以及一些步驟可以包括可以與其他步驟的子步驟交織的子步驟。
[0201]例如在很多實施方式中,應(yīng)用可以在各種時刻交換透明智能卡命令:在讀取器進(jìn)入安全記錄模式之前或然后,在使讀取器向用戶呈現(xiàn)數(shù)據(jù)以供審查和批準(zhǔn)之前或然后,在使卡對數(shù)據(jù)進(jìn)行簽名之間或然后,…。例如,應(yīng)用可以在進(jìn)入安全記錄模式之前與智能卡交換一系列智能卡命令來確定卡的類型并且讀取卡的公鑰證書(例如,確定用戶身份),并且基于從而獲得的信息來設(shè)置讀取器的記錄配置參數(shù)(例如,以表示應(yīng)當(dāng)記錄哪些透明智能卡命令,透明智能卡命令可以是智能卡類型的函數(shù))。
[0202]雖然在典型的實施方式中,讀取器向用戶呈現(xiàn)數(shù)據(jù)以供審查和批準(zhǔn)的步驟在卡對數(shù)據(jù)進(jìn)行簽名的步驟之前發(fā)生,在一些實施方式中,在要求用戶批準(zhǔn)數(shù)據(jù)之前數(shù)據(jù)可以已經(jīng)被提交至卡用于簽名。
[0203]在一些實施方式中,使讀取器進(jìn)入安全記錄模式的步驟可以與將要由用戶來審查和批準(zhǔn)的數(shù)據(jù)提交至讀取器的步驟同時發(fā)生。例如,在一些實施方式中,當(dāng)讀取器接收用于呈現(xiàn)要由用戶審查和批準(zhǔn)的數(shù)據(jù)的讀取器命令時,讀取器自動進(jìn)入安全記錄模式。
[0204]本發(fā)明的優(yōu)點
[0205]在典型的實施方式中,讀取器和應(yīng)用被布置使得確保讀取器可以記錄由用戶批準(zhǔn)的數(shù)據(jù)和由卡簽名的數(shù)據(jù)二者。在典型的實施方式中,讀取器和應(yīng)用還可以被布置使得確保讀取器可以記錄應(yīng)用在安全記錄會話過程中提交至讀取器要由用戶來審查和批準(zhǔn)的任何數(shù)據(jù),并且可以記錄在安全記錄會話過程中提交至卡用于簽名的任何數(shù)據(jù)。
[0206]例如,在一些實施方式中,讀取器可以記錄能夠用于指示讀取器向用戶呈現(xiàn)數(shù)據(jù)的所有讀取器命令,并且讀取器還可以記錄寬的一組透明智能卡命令(例如所有透明智能卡命令)使得確保當(dāng)讀取器處于安全記錄模式下時讀取器可以記錄提交至讀取器用于呈現(xiàn)給用戶的任何數(shù)據(jù)和提交至卡用于簽名的任何數(shù)據(jù)。在一些實施方式中,應(yīng)用可以配置讀取器的記錄規(guī)則并且讀取器也可以始終記錄記錄規(guī)則,并且應(yīng)用配置記錄規(guī)則使得讀取器可以記錄能夠用于指示讀取器向用戶呈現(xiàn)數(shù)據(jù)的任何讀取器命令和能夠用于向卡提交數(shù)據(jù)用于簽名的透明智能卡命令。
[0207]在這樣的典型實施方式中,應(yīng)用能夠獲得使由用戶在安全讀取器上批準(zhǔn)的數(shù)據(jù)和由卡簽名的數(shù)據(jù)相關(guān)聯(lián)的密碼學(xué)證據(jù)。更具體地,通過驗證卡簽名,應(yīng)用能夠驗證由卡有效地簽名了那些數(shù)據(jù);通過驗證對日志的讀取器簽名,應(yīng)用此外能夠驗證由用戶實際審查和批準(zhǔn)了哪些數(shù)據(jù)(以及應(yīng)用當(dāng)然還能夠驗證數(shù)據(jù)被有效地審查和批準(zhǔn)的事實);以及通過驗證日志的內(nèi)容和對日志的讀取器簽名,應(yīng)用能夠驗證數(shù)據(jù)批準(zhǔn)和數(shù)據(jù)簽名使用同一讀取器發(fā)生在同一安全記錄會話中,以及在該同一會話中沒有批準(zhǔn)和/或簽名其他數(shù)據(jù);以及通過將根據(jù)日志由用戶批準(zhǔn)的數(shù)據(jù)和根據(jù)日志由卡簽名的數(shù)據(jù)相比較,應(yīng)用能夠驗證由用戶批準(zhǔn)的數(shù)據(jù)與已簽名的數(shù)據(jù)相匹配。
[0208]以這種方式,本發(fā)明解決了其中不能夠排除對應(yīng)于卡簽名的數(shù)據(jù)與由用戶例如在不安全PC的顯示器上已經(jīng)批準(zhǔn)的數(shù)據(jù)不相符的現(xiàn)有技術(shù)的安全問題。另外,能夠通過根據(jù)本發(fā)明的不要求具有關(guān)于任何具體智能卡的該組智能卡命令的任何知識的讀取器來實現(xiàn)該解決方案,使得讀取器的固件不需要能夠了解、解析或構(gòu)造特定用于對數(shù)據(jù)進(jìn)行簽名的特定智能卡命令。這具有以下優(yōu)點:一方面讀取器能夠與多種卡(具有非常不同的命令組)一起使用并且在要使用新類型的卡的情況下不需要任何固件更新,同時相對于智能卡命令的處理,讀取器的固件能夠保持相對簡單。
[0209]通常,除非另有說明,或除非根據(jù)上下文明確,可以將上述段落中的術(shù)語“命令”(如在“卡命令”或“讀取器命令”中)理解為或者在嚴(yán)格的意義上僅包括命令本身或者包括命令本身和相應(yīng)的響應(yīng)二者。
[0210]通常,除非另有說明,或除非根據(jù)上下文明確,可以將上述段落中的術(shù)語“將數(shù)據(jù)添加至日志”理解為將數(shù)據(jù)完全照原樣添加至日志文件或?qū)⒈硎具@些數(shù)據(jù)的數(shù)據(jù)(如包括這些數(shù)據(jù)的數(shù)據(jù)或這些數(shù)據(jù)的哈希)添加至日志文件二者。
[0211]具體地,除非另有說明,或除非根據(jù)上下文明確,當(dāng)使用術(shù)語“記錄卡命令”或“記錄讀取器命令”時,則其可以理解為包括記錄命令-響應(yīng)對或表示命令-響應(yīng)對的有效荷載的數(shù)據(jù),即實際命令和對應(yīng)于該命令的響應(yīng)或表示他們各自的有效荷載的數(shù)據(jù)。例如,在一些實施方式中,當(dāng)記錄命令-響應(yīng)對時,可以省略命令的一些部分或響應(yīng)的一些部分如對于響應(yīng)狀態(tài)碼的命令報頭的特定字節(jié)的平凡值。此外,在一些實施方式中,對于特定命令-響應(yīng)對僅記錄實際命令有效荷載或僅記錄響應(yīng)有效荷載。
[0212]已經(jīng)關(guān)于若干部件之間的交互作用描述了上述系統(tǒng)和設(shè)備。應(yīng)當(dāng)理解,根據(jù)上述系統(tǒng)和設(shè)備的各種置換和組合,這樣的系統(tǒng)和部件可以包括這些部件或指定的子部件、指定部件或子部件中的特定部件或子部件、和/或另外的部件。子部件還可以實現(xiàn)為通信上耦接至其他部件的部件,而非包括在父部件內(nèi)(分級結(jié)構(gòu))。此外,應(yīng)當(dāng)注意,可以將一個或更多個部件合并成提供綜合功能的單個部件或者分成若干分離的子部件,并且,可以設(shè)置任意一個或更多個中間層(如管理層),使其通信上耦接至這樣的子部件,以提供綜合功能。本文中描述的任意部件還可以與本文中沒有具體描述但是本領(lǐng)域技術(shù)人員通常了解的一個或更多個其他部件交互。
[0213]已經(jīng)描述了多個實現(xiàn),然而,需要理解的是可以作出各種修改。例如,可以組合、刪除、修改或補(bǔ)充一個或更多個實現(xiàn)的元素以形成另外的實現(xiàn)。作為又一示例,在附圖中描繪的邏輯流程不要求示出的具體順序或串行順序以實現(xiàn)期望的結(jié)果。另外,可以向所描述的流程提供其他步驟或可以從所描述的流程中去除步驟,或者可以將其他部件添加至所描述的系統(tǒng)或從所描述的系統(tǒng)中去除其他部件。例如,模塊或部件不需要執(zhí)行歸屬于上述實現(xiàn)中的模塊的所有功能或功能中的任意功能,并且可以通過另一模塊或部件、另一另外的模塊或部件來執(zhí)行或并不執(zhí)行歸屬于上一個模塊或部件的所有功能或功能中的任意功能。因此,其它實現(xiàn)在所附權(quán)利要求的范圍之內(nèi)。
[0214]此外,雖然可能僅關(guān)于若干實現(xiàn)中的一個實現(xiàn)公開了本發(fā)明的具體特征,然而,如果對于任意給定或特定應(yīng)用是期望的且有利的,則這樣的特征可以與其他實現(xiàn)的一個或更多個其他特征合并。此外,就詳細(xì)描述或權(quán)利要求中所使用的術(shù)語“包括”、“具有”、“包含”及其變型以及其他相似的詞語而言,這些用語意在與作為開放式過渡詞的術(shù)語“包括”相類似的方式是包括性的,而不排除任意另外的或其他的元素。
[0215]雖然在上文已經(jīng)描述了本發(fā)明的各種實施方式,但是應(yīng)當(dāng)理解的是它們僅以示例而不是限制的方式被呈現(xiàn)。具體地,當(dāng)然,為了描述所要求保護(hù)的主題的目的,不能描述部件或方法的每個能夠想到的組合,但是本領(lǐng)域的技術(shù)人員可以承認(rèn)本發(fā)明的許多另外的組合和排列都是可能的。因此,本發(fā)明的廣度和范圍不應(yīng)受到任何上述示例性實施方式的限制,而是應(yīng)當(dāng)僅根據(jù)所附權(quán)利要求及其等同來限定。
【權(quán)利要求】
1.一種用于結(jié)合所插入的智能卡生成電子簽名的智能卡讀取器,包括: 通信接口,用于與主計算機(jī)通信; 智能卡連接器,用于與所述智能卡通信; 第一存儲器部件,用于安全地存儲一個或更多個密碼學(xué)鑰; 第二存儲器部件,用于存儲日志; 用戶接口,包括用于向用戶呈現(xiàn)信息的用戶輸出接口以及用于接收用戶指示的用戶輸入接口 ; 數(shù)據(jù)處理部件,用于與所述主計算機(jī)通信、與所述智能卡通信以及驅(qū)動所述用戶接口, 所述智能卡讀取器適于使用所述智能卡連接器與智能卡交換智能卡命令; 所述智能卡讀取器還適于工作在安全記錄模式下,在所述安全記錄模式下,所述智能卡讀取器在所述日志中記錄關(guān)于所述讀取器或所述讀取器的使用的安全相關(guān)事件;并且 所述智能卡讀取器還適于使用存儲在所述第一存儲器中的所述一個或更多個密碼學(xué)鑰中的至少一個密碼學(xué)鑰來生成所述日志上的讀取器簽名。
2.根據(jù)權(quán)利要求1所述的智能卡讀取器,還適于執(zhí)行從所述主計算機(jī)接收到的讀取器命令并且在所述日志中 記錄所接收到的讀取器命令中的至少一些讀取器命令。
3.根據(jù)權(quán)利要求2所述的智能卡讀取器,還適于支持用于指示所述讀取器執(zhí)行以下操作的一個或更多個讀取器命令:向用戶呈現(xiàn)數(shù)據(jù)以供用戶審查和批準(zhǔn);使用所述輸出接口向用戶呈現(xiàn)所述供審查和批準(zhǔn)的數(shù)據(jù);使用所述輸入接口捕捉用戶對所述供審查和批準(zhǔn)的數(shù)據(jù)的批準(zhǔn)或拒絕;以及在所述日志中記錄所述供審查和批準(zhǔn)的數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的智能卡讀取器,還適于在所述日志中記錄在所述主機(jī)與所述智能卡之間交換的至少一些透明智能卡命令。
5.根據(jù)權(quán)利要求4所述的智能卡讀取器,其中,所述讀取器記錄的透明智能卡命令包括用于向所插入的所述智能卡提交要由所述智能卡簽名的數(shù)據(jù)的透明智能卡命令。
6.根據(jù)權(quán)利要求4所述的智能卡讀取器,其中,所述讀取器記錄的透明智能卡命令包括用于從所插入的所述智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的透明智能卡命令。
7.根據(jù)權(quán)利要求4所述的智能卡讀取器,其中,所述讀取器適于在從第一時間點至第二時間點的時段內(nèi)記錄所有透明智能卡命令。
8.根據(jù)權(quán)利要求7所述的智能卡讀取器,其中,其中所述讀取器記錄所有透明智能卡命令的時段包括:其中將要被簽名的數(shù)據(jù)提交至所插入的所述智能卡的時段;或者其中從所插入的所述智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的時段。
9.根據(jù)權(quán)利要求1所述的智能卡讀取器,其中,所述讀取器存儲至少部分地確定所述讀取器記錄哪些事件的一組配置數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的智能卡讀取器,其中,所述讀取器適于記錄當(dāng)前組配置數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的智能卡讀取器,其中,所述讀取器支持用于改變所述組配置數(shù)據(jù)的一個或更多個讀取器命令。
12.根據(jù)權(quán)利要求1所述的智能卡讀取器,還包括時鐘并且適于向所述日志添加一個或更多個時間戳。
13.根據(jù)權(quán)利要求12所述的智能卡讀取器,其中,所述讀取器適于向所記錄的事件中的至少一些事件添加時間戳。
14.根據(jù)權(quán)利要求1所述的智能卡讀取器,還適于通過讀取器命令接收挑戰(zhàn)并且記錄所接收到的挑戰(zhàn)。
15.根據(jù)權(quán)利要求1所述的智能卡讀取器,還包括計數(shù)器并且還適于記錄與所述計數(shù)器相關(guān)的值。
16.根據(jù)權(quán)利要求15所述的智能卡讀取器,其中,所述讀取器還適于當(dāng)進(jìn)入所述安全記錄模式時或者當(dāng)生成所述日志上的所述讀取器簽名時自動遞增計數(shù)器值。
17.根據(jù)權(quán)利要求1所述的智能卡讀取器,其中,所述日志包括多個日志文件,并且其中,所述日志上的所述讀取器簽名包括對所述多個日志文件的多個簽名。
18.根據(jù)權(quán)利要求1所述的智能卡讀取器,還適于支持用于驗證用戶身份的讀取器命令。
19.根據(jù)權(quán)利要求18所述的智能卡讀取器,還適于記錄驗證所述用戶身份的結(jié)果。
20.根據(jù)權(quán)利要求18所述的智能卡讀取器,還適于請求用戶在所述用戶輸出接口上輸入PIN值、在所述用戶輸入接口上捕捉用戶輸入的PIN值、并且將所捕捉到的PIN值提交至所插入的所述智能卡以供驗證。
21.一種用于生成對 要被簽名的數(shù)據(jù)的電子簽名的方法,包括以下步驟: 將智能卡讀取器連接至主計算機(jī); 將智能卡插入所述讀取器中; 所述讀取器進(jìn)入安全記錄模式; 向所述讀取器提交供用戶審查和批準(zhǔn)的數(shù)據(jù); 由所述讀取器使用所述讀取器上的用戶輸出接口來向用戶呈現(xiàn)所述供用戶審查和批準(zhǔn)的數(shù)據(jù); 由所述讀取器使用所述讀取器上的用戶輸入接口來捕捉用戶對所呈現(xiàn)的數(shù)據(jù)的批準(zhǔn); 由所述讀取器在所述讀取器上的日志中記錄所述供審查和批準(zhǔn)的數(shù)據(jù); 向所插入的所述智能卡提交要被簽名的數(shù)據(jù),然后由所插入的所述智能卡生成對所提交的要被簽名的數(shù)據(jù)的電子卡簽名,然后從所插入的所述智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名;以及 由所述讀取器使用利用存儲在所述讀取器中的密碼學(xué)鑰而被參數(shù)化的密碼學(xué)數(shù)據(jù)簽名算法來生成對所述讀取器上的日志的電子讀取器簽名,然后獲得由所述讀取器生成的對所述日志的電子讀取器簽名。
22.根據(jù)權(quán)利要求21所述的方法,還包括如下步驟:由所述讀取器在所述讀取器上的日志中記錄被提交至所述卡的要被簽名的數(shù)據(jù)或者由所插入的所述智能卡生成的電子卡簽名。
23.根據(jù)權(quán)利要求22所述的方法,其中,向所插入的所述智能卡提交要被簽名的數(shù)據(jù)并且從所插入的所述智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名包括:所述主計算機(jī)使用所述智能卡讀取器來與所插入的所述智能卡交換透明智能卡命令;并且其中,由所述讀取器在所述讀取器上的日志中記錄被提交至所述卡的要被簽名的數(shù)據(jù)或者由所插入的所述智能卡生成的電子卡簽名包括:由所述讀取器在所述讀取器上的日志中記錄所交換的透明智能卡命令中的至少一些透明智能卡命令。
24.根據(jù)權(quán)利要求23所述的方法,其中,所述主計算機(jī)使用所述智能卡讀取器與所插入的所述智能卡交換的透明智能卡命令至少包括:用于向所插入的所述智能卡提交要被簽名的數(shù)據(jù)的透明智能卡命令;并且其中,所述讀取器在所述讀取器上的日志中記錄的所交換的透明智能卡命令中的至少一些透明智能卡命令至少包括:用于向所插入的所述智能卡提交要被簽名的數(shù)據(jù)的透明智能卡命令;或者用于從所插入的所述智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的透明智能卡命令。
25.根據(jù)權(quán)利要求23所述的方 法,其中,所述讀取器在所述讀取器上的日志中記錄的所交換的透明智能卡命令中的至少一些透明智能卡命令包括在特定時段期間交換的所有透明智能卡命令。
26.根據(jù)權(quán)利要求25所述的方法,其中,其中所述讀取器記錄所有所交換的透明智能卡命令的時段包括:其中將要被簽名的數(shù)據(jù)提交至所插入的所述智能卡的時段;或者其中從所插入的所述智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名的時段。
27.根據(jù)權(quán)利要求21所述的方法,還包括在所述讀取器上配置至少部分地確定所述讀取器在所述讀取器上的日志中記錄哪些事件的一組配置數(shù)據(jù)。
28.根據(jù)權(quán)利要求27所述的方法,還包括如下步驟:由所述讀取器在所述讀取器上的日志中記錄當(dāng)前組配置數(shù)據(jù)。
29.根據(jù)權(quán)利要求28所述的方法,還包括配置所述組配置數(shù)據(jù)使得所述讀取器在所述讀取器上的日志中記錄所述供審查和批準(zhǔn)的數(shù)據(jù)。
30.根據(jù)權(quán)利要求28所述的方法,還包括配置所述組配置數(shù)據(jù)使得所述讀取器在所述讀取器上的日志中記錄被提交至所述卡的要被簽名的數(shù)據(jù)或者由所插入的所述智能卡生成的電子卡簽名。
31.根據(jù)權(quán)利要求27所述的方法,還包括配置所述組配置數(shù)據(jù)使得所述讀取器在所述讀取器上的日志中記錄用于向用戶呈現(xiàn)數(shù)據(jù)供審查和批準(zhǔn)的讀取器命令。
32.根據(jù)權(quán)利要求27所述的方法,還包括配置所述組配置數(shù)據(jù)使得所述讀取器在所述讀取器上的日志中記錄一組透明智能卡命令。
33.根據(jù)權(quán)利要求32所述的方法,還包括配置所述組配置數(shù)據(jù)使得所述讀取器在所述讀取器上的日志中記錄包括用于向所插入的所述智能卡提交要被簽名的數(shù)據(jù)或者用于從所插入的所述智能卡獲得被提交至所述智能卡的數(shù)據(jù)上的所生成的電子簽名的智能卡命令的一組透明智能卡命令。
34.一種用于保護(hù)用戶訪問應(yīng)用的方法,包括以下步驟: 向用戶提供用于對數(shù)據(jù)進(jìn)行簽名的智能卡; 向用戶提供根據(jù)權(quán)利要求1所述的智能卡讀取器; 提供與來自與所述讀取器連接的主計算機(jī)的應(yīng)用的用戶交互; 匯集交易數(shù)據(jù); 匯集與所匯集的交易數(shù)據(jù)相關(guān)的要被審查和批準(zhǔn)的數(shù)據(jù); 匯集與所匯集的交易數(shù)據(jù)相關(guān)的要被簽名的數(shù)據(jù); 確保所述智能卡被插入所述智能卡讀取器中;確保所述讀取器進(jìn)入安全記錄模式; 向所述讀取器提交供用戶審查和批準(zhǔn)的數(shù)據(jù); 由所述讀取器使用所述讀取器上的用戶輸出接口來向用戶呈現(xiàn)所述供用戶審查和批準(zhǔn)的數(shù)據(jù); 由所述讀取器使用所述讀取器上的用戶輸入接口來捕捉用戶對所呈現(xiàn)的數(shù)據(jù)的批準(zhǔn); 由所述讀取器在所述讀取器上的日志中記錄所述供審查和批準(zhǔn)的數(shù)據(jù); 向所插入的所述智能卡提交要被簽名的數(shù)據(jù),然后由所插入的所述智能卡生成對所提交的要被簽名的數(shù)據(jù)的電子卡簽名,然后從所插入的所述智能卡獲得所生成的對所提交的數(shù)據(jù)的電子卡簽名; 由所述讀取器在所述讀取器上的日志中記錄被提交至所述卡的要被簽名的數(shù)據(jù)或者由所插入的所述智能卡生成的電子卡簽名; 由所述讀取器使用利用存儲在所述讀取器中的密碼學(xué)鑰而被參數(shù)化的密碼學(xué)數(shù)據(jù)簽名算法來生成對所述讀 取器上的日志的電子讀取器簽名,然后獲得由所述讀取器生成的對所述日志的電子讀取器簽名; 驗證所獲得的電子卡簽名; 驗證所獲得的由所述讀取器生成的對所述日志的電子讀取器簽名; 驗證由所述讀取器簽名的所述日志與所匯集的交易數(shù)據(jù)之間的一致性。
35.根據(jù)權(quán)利要求34所述的方法,其中,向所插入的所述智能卡提交要被簽名的數(shù)據(jù)包括:在所述主計算機(jī)與所插入的所述智能卡之間交換用于向所述智能卡提交要被簽名的數(shù)據(jù)的透明智能卡命令;并且其中,由所述讀取器在所述讀取器上的日志中記錄被提交至所述卡的要被簽名的數(shù)據(jù)或者由所插入的所述智能卡生成的電子卡簽名包括:記錄在所述主計算機(jī)與所插入的所述智能卡之間交換的、用于向所述智能卡提交要被簽名的數(shù)據(jù)或者用于檢索被提交至所述卡以供簽名的數(shù)據(jù)上的由所插入的所述智能卡生成的電子卡簽名的透明智能卡命令。
【文檔編號】G06F21/55GK104040555SQ201280065615
【公開日】2014年9月10日 申請日期:2012年11月14日 優(yōu)先權(quán)日:2011年11月14日
【發(fā)明者】哈爾姆·布拉姆斯 申請人:威斯科數(shù)據(jù)安全國際有限公司