CN103415855B - 大容量存储设备存储器加密方法、系统及装置 - Google Patents

大容量存储设备存储器加密方法、系统及装置 Download PDF

Info

Publication number
CN103415855B
CN103415855B CN201180039746.8A CN201180039746A CN103415855B CN 103415855 B CN103415855 B CN 103415855B CN 201180039746 A CN201180039746 A CN 201180039746A CN 103415855 B CN103415855 B CN 103415855B
Authority
CN
China
Prior art keywords
storage part
encryption
secret
key
secure key
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.)
Expired - Fee Related
Application number
CN201180039746.8A
Other languages
English (en)
Other versions
CN103415855A (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.)
Onespan North America Inc
Original Assignee
Vasco Data Security International Inc
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 Vasco Data Security International Inc filed Critical Vasco Data Security International Inc
Publication of CN103415855A publication Critical patent/CN103415855A/zh
Application granted granted Critical
Publication of CN103415855B publication Critical patent/CN103415855B/zh
Expired - Fee Related 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • 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/79Protecting 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 semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

公开了用于安全地存储数据的大容量存储设备和方法。大容量存储设备包括:用于与所连接的主机进行通信的通信接口;用于存储数据的大容量存储器部件;适用于安全地存储至少一个主秘密的安全密钥存储部件;以及不同于安全密钥存储部件且连接至安全密钥存储部件和大容量存储器部件的加密‑解密部件。加密‑解密部件可以适用于利用加密算法和至少一个加密密钥对从主机接收的数据进行加密,且将加密的数据写入大容量存储器部件中。加密‑解密部件也可以适用于响应于来自主机的读取数据命令使用解密算法和其安全性使用安全地存储在安全密钥存储部件中的主秘密来保护的至少一个解密密钥对存储在大容量存储器部件中的加密的数据进行解密以将数据返回给主机。

Description

大容量存储设备存储器加密方法、系统及装置
相关申请的交叉引用
本申请要求于2011年6月16日提交的、题为“Mass Storage Device with On-The-Fly Encryption”的美国临时申请No.61/355,399的优先权,其内容通过引用全部合并在本文中。
背景技术
能够存储相对大量的数据(例如,几百兆字节或几千兆字节,有时几十千兆字节)并且可以很容易地连接至计算机和从计算机断开的小型便携式电子设备正变得越来越受欢迎,因为它们为用户传输计算机数据提供了方便的方式。在许多情况下,这样的设备可以通过即插即用技术容易地连接到主机,并将本身作为具有标准文件系统的大容量存储设备(MSD)呈现给主机的操作系统。在许多情况下,将设备连接到主机的接口为USB(通用串行总线)型。所谓的USB密钥装置或USB记忆棒是这样的设备的示例。在某些情况下,该设备还提供其他的功能,或者大容量存储功能被集成到具有另外的主要功能的设备中。例如,一些USB密钥装置还包含智能卡或智能卡芯片,并提供安全功能(通常在公钥基础设施(PKI)的环境中),而很多数码相机可以通过USB连接来连接到计算机,然后作为大容量存储设备对主机可见。
因为它们对于传输计算机数据来说是如此方便,所以这些便携式大容量存储设备经常用于存储和传送机密或敏感的数据。因此,它们会具有由于它们相对较小的尺寸而加剧的安全风险,因为相对较小的尺寸使得它们容易被盗或丢失。
附图说明
图1是图示了根据本发明的各个方面的大容量存储设备的框图;
图2是图示了根据本发明的各个方面的从大容量存储设备中读取受保护数据的处理的不同步骤的流程图;
图3是图示了根据本发明的各个方面的将受保护数据写入大容量存储设备的处理的不同步骤的流程图;
图4是图示了根据本发明的各个方面的获得批量加密/解密密钥的处理的一些步骤的流程图;
图5是图示了根据本发明的各个方面的大容量存储设备和安全密钥层级的框图;
图6是图示了根据本发明的各个方面的加密算法的框图;
图7是图示了根据本发明的各个方面的解密算法的框图;
图8是图示了根据本发明的各个方面的替选的大容量存储设备和安全密钥层级的框图;
图9是图示了根据本发明的各个方面的替选的加密算法的框图;
图10是图示了根据本发明的各个方面的替选的解密算法的框图;以及
图11是图示了根据本发明的一个方面的大容量存储设备的初始化的流程图。
具体实施例
本发明人已经认识到:便携式大容量存储设备需要具备当从便携式大容量存储设备的大容量存储器读取存储数据或向其写入数据时对这些数据进行实时地(on-the-fly)加密和解密的能力。
具有加密存储数据能力的便携式大容量存储设备的一个技术问题是:用于加密和解密存储数据的密钥的安全性必须足够高。另一个技术问题是:鉴于大量的数据要被加密或解密,加密和解密速度必须足够高,以便不会以不可接受的方式减慢读取和写入操作。具体的挑战是采用相对廉价的标准部件来解决这两个问题。
本发明的各个方面基于发明人的如下见解:可以通过如下大容量存储设备来克服上述两个问题,该大容量存储设备包括:(1)一方面,能够安全地存储秘密的第一安全密钥存储部件,以及(2)另一方面,能够高速地加密和解密写入大容量存储设备的大容量存储器或从大容量存储器读出的大量数据(例如几百兆或几千兆字节)的第二高速加密/解密部件,由此,高速加密/解密部件用于对写入大容量存储器或从大容量存储器读取的数据进行加密和解密的加密和解密密钥中的至少一些的机密性由使用安全地存储在安全密钥存储部件中的秘密的安全机制来保护。例如,批量加密和解密密钥可以直接存储在安全密钥存储部件中,或者它们可以从安全地存储在安全密钥存储部件中的秘密导出,或者它们存储在其它地方(例如存储在大容量存储器上)并且用直接存储在安全密钥存储部件中的密钥加密或用从存储在安全密钥存储部件中的密钥导出的密钥加密,或者它们从存储在其它地方(例如,存储在大容量存储器上)的密钥导出并且用直接存储在安全密钥存储部件中的密钥加密或用从存储在安全密钥存储部件中的密钥导出的密钥加密。
本发明的另一个方面包括一种用于对存储在具有大容量存储功能的设备的大容量存储器中的数据进行加密和解密的方法。
本发明的又一个方面包括一种用于生成和管理一些存储在大容量存储设备(MSD)中的秘密密钥并用这些秘密密钥来初始化大容量存储设备的方法。
存储器加密的目的是要确保大容量存储设备的数据内容的机密性。在正常情况下,应该只有设备真正的主人能够获得他或她的设备的清楚的文本内容。为了实现该目标,大容量存储设备可以要求大容量存储设备对用户的认证。用户的认证可以对于读取操作和写入操作两者都需要,或仅对于写入操作需要或仅对于读取操作需要。成功的认证可以打开设备以进行单个操作或多个操作。例如,可以要求用户每次对每个读取操作进行认证,或者用户可以只需要在第一次操作之前进行一次认证,只要设备仍然保持通电并连接到主机即可,或者用户可能必须在设备连接到主机时以及之后经过特定的时间间隔或不活动的时间段之后进行认证。可以使用多种技术来认证用户。在一个实施例中,可以要求用户提供PIN或密码,而在其它实施例中,可以通过生物特征认证技术来认证用户,例如,将用户的指纹与存储在大容量存储设备中的参考指纹进行比较。
在一个实施例中,大容量存储设备包括:(1)大容量存储器部件,(2)能够安全地存储秘密的安全密钥存储部件,(3)能够对写入大容量存储设备的大容量存储器的数据或从大容量存储器读取的数据进行高速加密和解密的高速加密/解密部件,(4)用于与大容量存储设备所连接到的主机进行通信的通信接口。
在该上下文中,安全密钥存储部件是能够以非易失性方式存储敏感数据(比如PIN或密码值、或其他的与用户认证相关的参考数据和秘密,比如秘密密码密钥)并被设计成抵御意在例如通过破坏机密性(例如,获得秘密密钥的值)或破坏敏感数据的完整性(例如,重写PIN的参考值或PIN尝试计数器(PIN try counter)的值)来泄密敏感数据的一系列攻击的部件。智能卡或智能卡芯片是安全密钥存储部件的很好的示例。为了抵御攻击,安全密钥存储部件可能已设置有多种安全机制。这些安全机制可以包括逻辑层次上的措施,比如对读取和写入操作的访问控制或对涉及敏感数据的使用的某些操作(例如,使用秘密密钥的加密或解密操作)的访问控制,由此,可以取决于特定条件比如用户的认证状态来授权或拒绝对这些操作的访问(例如,更改PIN值的请求或使用存储在部件中的秘密密钥来执行解密操作的请求只有在用户的PIN被成功验证后才被同意)。其它安全措施可以包括物理措施,比如使探测攻击更加困难的小尺寸或用于防止电磁泄漏的屏蔽罩。还有其它一些措施可以用于针对性地阻止试图基于例如时序或功耗分析来获取敏感数据的信息的特定类型的攻击。安全密钥存储部件可以具有传感器以检测该部件是否工作在其允许的参数范围(例如,允许的电源电压、允许的时钟速度)之外,这可能指示基于引发错误的攻击。安全密钥存储部件还可以具有用于检测部件是否正被探测的传感器。这些传感器可以包括电压、温度、频率和光传感器。安全密钥存储部件可以具有对任何存储在存储器中和/或在总线上传输的数据进行加扰和/或加密的规范。安全密钥存储部件可以遵循FIPS140-2或FIPS140-3标准。假如这样,它们可以被认证为2级或更高。它们也可以针对ISO/IEC15408通用标准保护规范如被称为CC-PP-0035-2007的安全IC平台保护规范1.0版或智能卡IC平台保护规范CC-PP-0002-2001来认证。
期望的是,高速加密/解密部件具有足够的处理能力以足够高而不显著地减慢数据的读取和写入的速度来执行对从大容量存储设备读出的数据或写入大容量存储设备的数据的批量加密或解密。
在一种实施例中,安全密钥存储部件和加密/解密部件相互连接以便它们能够交换秘密和密钥。
这种体系结构的优点在于:可以使用廉价的标准部件,从而使安全密钥存储部件优化用于相对较小尺寸(例如,几十字节到几百或几千字节)的秘密的安全存储,但不需要能够高速地批量加密和解密大量数据,也不需要能够安全地存储大量数据,从而加密/解密部件提供足够的处理能力对相对大量的数据进行批量加密或解密,但不需要提供秘密和秘密密钥的非易失性安全存储,从而大容量存储器部件能够经济有效地存储大量数据(例如,数百兆字节或千兆字节的数据),而无需提供任何安全机制。
在一些实施例中,安全密钥存储部件存储用于保护高速加密/解密部件用于加密和解密写入大容量存储器或从大容量存储器读取的数据的一个或更多个秘密加密/解密密钥的安全性的一个或更多个主秘密。
在一些实施例中,存储在安全密钥存储部件中的所述一个或更多个主秘密包括一个或更多个对称加密或解密密钥。在一些实施例中,存储在安全密钥存储部件中的所述一个或更多个主秘密包括一个或更多个公钥-私钥对中的一个或更多个不对称私钥。
在一些实施例中,一些用于保护高速加密/解密部件所使用的加密/解密密钥的安全性的保护机制需要高速加密/解密部件对存储在安全密钥存储部件中的主秘密的访问。在一些实施例中,这种访问包括读取访问。在一些实施例中,这种访问包括对密码操作的执行访问,密码操作由安全密钥存储部件实施并使用一个或更多个主秘密。在一些实施例中,这些密码操作包括密钥导出操作。在一些实施例中,这些操作包括使用主秘密或从主秘密中导出的一个或更多个密钥作为加密或解密密钥来进行的加密或解密操作。
在一些实施例中,对存储在安全密钥存储部件中的主秘密进行的访问(其可以包括用主秘密来对涉及安全密钥存储部件的操作进行的读取访问或执行访问)受访问控制机制保护。在一些实施例中,这些访问控制机制包括安全密钥存储部件对某些状态的验证。在一些实施例中,这些访问控制机制包括安全密钥存储部件对用户认证状态的验证。在一些实施例中,这些访问控制机制要求用户对于安全密钥存储部件已经被成功认证。在一些实施例中,这些访问控制机制要求正确的PIN或密码值被提交给安全密钥存储部件。在一些实施例中,这些访问控制机制要求提交满足一些标准的生物特征(如指纹测量值),例如,它与生物特征参考模板有利地比拟。在特定实施例中,安全密钥存储部件存储生物特征参考模板。在特定实施例中,提交的生物特征的验证由安全密钥存储部件来完成,例如通过将生物特征测量值与生物特征参考模板相比较来完成。在特定实施例中,大容量存储设备包括用于验证生物特征测量值的生物特征验证部件。在特定实施例中,生物特征验证部件使用允许安全密钥存储部件对生物特征验证部件进行认证的安全协议,来向安全密钥存储部件传达生物特征验证的结果。
在一些实施例中,安全密钥存储部件直接存储高速加密/解密部件用于对写入大容量存储器或从大容量存储器读出的数据进行加密和解密的一个或更多个秘密加密/解密密钥。
在一些实施例中,安全密钥存储部件存储用于导出高速加密/解密部件用于对写入大容量存储器或从大容量存储器读取的数据进行加密和解密的加密/解密密钥的一个或更多个秘密。根据实施例,加密/解密密钥的导出过程的步骤可以通过安全密钥存储部件和/或高速加密/解密部件来执行。
在一些实施例中,安全密钥存储部件使用其安全地存储的秘密来导出被高速加密/解密部件用于对写入大容量存储器中或从大容量存储器读取的数据进行加密和解密的加密/解密密钥。
在一些实施例中,高速加密/解密部件根据安全地存储在安全密钥存储部件中的秘密来导出其用于对写入大容量存储器或从大容量存储器读取的数据进行加密和解密的加密/解密密钥。
在一些实施例中,安全密钥存储部件使用其安全地存储的主秘密来导出被高速加密/解密部件用来导出被高速加密/解密部件用来对写入大容量存储器或从大容量存储器读取的数据进行加密和解密的加密/解密密钥的中间秘密。
在一些实施例中,使用存储在安全密钥存储部件中的主秘密或从安全密钥存储部件中的主秘密导出的密钥来加密或解密存储在密钥存储部件之外的并用于获得(或它们本身)高速加密/解密部件用来对写入大容量存储器或从大容量存储器读出的数据进行加密和解密的加密/解密密钥的中间密钥或中间秘密。在特定实施例中,安全密钥存储部件使用存储在安全密钥存储部件中的主密钥来解密存储在大容量存储器部件中的加密的秘密密钥,并且高速加密/解密部件使用解密的密钥来解密或加密从大容量存储器部件中读取的或写入大容量存储器部件的数据。
在特定实施例中,由用户提供的秘密被安全密钥存储部件和/或高速加密/解密部件用于导出加密/解密密钥或中间秘密。在一些特定实施例中,由用户提供的这些秘密可以包括PIN或密码值。
在一个实施例中,与主机进行通信的通信接口包括USB接口。在其它实施例中,可以使用其它有线或无线技术来用于与主机的通信接口,例如IEEE1394或FireWire。
在一个实施例中,大容量存储器部件包括固态存储器芯片。在另一实施例中,大容量存储器部件包括闪速存储器。也可以使用其它的存储器技术,比如:电可擦除可编程只读存储器(EEPROM)、可编程金属化单元(PMC)、导电桥RAM(CBRAM)、铁电RAM(FeRAM或FRAM)、磁阻随机存取存储器(MRAM)、相变存储器(也称为PCM、PRAM、PCRAM、Ovonic一体存储器、硫族化物RAM和C-RAM),或其它。
在一个实施例中,安全密钥存储部件包括智能卡或智能卡芯片。智能卡芯片可以是如遵守ISO/IEC7816规范的智能卡所使用的芯片。在一些实施例中,安全密钥存储部件包括固定地集成到大容量存储设备中的智能卡芯片。在其它实施例中,安全密钥存储部件包括可移除的智能卡,比如ID-000格式(如SIM卡所使用的),但也可以使用其它的格式,例如ID-1格式。可以使用的智能卡或智能卡芯片的示例包括:Oberthur ID-One智能卡芯片、Siemens CardOS、G&D StarCOS、来自Infineon SLE66家族的芯片、或其它的芯片。
在一些实施例中,安全密钥存储部件还提供了其它安全功能,比如存储或验证PIN或密码、安全地存储机密数据、提供PKI相关的功能以及密码操作、涉及对称或不对称的密码操作的操作、存储证书、存储生物特征参考模板、执行生物特征验证、生成一次性密码、或其它。
使用智能卡或智能卡芯片对于安全密钥存储部件来说优点在于:可以使用标准方法和现有的验证的基础设施、工具和部件来对存储在安全密钥存储部件中的秘密进行密钥管理。
使用智能卡或智能卡芯片对于安全密钥存储部件来说的另一个优点是:这些部件可能已经按照高安全标准进行了测试和认证。
在一个实施例中,加密/解密部件包括通用处理器比如ARM处理器。加密/解密部件可以处理与主机的通信以及对存储器的管理。可以用于加密/解密部件的处理器的示例为Atmel AT32UC3A3(AVR)处理器。
在一个实施例中,加密/解密部件使用基于对称加密/解密算法比如AES(高级加密标准)或3DES(三重DES,数据加密标准)的加密/解密方法。
在一个实施例中,加密/解密部件对主机请求被写入或读出的数据进行实时地加密或解密。
图1示出了根据本发明的实施例的大容量存储设备(100)的体系结构。该设备(100)包括:与主机(190)通信的通信接口(110)、高速加密/解密部件(120)、大容量存储器部件(130)以及安全密钥存储部件(140)。在实施例中,高速加密/解密部件(120)连接至通信接口(110)、大容量存储器部件(130)以及安全密钥存储部件(140)。
在一些实施例中,高速加密/解密部件(120)、大容量存储器部件(130)以及安全密钥存储部件(140)包括布置在基板上的电子部件。在一些实施例中,该基板包括PCB(印刷电路板)。在一些实施例中,通信接口(110)、高速加密/解密部件(120)、大容量存储器部件(130)和安全密钥存储部件(140)嵌入在单独的封装中或包含在单独的壳体中。在一些实施例中,通信接口(110)、高速加密/解密部件(120)、大容量存储器部件(130)以及安全密钥存储部件(140)被固定地附接。在一些实施例中,大容量存储器部件(130)或其元件可以是可移除的。在一些实施例中,安全密钥存储部件(140)或其元件可以是可移除的。在一些实施例中,大容量存储器部件(130)通过电连接的方式连接至高速加密/解密部件(120)。在一些实施例中,安全密钥存储部件(140)通过电连接的方式连接至高速加密/解密部件(120)。
在一些实施例中,大容量存储设备(100)是在壳体比如传统的USB闪存驱动器壳体内的便携式设备。在一些实施例中,封装的大容量存储设备(100)具有使用户容易和方便地将设备携带到用户口袋中的尺寸和重量。在一些实施例中,大容量存储设备(100)是手持设备,其在本申请的上下文中表示手持大容量存储设备(100)具有使得它与典型的蜂窝电话或PDA可比的尺寸和重量,即手持式的实施例具有优选地不超过300克的重量、优选地不超过100立方厘米的体积、以及在一个方向上优选地不超过15厘米的最大长度。在一些实施例中,大容量存储设备(100)是钥匙尺寸的,其在本申请的上下文中表示封装的大容量存储设备(100)具有使得它与汽车钥匙或典型的USB记忆棒可比的尺寸和重量,即钥匙尺寸的实施例具有优选地不超过75克的重量、优选地不超过35立方厘米的体积、以及在一个方向上优选地不超过10厘米的最大长度。在一些实施例中,大容量存储设备(100)的壳体包括构造比如环,以将设备(100)附接到钥匙环。
在一些实施例中,当大容量存储设备(100)连接到主机(190)时,它依赖于主机(190)向它提供电源。在一些实施例中,通信接口(110)包括用于主机(190)向设备(100)提供电源的电连接。在一些实施例中,设备(100)没有自主电源。在一些实施例中,当设备(100)没有连接到主机时,它完全依赖于保护存储在安全密钥存储部件(140)的主秘密的被动安全措施来保护存储在大容量存储器部件(130)上的加密数据的机密性。在一些实施例中,设备(100)具有自主电源以在当它未连接到主机(190)时向设备(100)供电。在一些实施例中,该自主电源可以包括电池。
在一些实施例中,高速加密/解密部件(120)和安全密钥存储部件(140)在物理上是不同的部件。
在一些实施例中,要从大容量存储设备(100)读出的或写入到大容量存储设备(100)的数据在主机(190)和大容量存储设备(100)之间通过通信接口(110)进行交换。在一个实施例中,通信接口(110)包括物理连接器。在特定实施例中,通信接口(110)包括USB连接器。在其它实施例中,通信接口(110)可以包括4电路或6电路的FireWire400阿尔法连接器。
在一些实施例中,大容量存储设备(100)支持当连接到主机(190)时的即插即用功能。
在一些实施例中,高速加密/解密部件(120)包括处理器或微控制器。在其它实施例中,高速加密/解密部件(120)包括ASIC(专用集成电路)。在又一些实施例中,高速加密/解密部件(120)包括FPGA(现场可编程门阵列)。在一些实施例中,高速加密/解密部件(120)适用于处理通过通信接口(110)与主机(190)的通信协议。在一些实施例中,高速加密/解密部件(120)适用于处理通过通信接口(110)与主机(190)通信的USB通信协议。在其它实施例中,高速加密/解密部件(120)适用于处理通过通信接口(110)与主机(190)通信的USB通信协议。在一些实施例中,高速加密/解密部件(120)包括ARM处理器。在特定实施例中,高速加密/解密部件(120)包括Atmel AT32UC3A3处理器。
在一些实施例中,大容量存储器部件(130)包括闪速存储器。在一些实施例中,大容量存储器部件(130)包括NAND闪存集成电路。在一些实施例中,大容量存储器部件(130)包括NOR闪存集成电路。在一些实施例中,大容量存储器部件(130)包括存储卡。在一些实施例中,大容量存储器部件(130)包括SD(安全数码)卡。在其它实施例中,大容量存储器部件(130)包括CompactFlash卡。在又一些实施例中,大容量存储器部件(130)包括MMC卡(多媒体卡)。在一些实施例中,高速加密/解密部件(120)适用于在低层次上直接与闪速存储器芯片接口,并且适用于处理闪速存储器的读取和编程以及擦除,以及处理存储器的磨损。在其它实施例中,高速加密/解密部件(120)适用于与处理与存储器芯片的低层次接口的控制器进行接口。
在一些实施例中,安全密钥存储部件(140)包括非易失性存储器,以安全地存储秘密,比如一个或更多个密码密钥或种子值和/或其它机密的或安全敏感的数据,比如一个或更多个PIN或密码值或生物特征参考值。在其它实施例中,安全密钥存储部件(140)具有一个或更多个主动或被动的安全机制来防范对敏感或机密的数据的未经授权的访问,和/或防范未经授权的企图改变某些安全性相关的数据元素(例如PIN码、密码、生物特征参考数据或PIN尝试计数器或安全设置)的值的尝试。在一些实施例中,安全密钥存储部件(140)包括智能卡或智能卡芯片。智能卡芯片可以是如用于遵守ISO/IEC7816规范的智能卡的芯片。在一些实施例中,安全密钥存储部件包括固定地集成到大容量存储设备的智能卡芯片。在其它实施例中,安全密钥存储部件包括可移除的智能卡,例如具有ID-000格式的(用于SIM卡)智能卡,但是还可以使用其它格式,比如ID-1格式。可以使用的智能卡或智能卡芯片的示例包括:Oberthur ID-1智能卡芯片、Siemens CardOS、G&D StarCOS或其它。在一些实施例中,高速加密/解密部件(120)使用智能卡命令与安全密钥存储部件(140)通信。在一些实施例中,高速加密/解密部件(120)适用于使用根据ISO/IEC7816规范的协议来与安全密钥存储部件(140)交换智能卡命令。在一些实施例中,高速加密/解密部件(120)适用于使用T=0和/或T=1的智能卡协议来与安全密钥存储部件(140)交换智能卡命令。在一些实施例中,高速加密/解密部件(120)适用于处理智能卡读卡器协议以与主机(190)交换智能卡命令。在一些实施例中,高速加密/解密部件(120)适用于支持USB CCID(集成电路卡接口设备)协议(另见2005年4月22日的“Universal Series Bus–Device Class:Smart Card–CCID–Specification for Integrated Circuit(s)Cards Interface Devices(通用串行总线-设备类:智能卡-CCID–集成电路卡接口设备的规范)-修订版1.1,可见于http://en.wikipedia.org/wiki/Integrated_Circuit_Card_Interface_Device,其通过引用全部并入本文)。在一些实施例中,高速加密/解密部件(120)可以支持另外的协议以与主机交换智能卡命令。
在一些实施例中,大容量存储设备(100)适用于只有在用户已被成功认证后才提供对于大容量存储器(130)的某些部分的读和/或写访问。在一些实施例中,通过用户提交给设备(100)的PIN或密码的验证来认证用户。在一些实施例中,通过用户的一些生物特征的验证来认证用户。在一些实施例中,大容量存储设备(100)包括生物特征部件(150)。在一些实施例中,该生物特征部件(150)包括生物特征传感器。在一些实施例中,生物特征传感器包括指纹传感器。在一些实施例中,生物特征部件适用于测量用户的一些生物特征。在一些实施例中,生物特征部件适用于验证生物特征测量值。在一些实施例中,安全密钥存储部件(140)适用于认证用户。在一些实施例中,安全密钥存储部件(140)适用于验证PIN或密码或验证生物特征测量值。在一些实施例中,该生物特征测量值可能已经由设备(100)上的生物特征部件(150)产生了。在一些实施例中,安全密钥存储部件(140)存储PIN或密码参考值,并适用于将提交的PIN或密码与该存储的参考值相比较。在一些实施例中,安全密钥存储部件(140)存储生物特征参考模板,并且适用于将提交的生物特征测量值与该生物特征参考模板相比较。
在一些实施例中,大容量存储设备(100)包括USB接口并且当连接到USB主机时将它自身呈现为包括至少一个USB大容量存储器驱动器的USB设备的集合。
在一些实施例中,该呈现的USB设备的集合包括至少一个安全地存储加密数据的安全USB大容量存储驱动器。在一些实施例中,仅在用户认证成功后,设备才授权对这些加密数据的读取和/或写入访问。
在一些实施例中,所呈现的USB设备的集合还包括USB大容量存储器驱动器,对它存储的数据内容提供自由的读取和写入访问。
在一些实施例中,所呈现的USB设备的集合还包括USB智能卡读卡器。在一些实施例中,该读卡器呈现为自身包含智能卡。在一些实施例中,这种智能卡可以提供PKI功能以例如制作电子签名。
在一些实施例中,设备(100)向主机(190)呈现的USB设备的集合还包括具有插入的CD-ROM的虚拟USB CD-ROM驱动器。插入的CD-ROM可以存储用于在主机上执行的预装软件,比如安全互联网浏览器或与上述PKI使能智能卡进行接口的PKI中间件。所插入的CD-ROM中还可以存储适用于允许用户来管理设备(100)的各个安全方面的一个或更多个设备安全应用。该安全应用例如可以允许用户通过输入密码或PIN来向设备认证用户本身。
在一些实施例中,一旦用户认证成功时,设备(100)可以授权用户访问安全大容量存储器。在一些实施例中,安全应用还可以向用户提供进行PIN或密码管理的可能性,比如更改PIN或密码或解锁锁定的PIN或密码。在一些实施例中,安全应用还可以向用户提供管理他或她的生物特征的可能性,比如登记参考指纹。在一些实施例中,安全应用允许用户明确地锁定和解锁安全大容量存储器。在一些实施例中,设备(100)可以利用主机(190)的操作系统的自动运行特征,以在设备(100)连接到主机(190)时自动启动存储在它的虚拟USBCD-ROM上的应用。
在一些实施例中,在设备(100)连接到主机(190)时,设备(100)向主机(190)呈现至少一个安全大容量存储器驱动器。在用户认证之前,安全大容量存储器驱动器的受保护内容可以保持不可访问。通过使用认证应用(其可以是上述安全应用中的一个),用户可以向设备(100)认证他或她自身。在用户成功认证后,安全大容量存储器驱动器的受保护内容对用户而言变得从主机PC(190)是可见的以及可访问的。认证应用可以通过自动运行特征自动启动,或者可替选地,可以由用户启动。在一些实施例中,在用户认证之前,认证应用是安全大容量存储器驱动器上仅有的可访问的内容。在其它实施例中,在设备(100)连接到主机(190)时,认证应用在设备(100)呈现给主机(190)的另一个大容量存储器驱动器上对用户是可见的。在一些实施例中,安全大容量存储器驱动器的受保护内容对于用户从主机PC(190)上可见和可访问,直到设备(100)从主机(190)断开(在物理上或在逻辑上)为止。在其它实施例中,用户可以例如通过使用一些退出登录的管理应用(例如,上述安全应用的认证应用)来明确地锁定安全大容量存储器驱动器(并且其受保护内容再次变得不可访问)。在安全大容量存储器驱动器已被锁定后,它的受保护内容保持不可访问,直到用户再次认证以解锁安全大容量存储器驱动器为止。
在一些特定实施例中,设备(100)包括连接到包括USB处理器的高速加密/解密部件(120)的USB连接器接口(110)。处理器适用于处理与设备(100)所连接到的主机(190)的USB协议。USB处理器部件(120)还连接至可以包括SD卡的大容量存储器(130)。USB处理器部件(120)适用于处理与大容量存储部件(130)进行接口的协议,并且还适用于处理与主机(190)的USB大容量存储设备协议。USB处理器部件(120)进一步连接到包括智能卡或智能卡芯片的安全密钥存储部件(140)。USB处理器部件(120)适用于处理用于例如根据ISO/IEC7816规范的与智能卡或智能卡芯片交换智能卡命令和响应的协议。智能卡或智能卡芯片可选地适用于为PKI使能的,并适用于提供PKI相关的功能,比如RSA加密和解密以及生成基于RS A的数字签名。此外,它可以存储证书。USB处理器部件(120)进一步适用于处理与主机(190)的USB智能卡读卡器协议(如CCID)以与主机(190)交换智能卡命令。在大容量存储部件(130)上的存储器分为以下部分:包括能够自由读取和写入的数据的(可选)公共部分、包括只能在用户成功认证后读取和写入的受保护数据的受保护部分、以及包括只读数据的只读部分。在受保护部分上的数据被加密。只读数据(可选地)包括允许主机PC上的PKI使能的应用向PKI使能的智能卡或智能卡芯片请求加密服务的PKI中间件。只读数据还可以包括要在主机(190)上执行的认证应用。该应用可以允许用户例如通过提交PIN值或密码值或在一个特定实施例中提交生物特征来向设备(100)认证他或她自身。在设备(100)连接到USB使能的主机(190)上时,USB处理器(120)向主机(190)呈现如下USB设备:USB智能卡读卡器(具有插入的智能卡);包括大容量存储器的公共部分的可自由访问数据的第一(可选的)大容量存储器驱动器;可以在用户认证之前仅显示认证应用的第二大容量存储器驱动器、具有包括用于PKI中间件的安装程序的插入CD-ROM的CD-ROM设备。为了访问在大容量存储器的受保护部分上的受保护数据,用户可以启动在第二大容量存储器驱动器中可见的认证应用。该应用可以请求用户输入PIN或密码或提供生物特征。然后,认证应用可以与设备(100)交换一些与认证相关的智能卡命令(例如PIN验证命令)。USB处理器部件(120)可以在主机(190)和智能卡或智能卡芯片之间传输这些命令和响应。USB处理器部件(120)也可以监测认证命令和响应,以确定用户是否认证成功。在特定实施例中,大容量存储设备包括生物特征部件(150),生物特征部件(150)可以包括生物特征传感器,例如指纹传感器。用户可以通过例如在指纹传感器上刷一下手指来直接激活该传感器从而直接发起认证,而无需运行在主机上的认证应用的介入。大容量存储设备然后可以例如通过将提交的生物特征与生物特征参考模板进行比较来验证提交的生物特征。在USB处理器部件已经得出用户已成功通过认证时,它使得大容量存储器(130)的受保护部分的内容对主机(190)可见和可访问。当主机(190)想要读取受保护数据时,USB处理器部件(120)从大容量存储器(130)的受保护部分读取加密的数据,且使用合适的解密会话密钥来实时解密该数据。当主机(190)想要写入受保护数据时,USB处理器部件(120)使用合适的加密会话密钥来实时加密该数据,并且将加密后的数据写入大容量存储器(130)的受保护部分。USB处理器部件(120)根据它从智能卡部件(140)得到的中间秘密来获得或生成合适的加密/解密会话密钥。在一些实施例中,加密/解密会话密钥可以等于USB处理器部件(120)从智能卡部件(140)中得到的中间秘密。在其它实施例中,USB处理器部件(120)使用一些密钥导出方法来根据USB处理器部件(120)从智能卡部件(140)得到的中间秘密来导出加密/解密会话密钥的值。如果用户已经成功通过认证,则智能卡部件(140)仅同意用于中间秘密的请求。如果用户还没有成功通过认证(或用户认证例如通过退出命令已经被取消),则智能卡部件不同意用于中间秘密的请求。在一些实施例中,中间秘密简单地存储在智能卡部件(140)的安全非易失性存储器中。在其它实施例中,智能卡部件(140)使用一些密钥导出方法从存储在智能卡部件(140)的安全非易失性存储器中的一个或更多个主秘密导出中间秘密。在一些实施例中,USB处理器部件(120)获得或生成用于受保护数据的每个读取/写入操作的加密/解密会话密钥,并且在每个这样的操作之后再次丢弃这些密钥。在其它实施例中,USB处理器部件(120)在用户认证成功后获得或生成加密/解密会话密钥,并且保持加密/解密会话密钥的值或用于生成它们的中间秘密的值,直到设备断开或失活为止或直到用户没有认证(例如通过明确的退出命令或通过失败的认证命令)为止。在一些实施例中,用户认证是通过安全密钥存储部件(140)(例如,通过将提交的PIN或密码值与参考值相比较或通过将生物特征测量值与参考生物特征模板相比较)来执行的,只有当状态表示用户已认证成功时,安全密钥存储部件(140)才保持用户认证状态且授权对主秘密的访问(例如,对使用主秘密的操作的读取访问或执行访问)。
图2示出了在本发明的一些实施例中从设备(100)读取受保护数据的处理。在步骤(210)中,大容量存储设备(100)通过通信接口(110)从主机(190)接收读取受保护数据的请求。在步骤(220)中,高速加密/解密部件(120)从安全密钥存储部件(140)中获得一个或更多个中间秘密。在步骤(230)中,高速加密/解密部件(120)使用从安全密钥存储部件(140)获得的一个或更多个中间秘密来获得一个或更多个解密密钥。在步骤(240)中,高速加密/解密部件(120)从大容量存储器部件(130)中读取加密的数据。在步骤(250)中,高速加密/解密部件(120)使用它获得的一个或更多个解密密钥来解密它从大容量存储器部件(130)读取的加密数据。在步骤(260)中,响应于数据请求(210),大容量存储设备(100)将解密的数据返回给主机。在步骤(270)中,高速加密/解密部件(120)在一些实施例中可以丢弃中间秘密和/或解密密钥。
在一些实施例中,步骤(220)包括高速加密/解密部件(120)提交被安全密钥存储部件(140)用来与存储在安全密钥存储部件(140)中的主秘密一起使用以生成中间秘密的数据。在一些实施例中,该数据包括安全密钥存储部件(140)使用存储在安全密钥存储部件(140)中的主秘密或使用一个或更多个从这些主秘密中导出的密钥来解密的加密的秘密。
虽然上述已经以一定的顺序说明了不同的步骤,但这并不意味着在所有的实施例中必须按相同的顺序来完成这些步骤。例如,在一些实施例中,一个或更多个中间秘密的获得(220)或解密密钥的获得(230)可以发生在主机(210)向大容量存储装置(100)发送读取受保护数据的命令之前。在其它实施例中,一个或更多个中间秘密的获得(220)或解密密钥的获得(230)可以发生在从安全密钥存储部件(140)中读取(240)加密的数据之后。
在一些实施例中,一个或更多个中间秘密的获得(220)在认证用户的步骤(290)之后。
在一些实施例中,每次主机(190)向大容量存储设备(100)发送(210)命令以读取受保护数据时,高速加密/解密部件(120)从安全密钥存储部件(140)中获得(220)一个或更多个中间秘密,并使用从安全密钥存储部件(140)中获得(220)的所述一个或更多个中间秘密来获得(230)一个或更多个解密密钥,并当从大容量存储存储器部件(130)中读取的加密数据已经被解密(250)时丢弃(270)每次的中间秘密和/或解密密钥。在其它实施例中,每次主机(190)向大容量存储设备(100)发送(210)命令以读取受保护数据时,高速加密/解密部件(120)从安全密钥存储部件(140)获得(220)一个或更多个中间秘密和/或一次获得(230)一个或更多个解密密钥,并保存要使用的中间秘密和/或解密密钥,并最终在某些事件之后丢弃(270)中间秘密和/或解密密钥,这些事件比如断开或去激活大容量存储设备(100)或用户退出或解除认证或失败的用户认证尝试,或在某个超时期满之后或一些其它事件之后。
在一些实施例中,高速加密/解密部件(120)在步骤(250)中使用对称解密算法来解密从大容量存储器部件(130)读取的加密数据。在一些实施例中,这种对称解密算法例如可以包括AES或3DES。
图3示出了在本发明的一些实施例中向设备(100)写入受保护数据的处理。
在步骤(310)中,大容量存储设备(100)通过通信接口(110)从主机(190)接收写入受保护数据的请求连同要写入的数据。在步骤(320)中,高速加密/解密部件(120)从安全密钥存储部件(140)中获得一个或更多个中间秘密。在步骤(330)中,高速加密/解密部件(120)获得一个或更多个加密密钥。在一些实施例中,加密/解密部件(120)利用从安全密钥存储部件(140)中获得的一个或更多个中间秘密来获得一个或更多个加密密钥。在特定实施例中,加密/解密部件(120)不使用从安全密钥存储部件(140)中获得的一个或更多个中间秘密来获得所述一个或更多个加密密钥。在特定实施例中,加密/解密部件(120)通过如下方式来获得一个或更多个加密密钥:通过随机地生成它们或通过从随机生成的种子值来导出它们。在步骤(350)中,高速加密/解密部件(120)使用所获得的一个或更多个加密密钥来加密在步骤(310)中从主机接收到的数据。在步骤(360)中,高速加密/解密部件(120)将加密的数据写入到大容量存储器部件(130)中。在步骤(370)中,高速加密/解密部件(120)可以在一些实施例中丢弃中间秘密和/或加密密钥。在一些特定实施例中,步骤(370)包括在数学上与加密密钥相关且在后来的阶段可以用于重建加密密钥的值或加密密钥的加密,且加密的加密密钥存储在安全密钥存储部件(140)之外,例如,存储在大容量存储器部件(130)中。在一些特定实施例中,这种加密通过加密/解密部件(120)使用从安全密钥存储部件(140)中获得的中间秘密来完成。在一些特定实施例中,这种加密通过安全密钥存储部件(140)使用存储在安全密钥存储部件(140)中的主秘密来完成,或使用从存储在安全密钥存储部件(140)中的主秘密导出的密钥来完成。在一些特定实施例中,这种加密是使用非对称加密算法和其私钥包括在存储在安全密钥存储部件中的主秘密中的公钥-私钥对的非对称公钥来完成。在特定实施例中,向设备(100)写入受保护数据的处理不包括其中高速加密/解密部件(120)从安全密钥存储部件(140)获得一个或更多个中间秘密的步骤(320)。
在一些实施例中,步骤(320)包括高速加密/解密部件(120)提交被安全密钥存储部件(140)用来与存储在安全密钥存储部件(140)中的主秘密一起使用以生成中间秘密的数据。在一些实施例中,该数据包括安全密钥存储部件(140)用存储在安全密钥存储部件(140)中的主秘密或用从这些主秘密导出的一个或更多个密钥来解密的加密的秘密。
虽然以上已经按一定顺序说明了不同的步骤,但是这并不意味着在所有的实施例中必须按相同的顺序来完成这些步骤。例如,在一些实施例中,一个或更多个中间秘密的获得(320)或加密密钥的获得(330)可以发生在主机向大容量存储设备(100)发送(310)写入受保护数据的命令之前。
在一些实施例中,一个或更多个中间秘密的获得(320)在认证用户的步骤(390)之后。
在一些实施例中,每次主机(190)向大容量存储设备(100)发送(310)写入受保护数据的命令时,高速加密/解密部件(120)从安全密钥存储部件(140)获得(320)一个或更多个中间秘密,并使用从安全密钥存储部件(140)获得(320)的一个或更多个中间秘密来获得(330)一个或更多个加密密钥,并且当从大容量存储器部件(130)读取的加密数据已经被加密(350)时丢弃(370)每次的中间秘密和/或解密密钥。在其它实施例中,每次主机(190)向大容量存储设备(100)发送(310)写入受保护数据的命令时,高速加密/解密部件(120)从安全密钥存储部件(140)获得(320)一个或更多个中间秘密和/或一次获得(330)一个或更多个加密密钥,并保存要使用的中间秘密和/或加密密钥,并最终伴随着某些事件而丢弃(370)中间秘密和/或加密密钥,这些事件比如断开或去激活大容量存储设备(100)、或用户退出或解除认证、或失败的用户认证尝试、或在某个时限期满之后或一些其它事件之后。
图4示出了在本发明的一些实施例中获得加密/解密密钥的处理。
在步骤(410)中,高速加密/解密部件(120)向安全密钥存储部件(140)发送请求以获得一个或更多个中间秘密。在一些实施例中,如果用户已成功通过认证,则安全密钥存储部件(140)在步骤(420)中验证用户认证状态,并继续执行下面的步骤,否则,返回错误代码。在步骤(430)中,安全密钥存储部件(140)从安全地存储在安全密钥存储部件(140)中的一个或更多个主秘密导出一个或更多个中间秘密。在步骤(440)中,安全密钥存储部件(140)将导出的一个或更多个中间秘密返回给高速加密/解密部件(120)。在步骤(450)中,高速加密/解密部件(120)根据它从安全密钥存储部件(140)接收的中间秘密导出一个或更多个加密/解密密钥。
在一些实施例中,安全密钥存储部件(140)包括智能卡,并且在步骤(410)和(440)中高速加密/解密部件(120)与安全密钥存储部件(140)之间的通信包括一个或更多个ISO/IEC7816智能卡命令和响应的交换。
一些实施例中,导出(430)一个或更多个中间秘密可以包括使用加密算法,比如对称或不对称加密或解密算法如AES、3DES或RSA,或者加密散列算法如SHA-1。在其它实施例中,导出(430)一个或更多个中间秘密可以包括一个或更多个操作,比如普通操作,如将一个或更多个存储的主秘密的值原样复制或提取为中间秘密。在一些实施例中,一个或更多个中间秘密可以通过原样复制或提取一个或更多个存储的主秘密的值来导出。
在一些实施例中,导出(450)一个或更多个加密/解密密钥可以包括使用密码算法比如对称或不对称加密或解密算法(如AES、3DES或RSA),或者加密散列算法如SHA-1。在其它实施例中,导出(450)一个或更多个加密/解密密钥可以包括或包含普通操作,如将一个或更多个接收到的中间秘密的值原样复制或提取为加密/解密密钥。
在一些实施例中,导出中间秘密(430)或导出加密/解密密钥(450)可以包括使用与用户认证相关的数据。在一些特定实施例中,该用户认证的数据可以包括PIN或密码值。
在一些实施例中,导出中间秘密(430)或导出加密/解密密钥(450)可以包括使用存储在大容量存储器部件(130)上的数据。在一些实施例中,导出中间秘密(430)或导出加密/解密密钥(450)可以包括解密存储在大容量存储器部件(130)上的加密的秘密。在一些实施例中,导出中间秘密(430)或导出加密/解密密钥(450)可以包括利用与存储在安全密钥存储部件(140)中的主秘密数学上相关的密钥来解密存储在大容量存储器部件(130)上的加密的秘密。在一些实施例中,导出中间秘密(430)或导出加密/解密密钥(450)可以包括用对称解密算法和与存储在安全密钥存储部件(140)中的主秘密数学上相关的密钥来解密存储在大容量存储器部件(130)上的加密的秘密。在一些实施例中,导出中间秘密(430)或导出加密/解密密钥(450)可以包括用不对称加密算法和与存储在安全密钥存储部件(140)中的主秘密数学上相关的私钥来解密存储在大容量存储器部件(130)上的加密的秘密。
在一些实施例中,步骤(410)包括高速加密/解密部件(120)向安全密钥存储部件(140)提供由安全密钥存储部件与存储在安全密钥存储部件(140)中的主秘密一起使用以导出(430)中间秘密的数据。在一些实施例中,该数据可以包括加密的秘密。在一些实施例中,导出(430)中间秘密可以包括安全密钥存储部件(140)使用与存储在安全密钥存储部件(140)中的主秘密数学上相关的密钥来解密加密的秘密。在一些实施例中,中间秘密可以包括如下秘密:该秘密包括解密的秘密或从解密的秘密中导出的秘密。
在下面的段落中,使用了下面的符号、规定和缩写。
在下面的段落中,更详细地说明用于大容量存储设备(100)的一个实施例的存储器加密方法的第一特定实施例。
下面描述的该实施例的存储器加密算法定义了如何加密单个扇区。如果同时加密多个扇区,存储器加密算法可以单独地应用于每个扇区。典型的扇区大小是512字节、1024字节等等。在本实施例中,用于大容量存储设备的存储器加密算法基于CBC模式(加密块链模式)的AES。
存储器加密算法分布在大容量存储设备(100)的两个部件上:
·能够安全地存储秘密的安全密钥存储部件(140)。在本实施例中,安全密钥存储部件能够进行密码学操作,以从安全地存储在安全密钥存储部件中的主密钥导出批量加密/解密密钥。该安全密钥存储部件可以包括智能卡或智能卡芯片。
·能够高速地对写入大容量存储设备的大容量存储器的数据或从大容量存储器读取的数据进行加密和解密的高速加密/解密部件(120)。
现在描述在安全密钥存储部件上对三密钥3DES的支持。存储器加密算法的一个实施例的目标是安全密钥存储部件支持具有168位密钥的3DES分组密码。在这种情况下,存储器加密算法将导出具有256位的全熵的AES-256密钥。
如果安全密钥存储部件只支持具有112位密钥长度的3DES,用于加密扇区的AES密钥的熵将是224位而不是256位。
在该第一实施例的剩余描述中,假设安全密钥存储部件支持具有168位密钥的3DES。
存储器加密算法涉及安全密钥存储部件的ID。此ID将被称为芯片ID,或称为芯片序列号。该芯片ID对于给定类型或品牌的安全密钥存储部件是唯一标识符。芯片ID的长度依赖于正在使用的具体安全密钥存储部件的类型或品牌。在整个下面的段落中,芯片ID长度被提及为使用参数L。该参数应被取决于目标安全密钥存储部件的芯片ID的正确长度所替代。
下面的表1和图5提供了在本实施例的存储器加密算法中涉及的密码密钥的概述。
表1:密码密钥
如图6和图7所示,本实施例的存储器加密和解密算法包括两个阶段:(1)导出(610,710)用于对给定扇区进行加密的批量加密/解密密钥(还称为KBulk),以及(2)使用CBC模式的AES-256用导出的批量加密密钥KBulk对给定的扇区进行批量加密(620)或解密(720)。
密钥导出—安全密钥存储部件根据芯片ID(540)、主密钥KMasterl(510)和KMaster2(511)计算批量加密/解密密钥KBulk(530),并将它提供给高速加密/解密部件。在一个实施例中,芯片ID具有L字节的长度,主密钥KMasterl和KMaster2的长度为168位,且得到的批量加密/解密密钥的长度为256位。为了计算(610,710)批量加密/解密密钥KBulk,安全密钥存储部件使用从主密钥KMasterl和KMaster2中导出密钥KBulk的函数,以使得利用本领域中已知的一些密钥导出算法得出KBulk的熵等于256位。在其它实施例中,安全密钥存储部件向高速加密/解密部件提供主密钥KMasterl和KMaster2,然后高速加密/解密部件自身计算批量加密/解密密钥KBulk
加密—高速加密/解密部件使用扇区ID(550)创建初始化向量IV。扇区ID是4字节的数据元素,其标识待加密的给定扇区。高速加密/解密部件使用CBC模式的AES-256用256位批量加密/解密密钥KBulk和初始化向量IV对给定扇区的明文P(560)进行加密(620),即C←Encrypt(KBulk,P,AES-256,CBC,IV)。高速加密/解密部件提供要写入到大容量存储器部件的给定扇区中的密文C(570)。明文P和密文C均具有单个扇区的长度。
解密—高速加密/解密部件使用扇区ID(550)创建初始化向量IV。高速加密/解密部件使用CBC模式的AES-256用256位批量加密/解密密钥KBulk和初始化向量IV对大容量存储器部件的给定扇区的密文C(570)进行解密(720),即C←Decrypt(KBulk,C,AES-256,CBC,IV)。高速加密/解密部件提供返回给主机的明文P(560)。明文P和密文C均具有单个扇区的长度。
在以下段落中,更详细地说明用于大容量存储设备的一个实施例的存储器加密方法的第二特定实施例。如下所述的一个实施例的存储器加密算法定义了如何加密单个扇区。如果同时加密多个扇区,则存储器加密算法可以单独地应用于每个扇区。典型的扇区大小为512字节、1024字节等等。
在本实施例中,用于大容量存储设备的存储器加密算法基于CBC模式的AES。存储器加密算法分布在大容量存储设备(100)的两个部件上:
·能够安全地存储秘密的安全密钥存储部件(140)。在本实施例中,安全密钥存储部件能够进行密码学操作,以从主密钥中导出密钥。该安全密钥存储部件可以包括智能卡或智能卡芯片。
·能够高速地对写入大容量存储设备的大容量存储器部件的数据或从大容量存储器部件读取的数据进行加密和解密的高速加密/解密部件(120)。
下面的表2提供了本实施例的存储器加密算法中涉及的密码密钥的概述。
表2:密码密钥
图8示出了在本实施例的存储器加密算法中涉及的密钥的密钥层次。加密和解密算法。
如图9和图10中所示,本实施例的存储器加密和解密算法包括两个阶段:(1)导出用于对给定扇区进行加密的密钥(910,920,1010,1020),以及(2)使用CBC模式的AES-256来进行加密(930)或解密(1030)。
密钥导出—密钥导出本身发生在两个步骤。在第一步骤中,安全密钥存储部件(120)根据芯片ID(540)和主密钥KMasterl(510)和KMaster2(511)来计算(910,1010)中间密钥KBase(520),并将它提供给高速加密/解密部件(120),即KBase←DeriveBaseKey(导出根密钥)(芯片ID,KMaster1,KMaster2)。在一个实施例中,芯片ID具有L字节的长度,主密钥KMasterl和KMaster2的长度为168位,且中间密钥KBase的长度为256位。为了计算中间密钥KBase,安全密钥存储部件利用了使用本领域已知的一些密钥导出算法根据芯片ID和主密钥KMasterl以及KMaster2导出密钥KBase的函数,以使KBase的熵等于256位。
在第二步骤中,高速加密/解密部件根据中间密钥KBase(520)和扇区ID(550)导出(920,1020)扇区加密/解密密钥KSector(535),即KSector←DeriveSectorKey(导出扇区密钥)(KBase,扇区ID)。扇区ID是4字节数据元素,它标识要加密或解密的给定扇区。在一个实施例中,得到的扇区加密/解密密钥KSector的长度为256位。为了计算中间密钥KBase,安全密钥存储部件利用了使用本领域已知的一些密钥导出算法来根据扇区ID和中间密钥KBase导出密钥KSector的函数,以使KSector的熵等于256位。
加密—高速加密/解密部件使用扇区ID创建初始化向量IV。高速加密/解密部件使用CBC模式的AES-256用密钥KSector(535)和初始化向量IV对明文P(560)进行加密(930),即C←Encrypt(KSector,P,AES-256,CBC,IV)。高速加密/解密部件提供要写入到大容量存储器部件的给定扇区的密文C(570)。明文P和密文C均具有单个扇区的长度。
解密—高速加密/解密部件利用扇区ID创建初始化向量IV。高速加密/解密部件使用CBC模式的AES-256用密钥KSector(535)和初始化向量IV对密文C(570)进行解密(1030),即C←Decrypt(Ksector,P,AES-256,CBC,IV)。高速加密/解密部件提供返回给主机的明文P(560)。明文P和密文C均具有单个扇区的长度。
下面的段落描述了用于安全地初始化根据本发明的大容量存储设备(100)(另外也称为MSD)的特定实施例的初始化处理的示例的一些密码方面,如通过大容量存储设备(100)和大容量存储设备初始化工具(另外也称为MSD初始化工具(90))所执行的密码方面。
下面的表3提供了在本实施例的MSD初始化处理中涉及的密码密钥的概述。
表3:密码密钥
本实施例的MSD初始化会话包括三个阶段:
阶段1(2100):密钥建立。该阶段的目的是启动在MSD与MSD初始化工具之间的初始化会话。更具体地,在该阶段中,MSD认证MSD初始化工具,且MSD和MSD初始化工具建立秘密会话密钥。
阶段2(2200):初始化。该阶段的目的是执行实际的初始化,如从MSD读取数据和将数据写入到MSD。
阶段3(2300):终止。该阶段的目的是停止初始化会话。
初始化会话处理在图11中示出。
阶段1(2100):密钥建立—密钥建立阶段包括以下步骤。
步骤1—MSD初始化工具向MSD发送AUTH_START命令。该AUTH_START命令没有被保护。
步骤2—如果AUTH_START成功,则MSD执行如下步骤:
a.MSD随机生成(2120)对称MSD个人会话密钥KSession。
b.MSD随机生成(2130)现时(nonce)N,并且只要会话持续就将其存储。
c.MSD查找芯片ID。
d.MSD根据RSAES-PKCS1-v1_5算法利用MSD个人公钥PKPerso对MSD个人会话密钥和芯片ID进行加密(2140)。
e.MSD将下面的值返回(2150)给MSD初始化工具:
{KSession||Chip ID}PK_Perso||N
步骤3—一旦接收到AUTU_START返回值,则MSD初始化工具就执行以下步骤:
a.MSD初始化工具利用MSD个人私钥SKPerso以及
RSAES-PKCS1-v1_5算法对密文进行解密(2160),并恢复MSD个人会话密钥KSession。
b.MSD初始化工具利用MSD个人会话密钥KSession使用CBC模式的AES对现时N和芯片ID进行加密(2170)。
c.MSD初始化工具向MSD发送(2180)AUTH_RESPONS命令,其包含以下有效载荷:
{N||Chip ID}K_Session
步骤4—一旦接收到AUTH_RESPONS命令,MSD就执行以下步骤:
a.MSD利用MSD个人会话密钥KSession来解密(2190)密文。
b.MSD验证(2191)包括在密文中的现时是否对应于会话现时。如果现时不匹配,则MSD停止密钥建立阶段。
c.MSD验证(2192)包括在密文中的芯片ID是否对应于芯片ID本身的值。如果芯片ID值不匹配,则MSD停止密钥建立阶段。
阶段2(2200):初始化
MSD初始化工具分别使用READ(读取)操作、WRITE(写入)操作和LED操作来从MSD中读取(2210)数据、将数据写入(2220)MSD中以及设置(2230)MSD的LED的状态。
MSD必须只接受来自真正的MSD初始化工具的READ、WRITE和LED操作。因此,这些操作通过使用MSD个人会话密钥计算的MAC来保护。
阶段3(2300):终止
在终止阶段,MSD初始化工具通过向MSD发送(2310)停止(STOP)命令来终止与MSD的初始化会话。
一旦会话终止,MSD就丢弃MSD个人会话密钥和现时。
尽管在文中参照具体实施例说明和描述了本发明,但是并不意在将本发明限于所示出的细节。相反,可以在不脱离本发明的情况下在权利要求的等同物的范围内在细节上进行各种修改。

Claims (15)

1.一种用于存储数据的大容量存储设备,包括:
用于与所连接的主机进行通信的通信接口;
用于存储数据的大容量存储器部件;
适用于安全地存储至少一个主秘密的安全密钥存储部件;以及
不同于所述安全密钥存储部件且连接至所述安全密钥存储部件和所述大容量存储器部件的加密-解密部件;
所述加密-解密部件适用于使用加密算法和至少一个批量加密密钥来对从所述主机接收的数据进行加密,并将加密的数据写入所述大容量存储器部件中;
所述加密-解密部件还适用于响应于来自所述主机的读取数据命令来对存储在所述大容量存储器部件中的加密的数据进行解密,以将所述数据返回给所述主机,并且其中,所述解密使用解密算法和至少一个批量解密密钥,所述至少一个批量解密密钥的安全性使用安全地存储在所述安全密钥存储部件中的主秘密来保护,
其中,所述加密-解密部件通过访问安全地存储在所述安全密钥存储部件中的主秘密来获得所述至少一个批量解密密钥,以及
其中,所述加密-解密部件访问安全地存储在所述安全密钥存储部件中的主秘密包括:所述安全密钥存储部件使用密码算法从所述主秘密密码地导出中间秘密并将所述中间秘密返回给所述加密-解密部件,其中所述中间秘密不同于所述主秘密,以及由此所述加密-解密部件从所述中间秘密导出所述至少一个批量解密密钥。
2.根据权利要求1所述的设备,其中,所述加密-解密部件通过访问安全地存储在所述安全密钥存储部件中的主秘密来获得所述至少一个批量加密密钥。
3.根据权利要求2所述的设备,其中,所述加密-解密部件访问安全地存储在所述安全密钥存储部件中的主秘密以获得所述至少一个批量加密密钥包括:所述安全密钥存储部件使用密码算法从所述主秘密密码地导出中间秘密并将所述中间秘密返回给所述加密-解密部件,以及由此所述加密-解密部件从所述中间秘密导出所述至少一个批量加密密钥。
4.根据权利要求1至3中的任意一项所述的设备,其中,所述加密-解密部件还适用于:获得加密密钥,对与所述加密密钥数学上相关的数据元素加密,并且将加密的与所述加密密钥数学上相关的数据元素存储在所述大容量存储器部件中;并且其中,通过访问安全地存储在所述安全密钥存储部件中的主秘密来获得所述至少一个批量解密密钥包括:从所述大容量存储器部件中读取加密的数据元素,并使用与安全地存储在所述安全密钥存储部件中的主秘密数学上相关的密钥来对所述加密的数据元素进行解密。
5.根据权利要求4所述的设备,其中,存储在所述安全密钥存储部件中的所述至少一个主秘密包括不对称私钥,并且其中,使用与安全地存储在所述安全密钥存储部件中的主秘密数学上相关的密钥来对所述加密的数据元素进行解密包括:使用不对称解密算法、用所述不对称私钥来解密加密的元素。
6.根据权利要求1至3中的任意一项所述的设备,其中,访问存储在所述安全密钥存储部件上的主秘密通过所述安全密钥存储部件受到各种访问控制机制的作用。
7.根据权利要求6所述的设备,其中,所述安全密钥存储部件根据状态条件来授权或拒绝对所述主秘密的访问。
8.根据权利要求7所述的设备,其中,所述安全密钥存储部件根据用户认证状态来授权或拒绝对所述主秘密的访问。
9.根据权利要求8所述的设备,其中,如果用户没有通过认证,则所述安全密钥存储部件拒绝对所述主秘密的访问。
10.根据权利要求8所述的设备,其中,所述安全密钥存储部件还适用于执行用户认证。
11.根据权利要求10所述的设备,其中,所述安全密钥存储部件通过验证PIN或密码来认证所述用户。
12.根据权利要求8所述的设备,其中,基于生物特征测量值来认证所述用户。
13.根据权利要求1至3中的任意一项所述的设备,其中,所述通信接口包括USB连接器。
14.根据权利要求13所述的设备,其中,所述加密-解密部件连接至所述USB连接器并且还适用于处理与所述主机的USB协议。
15.根据权利要求1至3中的任意一项所述的设备,其中,所述安全密钥存储部件包括智能卡芯片。
CN201180039746.8A 2010-06-16 2011-06-16 大容量存储设备存储器加密方法、系统及装置 Expired - Fee Related CN103415855B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35539910P 2010-06-16 2010-06-16
US61/355,399 2010-06-16
PCT/US2011/040729 WO2011159918A2 (en) 2010-06-16 2011-06-16 Mass storage device memory encryption methods, systems, and apparatus

Publications (2)

Publication Number Publication Date
CN103415855A CN103415855A (zh) 2013-11-27
CN103415855B true CN103415855B (zh) 2017-08-08

Family

ID=44627989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180039746.8A Expired - Fee Related CN103415855B (zh) 2010-06-16 2011-06-16 大容量存储设备存储器加密方法、系统及装置

Country Status (4)

Country Link
US (2) US9910996B2 (zh)
EP (1) EP2583212B1 (zh)
CN (1) CN103415855B (zh)
WO (1) WO2011159918A2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317717B2 (en) * 2012-12-28 2016-04-19 Open Invention Network, Llc Separate cryptographic keys for protecting different operations on data
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
US20130339050A1 (en) * 2012-06-13 2013-12-19 Honeywell International Inc. doing business as (d.b.a) Honeywell Scanning and Mobility Mobile communication terminal configured to enhance patient safety
KR101231216B1 (ko) * 2012-07-13 2013-02-07 주식회사 베프스 지문 인식을 이용한 휴대용 저장 장치 및 그 제어 방법
US9294267B2 (en) 2012-11-16 2016-03-22 Deepak Kamath Method, system and program product for secure storage of content
TWI592828B (zh) 2013-01-22 2017-07-21 祥碩科技股份有限公司 行動儲存裝置的加解密裝置及其加解密方法
US20140237258A1 (en) * 2013-02-20 2014-08-21 Kabushiki Kaisha Toshiba Device and authentication method therefor
JP6393988B2 (ja) * 2013-02-28 2018-09-26 株式会社リコー 機器、情報処理システム、制御方法、プログラム、および記憶媒体
JP6017392B2 (ja) * 2013-09-27 2016-11-02 株式会社東芝 情報処理装置、ホストデバイス、及びシステム
EP3090504B1 (en) 2013-12-31 2020-04-29 OneSpan International GmbH Electronic signing methods, systems and apparatus
US9443111B2 (en) 2014-02-28 2016-09-13 Seagate Technology Llc Device security using an encrypted keystore data structure
US9984256B2 (en) 2014-05-15 2018-05-29 Seagate Technology Llc Storage device tampering detection
US9298647B2 (en) 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
WO2016033539A1 (en) * 2014-08-29 2016-03-03 Memory Technologies Llc Control for authenticated accesses to a memory device
EP3213459B1 (en) * 2014-10-31 2020-05-20 OneSpan International GmbH A multi-user strong authentication token
US9911011B1 (en) * 2014-11-19 2018-03-06 Western Digital Technologies, Inc. Communications device that logically connects an upstream signal line to a downstream signal line
CN105824727B (zh) * 2015-01-09 2019-05-28 中芯国际集成电路制造(上海)有限公司 芯片运行状态监测系统及监测方法
US10013363B2 (en) * 2015-02-09 2018-07-03 Honeywell International Inc. Encryption using entropy-based key derivation
CN105099711B (zh) * 2015-08-28 2018-10-12 北京三未信安科技发展有限公司 一种基于zynq的小型密码机及数据加密方法
FR3048528B1 (fr) * 2016-03-07 2018-09-21 Idemia France Procede de verification de l'integrite d'un dispositif electronique, et dispositif electronique correspondant
US10003585B2 (en) * 2016-08-02 2018-06-19 Samsung Electronics Co., Ltd. Systems, devices, and methods for preventing unauthorized access to storage devices
EP3315977A1 (en) * 2016-10-31 2018-05-02 Rohde & Schwarz GmbH & Co. KG Measuring device for measuring signals and data handling method
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
CN106603920A (zh) * 2016-12-22 2017-04-26 惠州Tcl移动通信有限公司 一种基于指纹识别的加密拍照方法及系统
EP3540618B1 (en) * 2018-03-15 2023-01-25 Rohde & Schwarz GmbH & Co. KG Portable storage apparatus
US11055411B2 (en) * 2018-05-10 2021-07-06 Acronis International Gmbh System and method for protection against ransomware attacks
US10909251B2 (en) * 2018-08-24 2021-02-02 Micron Technology, Inc. Modification of a segment of data based on an encryption operation
CN112231719A (zh) * 2019-07-15 2021-01-15 美光科技公司 密码密钥管理
KR20210064854A (ko) * 2019-11-26 2021-06-03 삼성전자주식회사 메모리 컨트롤러, 메모리 컨트롤러를 포함하는 스토리지 장치, 및 메모리 컨트롤러의 동작 방법
US20220057960A1 (en) * 2020-08-20 2022-02-24 Micron Technology, Inc. Host verification for a memory device
CN114462071A (zh) * 2020-11-09 2022-05-10 宝能汽车集团有限公司 用户隐私信息的保护方法、装置和设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058164A (en) * 1990-05-03 1991-10-15 National Semiconductor Corp. Encryption of streams of addressed information to be used for program code protection
US5280640A (en) * 1990-04-28 1994-01-18 Samsung Electronics Co. Ltd. High speed automatic frequency tuning method
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
CN101536007A (zh) * 2006-11-08 2009-09-16 美光科技公司 用于对外部非易失性存储器中所存储信息进行加密的方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814337B2 (en) * 2000-01-06 2010-10-12 Super Talent Electronics, Inc. Secure flash-memory card reader with host-encrypted data on a flash-controller-mastered bus parallel to a local CPU bus carrying encrypted hashed password and user ID
US20020184490A1 (en) * 2001-06-05 2002-12-05 Storage Technology Corporation Anti-piracy network storage device
KR20050084768A (ko) 2002-12-06 2005-08-29 소니 가부시끼 가이샤 기록재생장치, 데이터처리장치 및 기록재생처리 시스템
US7602914B2 (en) * 2004-08-18 2009-10-13 Scientific-Atlanta, Inc. Utilization of encrypted hard drive content by one DVR set-top box when recorded by another
US8335920B2 (en) * 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
GB0611656D0 (en) * 2006-06-13 2006-07-19 Cambridge Consultants Dry powder inhalers
WO2008147577A2 (en) * 2007-01-22 2008-12-04 Spyrus, Inc. Portable data encryption device with configurable security functionality and method for file encryption
US8315394B2 (en) * 2007-10-24 2012-11-20 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for encrypting data on storage devices using an intermediate key
WO2010016063A1 (en) * 2008-08-07 2010-02-11 Safend Ltd. System and method for protecting content on a storage device
US8509449B2 (en) * 2009-07-24 2013-08-13 Microsoft Corporation Key protector for a storage volume using multiple keys
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8555059B2 (en) * 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
US20120069995A1 (en) * 2010-09-22 2012-03-22 Seagate Technology Llc Controller chip with zeroizable root key
US9235532B2 (en) * 2011-06-03 2016-01-12 Apple Inc. Secure storage of full disk encryption keys

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280640A (en) * 1990-04-28 1994-01-18 Samsung Electronics Co. Ltd. High speed automatic frequency tuning method
US5058164A (en) * 1990-05-03 1991-10-15 National Semiconductor Corp. Encryption of streams of addressed information to be used for program code protection
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
CN101536007A (zh) * 2006-11-08 2009-09-16 美光科技公司 用于对外部非易失性存储器中所存储信息进行加密的方法及系统

Also Published As

Publication number Publication date
US20110314304A1 (en) 2011-12-22
WO2011159918A3 (en) 2012-05-03
US20180165465A1 (en) 2018-06-14
CN103415855A (zh) 2013-11-27
EP2583212A2 (en) 2013-04-24
US9910996B2 (en) 2018-03-06
EP2583212B1 (en) 2019-08-14
WO2011159918A2 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
CN103415855B (zh) 大容量存储设备存储器加密方法、系统及装置
US10298403B2 (en) RFID secure authentication
US9413535B2 (en) Critical security parameter generation and exchange system and method for smart-card memory modules
US8898477B2 (en) System and method for secure firmware update of a secure token having a flash memory controller and a smart card
CN103886234B (zh) 一种基于加密硬盘的安全计算机及其数据安全控制方法
DK2907067T3 (en) Smartcard chip personalization method and system
US20100023650A1 (en) System and method for using a smart card in conjunction with a flash memory controller to detect logon authentication
JP2004104539A (ja) メモリカード
CN101551784A (zh) 一种usb接口的ata类存储设备中数据的加密方法及装置
KR20060102584A (ko) 유에스비 인터페이스를 구비한 보안 데이터 저장 장치 및방법
WO2002078248A1 (fr) Support de memorisation d'information portable et son procede d'identification
US20090187770A1 (en) Data Security Including Real-Time Key Generation
JP5164372B2 (ja) 遊技機制御用チップ及びそのromライタ
CN105303093A (zh) 智能密码钥匙密码验证方法
CN102662874A (zh) 双界面加密存储卡及其中的数据管理方法和系统
CN101883357A (zh) 一种终端与智能卡之间的相互认证方法、装置及系统
WO2009038446A1 (en) A portable secure identity and mass storage unit
KR101214899B1 (ko) 유에스비 보안장치 및 그 보안 방법
JP2006293875A (ja) 生体認証連携決済システム及びそれに用いるicカード用決済端末とicカード
TWM396434U (en) Hardware scrambler apparatus having triple-factor authentication
AU2006319761B2 (en) Authentication and identification system and method
Brych et al. FIPS 140-2 Level 3 Non-Proprietary Security Policy
HQ ST3 ACE Token
IDflex Document Version: 1.0 Date: May 2, 2012
JP2004088375A (ja) 公開鍵暗号処理システムおよび方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Zurich

Patentee after: VASCO DATA SECURTY, Inc.

Address before: Swiss Glatt Brygge

Patentee before: VASCO DATA SECURITY, Inc.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170808

CF01 Termination of patent right due to non-payment of annual fee