专利名称:用于自动提款机中的一致性软件堆栈中的个人识别号输入的方法和处理的制作方法
技术领域:
本发明涉及一种用于检查自助式自动机中的控制器的控制软件的一致性的方法和装置,自助式自动机具有设置在自助式自动机内部的可信赖的域。
背景技术:
优选地,在无人终端如自动提款机使用安全触摸屏。安全触摸屏是包括处理器、存储器、通信装置、安全电路和软件(固件)的外围装置。这些键盘在自动提款机中通过标准接口(如USB、RS232)与控制器(如具有显示单元的通用个人计算机)相连。这些安全键盘执行以下的基本任务I、输入银行客户的个人识别号(PIN) 2、输入其他数值(例如,数额的输入)3、保护已被输入和存储的个人识别号4、执行加密功能为了输入个人识别号,通过运行在控制器上的软件将这些键盘切换成“安全模式”。这种模式实现将数字键的代码存储在安全存储器中并将为每个键击定义的置换码报告给控制器。相反地,在“纯文本模式”,当键被按压时,将数字代码报告给控制器。这种纯文本和安全模式的结合是已知的潜在弱点,能够被用于窃听个人识别号。例如,控制器上的恶意软件可以要求用户输入他的个人识别号。在这种情况下,键盘将不切换成安全模式,代表个人识别号的纯文本代码被恶意软件采集。通常可想到永久地加密键盘,但是由于操作者需要,存在纯文本传输的可能性。当传输个人识别号时经常使用加密。但是,如果当使用可运行在自动提款机上的操作者/银行的应用时要求交易的数额,以纯文本传输数额。如在本发明中使用的键盘实质上由固件组成,固件一方面具有承担基本的输入和输出的操作系统,另一方面具有负责将键盘切换至正确的模式的序列控制系统。在一种可能的实施例中,在自动提款机中操作的控制器被配置为个人计算机,或者使用相应的组件。运行在所述计算机上的控制软件与键盘通信。控制软件与基本的输出和输出系统(操作程序)交互,而序列控制系统确定键盘的状态作为其他参数的函数。控制器的一致性或它的控制软件分别来自安全域。必须注意的是,根据“现有技术水平”,现在的自动提款机的控制由通用个人计算机执行,通用个人计算机装有Windows操作系统和通过标准接口如USB (通用串行总线)或者RS232(串行接口)连接以与个人计算机通信的外围装置。由于高度标准化,产生可用于使用恶意软件渗透的潜在弱点。此处可提及的示例是通过服务技工插入USB存储器的方式进行的恶意软件的注入。各种使用恶意软件的应用场景是已知的并可作为“现有技术水平”。与现有技术水平对应的用于基于Windows的个人计算机的保护机制对于自动提款机中的使用具有缺点。保护机制的示例是病毒扫描器或者那些测量软件模块(一体化客户端)的完整性的机制。但是,其中的弱点是联合操作系统。意欲保护自动提款机的控制软件的保护机制运行在具有弱点的相同的操作系统上。可通过拥有适当权限的技工去活机制。而且,运行时间是糟糕的。基于签名的系统对自动提款机应用的交易时间具有不期望的影响。由于必须检查控制器的整个软件,支付的等待时间增加。如果在激活阶段执行签名检查,这个阶段被显著地延长至不可接受的范围。所有能够在基于Windows的个人计算机上运行的程序都必须被保护机制识别。例如,程序必须不能通过缓冲溢出注入代码。这意味着必须检查至少所有已知的程序。对于自动提款机中的软件重要的是,必须检查非执行文件,例如图像文件。例如,屏幕请求(请求个人识别号输入)经常保存在图像文件中。由于来自不同出版商的不同程序和文件的多样性,中央解决方案几乎是不可避免的。这些解决方案使得自动提款机软件的制作者在软件改变管理中的灵活性较小。病毒扫描器的使用表示进一步的缺点,因为需要用于分配签名的中央功能并且该 功能不能识别特别为自动提款机开发的恶意软件。通一体化客户端可实现额外的保护措施。一体化客户端在系统操作期间提供非常优秀的保护,但是当被去活时不提供保护。硬盘加密可被认为是进一步替代,当它被去活时保护系统,但是它不能检查软件的一致性。
发明内容
本发明的目的是限制纯文本输入的可能性使得所述输入仅在控制软件是一致时为可行的。为此,必须在第一步骤检查软件的一致性。进一步的选择是通过标示控制软件的一致性的LED向用户指示软件的一致性。对于键盘还可想到的是使用继电器去活系统或者去活键盘。进一步的目的是检查控制器软件的一致性。这些目的通过具有独立权利要求的特征的发明实现。从属权利要求表示优选实施例。在本发明的用于检查自助式自动机(在一个可能的实施例中,自助式自动机为自动提款机)的控制器的控制软件的一致性的方法中,使用设置在所述自助式自动机的内部的可信赖的域。在一个可能的实施例中,安全域为额外的操作系统,额外的操作系统或者运行在自身的硬件上,一个例子是自助式自动机控制器中的处理器插入卡,或者为在控制软件开始之前执行的综合操作系统。还可想到的是在控制器上运行表示安全域的虚拟计算机。但是,为了实现这个目的,虚拟化主机必须尽可能地基于硬件,以便防止缺陷代码的注入。例如,可将安全域编入在安全的存储区域,例如在首先当引导时被激活以便之后执行控制器的硬盘或数据载体的检查的智能卡或密码卡。当自助式自动机引导时或者基于控制器的硬件检测或序列号,通过服务技工可释放智能卡或密码卡上的信息。安全域检查控制软件的一致性,并且在不一致的情况下,生成用于限制自助式自动机的功能的闭锁信号。可通过安全域管理的签名或哈希值执行一致性的检查。类似地,可在智能卡上的安全/加密区域上执行管理。智能卡可被放置在保险箱中。
为了减小负载,特别地当系统开启时的负载,不检查所有的文件区域,或者不检查控制器的全部数据载体,仅仅检查相关区域。还可想到的是,仅仅检查具有特定改变日期的那些文件,或者刚刚被改变的文件。可以选择要检查的文件或信息。还可以在已经执行控制软件的更新的情况下,为安全域提供新信息或新哈希、签名。可通过不同的途径执行这些信息的准备/提供。安全域生成用于外围组件的闭锁信号以便限制它的功能。这个闭锁信号可以是安全软件标识,该安全软件标识具有签名以便可以确定起源或者起源在专线上。如果存在一致性,生成用于外围组件的释放信号以激活它的全部功能。在不一致的情况下,生成限制外围组件的功能的闭锁信号。通过设置在自助式自动机中(优选地放置在保险箱中)的智能卡的帮助,可生成信号的对应签名或加密。通过将智能卡物理地放置在自动提款机保险箱中,更难对智能卡进行未经授权的访问及操作。在一个可能的实施例中,外围组件为如用于自动提款机的键盘或支付单元。在下文中,描述一种关于键盘的可行序列。应理解的是,对于自助式自动机的其他组件,类似的 或相同的序列是可行的。因此,下面的示例不构成限制。键盘具有序列控制系统,当存在释放信号时序列控制系统允许纯文本输入。为了键盘在重启时也处于定义状态,如果存在电源中断,键盘切换至不允许纯文本输入的模式。此外,向用户示出正以纯文本进行的输入。例如,可在装置上提供向用户示出数据正以未加密的形式传输的灯,其中灯设置在键盘的附近或者在键盘的区域中。因此,在对装置发生可能的攻击的情况下,用户自身可识别他正在输入可能未加密的个人识别号,这指示自动机中的不一致性。还可想到的是,通过不一致性的指示和对应信号的传输,键盘通过额外的接口(例如与电源的接口)关闭整个系统。基本上存在一些通过安全域跟踪控制软件的检查的时间方法。在第一阶段中,在开启控制软件之前,例如在预引导阶段中,检查数据载体上的控制软件。如果检查成功,继续引导处理并开启控制软件。在第二阶段中,在控制软件引导后,开始在操作期间一次性地或周期性地检查控制软件的处理。这个处理可以设置在控制软件内部(例如windows操作系统中的服务),或者是运行在并行的操作系统中的处理。本发明的进一步组件是自助式自动机;所述自动机包括由控制软件控制的控制器。在这个实例中,例如,它可以为通过串行接口与外部组件连接的通用个人计算机。可信赖的域被配置在个人计算机内部作为硬件、软件或两者的组合。如上面已经说明的,安全域检查控制软件的一致性。在不一致的情况下,在专线上或者在常见的主内存区上传输闭锁信号至外围组件。组件具有限制自助式自动机和/或外围组件的功能的序列控制系统。本发明的进一步组件是具有序列控制系统的自助式自动机的键盘,序列控制系统允许纯文本输入和加密键盘输入。在这种情况下,给出可被逻辑地或物理地构造的信号输入,其中只有当在信号输入处存在释放信号时,序列控制系统允许纯文本输入。使用逻辑信号输入,在标准通信信道如USB、RS232等上传输加密值或符号值。使用物理信号输入,在其他信道上进行传送。
下面是简要描述的
,并且下面的可能实施例的描述参考附图。图I示出具有控制软件和与外部装置连接的安全域的自助式自动机;图2示出管理控制软件的校验和的芯片卡的状态机;图3示出带有具有序列控制系统的键盘的自助式自动机;以及图4示出序列控制系统的状态机。
具体实施例方式基本想法是创建PC控制器上的可信赖域,如图I中所示。所述域的任务是检查控制软件2,控制软件2专门地负责自动提款机的平稳运行和一致性。在确定一致或不一致的 情况下,生成外围组件8的闭锁或释放信号。例如,信号可用于释放键盘、或锁闭出钞控制器以及与出钞控制器相连的出钞器。优选地,通过设置在自动提款机保险箱中(保证操作的安全性)的智能卡生成闭锁信号的释放。解决方案的特征是在预引导阶段和实际操作阶段用于完整性的累进检查(graduated check)。累进检查的目的是实现性能的提高。除了实际的Windows操作者系统6之外,在控制器100上进一步特别地安装基于Unix的强固操作系统4。在计算机技术中,强固被理解为表示通过仅使用操作系统必需的专用软件来增加系统的安全性,从安全角度可以保证该专用软件的正确序列。目的是为系统提供更好的保护从而防止外部攻击。德国联邦信息安全办公室在IT安全性“[…]删除不是程序绝对必需的所有软件组件和功能以满足它的预期目标” [2]中描述了强固。目的是创建可被许多人使用的系统,即使是可信度较低的系统。例如,对于GentooLinux,存在将核心版本与额外的系统服务组合的强固项目,通过额外的系统服务,甚至可为外部用户提供安全Linux系统。其他操作系统是可想到的。在这个解决方案后面的想法是在预引导阶段中的第一步骤中检查负责域I的特征的一些文件。由此,如果Windows开启,这些文件表示开启的处理。特别地,由于恶意软件抵抗实例,检查是有利的。此外,可使用来自可信计算概念的机制检查这个第一实例。进一步的优点是由于只检查一些文件,因此加快预引导阶段。例如,通过标准引导加载器3控制引导序列,但是特别地也可通过计算机BIOS控制引导序列。后者将在电源接通10后装载基于Unix的系统。在初始化处理19中开启后台程序5以使用列表110检查12为域I分配的所有文件的一致性50。在主动(positive)检查的情况下,为引导加载器设置信号21,基于信号21在第二步骤中开启13ffindows操作系统。在不一致的情况下,终止引导处理。在第二引导阶段后,通过Windows操作系统开始特定的服务。一种服务20开启校验和程序7,校验和程序7检查控制软件2的一致性。可在自动提款机的实际操作阶段之前进行一次检查然后在操作阶段中周期性地进行检查。或者仅在操作阶段中进行检查。在后者的情况下,对于被限制的或者被去活的组件的操作的不一致性的识别是有利的。如果控制软件装有证书是特别有利的。可通过设置在安全域I中的密钥检查证书。作为选择,此处也可使用来自可信计算概念的机制,其中相应的加密芯片设置在计算机的母板上。更有利的是通过安全地存储在自动提款机保险箱中的智能卡9进行检查。参考实施例(图2),智能卡包含防止旧的校验和15的重新导入的保护机制。而且,智能卡具有在主动或被动(negative)证书检查的情况下生成信号的机制。此外,卡片具有一个与外围组件8共享的秘密,以及与校验和程序7共享的额外的秘密。通过这些秘密可实施加密安全协议15、16。当控制软件不一致时,信号可用于例如去活个人识别号输入键盘。还可想到的是,可以关闭整个自动机或者去活其他组件。使用图2示出一个实施例。必须防止无效校验和被引入系统。由于如数字签名的认证机制,在系统中检测并丢弃由未被授权的人生成的校验和。通过如上升序列号的适当的元数据检测旧的签名状态的加载。例如,通过芯片卡生成、存储并检查所述序列号。此处可使用来自现有技术水平的处理(挑战-响应程序)。通过芯片卡支持或保卫校验和的认证检查。这些措施防止操作的校验和数据的输入、单个校验和的操作或重输入以及整个系统的全部组的校验和的操作或重输入。此处作为示例概述的芯片卡的状态机防止校验和的重输入以及与之相关的释放或闭锁信号的再生成。在激活后,状态500,内部计数器被不断地增加和存储。状态501,卡等待校验和程序(7(A'))的认证。状态502,使用主动认证对实例进行认证并可执行证书·检查。状态503,不存在被动认证。在状态505中存在主动证书检查,从证书中获取校验和信息的项目并缓存。卡释放当前计数状态,通过7将当前计数器状态返回至卡以进行后面的校验和的检查。状态507,卡等待7确定的校验和(η)/计数器状态。状态508,在信息I,Cl和CS1···!!的主动检查之后,生成释放或闭锁信息(S2)的项目并等待实例(8(Α”))的认证。状态506,通过主动认证,认证实例并可查询信号S2。状态504,在这个状态中删除信号S2并自动地增加计数器状态。在图3中,再次更仔细地检查自助式自动机和键盘的组合。除了操作系统205之夕卜,安全键盘203还拥有设置信号S1206或操作程序的序列控制系统204。如果操作程序识别出SI被设置,允许纯文本输入。此外,通过被设置的信号SI 206,可激活例如LED 208从而表示一致性控制程序。只有当安全域201已经检查过控制器207上的应用202的完整性并发送信号S2209至序列控制系统204时,才设置信号。随着电源关闭和电源接通,信号SI 206落回。后者是为了保证用于键盘的操作程序总是在激活后禁止纯文本输入。信号S2209优选地嵌入在安全协议中以防止已知的重放攻击。可采用现有技术水平的安全协议。
权利要求
1.一种用于检查用于自助式自动机中的控制器的控制软件的一致性的方法,具有设置在所述自助式自动机中的可信赖的域(I),包括以下步骤 使用所述可信赖的域(I)检查所述控制软件(2)的一致性; 在不一致的情况下,生成用于限制所述自助式自动机的功能的闭锁信号。
2.根据上述权利要求所述的方法,其中生成用于外围组件(8)的闭锁信号以便限制所述外围组件⑶的功能; 在一致的情况下,生成用于所述外围组件(8)的释放信号以便激活所述外围组件(8)的全部功能, 在不一致的情况下,生成限制所述外围组件的功能的闭锁信号。
3.根据上述权利要求所述的方法,其中通过设置在所述自助式自动机中的、优选地放置在保险箱中的智能卡的帮助,生成所述释放信号和/或所述闭锁信号。
4.根据上述权利要求中的一项或多项所述的方法,其中所述外围组件是如用于自动提款机的键盘或出钞单元。
5.根据上述权利要求所述的方法,其中所述键盘具有只有当存在释放信号时允许纯文本输入的序列控制系统,并且其中当电源关闭和键盘重启时,所述键盘不允许纯文本输入。
6.根据上述三项权利要求中的一项或多项所述的方法,其中当进行纯文本输入时,生成用户可感知的光学和/或声学信号。
7.根据上述权利要求中的一项或多项所述的方法,其中所述可信赖的域是与所述控制器软件并行地安装在所述控制器上、检查所述控制软件的一致性的强固操作系统。
8.根据上述两项权利要求中的一项或多项所述的方法,其中在预引导阶段中检查所述控制软件和/或其中在所述控制软件的引导后开始在操作期间一次性或周期性地检查所述控制软件的一致性的处理。
9.根据上述权利要求中的一项或多项所述的方法,其中所述控制软件装有证书,并且其中通过所述安全域检查所述证书以便确定所述控制软件是否被损坏,并且其中优选地通过设置在保险箱中的智能卡检查所述控制软件。
10.一种自助式自动机,包括 控制器,所述控制器由控制软件控制; 可信赖的域(I),所述可信赖的域(I)设置在所述自助式自动机中,检查所述控制软件的一致性,并被配置使得在不一致的情况下生成闭锁信号和/或在一致的情况下生成释放信号用于限制所述自助式自动机的功能。
11.根据上述自助式自动机的权利要求所述的自助式自动机,包括外围组件(8),所述外围组件(8)具有用于接收所述闭锁信号的装置并具有用于限制所述自助式自动机和/或所述外围组件的功能的序列控制系统,其中所述序列控制系统被配置使得在一致的情况下激活所述外围组件(8)的全部功能,在不一致的情况下生成限制所述外围组件的功能的闭锁信号。
12.根据上述自助式自动机的权利要求所述的自助式自动机,包括处理所述释放信号和/或所述闭锁信号的智能卡,其中所述智能卡优选地放置在保险箱中。
13.根据上述自助式自动机的权利要求中的一项或多项所述的自助式自动机,其中所述外围组件是如用于自动提款机的键盘或出钞单元。
14.根据上述自助式自动机的权利要求所述的自助式自动机,其中只有当存在所述释放信号时,所述键盘的序列控制系统允许纯文本输入,并且其中当电源关闭和键盘重启时,所述键盘不允许任何纯文本输入直至存在释放信号。
15.根据上述三项权利要求中的一项或多项所述的自助式自动机,其中提供光学和/或声学信号发生器给用户,所述光学和/或声学信号发生器在当进行纯文本输入时被激活。
16.根据上述权利要求中的一项或多项所述的自助式自动机,其中所述可信赖的域是与所述控制软件并行地安装在所述控制器上、检查所述控制软件的一致性的强固操作系统。
17.根据上述两项权利要求中的一项或多项所述的自助式自动机,其中在预引导阶段中和/或通过在所述控制软件引导后开始的处理检查所述控制软件,所述处理在操作期间一次性地或周期性地检查所述控制软件的一致性。
18.根据上述自助式自动机的权利要求中的一项或多项所述的自助式自动机,其中所述控制软件装有证书,并且其中通过所述可信赖的域检查所述证书以便确定所述控制软件是否一致,并且其中优选地通过设置在保险箱中的智能卡检查所述控制软件。
19.具有允许纯文本输入和加密的键盘输入的序列控制系统的自助式自动机的键盘,其特征在于信号输入和序列控制系统,所述序列控制系统只有当在信号输入处存在释放信号时才允许纯文本输入,并且其中当电源关闭和键盘重启时,所述键盘不允许任何纯文本输入直至在所述信号输入处存在释放信号。
20.根据上述两项权利要求中的一项或多项所述的自助式自动机,其中当进行纯文本输入时,通过信号输出向用户发出光学和/或声学信号。
全文摘要
一种用于检查自助式自动机的控制器的控制软件的一致性的方法,自助式自动机具有设置在自助式自动机内部的可信赖的域(1),方法包括这些步骤通过可信赖的域(1)检查控制软件(2)的一致性;在不一致的情况下,生成用于限制自助式自动机的功能的闭锁信号。
文档编号G06F21/00GK102792308SQ201180009963
公开日2012年11月21日 申请日期2011年2月3日 优先权日2010年2月19日
发明者沃尔克·克吕梅尔, 迈克尔·诺尔特, 马蒂亚斯·鲁诺夫斯基 申请人:温克尔尼克斯多夫国际有限公司