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