專利名稱:對一種安全模塊進行安全防護的方法和有關的安全模塊的制作方法
技術領域:
本發明涉及一種對被設計成和一種信息處理裝置配合工作的安全模塊進行安全防護的方法,該模塊包含有信息處理裝置和信息存儲裝置,并被安排用于執行全部操作包括至少一次敏感操作。一般理解術語《敏感操作》是其執行對以下方面有重大影響的任何操作-一般安全尤其在涉及以檢查一個人對于接進某些信息、服務或功能的資格為目的的任何操作方面;-特別涉及的應用尤其在涉及以確定或修改作為一個用戶對于這種應用(例如對于一種銀行應用,為結清當天的賬目余額的一次操作)的基本權利和義務的特征的某些參數為目的的任何操作方面。
術語“安全模塊”的沿用,應該或者在其通常的意義上,指在一個通訊或信息網絡中用于被一個管理該網絡的機構所持有并被存起來由該網絡的秘密的和基本的參數如密鑰保護起來的一種裝置,或者更簡單地是指一種被授予各個網絡用戶并讓他們中每個都能與之接通的裝置。這后一種裝置也是可以保存秘密參數的。安全模塊可以具有一種芯片卡類型的便攜物品的形狀。
本發明要解決的問題是避免在執行過程中發生任何敏感操作的中斷,或者至少能控制可能發生的中斷的次數。本發明特別針對虛假中斷,也不排除偶然的中斷。危險在于對所說的全部操作的執行進行安全防護的操作不能執行。對例如用戶給出的一個密碼的檢驗程序來說,便涉及對比較結果的寫操作,其目的是限制許可的嘗試次數。如果作假者在比較后但在將其結果寫入之前終于停止了該程序,他可以大量次數地重新進行提出一個新密碼的操作,并可能利用對安全模塊接線端處存在的電信令的觀察得益,這種信令實際上總是受到計算或結果的性質的影響。作假者將大量這種觀察的累積和一次統計分析進行處理,或許可以終于識別出用戶的真正密碼。
規定措施使安全模塊能夠檢查該敏感操作或先前啟動的各個敏感操作是否已完全執行,并在否定情況下能停止執行后續的該敏感操作,前述問題按照本發明即被解決。
更準確地說,按照本發明的該方法包括如下步驟-執行每次敏感操作時和在其上方,執行一次第一補充操作程序以激勵信令裝置,而在所說的敏感操作的下方,執行一次第二補充操作程序以使所說的信令裝置去激勵;-記錄下每次對其已啟動敏感操作但未執行、以致信令裝置先被激勵而后來未去激勵的中斷嘗試,以便確定觀察到的中斷嘗試次數NRS;-規定一個許可的中斷嘗試次數NRSA;-每次執行敏感操作時和在其上方,將所說的已觀察到的中斷嘗試次數NRS和所說的許可的中斷嘗試次數NRSA進行比較;以及-在所說的已觀察到的中斷嘗試次數NRS大于所說的許可的中斷嘗試次數NRSA時,停止敏感操作的執行。
本發明也涉及一種用于實施此方法的安全模塊。
在后面根據附圖對較好的但并非限定性的一個實施方式的說明過程中,本發明的其他細節和優點都可以得到清楚的了解。附圖中
圖1為本發明被指定用于的、和一個信息處理裝置配合工作的一個安全模塊的原理簡圖;圖2為實現一次敏感操作的流程圖;而圖3a至3c和圖4a、4b表示在一個或多個敏感操作的執行過程中,一個程序斷點計數器CRS在不同時刻的狀態。
圖1上表示的公知的信息處理裝置1本身包含一個微處理器2,后者聯接有一個存儲器ROM3和一個存儲器RAM4,包括有和一個安全模塊8配合工作的裝置5和一個使信息處理裝置可以和另一個類似裝置或者直接或者通過一個通訊網絡進行聯系的傳輸接口7。
裝置1還可以裝配上存儲設備,如軟盤或可換或不可換的磁盤、數據輸入裝置(如鍵盤和/或鼠標器)和顯示裝置。這些不同的裝置未在圖1上表示出來。
此信息處理裝置可以由任何在私人位置或公用位置上安裝的、能提供信息管理或各種便利或服務的裝置的信息儀器構成。此儀器為固定安裝或可攜帶的。尤其是這也可以是一種電信儀器。
另外,安全模塊8包括信息處理裝置9、一個相關的非易失性存儲器10和與此信息處理裝置配合工作的裝置13。此模塊被設置成可在存儲器10中劃定一個機密區11,信息一旦記入其中,從模塊外面便無法訪問,而只能由處理裝置9進行存取;另外還劃出一個空白區12,可以從模塊外部訪問進行信息的讀和/或寫。存儲器的每個區可以包含一個不可擦除的ROM部分和一個EPROM、EEPROM的、或由“快擦寫”型的RAM存儲器構成的可以擦除的部分,“快擦寫”型的RAM存儲器具有一個EEPROM存儲器的特性同時又有和一個通常的RAM的相同的存取時間。另外,還備有一個未表示出的易失性RAM存儲器。
作為安全模塊8,尤其可以將一種以申請人名義的美國專利n°4,382,279中所描述的那種帶有非易失性的自動可編程序的存儲器的微處理器。如該專利第一頁第5至17行所指出的,該存儲器的自動可編程序特性對應于位于此存儲器中的一個程序fi將同樣位于此存儲器中的另一個程序fj改成程序gj的可能性。雖然用于實現這種自動編程的裝置可以因設計信息處理裝置9使用的技術而不同,還是應注意到,在這種處理裝置由有一個關聯的非易失性的存儲器的微處理器構成的情況下,并且按照上述專利,這種裝置可以包括-若干和該存儲器相關聯的數據和地址的緩沖存儲器;-一個寫入該存儲器的程序,被裝入存儲器中且特別包括有許可在一個足夠長的時間內一方面保持該存儲器的程序編制的電壓,另一方面保持住待寫的數據及其地址的指令。不過此寫入程序仍然可以由一個有邏輯電路的自動寫入裝置來代替。
在一種變化形式中,該安全模塊8的微處理器被植入半導體芯片中的邏輯電路所代替或至少進行補充。事實上,這種電路依靠有線的和非微編程序的電子技術尤其能適于對真偽辯別和簽字進行估算。它們尤其可以是ASIC(專用集成電路)類型的。作為例子可以舉出SIEMENS公司的標號為SLE4436的商品部件和SGS-THOMSON公司標號為ST1335的商品部件。
安全模塊8最好被設計成在一個單一芯片上的單片形式。
在上述具有非易失性存儲器的自動可編程序微處理器的變動方案中,安全模塊的安全防護性能是由于它位于一個不受侵犯的區域內而達到的。
上述信令裝置至少包含一個程序斷點計數器CRS,用于對敏感操作執行過程中發生的程序中斷,也就是說對該操作一步接一步的執行中發生的中斷進行計數。此計數器并入安全模塊8的信息處理裝置9。按照圖2的該方法應該區分開兩個參考數,即一個觀察到的程序斷點數NRS和一個許可的程序斷點數NRSA,第一個數對應于自一確定時刻一個確定的敏感操作的執行當中出現的程序斷點的次數,而第二個數對應于可以出現但不會引起安全模塊停頓的程序斷點的最高次數。通常,程序斷點數NRS開始計數的時刻對應于安全模塊第一次被所指定用戶使用時,次數NRS從此時刻直至確定的日期對出現的全部程序斷點進行記數。至于許可的程序斷點數NRSA,則由主管部門確定,以便對不僅由虛假動作、而且還由于安全模塊的功能在其整個壽命期間可能自動發生的偏差所引起的程序斷點進行計數。當然,NRSA應該選得很小,否則造假者容易進行若干次嘗試以圖侵犯安全模塊,例如,NRSA將小于20,特別地,可小于10。
在執行敏感操作的流程圖的入口處,第一步驟21是檢查程序斷點數NRS是否確實小于或等于許可的程序斷點數NRSA。在否定情況下,便一直進行到為使該敏感操作的執行停止而引起的一個程序斷點。此斷點或者可以是決定性地阻止以后對此敏感操作的任何執行,甚至可不管以下是什么樣的操作而阻止以后安全模塊的任何運行,或者可以是暫時性的,如果作了規定,即在程序斷點數NRS被一個授權的主管部門重新初始化后該敏感操作在將來可以重新執行。相反,如果程序斷點數NRS確實小于或等于許可的程序斷點數NRSA,則一個第二步驟22便將程序斷點計數器CRS增加1。下面的階段是執行敏感操作本身。如果此操作為全面展開,也就是說,沒有一次偶然的或虛假的程序斷點出現,則程序斷點計數器CRS在步驟24減少1,以便重新獲得該敏感操作開始前它曾經有的數值。
在變化形式下,程序斷點數CRS的數值檢驗操作21可在程序斷點計數器CRS增加1個單位的操作22以后進行。
圖3a至圖3c表示程序斷點計數器CRS在一次要保護的敏感操作執行的上方(upstream)所呈現出的連續狀態。此計數器由在幾個(至少三個)位置處循環的一個區組成,每個位置至少由一個存儲器單元實現。此例子中,位置數等于8,分別從1至8編號。在每個位置中,存儲有程序斷點數NRS的一個數值,除去在因為不包含數值而未被動用的位置(這里是位置5)中。所有空白的位置都被標上符號φ。
圖3a表示圖2的流程圖上步驟22上方的計數器的狀態。位于空白位置上面的位置(這里是位置4)處存有一個對應于計數器的實際數值的當前值NRS,而在3至1然后8至6這6個位置處分別儲存有按時間接連取的不同值,即位置3處為NRS+1、位置2處為NRS等,直至時間最早的位置6處為NRS-2,這些位置對應于一定數目的連續的敏感操作。
可以看到,2至4的位置對應于以下事件-位置2圖2的步驟22之前計數器的狀態;-位置3緊隨步驟22之后的計數器狀態(增加1個單位);-位置4緊隨步驟24之后的計數器狀態(減少1個單位),這表明在此次敏感操作的執行中沒有出現過一次故意的或偶然發生的程序斷點。
相反可以看到,位置7和8對應于如下相對于敏感操作的前面一次執行的事件-位置7圖2的步驟22之前計數器的狀態;-位置8緊隨步驟22之后的計數器狀態(增加1個單位);-知道隨后的位置1不符合相對于位置8減1個單位(即NRS-1),從此必得出結論,即一次故意的或偶然的程序斷點的確在敏感操作的這次執行期間出現。以致通常預料會有的步驟24未被執行。總之,因為計數器的數值沒有改變,沒有對此值進行一次新的記錄。
至于位置6,它對應于在敏感操作的還要更早的一次執行期間、計數器在緊挨步驟24之前的狀態。事實上,其中包含的數值對應于位置7的數值增加1個單位。
回到執行過程中的敏感操作,圖3b表示圖2的流程方框圖的步驟22執行的初期階段斷點計數器的狀態。安全模塊的信息處理裝置9進行了位于空白位置5下面的位置6的一次擦除,因而確定了一個新的空白位置。在圖3c上,信息處理裝置9執行圖2的步驟22,同時將位置4的當前值NRS加1個單位并將結果NRS+1儲存在后面的位置5中。
圖4a和4b表示在圖2的敏感操作執行23的下方(downstream)的程序斷點計數器CRS所具有的連續狀態。圖4a表示在圖2的步驟24的執行初期階段斷點計數器的狀態。安全模塊的信息處理裝置9進行對位于新的空白位置6下面的位置7的一次擦除。在圖4b上,信息處理裝置9執行圖2的步驟24,同時將位置5的當前值NRS+1減去1個單位并將結果NRS儲存在后面的位置6中。
應該指出,在圖2至4b的例子中,信令功能最好通過唯一的一個裝置程序斷點計數器CRS和程序中斷計數的功能交織。
計數器遞增和遞減的步驟21、22和24最好設計為由敏感操作本身構成的主程序的一些子程序。這種情況下,計數器的一個標記或地址被引入作為在調用子程序時參數。這種運行方式為操作程序的實施增加了靈活性。
在希望對不同的且指定要彼此獨立執行的多個敏感操作進行安全保護的情況,可以規定程序斷點計數器CRS和操作一樣多。每個計數器檢查確定的一個敏感操作的執行是否良好。盡管如此,按照一種較好的方式,只規定一個公共計數器,在執行任何一個敏感操作時計數可以遞增,原則上也可以遞減。這一觀察對于計數器被換成一個標志位的情況也適用。
本發明很擔心的是所述的安全防護過程不能使安全模塊的運行放慢或停止下來。這是因為在其運行期間始終可以看到不僅和敏感操作、而且和一般操作有關的不可避免的偶然中斷。這里所謂的一般操作,如和涉及的應用(財務應用、服務提供等)有關的那些,其不執行一般既不會影響安全防護,也不會影響用戶在涉及的應用中的基本權利和義務。事實上,大量這樣防護的操作有因此而使觀察到的偶然斷點數增加的危險許可的程序斷點數NRSA會更快達到,因而使安全模塊的部分或全部停止也更快發生。這一引人注意的結果是按照本發明只對敏感操作確實對應的操作運用所述的安全防護過程而得到的。
本發明的一個改進是許可的中斷嘗試數NRSA包括一個每次當確定次數的敏感操作已啟動時隨機而變的數。這樣,數目NRSA以一個確定的頻率變動,但取不可預見的連續值,這有助于干擾對安全模塊的性能的任何作弊觀察。這個隨機數可以在安全模塊中按照美國專利N°5,177,790或5,365,466中描述的邏輯方法中的一個方便地產生出來。按照一個變動方案,許可的中斷嘗試數NRSA由一個固定數加一個隨機數組成。
權利要求
1.對被設計和一種信息處理裝置(1)配合工作的安全模塊(8)進行安全防護的方法,該模塊包含有信息處理裝置(9、2)和信息存儲裝置(10;3、4),并被安排執行全部操作,其中至少包括一次敏感操作(23),其特征在于,該方法包括如下步驟-每次執行敏感操作時和在其上方,執行一次第一補充操作程序(22),以激勵信令裝置,而在所說的敏感操作的下方,執行一次第二補充操作程序(24),以使所說的信令裝置去激勵;-記錄下每次對其已啟動敏感操作但未執行、以致信令裝置先被激勵而后來未去激勵的中斷嘗試,以便確定觀察到的中斷嘗試次數NRS;-規定一個許可的中斷嘗試次數NRSA;-每次執行敏感操作時和在其上方,將所說的觀察到的中斷嘗試次數NRS和所說的許可的中斷嘗試次數NRSA進行比較;以及-在所說的觀察到的中斷嘗試次數NRS大于所說的許可的中斷嘗試次數NRSA時,停止敏感操作的執行。
2.按照權利要求1的方法,其中為了記錄下每個中斷嘗試,在每次執行該敏感操作時及在其上方將計數器增加1個單位,而在敏感操作已執行完時在敏感操作下方將計數器減1個單位。
3.按照權利要求1的方法,其中所說的許可的中斷嘗試數NRSA包括一個每次當該敏感操作(33)被啟動預定次數時變化的隨機數。
4.按照權利要求1的方法,其中該安全模塊(8)被安排用于執行多個不同的敏感操作(33),并通過同樣的觀察到的中斷嘗試數NRS記錄下和這些敏感操作中的任何一個敏感操作有關的每個中斷嘗試。
5.被設計和一種信息處理裝置(1)配合工作并包含有信息處理裝置(9、2)和信息存儲裝置(10;3、4),并被安排執行一操作指令集,其中至少包括一次敏感操作(23)的安全模塊(8),其特征在于,它包含有-信令裝置,被安排用于表現出在一次要保護的敏感操作的上方該裝置已被激勵的一種狀態,以及如果該敏感操作已執行而在其下方信令裝置被去激勵的另一種狀態;-計數裝置,用于記錄下對其已啟動敏感操作但未執行、以致該信令裝置先被激勵而后來未去激勵的每次中斷嘗試,以便確定觀察到的中斷嘗試次數NRS,所說的信息存儲裝置(10;3、4)儲存有一個許可的中斷嘗試次數NRSA;-比較裝置,每次執行該敏感操作時和在其上方,將所說的觀察到的中斷嘗試次數NRS和所說的許可的中斷嘗試次數NRSA進行比較;以及-停止裝置,在所說的觀察到的中斷嘗試次數NRS大于所說的許可的中斷嘗試次數NRSA時,停止敏感操作的執行。
6.按照權利要求5的安全模塊,其中所說的信令裝置和計數裝置包含有一個計數器,可用于在每次執行該敏感操作和在其上方時被加上1個單位,而在該敏感操作已執行的情況下在該敏感操作的下方被減去1個單位。
全文摘要
本發明涉及對一種指定配合一個信息處理裝置(1)工作的安全模塊(8)進行安全防護的方法。該模塊被用于執行至少包括一個敏感操作(23)的一套操作。按照本發明,此方法包括如下步驟:在每次執行敏感操作時并在其上方,執行一個第一補充操作程序(22),用于激勵信令裝置;而在所說的敏感操作的下方,執行一個第二補充操作程序(24),用于將所說的信令裝置去激勵;在每次執行敏感操作時并在所說的第一補充操作程序(22)的上方,檢查該信令裝置是否已去激勵;在信令裝置被激勵的情況下,停止執行該敏感操作。
文檔編號G06F21/54GK1212770SQ97192699
公開日1999年3月31日 申請日期1997年12月23日 優先權日1996年12月31日
發明者米歇爾·哈澤德 申請人:布爾Cp8公司