CN107026728A - 动态预启动存储加密密钥 - Google Patents

动态预启动存储加密密钥 Download PDF

Info

Publication number
CN107026728A
CN107026728A CN201610866072.3A CN201610866072A CN107026728A CN 107026728 A CN107026728 A CN 107026728A CN 201610866072 A CN201610866072 A CN 201610866072A CN 107026728 A CN107026728 A CN 107026728A
Authority
CN
China
Prior art keywords
key
algorithm
hard disk
disk drive
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610866072.3A
Other languages
English (en)
Other versions
CN107026728B (zh
Inventor
盖麦拉·贾福尔
格雷厄姆·福莱特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NCR Voyix Corp
Original Assignee
NCR Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NCR Corp filed Critical NCR Corp
Publication of CN107026728A publication Critical patent/CN107026728A/zh
Application granted granted Critical
Publication of CN107026728B publication Critical patent/CN107026728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • G06Q20/1085Remote banking, e.g. home banking involving automatic teller machines [ATMs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/18Payment architectures involving self-service terminals [SST], vending machines, kiosks or multimedia terminals
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F19/00Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
    • G07F19/20Automatic teller machines [ATMs]
    • G07F19/209Monitoring, auditing or diagnose of functioning of ATMs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

在设备的预启动循环期间,从硬盘驱动器(115或402)的第一部分获得算法(步骤210)。执行该算法以获得密钥(步骤220)。该密钥用于解密硬盘驱动器(115或402)的第二部分,以获得第二密钥(步骤230)。所述第二密钥用于动态地解密硬盘驱动器(115或402)的第三部分。可以产生随机生成的新版算法(步骤250)。所述新版算法可以存储在硬盘驱动器(115或402)的第一部分中。可以执行新版算法以产生随机生成的新版密钥。所述新版密钥可用于重新加密具有第二密钥的硬盘驱动器(115或402)的第二部分。

Description

动态预启动存储加密密钥
技术领域
本发明涉及动态预启动存储加密密钥。
背景技术
由于自动柜员机(ATM)处理消费者的金融交易,因此人们通常认为它们是一种相对安全的设备。但是,正如具有内存和处理器功能的任何其它设备,ATM也很容易受到恶意软件、病毒和窃听的影响。
而且,对任何具备危及ATM执行环境能力的窃听者而言,ATM尤其有利可图。ATM不仅装有货币,而且处理消费者的金融账户信息。再者,ATM可以访问能够访问众多不同金融机构的安全金融网络,并有可能访问通过与ATM核心银行系统的单独网络连接而进行联系的分行服务器。ATM还可以在银行分行内彼此联网。因此,遭到破坏的ATM很可能会给众多的消费者和金融机构带来安全问题。
一项确保安全的技术是,解密ATM的硬盘驱动器,并将解密密钥存储在远程服务器上或者硬盘驱动器自身上未加密的指定的硬盘驱动器隐藏区域中。当ATM启动时,从服务器或硬盘驱动器上的指定区域获得解密密钥,并使用所述解密密钥来从硬盘驱动器解密操作系统(OS)。然后,当OS在加载时,将解密密钥传递到OS,并且OS在ATM运行期间按需解密硬盘驱动器。
将解密密钥存储在远程服务器上的问题在于,ATM常常会遇到存在于保存解密密钥的远程服务器与ATM之间的网络连接的带宽和连接性问题,这意味着,不可能获得密钥,或者因为带宽问题而耗费过多时间。但是,ATM仍可以很好地连接到其金融交换网络和/或本地银行分行服务器,这意味着,除了无法从远程服务器获得解密密钥之外,ATM依然可以运行供消费者使用。
将解密密钥存储在硬盘驱动器上指定的未加密区域中的问题在于,如果密钥遭到破坏,那么整个ATM硬盘驱动器可能需要使用新的加密密钥进行重新加密。加密ATM的整个硬盘驱动器是一个费时的过程,而且通常只在最初给ATM安装硬盘驱动器时执行一次。此外,多台ATM往往共用硬盘驱动器上其解密/加密密钥所在的同一个位置,使得如果一台ATM上的某个位置遭到破坏,则所有ATM都变得很容易受损,且所有ATM都将因为密钥的共用位置被得知而需要重新加密其硬盘驱动器。
发明内容
在各种实施方案中,提出了进行动态的预启动存储加密密钥管理的方法和自助式终端(SST)。
根据一项实施方案,提出了一种用于动态的预启动存储加密密钥管理的方法。具体而言,在设备的预启动循环期间从存储器的第一部分获得算法。执行所述算法以获得密钥。使用所述密钥解密存储器的第二部分,以获得第二密钥。将第二密钥提供给在所述设备上执行、使用第二密钥解密存储器的第三部分的程序。所述存储器可以包括硬盘驱动器或其它计算机存储设备。
根据本发明的第一方面,提供了一种方法,其包括:在设备的预启动循环期间,在设备上从存储器的第一部分获得算法;由设备执行所述算法,以获得密钥;使用所述密钥解密存储器的第二部分,以获得第二密钥;以及将第二密钥提供给在设备上执行、使用第二密钥解密存储器的第三部分的程序。
所述方法还任选地包括:随机生成第二版算法,所述第二版算法在执行时随机产生第二版密钥;以及将第二版算法存储在存储器的第一部分中。
存储第二版算法的步骤可进一步包括:以不连续地存储在存储器的第一部分中的预定义顺序存储第二版算法。
所述方法可进一步包括:将密钥从设备的内存中清除。
所述获得步骤可进一步包括:从存储器的第一部分获得呈无序序列的算法部分。
所述获得步骤可进一步包括:以预定义顺序汇编算法的无序序列部分。
所述解密步骤可进一步包括:从存储器的第四部分使用第二密钥以解密程序的指令,以及将指令加载到内存中以在设备上执行所述程序。
所述使用步骤进一步包括:将指令加载为设备的操作系统(OS),其中OS为所述程序。
将第二密钥提供给在设备上执行的程序的步骤可进一步包括:将第二密钥提供给设备的操作系统(OS),其中OS为所述程序。
将第二密钥提供给在设备上执行的程序的步骤可进一步包括:在向所述程序提供第二密钥之前,将需要执行的程序从存储器的第四部分加载到设备的内存中。
根据本发明的第二方面,提供了一种自助式终端(SST),其包括:处理器;硬盘驱动器;和预启动管理器,其被配置为:i)在SST启动循环期间在处理器上执行;ii)从硬盘驱动器的第一部分获得算法;iii)在处理器上执行该算法以获得密钥;iv)解密硬盘驱动器的第二部分以获得第二密钥;以及v)向SST的操作系统(OS)提供第二密钥,以按照OS的需要动态地解密硬盘驱动器的第三部分。
预启动管理器还被任选地配置为:vi)随机生成新版算法,所述新版算法随机产生新版密钥,以及vii)将新版算法存储在硬盘驱动器的第一部分中。
SST任选地为ATM。
根据本发明的第三方面,提供了一种方法,其包括:随机生成算法,所述算法在设备预启动时及在最初给设备安装硬盘驱动器时随机生成密钥;在设备上执行所述算法以获得密钥;从硬盘驱动器的第一部分获得第二密钥;使用第二密钥加密硬盘驱动器的第二部分;将所述算法存储在硬盘驱动器的第三部分中;以及使用所述密钥加密硬盘驱动器的第一部分。
所述方法还任选地包括:使用第二密钥从硬盘驱动器的第二部分解密设备的操作系统(OS),以及将OS加载到内存中以在设备上执行。
解密步骤还任选地包括:向OS提供第二密钥,以在设备启动后的运行期间按照OS的需要动态地解密硬盘驱动器的第二部分。
所述方法可进一步包括:将密钥从设备的内存中移除,其中密钥不保留在硬盘驱动器上。
所述方法可进一步包括:在给设备安装硬盘驱动器之后启动设备时,从硬盘驱动器的第三部分获得算法;执行所述算法以获得密钥;使用所述密钥解密硬盘驱动器的第一部分,以获得第二密钥;以及向设备的操作系统(OS)提供第二密钥,以按照OS的需要使用第二密钥动态地解密硬盘驱动器的第二部分。
所述方法可进一步包括:随机生成新版算法,所述新版算法在执行时随机生成新版密钥;使用该新版密钥加密硬盘驱动器的第一部分;以及将新版算法存储在硬盘驱动器的第三部分中。
所述方法可进一步包括:将新版密钥从设备的内存中移除,其中新版密钥不存储在硬盘驱动器上。
附图说明
本发明的这些方面和其它方面将从以下通过举例给出并参照附图进行的具体描述中变得显而易见,其中:
图1是根据一项示例性实施方案的为自动柜员机(ATM)提供动态的预启动硬盘驱动器加密密钥管理的银行系统的图解;
图2是根据一项示例性实施方案的动态的预启动硬盘驱动器加密密钥管理方法的图解;
图3是根据一项示例性实施方案的进行动态的预启动硬盘驱动器加密密钥管理的另一方法的图解;
图4是根据一项示例性实施方案的自助式终端(SST)的图解。
具体实施方式
首先参照图1,其是根据一项示例性实施方案为自动柜员机(ATM)提供动态的预启动硬盘驱动器加密密钥管理的银行系统100的图解。应注意的是,组件是以大大简化的形式示意性示出的,而且仅示出了与理解实施方案相关的那些组件。
此外,仅出于图解目的,示出了各种组件(标示于图1中)并呈现了这些组件的布置。应注意的是,在不脱离此处及下文所提出的动态的预启动硬盘驱动器(HD)加密密钥(EK)管理教示的情况下,可以有更多或更少的组件。
银行系统100包括银行分行110、ATM主机/交换机130和核心银行系统140。银行分行110包括:ATM 111和分行服务器120。
ATM 111包括一个或多个中央处理单元(CPU)112、易失性内存113、非易失性内存114、加密的HD 115和多个外围设备116。非易失性内存114包括多个新颖预启动/启动指令114A。加密HD 115包括驱动器/应用程序代码/等115A、操作系统(OS)115B、新颖密钥加密算法115C和加密/解密(EK)密钥115D。
在常规方案中,ATM安装有具备二进制输入/输出系统(BIOS)的非易失性内存,所述二进制输入/输出系统从HD获得EK(“加密密钥(EK)”也可以是如本文所用的解密密钥),或者从与远程服务器的网络连接获得EK。BIOS随后将OS从HD加载到易失性内存中。BIOS或者OS使用EK对HD进行首次加密(BIOS将EK传递给OS以供OS按需动态地解密HD)。应注意的是,OS在首次安装在ATM上时有可能从HD获得EK,使得BIOS在常规方案中并非专门用来执行这一任务(这种方案假设OS代码不使用EK进行加密,否则OS将永远不会在随后ATM启动时正确地加载)。在常规方案中,当随后ATM启动或重新启动时,EK由OS获得(通过远程服务器或HD的指定的未加密区域)并用于按需动态地解密HD。
正如此处及下文更详细论述,ATM11获得、管理和/或处理EK时所采用的方式是在常规方法的基础上修改得来。
在首次安装ATM 111的组件时,将新颖BIOS或预启动/启动指令114A安装到非易失性内存114A(只读内存)中。预启动/启动指令114A查询与ATM 111连接的外围设备116,诸如通过对外围设备116的通用串行总线(USB)接口进行查询,以识别其自身并提供相关的信息(媒体访问控制(MAC)地址、协议版本、设备序列号等)。外围设备116可以包括各种设备,诸如但不限于自动取款机、存款机、加密密码键盘(EPP)、打印机、凭条打印机、网络接口卡、触摸屏等)。
继续组件的首次安装,在预启动/启动指令114A从外围设备查询获得信息(参数或字段值)之后,预启动/启动指令114A随机选择各个字段或字段的部分。在一项实施方案中,也可以随机使用可以从CPU 112获得的其它系统属性。系统属性可以包括各种信息,诸如但不限于CPU MAC地址、设备标识符或序列号、处理器的大小和/或类型、非易失性内存114的大小和/或类型、易失性内存113的大小和/或类型等。接着,预启动/启动指令114A通过以随机顺序组合并/或以随机方式计算从查询随机选择的字段、随机选择的系统属性和/或可能日期/时间/星期,随机地定义密钥加密算法115C以生成密钥加密密钥(KEK)。KEK用于以不同于加密的HD 115的其它组件的加密方法(那些其它组件以EK115D加密),在加密的HD 115上加密加密/解密密钥(EK)115D。
预启动/启动指令114A随后编译生成的密钥加密算法115C并在加密的HD 115上模糊处理该算法(或许以仅为加密的HD 115上的预启动/启动指令114A已知的预定义不连续顺序进行存储)。请注意,密钥加密算法115C没有在加密的HD 115上被加密。在经预启动/启动指令114A编译之后,编译版密钥加密算法115C可供CPU 112从易失性内存113执行。
随后,仍然在首次安装ATM 111的组件时,预启动/启动指令114A从加密的HD 115获得EK 115D(请注意,直到此时为止,加密的HD 115实际上尚未被加密,并且预启动/启动指令114A被预配置为知道从HD115上的何处获得EK 115D)。
预启动/启动指令114A引起CPU 112从易失性内存113执行密钥加密算法115C,其引起了KEK的生成。HD 115(模糊处理的密钥加密算法代码115C和EK 115D除外)由预启动/启动指令114A使用EK 115D加密,而EK 115D则由预启动/启动指令114A使用KEK加密。应注意的是,KEK决不存储在加密的HD 115上的任何地方。OS 115B随后由预启动/启动指令114A使用EK 115D从当前加密的HD 115解密,并加载到易失性内存113中以供CPU 112执行。预启动/启动指令114A将EK 115D传递到OS 115B,以便OS 115B在ATM 111运行期间按需用来动态地解密加密的HD 115。
上述处理反映了在ATM 111上首次安装加密的HD 115时该HD 115的初始加密。后继处理则反映了在HD 115首次安装在ATM 111中且使用EK 115D加密之后在ATM 111的后续启动或开机时发生的处理。
在首次安装加密的HD 115之后,当ATM 111启动或重新启动时,预启动/启动指令114A从预定义位置获得密钥加密算法115C,并以预定义顺序进行汇编。预启动/启动指令114A将密钥加密算法115C从HD 115加载到易失性内存113中,以供CPU 112执行。密钥加密算法115被执行并生成自ATM 111先前启动或重新启动时产生的KEK。预启动/启动指令114A随后使用KEK解密EK 115D,以获得解密版EK115D。OS 115B随后使用EK 115D从HD 115进行解密。将OS 115B加载到易失性内存113中以供CPU 112执行,且赋予OS 115B EK 115D以按需从HD 115动态地解密驱动器/应用程序代码/等115A。
接着,预启动/启动指令114A使用如上文参考HD 115的初始安装论述的随机方法生成新的密钥加密算法115C(且此后每当新密钥加密算法115C生成时都会随机呈现不同的版本)。新加密算法115C被编译、加载到易失性内存113以供CPU 112执行,并(在HD 115上以非加密格式)加以模糊处理。随后执行新加密算法115C以生成新KEK。新KEK随后用于在HD115上解密EK 115D,并从内存中丢弃和移除该新KEK,且决不再次存储在HD 115上。
每当ATM 111启动或重新启动时,之前随机生成的版本的密钥加密算法115C从HD获得并加以执行,以产生之前生成的KEK。该KEK使EK 115D能够从HD解密并获得,以按照OS115B的需要解密HD 115。随后生成新版密钥加密算法115C以产生新KEK。新KEK用于在HD115上重新加密EK 115D,且随后丢弃该新KEK。
应注意的是,由于随机生成的密钥加密算法115C依赖于来自外围设备116的信息,所以如果在启动时缺失其中任何一个外围设备,或者如果CPU 112在一定程度上有所不同(如系统属性所通知的那样),KEK则不会正确地生成并将无法从HD 115获得EK 115D,这意味着OS 115B将不加载,且HD 115将无法使用。
此外,此处提出的新颖处理意味着,ATM HD能够以EK 115D来安全地加密并且即使在与ATM的网络连接有一部分或者全部发生故障或速度迟缓时仍然可用。因此,当网络连接变成可用时,ATM可以启动并做好使用准备,且此后不再依赖于从远程服务器远程获取EK。
此外,因为KEK(用于从HD 115解密并获得EK 115D)依靠取决于特定ATM 111且会按照启动循环随该特定ATM 111随机变化的随机生成的密钥加密算法115C,且因为KEK决不存储在HD 115上,所以对黑客而言,获得KEK极为困难。即使密钥加密算法115C万一被破解,它也仅与其适用的特定ATM 111相关,对其它ATM则不起作用,而且这种相关性也只会在该特定ATM重新启动或重新开机之前发生。
现在,参照图2-4来讨论图1中的某些实施方案和其它实施方案。
图2是根据一项示例性实施方案的动态的预启动硬盘驱动器加密密钥管理方法200的图解。实施方法200的软件模块被称为“预启动加密密钥管理器”。预启动加密密钥管理器被实施为已编程并驻留于内存和/或非暂时性计算机可读(处理器可读)存储媒体上的可执行指令,并且由设备的一个或多个处理器执行。执行预启动加密密钥管理器的设备的处理器被具体配置并编程为处理该预启动加密密钥管理器。预启动加密密钥管理器在执行其处理期间可能访问或可能不访问一个或多个网络连接。网络连接可以是有线的、无线的或有线与无线的组合。
在一项实施方案中,执行预启动加密密钥管理器的设备缺少网络连接。
在一项实施方案中,执行预启动加密密钥管理器的设备是图1中的ATM 111。
在一项实施方案中,执行预启动加密密钥管理器的设备是自助式终端(SST)。在一项实施方案中,SST是信息亭。在一项实施方案中,SST是自助结账台。
在一项实施方案中,执行预启动加密密钥管理器的设备是销售点(POS)终端。在一项实施方案中,POS终端由收银员操作。
在一项实施方案中,预启动加密密钥管理器是图1中的预启动/启动指令114A。
在一项实施方案中,预启动加密密钥管理器被集成到执行该预启动加密密钥管理器的设备的BIOS中。
在210处,在执行预启动密钥加密管理器的设备的预启动循环期间,预启动加密密钥管理器从存储器的第一部分获得算法。设备在设备的OS加载到内存中供设备的一个或多个处理器执行之前,处理预启动循环。
根据一项实施方案,在步骤211处,预启动加密密钥管理器从存储器的第一部分获得呈无序序列的算法部分。也就是说,算法并非按连续或有序的方式原生地存储在存储器的第一部分内。这是算法的模糊处理方式并且提高算法的安全级别。
在211的实施方案中以及在步骤212处,预启动加密密钥管理器将按其已知且配置在其中的预定义的正确顺序,汇编算法的无序序列部分。
作为211和212的处理的替代方案,预启动加密密钥管理器可以通过按正确汇编算法所必需的预定义顺序从存储器的第一部分读取不同的位置,选择算法部分的正确序列。
在220处,预启动加密密钥管理器执行该算法以获得密钥。也就是说,预启动加密密钥管理器将该算法加载到设备的内存中,并向设备的处理器发出呼叫以使设备的处理器执行该算法。该算法产生密钥(正如上文参照图1所论述)。
在230处,预启动加密密钥管理器使用该密钥解密存储器的第二部分,以获取第二密钥。这个第二密钥正是如上文参照图1以及下文参照图2所论述,在最初安装存储器时用于加密存储器的选定部分的密钥。
在一项实施方案中,在231处,预启动加密密钥管理器使用第二密钥从存储器的第四部分解密程序的指令(如下文在240处所论述)。预启动加密密钥管理器随后将这些指令加载到内存中,以便作为程序由设备的处理器来执行(再次如下文在240处所论述)。
在231的实施方案中以及在232处,预启动加密密钥管理器将这些指令加载为设备的OS(该OS为下文在240处所论述的程序)。
在240处,预启动加密密钥管理器将第二密钥提供给(在设备上执行的)程序。
在一项实施方案中,在241处,预启动加密密钥管理器将第二密钥提供给设备的OS;该OS为该程序。
在一项实施方案中,在242处,在第二密钥被提供给该程序之前,预启动加密密钥管理器将需要由设备处理器执行的该程序从存储器的第四部分加载到设备的内存中。
根据一项实施方案,在步骤250处,预启动加密密钥管理器随机生成第二版算法,该算法在执行时随机产生第二版密钥(如上文参照图1所论述)。接着,预启动加密密钥管理器将第二版算法存储在存储器的第一部分中(从根本上取代存储器中的原始版本的算法)。预启动加密密钥管理器还引起执行第二版算法来获得第二版密钥,然后使用第二版密钥来重新加密具有第二密钥的存储器的第二部分。
在250的实施方案中以及在251处,预启动加密密钥管理器会以不连续地存储在存储器的第一部分中的预定义顺序来存储第二版算法。从本质上看,第二版算法在存储器中被加以模糊处理,因为它不连续地位于存储器中而且只有预启动加密密钥管理器被配置为正确地排序第二版算法的指令。
根据一项实施方案,在260处,预启动加密密钥管理器将密钥从设备的内存中清除。该密钥也不会存储在存储器上的任何一个地方。而且,一旦第二版算法(在250和251处进行处理)取代了存储器中的原始算法,则该密钥永远都无法重新生成,因为第二版算法(即使被成功地破坏)将产生不同版本的原始密钥。
图3是根据一项示例性实施方案用于进行动态的预启动硬盘驱动器加密密钥管理的另一方法300的图解。实施方法300的软件模块被称为“硬盘驱动器加密密钥管理器”。硬盘驱动器加密密钥管理器被实施为已编程并驻留于内存和/或非暂时性计算机可读(处理器可读)存储媒体上的可执行指令,并且由设备的一个或多个处理器执行。执行硬盘驱动器加密密钥管理器的处理器被具体配置和编程为处理该硬盘驱动器加密密钥管理器。硬盘驱动器加密密钥管理器在其处理期间可能访问或可能不访问一个或多个网络连接。网络连接可以是有线的、无线的或有线与无线的组合。
在一项实施方案中,执行硬盘驱动器加密密钥管理器的设备缺少网络连接。
在一项实施方案中,执行硬盘驱动器加密密钥管理器的设备是图1中的ATM 111。
在一项实施方案中,执行硬盘驱动器加密密钥管理器的设备是SST。在一项实施方案中,SST是信息亭。
在一项实施方案中,执行硬盘驱动器加密密钥管理器的设备是POS终端。
在一项实施方案中,硬盘驱动器加密密钥管理器是图1中的预启动/启动指令114A。
在一项实施方案中,硬盘驱动器加密密钥管理器被集成到执行该硬盘驱动器加密密钥管理器的设备的BIOS中。
在一项实施方案中,硬盘驱动器加密密钥管理器是图2中的方法200的增强版。
硬盘驱动器加密密钥管理器呈现了其中硬盘驱动器最初安装在设备上的教示的一项实施方案(如上文参照图1所论述)。硬盘驱动器加密密钥管理器还呈现了设备的后续启动的实施方案(如图1及图2的方法200所论述)。
在310处,硬盘驱动器加密密钥管理器随机生成一种算法,该算法在执行时在设备预启动时以及在最初安装设备的硬盘驱动器时随机生成密钥。
在320处,硬盘驱动器加密密钥管理器执行该算法以获得密钥(再者,硬盘驱动器加密密钥管理器将该算法的指令加载到设备的内存中,并且设备的处理器从设备的内存执行这些指令)。
在330处,硬盘驱动器加密密钥管理器从硬盘驱动器的第一部分获得第二密钥。
在340处,硬盘驱动器加密密钥管理器使用第二密钥加密硬盘驱动器的第二部分。
在350处,硬盘驱动器加密密钥管理器将该算法存储在硬盘驱动器的第三部分中。
在360处,硬盘驱动器加密密钥管理器使用该密钥加密存储器的第一部分。最初,第一部分具有呈非加密格式的第二密钥,硬盘驱动器加密密钥管理器使用通过执行随机生成的算法获得的密钥来加密该第二密钥。
根据一项实施方案,在370处,硬盘驱动器加密密钥管理器使用第二密钥解密硬盘驱动器的第二部分(在340处解密),以获得设备的OS。接着,硬盘驱动器加密密钥管理器将该OS加载到内存中,以便在设备上执行。
在370的实施方案中以及在步骤371处,硬盘驱动器加密密钥管理器将第二密钥提供给OS,以使OS在设备启动后OS运行期间按照OS的需要动态地解密硬盘驱动器的第二部分的选定部分。
在一项实施方案中,在380处,硬盘驱动器加密密钥管理器将该密钥(在320处生成)从设备的内存中移除,并且该密钥不被保留在硬盘驱动器上。
在一项实施方案中,在390处,当设备在安装硬盘驱动器后启动时,硬盘驱动器加密密钥管理器从存储器的第三部分获得算法(在350处存储)。接着,执行该算法以获得密钥(与320处产生的密钥相同)。该密钥随后用于解密硬盘驱动器的第一部分,以获得第二密钥。第二密钥随后被提供给设备的OS,以使OS按照自身需要(使用第二密钥)动态地解密硬盘驱动器的第二部分。
在390的实施方案中以及在391处,硬盘驱动器加密密钥管理器随机生成新版算法,所述新版算法在执行时随机生成新版密钥。硬盘驱动器加密密钥管理器引起新版算法执行新版密钥,并获得新版密钥。硬盘驱动器加密密钥管理器随后使用新版密钥来重新加密具有第二密钥的硬盘驱动器的第一部分。硬盘驱动器加密密钥管理器随后将新版算法存储在硬盘驱动器的第三部分中(在硬盘驱动器上使用新版算法从根本上覆写原版算法)。
在391的实施方案中以及在392处,硬盘驱动器加密密钥管理器将新版密钥从设备的内存中移除,并且新版密钥将不被存储在硬盘驱动器上的任何一个地方。
图4是根据一项示例性实施方案的SST 400的图解。SST 400包括各种硬件组件及软件组件。SST 400的软件组件被编程并驻留于内存和/或非暂时性计算机可读媒体内,并在SST 400的一个或多个处理器上执行。SST 400可能或可能不通过一个或多个网络进行通信,所述网络可以是有线的、无线的或有线与无线的组合。
在一项实施方案中,SST 400缺少任何网络连接。
在一项实施方案中,SST 400是图1中的ATM 111。
在一项实施方案中,SST 400是信息亭。
在一项实施方案中,SST 400是POS终端。
在一项实施方案中,SST 400包括处理器401、HD 402和预启动管理器403。
预启动管理器403被调适并配置成:在SST 400的启动循环期间在处理器401上执行;从硬盘驱动器402的第一部分获得算法;在处理器401上执行该算法以获得密钥;解密硬盘驱动器402的第二部分以获得第二密钥;以及向SST 400的OS)提供第二密钥,以按照OS的需要动态地解密硬盘驱动器402的第三部分。
在一项实施方案中,预启动管理器403被进一步配置为:随机生成新版算法,所述新版算法随机产生新版密钥;以及将新版算法存储在硬盘驱动器402的第一部分中。
在一项实施方案中,预启动管理器403包括图1的预启动/启动指令114A。
在一项实施方案中,预启动管理器403包括方法200。
在一项实施方案中,预启动管理器403包括方法300。
在一项实施方案中,预启动管理器403被集成到SST 400的BIOS中。
术语“硬盘驱动器”在广义上用来涵盖众多不同类型的长期计算机存储器。它并不局限于依赖磁性存储器的移动媒体,而是涵盖了诸如固态驱动器等固态设备以及可被计算机访问的任何其它方便型长期数据存储器。
应了解的是,在以特定形式(诸如组件或模块)描述软件时,这样做只是为了便于理解,并无意对实施那些功能的软件的可能构建或结构化方式加以限制。例如,虽然模块被示为分离的模块,但可以被实施为同源代码、实施为个别组件,一些模块但并非所有模块都可以组合,或者功能可以在以任何其它便利方式结构化的软件中实施。
此外,尽管软件模块被示为在一个硬件上执行,但是软件可以分布于多个处理器上或以任何其它便利的方式分布。
以上描述是说明性的,而非限制性的。在查阅上述描述后,本领域中的技术人员将了解许多其它实施方案。因此实施方案的范围应参照随附的权利要求,连同这类权利要求所享有的等同物的完整范围来确定。
在之前对实施方案的描述中,出于简化公开的目的,各个特征被一起组合到单个实施方案中。这种公开方法不应被理解为:反映受权利要求保护的实施方案所具有的特征多于各权利要求中明确表述的特征。相反,正如以下权利要求所反映的,发明主题在于少于单个公开实施方案的所有特征。

