申请us2014307869a1公开了一种如何生成用于对atm的磁盘上的数据进行加密的密钥的方法。通过引用结合了us2014307869a1的完整公开。本申请涉及us2014307869a1中的密钥的示例和缩写。根据us2014307869a1,所述装置包括控制单元(其可以是atm(自动出纳机)的一部分、连接至所述控制单元的至少一个外围设备和连接至所述控制单元的硬盘。外围设备常常通过串行连接(例如usb(通用串行总线)rs232等)被连接。硬盘被经由ata、sata、sas、usb、m.2等被连接。控制单元被设立成检测连接至控制单元的外围设备、生成数据加密密钥dek、从外围设备读取识别信息w_1。该识别信息显式地表示外围设备、基于读取的识别信息生成密钥加密密钥kek_1、将已加密数据加密密钥vdek_1(其可以是通过使用密钥加密密钥kek_1对数据加密密钥dek进行加密而生成的)存储在硬盘的存储区中、通过使用密钥加密密钥将已加密数据加密密钥解密来确定数据加密密钥,以及使用数据加密密钥将数字数据加密以便以已加密形式存储在硬盘上或者使用数据加密密钥将要以已加密形式存储在硬盘上的数字数据解密。
特别地,由此实现的效果是以已加密形式存储在硬盘上的数字数据不能在没有数据加密密钥的情况下被读取。如果不允许将硬盘从装置去除并盗走,则窃贼不可访问解密所必需的数据加密密钥。窃贼只有在其能够将已加密数据加密密钥解密(这只有使用密钥加密密钥才是可能的)的情况下才能获得所述数据加密密钥,然而,已加密数据加密密钥已被使用密钥加密密钥加密。根据本发明,已使用可计算算法和从外围设备读取的识别信息(诸如序号、序号信息代码、mac地址、网络地址、硬件地址、以太网地址、机场地址、wifi地址和/或制造商识别数据)来计算密钥加密密钥。因此,窃贼只有在其知道从外围设备读取的识别信息的情况下才能确定密钥加密密钥。然而,如果他仅仅能够盗窃硬盘且必须留下外围设备,那么不存在这样的可能性。
因此,本概念是基于这样的见识,即用根据从本地连接的外围设备读取的显式识别信息确定的密钥加密密钥进行的硬盘加密原则上不能被硬盘的窃贼解密,除非他具有从本地连接的外围设备读取的识别信息。
数字数据可以是可以存储在硬盘上的任何类型的数据、操作系统、特别是程序数据、日志数据、用户数据。在本发明的意义内,认为硬盘将包括磁盘存储器及其它非易失性存储器,特别是还有固态硬盘、sd卡及其它非易失性半导体存储器,其上存储有操作系统和/或应用数据。
本概念的另一方法是如果密钥加密密钥在没有关联的已加密数据加密密钥的情况下已变得可公开访问且因此该数据加密密钥也已变得可公开访问,则硬盘不需要被重新编码,而是只需要例如使用用于生成密钥加密密钥的另一算法来生成新的密钥加密密钥,并且在硬盘上用此新加密的数据加密密钥替换旧的已加密数据加密密钥。这具有可以避免费力的硬盘重编码的优点。
所述装置特别地是自动出纳机、现金系统或自动现金保险柜。该现金系统特别地是出纳员所使用的零售中所使用的现金系统,或者被体现为所谓的“自助式结账系统”。
在另一方法中,所述装置具有至少两个外围设备,其中,控制单元被设立成检测被连接至控制单元的每个外围设备,从每个外围设备读取显式地表示相应外围设备的相应识别信息,针对外围设备基于相应读取识别信息而生成相应的秘钥加密秘钥,将可以通过用相应密钥加密密钥将数据加密密钥加密而生成的已加密数据加密密钥存储在硬盘上,借助于解密使用相应密钥加密密钥而根据已加密数据加密密钥来确定数据加密密钥,并且只有当能够根据已加密数据加密密钥中的至少一个来确定数据加密密钥时才允许访问存储在硬盘上的已加密数字数据。
在一个实施例中,特别地存在具有n个外围设备的配置,n是大于或等于2的自然数。针对n个外围设备中的每一个,针对从相应外围设备读取的每个识别信息计算相应密钥加密密钥。用每个密钥加密密钥对数据加密密钥进行加密,作为其结果生成n个已加密数据加密密钥。根据本发明,在n中m(m-of-n)情形中,需要至少m个设备来导出密钥加密密钥(kek)。本方案是用数学方式完成的,使得m个设备信息的每个组合导致相同的kek。这允许例如实现所谓的“五中取三”情形。在这种情况下,所考虑的外围设备的数目等于5=n,并且实际上能够从其确定数据加密密钥的已加密数据加密密钥的数目等于3=m。因此,只有当能够根据已加密数据加密密钥中的至少三个来确定数据加密密钥时才允许访问存储在硬盘上的已加密数字数据。然而,可替换地,任何其它的“n中取m”情形是可能的,m和n是正整数,其中m<n或者m=n。此概念也是y中x模式,其中x=m且y=n。
一个或多个外围设备可以是加密pin板、用于钞票或其它纸基介质的接收和/或支出模块、硬币支出和/或硬币接收模块、用于读取磁带和/或芯片卡的读卡器、屏幕、触摸屏、摄像机、打印机、字母数字键区、用于以支票付款的设备、用于提供接口的接口模块、rfid读和/或写模块、条形码扫描仪、头戴耳机端口、喇叭、网卡、图形卡、存储器元件、半导体存储器元件、另一硬盘和/或纸币识别和/或纸币真实性检查单元。加密pin板是用于pin在自动出纳机或货币转移终端上的安全输入的特殊键区。
在另一配置中,硬盘具有至少一个未加密存储区和使用数据加密密钥加密的至少一个存储区。这允许将已加密数据加密密钥存储在未加密存储区中并将要以已加密形式存储的数字数据存储在已加密存储区中。
这具有如下优点,即已加密数据加密密钥是可容易地访问的,并且只能被具有(一个或多个)密钥加密密钥的授权用户解密。另外,优点是要以已加密形式存储的数字数据被与不需要以已加密形式存储的数字数据分开地存储在硬盘上,这允许简化的硬盘管理。
在另一配置中,要以已加密形式存储的数字数据被存储为使用数据加密密钥加密的文件。特别地,这具有如下优点,即可以在没有对硬盘的限制的情况下移动要存储的数字数据。这允许针对硬盘上的特定区域实现硬盘的可变管理而不束缚于尺寸规格。
背景技术:
在所述配置中用usb模式的实践经验已经证明原始设计在某些环境中不适于许多特性,尤其是在自助式服务系统或atm环境中。那可能是非常有问题的,因为如果关于密钥生成存在麻烦,则系统不启动。
可以考虑用于atm中的usb设备的以下情况:
—bcddevice描述符字段可以包含固件版本信息,
—如果启动加载程序是活动的且未加载固件(如同在设备在加载新固件的同时被关掉的情况中一样),则usb设备可以报告不同的usb设备描述符,
—usb设备可以由于当前配置而改变其vid/pid或者用适当的驱动程序在窗口下报告不同的vid/pid,
—本申请人的某些设备根据其是否处于下载模式而改变pid的最高位,尤其是当下载新的固件时,使用正常情况下不应使用的其它位也是可能的。该位指示设备处于特殊条件,例如固件可上传条件、故障条件等。
—某些描述符字段可以包括特殊字符。
—wn设备(和为了wn开发的某些设备)在描述符0x80中具有序号,但是在那种情况下iserialnumber可能缺失或者是空串。
—某些wnatm包含同一设备类型的超过一个实例(如同客户接线盒或usb相机)。
为了解决上述情况,必须改善密钥生成。
技术实现要素:
本发明的一个方面是控制对已加密数字信息的访问的数字计算设备。此数字计算设备可以是atm、任何其它自助式服务系统或存储关键数据的计算机。
此设备包括控制单元,其可以是cpu、母板上的中央处理单元或者具有处理设备和用于一个或多个外围设备(其被连接至控制单元)的连接器的任何其它设备。外围设备可以是加密pid板、用于钞票或其它纸基介质的接收和/或支出模块、硬币支出和/或硬币接收模块、用于读取词条和/或芯片卡的读卡器、屏幕、触摸屏、摄像机、打印机、字母数字键区、用于用支票支付的设备、用于提供接口的接口模块、rfid读和/或写模块、条形码扫描仪、头戴耳机端口、扬声器、网卡、图形卡、存储器元件、半导体存储器元件、另一硬盘或纸币识别和/或纸币真实性检查单元。
控制单元被连接至存储要加密和解密的数字数据的硬盘。所有设备被视为永久地存储信息的硬盘,如旋转盘、闪存盘等。优选地,使用磁盘加密,其为通过将信息转换成不能被未授权人容易地破解的不可读代码来保护信息的技术。磁盘加密使用磁盘加密软件或硬件来将登上磁盘或磁盘卷的数据位加密。磁盘加密防止对数据存储的未授权访问。本申请并未区分完全磁盘加密(fde)或整体磁盘加密,常常表示磁盘上的所有东西都被加密—包括可以将可启动操作系统分区加密的程序—当磁盘的一部分必要地未加密时。在使用主引导记录(mbr)或由uefi标准定义的类似部分的系统上,磁盘的该部分保持不被加密。根据该配置,可以对整个磁盘加密或者仅对数字计算设备的操作系统位于其上面的分区加密。
为了访问硬盘上的数据,需要被配置用于将存储在硬盘上的数字数据加密的数据加密密钥(dek),并且一般地必须将其提供给硬盘控制器。在软件环境中,硬盘控制器不需要能够将数据解密或加密。替代地,加密和解密经由在操作系统核心层级上的驱动程序而发生。
控制单元被配置成检测外围设备,从每个外围设备读取表示相应外围设备的相应识别信息,并且针对该外围设备基于读取的识别信息而生成相应密钥加密密钥(kek)。
最初在第一次启动时,必须确定dek被加密并将被存储在硬盘上。这是通过将通过使用相应密钥加密密钥对数据加密密钥进行加密而生成的至少一个已加密数据加密密钥存储在硬盘的存储区中来完成的。当重配置数字计算设备时可以使用相同方法,这将在下面进行解释。
在初始存储之后,每当数字设备正在启动时数据加密密钥将被解密。已解密数据加密密钥是从相应密钥加密密钥导出的,该相应密钥加密密钥再次地是从外围设备的相应识别信息导出的。
控制单元被配置成当将数据写到硬盘上时使用数据加密密钥将要以已加密形式存储在硬盘上的数字数据加密或者当从硬盘读取数据时支持使用数据加密密钥将以已加密形式存储在硬盘上的数字数据解密。
控制单元被进一步配置成接收已连接usb外围设备的usb描述符,并且读取0x80usb描述符字段以确定usb外围设备的识别信息。还可以使用并未与本发明所需的其它信息产生冲突的其它地址。
usb标准定义每当在usb总线处发现新设备时,usb设备描述符将被传输至pc。此usb设备描述符包含若干文本和字段,如用于usb设备的序号的字段。常常使用存储在相应字段iserial中的usb设备的序号来区别设备。遗憾的是,如在usb标准中定义的序号的使用具有某些严重缺点,如在其中设备被用插头从一个usb端口插到另一个的情况中。因此,已经开发了替换方法,其定义序号应被与索引0x80一起存储在(常常未使用的)字段中。
这可以是除官方iserial字段之外的,而且可替换iserial字段。
例如,如果iserialnumber值在usb设备描述符中可用,则该值将被用于密钥生成。
如果iserialnumber值缺失或是空的(iserialnumber描述符可用,但是空串)且0x80描述符是可用的,则0x80描述符将被用于密钥生成。
在替换方法中,针对密钥加密密钥生成而基于从外围设备接收到的供应商id和/或产品id来排除某些外围设备。
可能存在以稳定的方式报告vid/pid的usb设备,但是其是有问题的,并且关于usb设备描述符的其它字段是难以处理的。此类设备可以仅在某些条件下或者以非预期或非规范格式提供某些信息。这些设备将被其中应仅使用vid/pid字段的设备黑名单覆盖。可以向用于设备的控制单元提供黑名单,其应被用于关于vid/pid的usb模式,但是不使用任何附加描述符信息。
此黑名单将在控制单元内部被在内部用来掩蔽已知有恶意序号行为的设备或者具有不兼容usb描述符格式的设备。
在另一替换实施例中,可以基于用于密钥加密密钥生成的usb描述符中的供应商id和产品id来具体地确定每个接收到的usb描述符的一个或多个数据字段。
在一个示例中,密钥加密密钥生成算法将不使用在请求设备描述符时由设备输送的完整usb设备描述符,而仅使用被指定为用于密钥生成的字段(vid、pid和序号,如果可用的话)。因此,例如字段bcddevice可能不被使用。
在另一替换实施例中,如果用来生成密钥加密密钥的usb描述符的数据字段对于多个外围设备而言是相同的,则添加附加唯一信息以确定密钥加密密钥,尤其是如果供应商id和/或产品id是相同的且在usb描述符中不能确定其它唯一信息的话。
在其中连接了同一种类(vid和pid相同)但不具有可用序号的若干设备的特殊情况中,应针对密钥生成而考虑这些设备中的大多数或全部。否则可能发生数字计算设备具有类似于相机的大量设备、但是只有其中的一个实际上被用于加密的情况。
例如,在具有一个分配器和三个usb相机而没有可用序号且不使用附加信息的atm的环境中,该情况将导致y<=2,因为所有usb相机具有相同的pid但不具有可用序号。因此,可以在1中1、2中1或2中2模式下运行atm。2中2模式不是可推荐的,因为类似于分配器的一个设备的故障足以阻止atm启动。还应避免值x==1,因为攻击者将只须带走atm的pc,可以用一个usb设备将该pc与控制单元相比较,以将其远程启动。
为了更好地理解,1中1模式是y中x设备模式的特殊形式。在此模式下,一旦系统识别到其被训练要知道的大量y中的x个设备,则系统成功地启动。atm通常由多达数十个usb设备组成。如果atm仅在atm识别到应出现的所有设备的情况下启动(通过将硬盘解密),则这将是容易的过程。遗憾的是,那在正常生活中是困难的,因为有时设备缺失是常见的,如因为其有缺陷或者已被技术人员更换(因此具有不同的序号)。因此,此产品提出所有者(在这种情况下所有者通常是银行)知道必须存在多少允许硬盘被解密的经训练的usb设备。1中1模式是其中只有一个usb设备已被训练且在启动时必须存在的特殊形式。
为了避免此问题,在本示例中,设备训练将考虑到所有的usb相机,因此y<=4。实际方法将是4中2模式,因为在此情境中如果存在某些设备故障,则提供超过一个设备的一定容差。
一个可能方式将是向设备信息添加第二、第三、...设备具有不同的值以用于密钥生成的计数器。该计数器可以是基于在pc外壳处使用的usb槽的数目。
另一替换方法是基于远程可控访问规则的已加密数据加密密钥的重置,并且自动地重新初始化(re-init)新的数据加密密钥。
维修技术人员应具有针对kek生成发起已学习设备的重新初始化的能力。示例是其中技术人员用相同类型但不同序号的备用设备来更换外部设备的情况。
可能的实施方式将是控制单元检查可以被远程地激活的某些信息的存在。例如,可以使用已签名配置文件来处理重新初始化,这可以在本地或远程编辑器中自动地创建并放到或拷贝到硬盘上。如果控制单元发现此文件在预定义位置上并证实其正确签名,则执行重新初始化。
重新初始化从安全角度看可能是关键的,因为如果在多个(新)设备/usb设备上训练控制单元,则这些可以是可以连同控制单元一起被劫持的少量拇指驱动器。这将允许攻击者在原始位置之外启动控制单元,在这种情况下客户(数字计算设备的所有者,在atm的情况下,通常是银行或特定组织)预期将支持不允许有活动,其将否认安全性。因此,数字计算设备被设计成使得某些产品特征可以被以密码安全方式激活和去激活。
例如,由技术人员进行的初始化的重复应用要求技术人员被允许将确定终端安全配置的某个文件拷贝到特定文件夹中。所有者(如银行)可以定义技术人员是否和何时被授权这样做或者甚至可以亲自将文件拷贝到文件夹中。
此外,附加安全系统提供在中心创建被分发到本地数字计算设备的“票”的能力。这些是小的签名命令文件,其在其被发现在数字计算设备处的定义文件夹中的情况下被执行。
如先前所解释的,如果启动时的已识别usb设备的数目降至某个阈值以下或达到该阈值可能是危险的,因为这可能以pc不再启动的情况而告终。
可以通过执行重新初始化来缓解这种情况。但是在这种情况下向通常发起该重新初始化的应用或监视软件通知重新初始化是必须的。
在替换实施例中,可以通过检查提供识别信息以生成相应密钥加密密钥的工作外围设备的数目来自动地执行此重新初始化,如果该数目降至预定义阈值以下,则系统开始使用也被新连接的外围设备来重新生成数据加密密钥。
在这种情况下,控制单元在外围设备的数目低于阈值的情况下自动地执行上述重新初始化过程。在确定设备的数目在阈值以下之后,控制单元自动地更新在下一次启动时被pre-bootauthentication(启动前认证)pba读取的信息。pba中的软件检查(如果与阈值匹配的足够数目的usb设备被连接)至少存在y个设备。如果情况如此,则将计算新的kek。在替换实施例中,在已经达到阈值的情况下,向所有者或其基础设施发送信息,使得可以授权自动重新初始化。由于自动重新初始化可能是安全风险,所以将优选地需要某种授权(至少是已打开的安全门或数字签名)。
在可能的实施例中,pba可以是在atm在其上面运行的windows操作系统的启动之前被执行的小linux分区。pba确定kek和dek并向磁盘控制器提供信息,该磁盘控制器负责加密和解密。该pba的一个主要任务是生成/重构其可以用来导出dek并因此将硬盘解密以开始启动主操作系统(即windows)的kek。
这是在windows下运行的软件本身周期性地检查可用usb设备的数目是否低于定义阈值并应报告适当事件的思想的基础。大多数相关数据应被收集在pba中,但是必须在下一windows启动之后被评估,这要求从pba到windows的数据传输。
在windows软件下运行的软件然后用x与潜在启动设备之间的差来计算是否已达到阈值(在启动时实际上使用的设备与尚未被用于生成kek但已知且已训练的设备的和)。
由于情况甚至可以在正常的windwos操作期间改变(例如在设备出故障的情况下),所以在正常操作中也应检查此条件以能够在可用设备的数目在阈值以下的情况下处理修正措施。
在替换实施例中,通过定期地检查usb数据集并将usb数据集存储在优选地被加密的协议列表中来完成工作外围设备的数目的自动检查。
在第一分区上的第一系统的执行期间生成第一协议列表,并且在第二分区的操作的执行期间生成第二协议列表,并且通过比较第一和第二协议列表的信息来确定阈值。
在可能实施例中,出于监视目的,如果必要的usb设备与可用usb设备之间的差在先前配置的阈值以下,则将在启动之后生成事件。
这些值的计算将基于两个usb数据集而完成:
usb数据集#1:
-在pba中生成
-当pba识别到足够的设备以继续启动过程时的所有枚举usb设备的列表。
-包含用于每个枚举设备的以下信息:
○pid/vid
○iserial/0x80序号,如果可用的话
○标志,如果此设备被用作启动设备的话
第二数据集是在windows的操作期间生成的。
usb数据集#2:
-在atm的操作期间生成
-包含以上usb数据集#1的所有信息
usb数据集#2的信息将被连续地更新为日志。
两个日志将优选地都被用可以存储在硬盘上的公钥进行加密。
pba日志也必须被加密,因为其在其核心日志中也包含关于usb设备的最多信息。
在替换实施例中,加密并非必须要完成,因为数据已驻留在已加密磁盘上。
在替换实施例中,使用控制单元的基本输入输出系统bios或统一可扩展固件接口uefi或系统管理bios、smbios的桌面管理信息dmi的各部分来计算密钥加密密钥。
允许在用于密钥生成的数据中使用特定dmi信息的选项将被整合。此选项可用于usb模式和透明模式。
此选项可由配置编辑器选择。如果此选项被设定,则来自母板的某些dmi信息将被添加至用于密钥生成的数据。
这些字段可以包括:
-pc类型标识,
-mb标识,
-mb序号和/或guid,其定义母板的唯一id,并且对于母板制造商的每个母板而言是唯一的。
其它字段也是可能的。
被选择的信息在而除母板之外的bios更新、bios设置的改变或hw改变之后不应改变。因此,板上网卡的任何mac地址是关键的,因为如果其在bios菜单中被关掉,则此信息是不可用的。
无论如何,此文档仅描述了哪些数据可以被结合到密钥生成中。一个潜在方式将是从dmi数据计算出散列并将此值与kek/dek取异或。还可以应用其它加密算法,例如xor、pgp、des、aes等。
在替换实施例wnusb设备(vid=0x0aa7)中,pid的最高有效位将在pid值将被用于密钥生成(kek)之前被掩蔽。
已经由wincornixdorf开发的usb设备中的某些具有至少两个操作模式,一个用于正常操作且一个模式用于固件下载。设备的实际模式由pid的最高有效位通知。示例是在正常模式中被登记为vid_0aa7&pid_4101的cmd-v5分配器。在固件下载模式(dfux)中,其登记为vid_0aa7&pid_c101。关于掩蔽该msb的最简单方式是始终置位或重置该位,以确保密钥生成不取决于该位。本示例也可以转移到其它位,这指示设备的可改变状态。
本发明的其它部分包括一种用硬件和/或软件实现以使得数字计算设备能够实现上述内容的方法。
附图说明
图1示出了设备的示意图;
图2示出了针对用于用多个kek将设备初始化的方法的流程图;
图3示出了硬盘的分区;
图4示出了重新初始化的流程图。
具体实施方式
图1示出了根据权利要求的装置10。本示例中的装置10特别地是允许支付钞票以及也允许再次支出所支付的钞票的自动出纳机(atm)。装置10具有控制单元12,硬盘14和多个其它外围设备两者都被连接至该控制单元12。
出于支付和/或支出钞票的目的,装置10包含连接至控制单元12的接收和支出模块16。接收和支出模块16具有可以被控制单元12读取的识别信息w_1。
出于读取磁条和/或芯片卡的目的,装置10具有进而被连接至控制单元12的读卡器18。读卡器18具有可以被控制单元12读取的识别信息w_2。
出于显示消息的目的且出于功能选择的目的,控制单元12被连接至被称为触摸屏的触敏屏幕20。该屏幕20具有同样地可以被控制单元12读取的识别信息w_3。
出于输入个人识别号(pin)或秘密数或其它数值的目的,此外安装同样地被连接至控制单元12的加密pin板22。该加密pin板22具有同样地可以被控制单元12读取的识别信息w_4。
另外,装置10具有用于打印帐单或其它用户特定数据的被连接至控制单元12的打印机24。该打印机24具有同样地可以被控制单元12读取的识别信息w_5。
图2描述了用于对装置10进行初始化和操作的方法,特别是用于硬盘14的自动安全加密的方法。
图3示出了针对用于操作装置10的方法的流程图。当所述方法在步骤s40中已开始时,步骤s42首先涉及到被连接至控制单元10的被检测的所有可检测外围设备16、18、20、22、24。
在下一步骤s44中,确定连接至控制单元10的外围设备16、18、20、22、24的数目,对于该控制单元10而言可以从相应外围设备16、18、20、22、24的存储器读取相应显式识别信息。在本情况中,以这种方式确定的外围设备16、18、20、22、24的数目是五个。在其它实施例中,这些组件可以是任何正整数。
接下来,步骤s46涉及到从相应外围设备16、18、20、22、24读取五个识别信息w_1、w_2、...、w_5,每个识别信息显式地表示相应外围设备16、18、20、22、24。
基于五个读取的识别信息w_1、w_2、...、w_5,在步骤s48中生成五个密钥加密密钥kek_1、kek_2、...、kek_5。
作为从上述方法的偏离,下一步骤s50涉及到读取存储在硬盘14的存储区中的五个已加密数据加密密钥vdek_1、vdek_2、...、vdek_5,其已经通过将数据加密密钥dek加密而生成,在用于装置10的初始化步骤中使用五个密钥加密密钥kek_1、kek_2、...、kek_5生成,并且已被写入到硬盘。在其它实施例中,可以在开始s40与步骤s48之间的任何点处提供步骤s50。
接下来,步骤s52涉及到通过使用相应密钥加密密钥kek_1、kek_2、...、kek_5将已加密数据加密密钥vdek_1、vdek_2、...、vdek_5解密来确定数据加密密钥dek。
在下一步骤s54中,执行测试以确定是否可以根据已加密数据加密密钥vdek_1、vdek_2、...、vdek_5中的至少三个来确定数据加密密钥dek。
在这种情况下,可以如下执行单个测试:使用读取的识别信息w_1借助于以未加密形式存在的算法来计算密钥加密密钥kek_1。然后使用密钥加密密钥kek_1将已加密数据加密密钥vdek_1解密。如果以这种方式获得的识别信息可以用来将存储在硬盘14上的已加密有用数据解密,则读取的识别信息w_1与被用于计算密钥加密密钥kek_1的原始识别信息w_1匹配。在这种情况下,可以根据已加密数据加密密钥vdek_1来确定数据加密密钥dek。如果可以针对五个已加密数据加密密钥vdek_1、vdek_2、...、vdek_5中的至少三个确定此类匹配,则控制单元12允许对以已加密形式存储在硬盘14上的有用数据的访问。
如果在步骤s54中已确立可以根据已加密数据加密密钥vdek_1、vdek_2、...、vdek_5中的至少三个来确定数据加密密钥dek,则所述方法继续步骤s56并允许对以加密形式存储在硬盘14上的有用数据的访问。
如果在步骤s54中尚未确立可以根据已加密数据加密密钥vdek_1、vdek_2、...、vdek_5中的至少三个来确定数据加密密钥dek,则所述方法继续步骤s58,并且不允许对以加密形式存储在硬盘14上的有用数据的访问。
图3示出了硬盘的布局。如上文所指出的,硬盘是永久地存储信息的存储介质。可以使用不同的技术来实现硬盘。在可能的实施例中,硬盘具有两个分区。第一分区是其中存储一个或多个已加密dek的pba。根据加密算法和启动系统所需的设备的数目(阈值),可以存储多个密钥(dek),或者可以将仅一个密钥存储在相应文件中。首先启动此分区以确定dk,并且将atm的操作系统所位于的第二分区解密。在可能实施例中,硬盘支持硬件驱动加密,其中硬盘控制器执行加密。针对这种方法,硬盘控制器接收密钥以将被发送到硬盘和从其接收到的信息加密。此密钥是已解密dek,其被用kek加密并存储在第一未加密分区上。在可能实施例中,还可以将第一分区加密。
第一分区上的linux操作系统是非常小的内核,其从已连接外围设备读取usb信息以确定外围设备的识别信息并计算kek且将kek解密。
此dek然后被传输至硬盘的控制器,或者根据实施方式传输至然后负责加密的内核驱动程序。
然后atm的操作系统被启动,该操作系统可以是windows或实现atm的功能的任何其它操作系统。
图4示出了dek的重新初始化的示例。在步骤s70中,开启设备。在步骤s71中从pba执行启动。然后在描述符中在其数据中创建usb设备的第一集合。在步骤s73中检查是否已达到可用设备的阈值以及是否必须重新初始化。在确定可以提供用于dek的必要信息的足够外围设备的情况下,读取外围设备的识别信息并生成kek(步骤s75)。
然后在步骤s76中使用dek来将第二分区解密并启动atm的操作系统(步骤s77)。
在步骤73中必须重新初始化的情况下,用新kek来计算新dek。这种方法根据在权利要求中已提到的选择来考虑所有外围设备。可以考虑usb描述符的新字段,可以排除某些设备,当使用多个相同设备时可以使用附加信息等等(步骤s74)。上文已描述了kek的计算。
当运行atm的操作系统时,以规则的间隔检查已连接外围设备及其功能以确定第二usb数据集。在某些设备不再工作的情况下,数据集提供相应信息。在不再存在可以被用于atm的未来重启的足够设备(在阈值以下)的情况下,写入配置信息以指示当重新启动设备时必须执行重新初始化。此信息可以被写入到atm的所有者允许访问的某些文件夹结构中。