专利名称:自服务终端的制作方法
技术领域:
本发明涉及自服务终端(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国际公司