Claims (12)

1.一种方法(200),其包括:
在设备的预启动循环期间,从存储器的第一部分获得算法(步骤210);执行所述算法以获得密钥(步骤220);
使用所述密钥解密所述存储器的第二部分,以获得第二密钥(步骤230);以及
将所述第二密钥提供给使用所述第二密钥来解密所述存储器的第三部分的程序(步骤240)。
2.根据权利要求1所述的方法,其进一步包括:
随机生成第二版算法,所述第二版算法在执行时随机产生第二版密钥(步骤250);以及
以不连续地存储在所述存储器的所述第一部分中的预定义顺序存储所述第二版算法(步骤251)。
3.根据前述任一权利要求所述的方法,其进一步包括:将所述密钥从内存中清除(步骤260)。
4.根据前述任一权利要求所述的方法,其中从存储器的第一部分获得算法进一步包括:从存储器的所述第一部分获得呈无序序列的算法部分(步骤211)。
5.根据权利要求4所述的方法,其中从存储器的第一部分获得算法进一步包括:以预定义顺序汇编所述算法的所述无序序列部分(步骤212)。
6.根据前述任一权利要求所述的方法,其中解密步骤进一步包括:从存储器的第四部分使用所述第二密钥以解密所述程序的指令,以及将所述指令加载到内存中以在所述设备上执行所述程序(步骤231)。
7.根据权利要求6所述的方法,其中使用步骤进一步包括:将指令加载为所述设备的操作系统,其中所述操作系统为所述程序(步骤232)。
8.根据前述任一权利要求所述的方法,其中提供步骤进一步包括:将所述第二密钥提供给操作系统,其中所述操作系统为所述程序(步骤241)。
9.根据前述任一权利要求所述的方法,其中提供步骤进一步包括:在向所述程序提供所述第二密钥之前,从所述存储器的第四部分将需要执行的所述程序加载到所述设备的内存中(步骤242)。
10.一种自助式终端(111或400),其包括:
处理器(401);
硬盘驱动器(115或402);以及
预启动管理器(403),其被配置为:(i)从所述硬盘驱动器(115或402)的第一部分获得算法;(ii)执行所述算法以获得密钥;(iii)解密所述硬盘驱动器(115或402)的第二部分以获得第二密钥;以及(iv)向所述终端(111或400)的操作系统(115B)提供所述第二密钥,以按照所述操作系统(115B)的需要动态地解密所述硬盘驱动器(115或402)的第三部分。
11.一种方法,包括权利要求1至9中的任意一个技术特征或者技术特征的任意组合。
12.一种自助式终端,包括权利要求10中的任意一个技术特征或者技术特征的任意组合。
CN201610866072.3A 2015-10-30 2016-09-29 用于动态预启动存储加密密钥管理的方法及终端 Active CN107026728B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/927,938 US10013561B2 (en) 2015-10-30 2015-10-30 Dynamic pre-boot storage encryption key
US14/927,938 2015-10-30

