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