專利名稱:自服務終端的制作方法
技術領域:
本發明涉及自服務終端(SST)。本發明特別涉及具有多個互連模塊的SST。本發明還涉及用在SST的模塊和加密通信以在自服務終端中互連模塊之間傳輸的方法。
傳統的SST,例如自動出納機(ATM),包括多個模塊,其通過例如intranet的內部網絡或專用網絡互連,用來相互之間傳遞數據。
ATM中,典型模塊包括讀卡器,收據打印機,自動付款機,加密鍵板等。加密從鍵板傳遞來的數據以提供防止第三方監視網絡上通信而獲得諸如顧客個人識別號(PIN)之類敏感信息的安全性。傳遞到打印機和其它模塊的數據通常為沒有加密或者為使用低安全性加密技術加密的。
最好加密SST中模塊之間的所有通信,以使由第三方監視通信進行的信息截聽的可能性減小到最小。
由于存儲加密密鑰和滿足密碼操作需要之性能所要求的附加硬件,實現用于ATM中模塊之間所有通信的工業化標準密碼的機密性將是昂貴的。因為每個通信在通信被發送之前一定要使用認可的算法進行加密和此后在接收到該加密通信時使用相關密碼密鑰解密,所以工業化標準密碼機密性在每次交易處理中還將引入附加的時間延遲。這種由計算上密集加密和解密(intensive encryption and decryption)引入的時間延遲對于ATM擁有者和用戶是不能接受的。
本發明的目的是避免或減輕一個或多個上述缺點。
本發明的又一目的是在不引入不能接受之時間延遲的情況下為模塊間通信提供密碼機密性。
根據本發明的第一個方案,提供了自服務終端,其包括配置在網絡中的多個模塊,使得這些模塊可以使用網絡進行通信,特征在于每個模塊具有用于存儲數據的存儲裝置和用于加密和解密通信的密碼裝置,而密碼裝置可用于在發送或接收通信之前加密數據,并且隨后通過將布爾函數施加到加密數據和所接收的加密通信來解密所接收的加密通信。
應當理解該加密數據對于通信中涉及的每個模塊是公知的,使得發送通信的模塊和接收所發送通信的模塊兩者都使用相同的加密數據。該加密數據在此稱為“模板”。
根據本發明,在接收或發送一次通信之前,每個模塊在公知數據上進行預先加密以產生模板(加密數據)。之后,當接收加密的通信時,在該加密的通信和在該模板上進行簡單布爾運算以解密該通信。類似地,當通信將被加密用于傳輸時,在該通信和在該模板上進行簡單布爾運算以加密該通信。
在模塊操作中具有計算上的大量空閑時間的應用例如自服務應用中,預先加密能夠在這些空閑時間期間完成,由此保證加密和解密處理將很少的延遲引入任何交易處理。該延遲等價于由簡單布爾運算引入的延遲,一般為幾個納秒的量級。該延遲對SST用戶的影響是可以忽略的。因此,由于在交易處理之前的空閑時間期間進行計算上的密集加密,可忽略的時間延遲被引入到交易處理。
應當理解,本發明使用了兩級加密。第一級加密是使用保密密鑰的預先加密級,第二級加密是使用布爾函數。第一級計算上是密集的并且在通信被發送或接收之前完成,而第二級是快速邏輯運算并且在通信被發送之前或通信被接收之后立即完成。
最好是,每個模塊存儲了對于與其通信的每個模塊的模板,使得對于這些模塊的每一個都保留了一個獨立的模板。因此,如果第一個模塊與四個其它模塊相通信的話,則第一個模塊將保留四個獨立的模板,一個對應于與其通信的每個模塊。
最好是,每個模板由對于那個模塊先前加密通信的加密版本構成。這個加密通信可以已經被該模塊所接收或者可以已經被該模塊所發送。
使用對于每個模塊的先前加密通信作為模板的一個優點是接收模塊和發送模塊兩者至少暫時存儲了那個通信,其保證了該模板對于每個模塊是相同的。另一優點是模板隨每個通信變化,由此用每個通信來更新加密和提供增強的安全性。
另外,每個模塊可以存儲先前解密通信的加密版本即每個模塊可以存儲先前通信的明文的加密版本。本領域技術人員可以理解“明文”是指未編碼的消息。
在其它實例中,預置數據值可以用作為模板,使得每個模塊使用相同的存儲數據值。
布爾函數可以是異或函數,或非函數,異或非函數,與非函數或其它任何合適的布爾函數。布爾函數可以包括多個布爾運算,例如與,或,非。在布爾函數是異或或者是異或非時,能夠執行相同的布爾函數以加密通信和解密所加密的通信。
密碼裝置可以以軟件實現,在此一個或多個密鑰被嵌置在軟件中。但是,這是不很安全的,因為軟件相對容易被反編譯。另外,更優選的是,可以使用硬件來提供增強的安全性,在此一個或多個密鑰被嵌置在半導體或其它合適的硬件裝置中。方便的是,可以使用智能卡密碼單元以提供密碼裝置和存儲裝置。智能卡密碼單元是低成本的,具有合適水平的抗干擾性,和具有用于存儲模板和加密密鑰的安全存儲器。
本發明還具有支持在一些標準例如為ANSI X9.24中推薦的標準加密密鑰管理和加密密鑰修改的優點。
最好使用例如為DES(數據加密標準),IDEA,RC4等對稱加密算法。另外也可以使用例如為RSA,DH,ECC等的非對稱加密算法。
自服務終端可以是ATM,金融服務中心(FSC),信息亭等,但是,當使用SST傳遞用戶敏感信息時,本發明具有特別的優點。
根據本發明的第二個方案,提供有用于自服務終端的模塊,模塊是以用于存儲數據的存儲裝置和用于加密和解密通信的密碼裝置為特征,而密碼裝置可用于在發送或接收通信之前加密數據,和隨后使用加密數據以在所接收通信或用于傳輸的通信上操作。
通過將布爾函數施加到加密數據(模板)和施加到接收的加密通信,密碼裝置可以解密所接收的加密通信。
通過將布爾函數施加到加密數據和施加到用于傳輸的通信,密碼裝置可以加密用于傳輸的通信。
根據本發明的第三個方案,提供有對通信進行加密以在自服務終端互連模塊之間傳輸的方法,該方法是以下列步驟為特征,加密數據;產生第一通信;在加密數據和第一通信上進行布爾運算以產生第二通信;和將第二通信從第一模塊傳遞到第二模塊。
該方法還包括步驟在第二模塊進行有關第二通信和加密數據(模板)的布爾運算以恢復第一通信。
該方法還包括步驟將第二通信存儲為模板。另選地,該方法還包括步驟加密第二通信,和將第二通信存儲為模板。另選地,該方法還包括步驟加密第一通信,和將加密的第一通信存儲為模板。
根據本發明的第四個方案,提供了自服務終端系統,其包括配置在網絡中的多個模塊,使得這些模塊可以使用網絡進行通信,特征在于系統中的模塊采用兩級加密處理,第一級是在訪問模塊之前進行,第二級是在訪問模塊的同時進行。
最好是,第一級計算上是密集的,第二級計算上是不密集的。方便地是,第一級使用密鑰完成密碼算法,第二級采用布爾函數。
根據本發明的第五個方案,提供了互連模塊的網絡,特征在于每個模塊適用于使用兩級加密處理來進行通信。
根據本發明的第六個方案,提供了互連模塊的網絡,特征在于每個模塊適用于根據已知的先前通信和在已知的先前通信以及要被加密或解密的通信上進行布爾運算來加密或解密通信。
已知的先前通信可以在正進行的布爾運算之前加密。
通過例子和參考附圖從下面的說明中將更清楚理解本發明的上述和其它方面。
圖1是根據本發明一個實施例的SST的方框圖,其包括多個互連的模塊;圖2是圖1兩個模塊的方框圖;圖3是表示加密通過圖2所示一個模塊傳輸的通信所涉及的步驟的流程圖;圖4是說明部分模板,未加密通信和源于此的加密通信的示意圖;圖5是表示解密通過圖2所示一個模塊接收的通信所涉及的步驟的流程圖;圖6是說明部分模板,加密通信和源于此的解密通信的示意圖。
參考圖1,其示出ATM形式的SST10。ATM10具有用戶接口12和通過專用網絡16互連的七個模塊14。
模塊14包括中央控制器14a,顯示器14b,加密鍵板14c,讀卡器14d,記錄打印機(journal printer)14e,收據打印機14f和自動付款機14g。模塊14以主/從關系工作,這里控制器14a是主機,其控制其它模塊14b到14g的工作。但是,每個其它模塊14b到14g都具有處理器,用于操作接收的數據和用于完成該模塊14的專有功能。
顯示器14b和加密鍵板14c形成用戶接口12的部分。讀卡器14d經過用戶接口12中的槽從用戶接收卡;收據打印機14f和自動付款機14g將媒體傳遞給用戶接口12中的槽以傳給用戶。記錄打印機14e在ATM10內部并由ATM10的所有者用于對付出的現金對帳以及在故障情況下由ATM服務人員使用。
在正常工作期間,模塊14相互之間通信。例如,當用戶將卡插入讀卡器模塊14d時,模塊14d將卡細節發送到控制器模塊14a。模塊14a將通信發送到顯示器模塊14b,指示顯示器14b提請用戶輸入他/她的PIN。當用戶在加密鍵板模塊14c已經輸入了他/她的PIN時,鍵板14c將加密的PIN傳送到控制器14a。控制器14a將加密的PIN傳送到遠方的主機(未示出)用于驗證。當PIN已經由遠方的主機驗證時,控制器14a與顯示器14b通信以告知顯示器14b已經輸入了有效的PIN。模塊通信繼續,直到交易處理已經完成和用戶已經移去他/她的卡之后為止。
應當理解,大多數模塊14在交易處理期間的很長時期內是空閑的(稱為‘空閑時間’)。例如,收據打印機模塊14f僅僅在打印用戶的收據期間和前后短暫時間內是活動的。自動付款機模塊14g在控制器14a指令自動付款機模塊14g自動付款時才是活動的。因此,每個模塊14具有‘空閑時間’,在其間可以進行計算而無需附加交易處理持續時間。
在該實例中,ATM10中每個模塊14使用這些‘空閑時間’以加密已經被傳送到另一模塊14的每一個消息,和解密已經接收的每一個消息,現參考圖2進行說明。
圖2表示了圖1的兩個模塊14,即控制器模塊14a和收據打印機模塊14f。
控制器模塊14a具有用于完成控制器模塊功能的控制器管理系統30。控制器14a還具有用于加密和解密通信的密碼裝置32和用于存儲數據的存儲裝置34。呈與RAM和ROM相關的處理器形式的密碼裝置32和呈安全16K字節EEPROM存儲器形式的存儲裝置34是使用智能卡密碼單元36實現的。智能卡密碼單元36可以類似于Schlumberger(商標),Gemplus(商標),或其它智能卡制造商所使用的智能卡密碼單元。
打印機14f具有用于完成打印機模塊14f功能(例如打印收據,提供健全信息狀態等)的打印機管理系統40。打印機模塊14f還具有智能卡密碼單元36。
在每個模塊14中,密碼裝置(處理器)32使用存儲在存儲裝置(EEPROM)34中的密鑰進行DES加密算法。在ATM10中的每個密碼模塊使用了相同的密鑰。EEPROM34本質上是安全的,因為智能卡密碼單元36是抗干擾性的并且具有對于存儲在EEPROM34中的數據和程序提供完整性和安全性的操作系統。
圖3是表示加密通信的密碼模塊所涉及的步驟的流程圖。
開始,將相同的預先定義的數據裝載到ATM10中的每個密碼單元36中(步驟102)。每個單元36中的處理器32通過進行使用存儲在EEPROM34中的密鑰的DES加密算法加密(步驟104)裝載的數據。加密的數據作為模板存儲(步驟106)在EEPROM中。在這一級,(即立即在初始化之后)ATM10中的每一個模塊14(圖1)具有等同于ATM10的任何其它模塊14中模塊的模板。這是第一級加密,并且是在通信被傳送到或從模塊14中傳出之前完成。該第一加密級通常在‘空閑時間’期間完成。
當ATM10中的第一模塊14例如控制器14a準備將通信發送到第二模塊14例如收據打印機14f時,第一模塊產生第一通信和將其傳送到其密碼模塊(步驟108)。第一通信是‘明文’消息。‘明文’消息是接收模塊將理解的未編碼(未加密)的消息。‘明文’消息可以包含控制字符等,它不必是僅僅包含文本的消息。
然后,處理器32在第一通信和模板上進行布爾運算(步驟110)以產生第二通信。在該實例中,使用異或布爾運算。這是第二級加密,其在將被發送的通信上完成。
然后,第二通信經過網絡16被發送(步驟112)到第二模塊14f(圖1,2)。之后,第二通信被裝載到(步驟120)EEPROM34以替換在步驟102裝載的預先定義的數據。
然后,第二通信被加密(步驟104)和存儲(步驟106)為新模板,以準備下一個要被發送或接收的通信。
圖4表示在新模板被存儲之前(即在步驟120之前)模塊14a中EEPROM34的部分內容。圖4表示了來自模板的八位,為了清楚,這些位配置成列(150)。應當理解,該模板可以有多于8位的位數,例如為256位,8位僅僅是為了清楚表示。來自第一通信(明文消息)的對應八位表示在第二列(152)。在模板和第一通信上進行異或運算(圖3的步驟110)產生第二通信,如第三列(154)所示。
圖5是表示解密所加密通信的密碼模塊所涉及的步驟的流程圖。
類似于加密一個通信所涉及的步驟的方式,在解密一個通信中,開始,將相同的預先定義的數據裝載到ATM10中的每個密碼單元36中(步驟202)。每個單元36中的處理器32通過進行使用存儲在EEPROM34中的密鑰的DES算法加密(步驟204)裝載的數據。加密的數據作為模板存儲(步驟206)在EEPROM中。在這一級,(即立即在初始化之后)ATM10中的每一個模塊14具有等同于ATM10的任何其它模塊14中模板的模板。
當第二通信(即加密通信)從控制器模塊14a傳輸到打印機模塊14f時,打印機模塊14f中的密碼單元36接收第二通信(步驟208)。
然后,處理器32在第二通信和模板上完成異或布爾運算(步驟110)以產生第三通信。第三通信等同于第一通信,即步驟210通過解密第二通信重新創建第一通信。
參考圖6,其表示模塊14f中EEPROM34的部分內容,模板(250)與模塊34中的EEPROM34的相同。第二(加密)通信示于列二(252)。列三(254)表示在模板和第二通信上完成的異或布爾運算的結果(圖6的步驟210)。很清楚,列三254的內容與圖4列二的相同(未加密通信)。
再次參考圖5,然后處理器32將第一通信傳遞到(步驟212)打印機管理系統40,其以傳統的方式操作第一通信。
處理器32然后將第二通信裝載(步驟220)到EEPROM34中以替換在步驟202裝載的預先定義的數據。
然后第二通信被加密(步驟204)和作為新模板存儲(步驟206)。
因此,在兩個模塊14之間的每次通信之后,兩個模塊14的每一個通過加密最近接收的或發送的通信來更新其模板。這保證了有滾動模板(rolling template),即在每次通信之后改變模板的內容。
每個模塊14具有與通信一起傳輸的唯一標識。這使模塊14能夠存儲對于與其通信的每個模塊14的分離模板。
隨著控制器14a與每個其它模塊14b到14g的通信,控制器14a中的EEPROM34保留了六個獨立的模板。由于顯示器14b僅僅與本實施例中的控制器14a通信,顯示器14b僅僅具有一個模板。
如果ATM10被復位,則模塊重新裝載預置數據(步驟102和202)以重新同步該模板。
很清楚,本發明特別適合于低吞吐量的自服務系統,因為當模塊沒有被訪問時能夠通過模塊完成預先加密。
在本發明的范圍內可以對上述實例進行各種修改。例如,在其它實施例中,網絡16可以是采用諸如TCP/IP標準協議的intranet。
在其它實施例中,模塊14可以被連接成對等結構而非主/從結構。
權利要求
1.一種自服務終端(10),其包括配置在網絡(16)中的多個模塊(14),使得這些模塊可以使用網絡(16)進行通信,特征在于每個模塊(14)具有用于存儲數據的存儲裝置(34)和用于加密和解密通信的密碼裝置(32),而密碼裝置(32)可用于在發送或接收通信之前加密數據,并且隨后通過將布爾函數施加到加密數據和所接收的加密通信來解密所接收的加密通信。
2.權利要求1的終端,其中每個模塊存儲了用于與其通信的其它每個模塊的獨立的加密數據。
3.權利要求1或2的終端,其中每個獨立的加密數據是用于那個模塊的先前加密通信的加密版本。
4.權利要求1或2的終端,其中每個獨立的加密數據是先前解密通信的加密版本。
5.一種用于自服務終端(10)的模塊(14),模塊(14)是以用于存儲數據的存儲裝置(34)和用于加密和解密通信的密碼裝置(32)為特征,而密碼裝置(32)可用于在發送或接收通信之前加密數據,和隨后使用加密數據在所接收通信或用于傳輸的通信上操作。
6.權利要求5的模塊,其中密碼裝置(32)通過將布爾函數施加到加密數據和施加到所接收的加密通信來解密所接收的加密通信。
7.一種對通信進行加密以在自服務終端互連模塊之間傳輸的方法,該方法是以下列步驟為特征加密數據(104);存儲加密的數據(106);產生第一通信;在加密數據和第一通信上進行布爾運算以產生第二通信(110);和將第二通信從第一模塊傳遞到第二模塊。
8.權利要求7的方法,其中該方法還包括步驟在第二模塊進行有關第二通信和存儲的加密數據的布爾運算以恢復第一通信(210)。
9.權利要求7的方法,其中該方法還包括步驟加密第二通信(204),和存儲第二通信作為加密數據(206)。
10.一種自服務終端系統(10),其包括配置在網絡(16)中的多個模塊(14),使得這些模塊(14)可以使用網絡(16)進行通信,特征在于系統(10)中的模塊(14)實現兩級加密處理,第一級是在訪問模塊(14)之前進行,第二級是在訪問模塊(14)的同時進行。
11.權利要求10的系統,其中第一加密級計算上是密集的,第二級計算上是不密集的。
12.一種用于自服務終端(10)的互連模塊(14)的網絡,特征在于每個模塊(14)適用于使用兩級加密處理來進行通信。
13.一種用于自服務終端(10)的互連模塊(14)的網絡,特征在于每個模塊(14)適用于根據已知的先前通信和在已知的先前通信以及要被加密或解密的通信上進行布爾運算來加密或解密通信。
全文摘要
說明了一種自服務終端(10)。終端(10)包括配置在網絡(16)中的多個模塊(14),使得這些模塊可以使用網絡(16)進行通信。每個模塊(14)具有用于存儲數據的存儲裝置(34)和用于加密和解密通信的密碼裝置(32),而密碼裝置(32)可用于在發送或接收通信之前加密數據,并且隨后通過將布爾函數施加到加密數據和所接收的加密通信來解密所接收的加密通信。
文檔編號H04L29/06GK1279432SQ0010952
公開日2001年1月10日 申請日期2000年6月29日 優先權日1999年6月30日
發明者阿德里安·希爾茲 申請人:Ncr國際公司