Publications (2)

Publication Number Publication Date
CN107026728A true CN107026728A (zh) 2017-08-08
CN107026728B CN107026728B (zh) 2020-11-27

Family

ID=56618026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610866072.3A Active CN107026728B (zh) 2015-10-30 2016-09-29 用于动态预启动存储加密密钥管理的方法及终端

Country Status (3)

Country Link
US (1) US10013561B2 (zh)
EP (1) EP3163492B1 (zh)
CN (1) CN107026728B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10154023B1 (en) * 2014-12-18 2018-12-11 EMC IP Holding Company LLC Method and system for secure instantiation of an operation system within the cloud
US10445712B2 (en) * 2015-12-17 2019-10-15 Ncr Corporation Basic input/output system (BIOS) credential management
US10339317B2 (en) * 2015-12-18 2019-07-02 Intel Corporation Computing devices
US10061717B1 (en) * 2016-03-25 2018-08-28 EMC IP Holding Company LLC Storing multiple encryption keys to protect data at rest
TWI615732B (zh) * 2016-12-27 2018-02-21 瑞昱半導體股份有限公司 電子裝置之電子元件、啟動電子裝置的方法及加密方法
EP3379445B1 (en) 2017-03-22 2024-06-12 Diebold Nixdorf Systems GmbH System and method to generate encryption keys based on information of peripheral devices
WO2019059887A1 (en) 2017-09-19 2019-03-28 Hewlett-Packard Development Company, L.P. CRYPTOGRAPHIC KEY SECURITY
US10614254B2 (en) * 2017-12-12 2020-04-07 John Almeida Virus immune computer system and method
KR20210097379A (ko) * 2020-01-30 2021-08-09 삼성전자주식회사 보안 장치, 전자 장치, 보안 부트 관리 시스템, 부트 이미지 생성 방법 및 부트 체인 실행 방법
US11704411B2 (en) 2020-12-10 2023-07-18 Ncr Corporation Operating system encryption system and method
US20230261866A1 (en) * 2022-02-15 2023-08-17 Ncr Corporation System and method for providing a secure locally-based boot disk encryption key

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539977A (zh) * 2009-04-29 2009-09-23 北京飞天诚信科技有限公司 一种计算机软件保护方法
US20140079221A1 (en) * 2012-09-14 2014-03-20 Red Hat, Inc. Managing encrypted data and encryption keys
CN103678966A (zh) * 2012-08-31 2014-03-26 Ncr公司 安全模块和保证支付信息安全的方法
US20140164725A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083362A1 (en) * 2000-12-22 2002-06-27 Objectsoft Corp. System and method for providing unattended personality acquisition, self-recovery and remote maintenance to internet-based end-user devices
WO2003027816A1 (en) 2001-09-28 2003-04-03 High Density Devices As Method and device for encryption/decryption of data on mass storage device
JP4736370B2 (ja) * 2004-07-27 2011-07-27 株式会社日立製作所 ホスティング環境構築方法および計算機システム
US8171275B2 (en) * 2007-01-16 2012-05-01 Bally Gaming, Inc. ROM BIOS based trusted encrypted operating system
US8856512B2 (en) 2008-12-30 2014-10-07 Intel Corporation Method and system for enterprise network single-sign-on by a manageability engine
US20130061298A1 (en) * 2011-09-01 2013-03-07 International Business Machines Corporation Authenticating session passwords
GB201204950D0 (en) 2012-03-21 2012-05-02 Becrypt Ltd Encryption System and method of encrypting a device
US9779245B2 (en) 2013-03-20 2017-10-03 Becrypt Limited System, method, and device having an encrypted operating system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539977A (zh) * 2009-04-29 2009-09-23 北京飞天诚信科技有限公司 一种计算机软件保护方法
CN103678966A (zh) * 2012-08-31 2014-03-26 Ncr公司 安全模块和保证支付信息安全的方法
US20140079221A1 (en) * 2012-09-14 2014-03-20 Red Hat, Inc. Managing encrypted data and encryption keys
US20140164725A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof

Also Published As

Publication number Publication date
US10013561B2 (en) 2018-07-03
EP3163492A1 (en) 2017-05-03
CN107026728B (zh) 2020-11-27
EP3163492B1 (en) 2018-08-01
US20170124329A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
CN107026728A (zh) 动态预启动存储加密密钥
US9673975B1 (en) Cryptographic key splitting for offline and online data protection
CN111654367B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN1960363B (zh) 一种利用网络实现信息安全设备远程更新的方法
US20040148502A1 (en) Method and system for the distributed creation of a program for a programmable portable data carrier
CN106664202A (zh) 提供多个设备上的加密的方法、系统和计算机程序产品
CA2983163A1 (en) Generating cryptographic function parameters from compact source code
CN109347625B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN101930508A (zh) 安全处理系统
US7970133B2 (en) System and method for secure and flexible key schedule generation
CN111884986B (zh) 一种数据加密处理方法、装置及存储介质
CN111385084A (zh) 数字资产的密钥管理方法、装置及计算机可读存储介质
CN103942896A (zh) 一种在atm机上实现无卡取款的系统
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
US10572635B2 (en) Automatic correction of cryptographic application program interfaces
CN112543100A (zh) 一种动态密钥生成方法和系统
CN110321678B (zh) 一种虚拟系统的控制方法、装置、设备和介质
CN109286501B (zh) 用于加密机的认证方法以及加密机
EP2517140B1 (en) Securing execution of computational resources
CN100550735C (zh) 多功能智能密钥设备及其安全控制的方法
CN110263532A (zh) 可信计算方法、设备及系统
US20230261866A1 (en) System and method for providing a secure locally-based boot disk encryption key
CN109255609A (zh) 一种基于多重签名的比特币防盗方法
CN111064753B (zh) 一种基于One-Time Pad的密码管理器实现方法
CN115801271A (zh) 一种动态口令的实现方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant