專利名稱:用于與安全元件的安全交互的方法
技術領域:
本發(fā)明涉及一種用于與在終端設備中集成的安全模塊的安全交互的方法,具體地,涉及認證數據通過該終端設備的輸入設備到該安全模塊的安全輸入。
背景技術:
能夠使得例如用于為商品或服務進行付款的許多不同的應用在例如(U) SIM移動無線卡、安全存儲卡等形式的安全模塊上對用戶可用。保護這種應用本身和由該應用處理的數據免遭對安全模塊的未經授權的訪問。在該應用被釋放之前,例如為了實現付款交易,用戶例如通過PIN對安全模塊認證自身是必要的。這使得有可能阻止第三方在用戶不知情 或不同意的情況下為了其目的在終端設備上例如通過惡意代碼濫用應用。這種認證數據(例如PIN)的輸入通常是通過該終端設備的輸入設備(例如鍵盤)實現,由此該安全模塊被集成在終端設備中,優(yōu)選地以可移除的方式被集成在終端設備中。在輸入PIN和向安全模塊傳遞PIN時,必須確保PIN不能被未經授權的第三方偵查出。這可以通過安全輸入設備在受限制的框架內實現。但是,這不能排除惡意代碼應用為其目的可能濫用安全輸入設備。此外,無論如何,希望被偵查出的任何認證數據不能夠被未經授權的第三方進一步地使用。
發(fā)明內容
因此,本發(fā)明的目的在于使得能夠通過終端設備的輸入設備與終端設備中的安全模塊進行安全交互。這個目的通過具有獨立權利要求的特征的方法、終端設備和系統(tǒng)實現。有利實施例和發(fā)展在從屬權利要求中敘述。根據本發(fā)明的用于通過終端設備的輸入設備與被集成到終端設備的安全模塊進行安全交互的方法,包括以下步驟。終端設備的輸入設備被可在終端設備的可信賴區(qū)域中執(zhí)行的安全應用預約。隨后,通過預約的輸入設備輸入第一認證數據。然后,安全應用利用在可信賴區(qū)域中存儲的秘密數據從第一認證數據推導出第二認證數據。第二認證數據隨后被安全應用加密和以加密狀態(tài)傳遞到安全模塊和/或到服務器。在安全模塊和/或服務器中,最終解密所接收的加密的第二認證數據。根據本發(fā)明的適用于集成安全模塊的終端設備包括輸入設備和具有在其中可執(zhí)行的安全應用的可信賴區(qū)域。后者適用于預約輸入設備和通過預約的輸入設備接收第一認證數據。安全應用還適用于利用在可信賴區(qū)域中存儲的秘密數據從第一認證數據推導出第二認證數據、將第二認證數據加密和將它們以加密形式傳遞到集成于終端設備的安全模塊中和/或傳遞到服務器。因此,能夠確保通過終端設備的可信賴區(qū)域中的安全應用專用地接收和處理通過輸入設備輸入的認證數據。輸入設備的預約阻止了在終端設備上的所有其他應用,使得它們在輸入設備被安全應用預約的同時不能夠利用這個輸入設備。同樣使得不可能通過安全應用實施下述在輸入設備被預約的同時,尚未通過輸入設備輸入的偽裝為假定輸入數據的數據例如通過惡意代碼而混入(smuggle)可信賴區(qū)域。因此,有效地防止了利用混入終端設備的不可信賴區(qū)域中的惡意代碼,在從輸入設備到終端設備的可信賴區(qū)域的途中偵查出認證數據的可能性。然而,如果攻擊者通過其他方式(例如通過觀察用戶輸入第一認證數據或者通過在硬件級別上篡改輸入設備)成功偵查出第一認證數據,那么以這種方式獲得的第一認證數據對攻擊者來說是毫無價值的。沒有在終端設備的可信賴區(qū)域中安全地存儲的秘密數據的知識,攻擊者不能夠推導出第二認證數據。然而,這些(而不是第一認證數據)對于到安全模塊和/或服務器的成功認證是必須的。只有第二認證數據有權對安全模塊和/或服務器進行認證的這種構思有效地防止了所謂的釣魚攻擊。即使用戶錯誤地把第一認證數據傳遞到不可信賴的應用,由于所述原因,它們也不能夠被攻擊者所使用。
由于第二認證數據在它們通過安全應用從終端設備的可信賴區(qū)域傳遞到安全模塊和/或服務器之前被加密,并且因此一定正常地通過終端設備的不可信賴區(qū)域,因此不 再有任何可能通過在不可信賴區(qū)域中安裝的惡意代碼而偵查出此時的第二認證數據。向安全模塊和/或服務器的認證所需要的第二認證數據以加密的形式被安全模塊和/或服務器接收并且隨后在安全模塊和/或服務器中解密。因此,使得可以通過終端設備的輸入設備與終端設備中的安全模塊或者與服務器進行安全交互。本發(fā)明的方法的優(yōu)點不僅在于其高安全性,而且還在于所采用的設備(尤其是終端設備和安全模塊和/或服務器)、以及在終端設備和安全模塊和/或服務器之間的通信可以維持大致不變。只有在終端設備的可信賴區(qū)域中執(zhí)行的安全應用根據本發(fā)明而調整。這意味著,不向對應卡片的授權用戶通知PIN,使用該PIN,卡片被個人化。替代地,授權用戶可以在首次使用之前被要求自己輸入PIN,其例如通過Change (改變)PIN命令寫在卡上。終端設備的可信賴區(qū)域能夠通過已知的硬件體系結構(例如,根據ARM技術,所謂ARM信任區(qū)域,以及在其中執(zhí)行的由安全應用補充的安全運行時間環(huán)境)獲得。替代地,已知的和適當的硬件體系結構例如是虛擬化技術或者具有TPM的可信計算。在終端設備的可信賴區(qū)域中的安全應用和安全模塊和/或服務器之間的加密通信可以由已知技術實現。這樣,本發(fā)明的方法能夠以簡單的方式集成到現有系統(tǒng)中。安全應用優(yōu)選地通過控制驅動器應用的安全應用預約終端設備的輸入裝置,該安全應用在終端設備的可信賴區(qū)域中是可執(zhí)行的而且被提供用于處理與輸入設備的數據通信,使得通過輸入設備輸入的所有數據專用地(exclusively)到達數據載體的可信賴區(qū)域。因此確保第一認證數據形式的輸入數據不會被可能安裝在終端設備的不可信賴區(qū)域中的惡意代碼偵查出。而且,通過安全應用進行的輸入設備的預約阻止其他應用同時使用該輸入設備。這樣,就創(chuàng)建了從輸入設備到終端設備的可信賴區(qū)域的安全通信信道。通過安全應用進行的輸入設備的預約還具有下述結果在輸入設備被預約的同時,除了通過輸入設備輸入的數據之外,沒有來自不可信賴區(qū)域的數據到達終端設備的可信賴區(qū)域。因此,安全應用監(jiān)視不通過輸入設備輸入的所有數據在它們到達終端設備的可信賴區(qū)域之前被丟棄。這阻止了惡意代碼將假定輸入數據混入可信賴區(qū)域(特別是越過驅動器應用)。在可信賴區(qū)域中存儲的秘密數據優(yōu)選地以終端設備特定的方式進行配置。這樣,與將集成到終端設備中的安全模塊和其用戶配合,秘密數據能夠在終端設備的個人化階段期間合并入終端設備。這樣,可以防止第三方在占有安全模塊和獲得了第一認證數據的知識的情況下能夠通過其他的終端設備對安全模塊認證自身。這意味著,在第一認證數據已知的情況下,僅僅包括終端設備、安全模塊和在終端設備的可信賴區(qū)域中與之配合的秘密數據的系統(tǒng)才允許進行對安全模塊的成功認證。利用秘密數據作為秘密密鑰,例如利用加密哈希函數等,通過用于將第一認證數據加密到第二認證數據中的安全應用,能夠從第一認證數據推導出第二認證數據。用于加密第二認證數據并用于以加密形式將第二認證數據傳遞到安全模塊和/或服務器的傳送密鑰能夠在安全應用和安全模塊和/或服務器之間以公知方式(例如通過Diffie-Hellman密鑰交換方法)進行商議。但是,一個或者幾個對應傳送密鑰也可以已經存儲在安全模塊和/或服務器和終端設備的可信賴區(qū)域中。根據本發(fā)明的方法的優(yōu)選實施例,第二認證數據用于釋放在安全模塊和/或服務器上可執(zhí)行的應用,例如付款應用等。作為終端設備,優(yōu)選采用移動終端設備,具體地,移動無線終端設備、PDA、智能電話、上網本等。適當的安全模塊具體是(U) SM移動無線卡、安全存儲卡或者優(yōu)選地能夠以可移除方式集成于對應終端設備中的類似的便攜數據載體。適當的服務器具體是例如在用于金融交易(例如用于支付發(fā)票)的銀行(諸如例如在所謂在線銀行)上所使用的安全計算機。
以下,將參照附圖通過示例描述本發(fā)明。附圖中圖IA示意地表示根據本發(fā)明的終端設備的優(yōu)選實施例;圖IB以同樣的示意表示示出與本發(fā)明相關的圖IA的終端設備的各個部分;以及圖2表示根據本發(fā)明的方法的優(yōu)選實施例的各個步驟。
具體實施例方式圖IA示出移動無線終端設備形式的終端設備100。另外,具體地,例如PDA、智能手機、上網本等的移動終端設備同樣也是可能的。終端設備100包括顯示器形式的輸出設備110和鍵盤形式的輸入設備180。僅概要地表示,終端設備100包括芯片集120,利用該芯片集120控制終端設備100,參考圖IB將更詳細地說明該芯片集120。終端設備100適用于以可移除方式接收安全模塊200 (在所示例子中為(U)SIM移動無線卡)。不同類型和設計的安全模塊(例如安全存儲卡)是同樣可能的。安全模塊200能夠使得各種應用(例如支付應用210 (參考圖IB))對于終端設備100的用戶可用。為了防止未經授權的第三方例如通過安裝在終端設備100上的惡意代碼而為其目的濫用這種應用,提供有將在下面參考圖IB和圖2詳細說明的不同的安全措施。終端設備100的控制單元所基于的硬件120使得可信賴區(qū)域130和不可信賴區(qū)域160可用。在硬件級別,安全相關的應用和數據已經能夠以這樣的方式與較少安全相關的數據和應用分開。來自公司ARM的硬件體系結構提供了例如在名稱“信任區(qū)域”之下的這種 設置。在軟件級別,安全運行時間環(huán)境140控制在可信賴區(qū)域130中的操作。用于處理在終端設備的輸入設備180上的所有輸入的驅動器應用142是安全運行時間環(huán)境140的一部分。因此,如果需要,能夠確保通過輸入設備180輸入的數據不能夠到達終端設備100的不可信賴區(qū)域160。但是,也能夠設置驅動器應用142使得在終端設備100的不可信賴區(qū)域160中執(zhí)行的應用也訪問輸入設備180。作為將是在可信賴區(qū)域130 (參考圖2)中存儲的秘密密鑰keys形式的秘密數據144,下面將參考圖2更詳細地說明用于補充安全運行時間環(huán)境和擁有對驅動器應用142的直接訪問和控制的安全應用150。如圖IB中進一步所示的,通常的操作系統(tǒng)(0S)170控制終端設備100的不可信賴區(qū)域160。不同的非安全相關應用172能夠在其中是可執(zhí)行的。同樣地,安全模塊200通過不可信賴區(qū)域160連接到終端設備100。就是說,在安全模塊200為在其上可執(zhí)行的應用210和由這些應用210處理的數據保證足夠的安全的同時,必須通過進一步的措施來保護通常通過終端設備100的輸入設備180執(zhí)行的與安全模塊200的交互。這是必須的,因為傳遞的數據必須總是通過終端設備100的不可信賴區(qū)域160,因此可能受到由(通常未被用戶注意到的)已經安裝于不可信賴區(qū)域160中的惡意代碼所引起的攻擊。
參考圖2,以下示出使下述成為可能的方法通過終端設備100的輸入設備180,以安全的方式將認證數據傳遞到安全模塊200,從而釋放例如在安全模塊200上可執(zhí)行的付款應用210。在第一步驟SI,終端設備100的用戶例如通過在終端設備100的不可信賴區(qū)域160中執(zhí)行的應用172,在安全模塊200上開始付款應用210的調用。這種調用使得在終端設備100的可信賴區(qū)域130中執(zhí)行的安全應用150在步驟S2預約輸入設備180。為此目的,安全應用150以下述這種方式控制驅動器應用142 :在預約輸入設備180的同時,經過輸入設備輸入的所有數據專用地到達終端設備100的可信賴區(qū)域130。而且,輸入設備的預約具有下述結果除了經過輸入設備180輸入的數據之外,沒有此外的數據(特別地沒有來自不可信賴區(qū)域160的數據)能夠到達可信賴區(qū)域130。這樣,人們就能夠例如防止可能位于不可信賴區(qū)域160中的任何惡意代碼模仿輸入設備。當預約輸入設備180時,安全應用150在步驟S3發(fā)送能夠例如在顯示器110上顯示給用戶的提示(參考圖1A)。接著是在步驟S4,利用驅動器應用142,通過完全地由安全應用150控制的預約的輸入設備180,通過終端設備100的用戶,輸入第一認證數據PINl。以這樣的方式輸入的第一認證數據PINl以安全方式到達終端設備100的可信賴區(qū)域130。接著,在步驟S5,利用在可信賴區(qū)域130中存儲的秘密密鑰keys形式的秘密數據144,通過安全應用150,從第一認證數據PINl推導出第二認證數據PIN2。這能夠例如利用加密哈希函數由從第一認證數據PIN I和秘密密鑰keys形成的第二認證數據PIN2實現。例如依靠安全模塊200的規(guī)格而僅僅采用計算的哈希值的指定數位也是可能的。秘密密鑰keys以終端設備特定的方式進行配置,調整到將要通過密鑰keys推導出的認證數據PIN2釋放的在安全模塊200上的對應應用210。PIN2例如是在所謂EMV-PIN格式24xxxxffffffffff中的PIN。開始的數字2確立格式。數字4確立PIN長度。由xxxx表示的PIN本身與 一起被轉換到8字節(jié)。這意味著在已經加密PINl之后,所得的ΡΙΝ2必須轉換到EMV-PIN。安全應用150被唯一地授權以訪問秘密數據144,即秘密密鑰keys。僅僅以這樣的方式推導出的第二認證數據PIN2 (而不是第一認證數據PIN1)使得對安全模塊200的成功認證成為可能。如果攻擊者因此以某種方式成功偵查出第一認證數據PIN1,則由于所述原因,他并不能夠利用它們,因為他不可能推導出第二認證數據PIN2。這僅僅通過秘密密鑰keys才是可能的,但是秘密密鑰keys存儲在攻擊者不可訪問的終端設備100的可信賴區(qū)域130中。為了將推導出的第二認證數據PIN2以安全方式從終端設備100的可信賴區(qū)域130傳遞到安全模塊200,由此傳遞的數據必須通過終端設備100的不可信賴區(qū)域160,在步驟S6,第二認證數據PIN2再一次被安全應用150加密。為此目的,使用傳送密鑰keyT。后者能夠以公知方式在安全應用150和安全模塊200之間進行商議。但是,例如在對應個人化階段的框架之內,使傳送密鑰keyT已經存儲在終端設備100的可信賴區(qū)域130中和安全模塊200中也是可能的。而且,能夠使用用于加密第二認證數據PIN2的不對稱加密系統(tǒng),由此通過不同的密鑰(公共密鑰和秘密密鑰)以公知方式來實現加密和解密。在步驟S7,現在使以此方式獲得的加密的第二認證數據PIN3以安全的(因而加密的)方式傳遞到安全模塊200。在步驟S8,在安全模塊200中接收的加密的第二認證數據PIN3在其中再次通過傳送密鑰keyT解密。在步驟S9,在安全模塊200中將因此獲得的數據PIN2’與期望的認證數據PIN2進行比較。如果比較結果是肯定的,則認為用戶被肯定地認證并且在步驟Sll釋放付款應用210。但是,如果比較得到解密的數據PIN 2’不匹配期望的第二認證數據PIN2,則在步驟S10,安全模塊200終止釋放付款應用210的嘗試。在這里,終止能夠意味著例如在信用卡的情況下,該卡答復具有錯誤代碼的VERIFY (校驗)命令,并且重試計數器遞減。
本發(fā)明的方法不僅能夠認證付款功能,而且還能夠認證用戶,以便通過該方法的對應應用來改變PINl和PIN2。
權利要求
1.一種通過終端設備(100)的輸入設備(180)與終端設備(100)中集成的安全模塊(200)進行安全交互的方法,包括以下步驟 -通過在終端設備(100)的可信賴區(qū)域(130)中可執(zhí)行的安全應用(150),預約輸入設備(180) (S2); -經過該預約的輸入設備(180),輸入第一認證數據(PINl) (S4); -利用存儲在可信賴區(qū)域(130)中的秘密數據(144),通過安全應用(150),從第一認證數據(PINl)推導出第二認證數據(PIN2) (S5); -通過安全應用(150)加密第二認證數據(PIN2 ) (S6 ),并且將加密后的第二認證數據(PIN3)傳遞到安全模塊(200)和/或到服務器(S7);以及 -在安全模塊(200)中和/或在服務器中解密加密后的第二認證數據(PIN3) (S8)。
2.根據權利要求I的方法,其特征在于,通過在可信賴區(qū)域(130)中可執(zhí)行的用于控制輸入設備(180)的驅動器應用(142)的安全應用(150)預約輸入設備(180),使得通過輸入設備(180)輸入的所有數據都專用地到達終端設備(100)的可信賴區(qū)域(130)。
3.根據權利要求I或者2的方法,其特征在于,安全應用(150)監(jiān)控在輸入設備(180)被預約的同時,不通過輸入設備(180)所輸入的所有數據在它們到達終端設備(100)的可信賴區(qū)域(130)之前被丟棄。
4.根據權利要求I到3任何一項的方法,其特征在于,在可信賴區(qū)域(130)中存儲的秘密數據(144)以終端設備特定的方式進行配置。
5.根據權利要求I到4任何一項的方法,其特征在于,安全應用(150)利用秘密數據(144)作為秘密密鑰,通過將第一認證數據(PINl)加密到第二認證數據(PIN2),推導出第二認證數據(PIN2)。
6.根據權利要求I到5任何一項的方法,其特征在于,在安全應用(150)與安全模塊(200)和/或服務器之間商議用于加密第二認證數據(PIN2)以用于傳遞加密后的第二認證數據(PIN3)的傳送密鑰(keyT)。
7.根據權利要求I到6任何一項的方法,其特征在于,作為終端設備(100),采用移動終端設備,具體地采用移動無線終端設備。
8.根據權利要求I到7任何一項的方法,其特征在于,作為安全模塊(200),具有集成于終端設備(100)中的便攜數據載體,具體地具有(U) SIM移動無線卡或者安全存儲卡。
9.根據權利要求I到8任何一項的方法,其特征在于,第二認證數據(PIN2)用于釋放在安全模塊(200)和/或服務器上可執(zhí)行的應用(210)。
10.一種適用于集成安全模塊(200)的終端設備(100),包括輸入設備(180)和可信賴區(qū)域(130),在可信賴區(qū)域(130)中可執(zhí)行安全應用(150),安全應用(150)適用于預約輸入設備(180)、通過預約的輸入設備(180)接收第一認證數據(PIN1)、利用在可信賴區(qū)域(130)中存儲的秘密數據(144)從第一認證數據(PIN1)推導出第二認證數據(PIN2)、力口密第二認證數據(PIN2)和將它們以加密的形式傳遞到集成于終端設備(100)的安全模塊(200)和/或傳遞到服務器。
11.根據權利要求10的終端設備(100),其特征在于,安全應用(180)適用于執(zhí)行根據權利要求I到9任何一項的方法。
12.—種系統(tǒng),包括根據權利要求10或者11的終端設備(100)和可集成于終端設備(100)的安全模塊(200),其適用于執(zhí)行根據權利要求1到9任何一項的方法。
全文摘要
在通過終端設備(100)的輸入設備(180)與集成于終端設備(100)中的安全模塊(200)進行安全交互的方法中,輸入設備(180)通過在終端設備(100)的可信賴區(qū)域(130)中可執(zhí)行的安全應用(180)進行預約。隨后,通過預約的輸入設備(180)輸入第一認證數據(PIN1)。安全應用(150)利用在可信賴區(qū)域(130)中存儲的秘密數據(144)從第一認證數據(PIN1)推導出第二認證數據(PIN2)。所述第二認證數據(PIN2)隨后被安全應用(150)加密和傳遞到安全模塊(200)和/或到服務器。在安全模塊(200)和/或服務器中,最終解密所接收的加密的第二認證數據(PIN3)。
文檔編號G06F21/46GK102667800SQ201080052687
公開日2012年9月12日 申請日期2010年10月26日 優(yōu)先權日2009年11月9日
發(fā)明者L·哈默-施密德, S·斯皮茨 申請人:德國捷德有限公司