CN107209838B - 便携式安全设备 - Google Patents

便携式安全设备 Download PDF

Info

Publication number
CN107209838B
CN107209838B CN201680007885.5A CN201680007885A CN107209838B CN 107209838 B CN107209838 B CN 107209838B CN 201680007885 A CN201680007885 A CN 201680007885A CN 107209838 B CN107209838 B CN 107209838B
Authority
CN
China
Prior art keywords
portable security
security device
tpm
time
activation
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.)
Active
Application number
CN201680007885.5A
Other languages
English (en)
Other versions
CN107209838A (zh
Inventor
S.索姆
R.艾格纳
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107209838A publication Critical patent/CN107209838A/zh
Application granted granted Critical
Publication of CN107209838B publication Critical patent/CN107209838B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

一种用于计算***的便携式安全设备,其包括:外壳;至少部分地布置在外壳内的接口;外壳内的被耦合到所述接口的可信平台模块;以及外壳内的被耦合到所述可信平台模块和所述接口的控制器。所述接口被配置为衔接多个不同的设备,并且当与单独设备衔接时,提供在所述便携式安全设备和该单独设备之间的通信。在一些示例中,当所述便携式安全设备与单独设备衔接时,可信平台模块可以经由所述接口从该单独设备接收电力。控制器包括用于检测所述便携式安全设备何时经由所述接口耦合到所述单独设备的逻辑。

Description

便携式安全设备
技术领域
本公开的实施例总体上涉及信息技术,并且更具体地,涉及便携式安全设备。
背景技术
随着计算机使用的增加,跨多个设备管理口令和其他安全信息的能力变得越来越困难。此外,个体用户账户被黑客入侵或以别的方式成为恶意软件攻击的受害者的可能性急剧增加。
按照惯例,可信平台模块(TPM)是安装在计算机中的芯片,常规的TPM为计算机安全地生成密码密钥,并且常规的TPM限制这样的密钥在该计算机上的使用。常规的TPM 被用于鉴别它们是其不可分割的一部分的那台计算机。
发明内容
本文讨论的技术使用于多个计算设备的便携式安全设备便利。便携式安全设备可以包括:外壳;至少部分地布置在外壳内的接口;外壳内的被耦合到接口的可信平台模块;以及外壳内的被耦合到可信平台模块和接口的控制器。接口可以被配置为衔接(engage)多个不同的设备,并且当与单独设备衔接时提供在便携式安全设备和该单独设备之间的通信。在至少一个示例中,当便携式安全设备与单独设备衔接时,被包括在便携式安全设备中的可信平台模块可以经由接口从该单独设备接收电力。在一些示例中,被包括在便携式安全设备中的可信平台模块可以从便携式安全设备内的电源接收电力。控制器可以包括用于检测便携式安全设备何时经由接口耦合到该单独设备的逻辑。
本概要被提供来以简化的形式介绍概念的选择,这些概念在下面的详细说明中进一步描述。本概要打算用于帮助确定所要求保护的主题的范围。术语“技术”例如可以指(一个或多个)***、(一个或多个)方法、计算机可读介质/指令、(一个或多个)模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品 (ASSP)、***级芯片***(SOC)、复杂可编程逻辑器件(CPLD))和/或被以上描述并遍及本文档的上下文所允许的(一个或多个)技术。
附图说明
参考附图来描述详细说明。在附图中,参考编号的最左边的(一个或多个)数字标识该参考编号首次出现的图。不同图中的相同的参考编号指示相似或相同的项目。
图1是描绘用于利用本文所描述的便携式安全设备的示例性环境的框图。
图2是描绘本文所描述的示例性便携式安全设备的框图。
图3是描绘在本文所描述的便携式安全设备内的示例性可信平台模块的框图。
图4是示出用于激活便携式安全设备的示例性方法的图。
图5是示出用于操作本文所描述的便携式安全设备的示例性方法的图。
图6是示出用于初始化本文所描述的便携式安全设备的示例性方法的图。
图7是示出用于使用本文所描述的便携式安全设备进行安全事务(transaction)的示例性方法的图。
图8是示出用于停用(deactivate)本文所描述的便携式安全设备的示例性方法的图。
具体实施方式
概论
本文描述的是包括诸如可信平台模块(TPM)这样的安全硬件的便携式安全设备、在其中可以使用便携式安全设备的示例性***、以及使用便携式安全设备的方法。便携式安全设备在其中包括TPM,并且便携式安全设备可以与多个设备相关联,以向该多个相关联设备中的每一个设备提供数据加密和其他安全计算服务。在一些示例中,多个设备各自与特定实体 (例如,用户、商户、组织等)相关联。
尤其是,便携式安全设备可以提供随机数生成器,可以安全地生成密码密钥,并且可以限制这样的密码密钥的使用。便携式安全设备还可以提供远程证明(attestation)和密封的存储。例如,关于远程证明,便携式安全设备可以创建所关联的设备的硬件和软件配置的几乎不可伪造的(unforgeable)散列密钥摘要。在至少一个示例中,所关联的设备可以向第三方提供散列密钥摘要以验证所关联的设备上的软件没有被更改。
在一些示例中,便携式安全设备可以通过使用安全硬件绑定密钥(例如,TPM绑定密钥)来加密数据而绑定该数据。安全硬件绑定密钥可以包括独特的密码密钥,诸如从存储密钥继承下来的独特的Rivest、Shamir和Adleman(RSA)密钥。关于密封,便携式安全设备可以使用与用来绑定数据的过程相类似的过程来加密数据。便携式安全设备还可以指定与便携式安全设备相关联的状态或条件,并且便携式安全设备可以在该便携式安全设备满足所述状态或条件时对已加密的数据进行解密。安装在便携式安全设备所衔接的设备中的各种软件程序可以使用便携式安全设备对该设备内的硬件设备进行鉴别。此外,在便携式安全设备内的诸如TPM之类的安全硬件包括在制造安全硬件时被烧录到该安全硬件中的独特和秘密的密码密钥,诸如RSA密钥,这可以使得便携式安全设备能够执行平台鉴别。
通常,与软件相结合地将安全性向下移动到硬件级别——例如移动到便携式安全设备上——可以提供比仅仅软件的解决方案更多的保护。此外,如果在便携式安全设备上执行所有的加密和/或解密,并且在便携式安全设备中使用的所有密钥在总线上不可访问或对于外部程序不可访问,则密钥的漏洞被最小化并且可以被基本上消除。照此,不需要向特定软件应用提供TPM密钥来执行加密和解密操作。
在至少一个示例中,便携式安全设备可以被用于创建“信任链”并且远程证明便携式安全设备附接到的特定设备具有特定的指定硬件平台并且正在使用特定的指定软件。此外,便携式安全设备可以确保设备内的特定平台的完整性。照此,便携式安全设备可以确保该平台没有受到损害,并且可以在可信条件下启动用于被衔接的设备的加电引导过程。便携式安全设备可以延长这一可信条件,直到所衔接的设备的操作***已经完全被引导和/或直到应用在所衔接的设备上运行。与所附连设备的BIOS相关联,便携式安全设备可以形成用于所衔接的设备的“信任的根”。具体地,便携式安全设备可以包括几个平台配置寄存器 (PCR),其可以提供用于安全相关的平台度量的安全存储。便携式安全设备可以使用这些平台度量来检测与所衔接设备的平台的先前配置相比的改变。便携式安全设备可以采用平台度量来通知关于在被衔接设备的引导周期期间如何继续进行的决定。
因此,便携式安全设备可以确保对于BIOS和操作***的平台完整性。此后,当便携式安全设备被衔接时,在设备上运行的应用可以依赖于安全特性,诸如安全输入/输出、未受损害的键盘输入、未受损害的记忆和存储操作、或上述项的任何组合。另一方面,盘加密应用可以使用便携式安全设备来保护被用于加密所衔接设备内的(一个或多个)硬盘的加密密钥,并且为所衔接设备的可信引导路径(例如BIOS、引导扇区等)提供完整性鉴别。
便携式安全设备还可以用来使口令保护便利。例如,便携式安全设备可以提供比基于软件的解决方案(其易遭字典攻击)更安全的鉴别机制。便携式安全设备可以提供专用的硬件模块,其可以充当字典攻击防范机制,以对于访问加密密钥、数据、***资源等加强安全性。该字典攻击防范机制可以基本上保护免遭猜测或自动字典攻击,同时仍然允许用户进行定义数量的尝试来输入诸如可接受的生物特征、正确口令等这样的被接受的指令,这会是特别有用的,因为在设备之间移动往往会增加由于不同模式的输入(包括经由游戏控制器、遥控器等)以及由于不同的小键盘配置(包括用于在移动设备上进行输入的通常较小的键) 而引起的错误输入的数量。通过来自便携式安全设备的基于硬件的字典攻击防范,用户可以选择较短或较弱的口令,这些口令更加难以忘记并且更容易在多个设备和接口上输入。相反,没有这样的由便携式TPM模块提供的基于硬件的保护,就需要具有高复杂度的口令来提供足够的保护。
便携式安全设备还可用于数字版权管理、软件许可的保护和实施、在线游戏中的作弊预防、安全的事务处理、安全的银行业务、安全的在线购物、在销售点终端上的安全购物等。
在各种实例中,可以经由来自模块或API的编程来配置一个处理单元或多个处理单元去执行本文所描述的技术或处理。该一个或多个处理单元可以包括以下的一个或多个: GPU、现场可编程门阵列(FPGA)、另一类别的数字信号处理器(DSP)或其他硬件逻辑组件,在某些实例中硬件逻辑组件可以由CPU来驱动。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括专用集成电路(ASIC)、专用标准产品(ASSP)、***级芯片*** (SOC)、复杂可编程逻辑器件(CPLD)等。
在一些示例中,采用本文所描述的便携式安全设备的TPM计算***可以包括一个或多个本地客户端计算设备和一个或多个远程计算资源。便携式安全设备可以与某设备衔接,例如附接到本地客户端计算设备,以在本地客户端计算设备上提供本文所描述的一个或多个安全计算服务。在各种示例中,便携式安全设备可以与销售点(POS)终端衔接,以便在支付商品或服务时提供增强的安全性。此外,便携式安全设备可以与自动取款机(ATM)衔接,以便在进行银行事务时提供增强的安全性。在至少一个示例中,便携式安全设备可以用于在经由便携式安全设备所衔接的设备进行在线事务时提供增强的安全性。远程或分布式计算资源、本地客户端计算设备、便携式安全设备或其组合可以包括一个或多个计算机可读介质、各种模块以及可以执行本文所描述的操作中的一个或多个操作的一个或多个处理器。
示例环境
图1图示了包括可信平台模块(TPM)计算***的示例性环境100。如所描绘的,环境100 可以包括至少一个便携式安全设备102,其可以与例如客户端计算设备这样的计算设备104 衔接。如上所述,当计算设备与便携式安全设备102衔接时,单独的便携式安全设备102可以操作来保护多个单独的计算设备104。便携式安全设备102和/或计算设备104可以连接到至少一个网络106。单独的便携式安全设备102可以操作来保护通过网络106与分布式计算资源108的事务。例如,网络106可以包括诸如因特网的公共网络、诸如机构和/或个人内联网的私有网络、或私有网络和公共网络的某种组合。网络106还可以包括任何类型的有线网络、无线网络或其组合。另外,无线网络可以包括例如卫星网络、蜂窝网络(例如,3G、4G等)、Wi-Fi网络、WiMax网络、另一无线网络或其组合。此外,有线网络可以包括通过Cat-5电缆、双绞电话线、同轴电缆、光纤线缆或其组合连接的以太网。在另一实现中,网络106可以是广域网(WAN)、局域网(LAN)或其组合。另外,网络106可以包括普通老式电话服务(POTS)网络。
网络106可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(HDP)或其他类型的协议。此外,网络 106还可以包括便利于网络通信和/或形成用于网络的硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、骨干设备等等。
在一些示例中,网络106还可以包括一个或多个使得能连接到诸如无线接入点(WAP)这样的无线网络的设备。另外的示例支持通过WAP的连通性,所述WAP通过各种电磁频率(例如无线电频率)发送和接收数据,包括支持电气和电子工程师协会 (IEEE)802.11标准(例如,802.11g、802.11n等)和其他标准的WAP。
如在图1中进一步图示的,环境100还可以包括连接到网络106的分布式计算资源108。在各种示例中,分布式计算资源108可以包括一个或多个计算设备110,其在群集或其他成组的配置中操作来共享资源、平衡负载、提高性能、提供故障切换(fail-over)支持或冗余,或者用于其他目的。分布式计算资源108还可以包括可属于各种各样种类或类别的设备的计算设备110,诸如传统的服务器型设备、台式计算机型设备、移动型设备、特殊用途型设备、嵌入型设备和/或可穿戴型设备。
因此,分布式计算资源108可以包括各种各样不同的设备类型,而不限于特定类型的设备。分布式计算资源108可以代表但不限于台式计算机、服务器计算机、web服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴式计算机、植入式计算设备、电信设备、汽车计算机、网络使能的电视、瘦客户机、终端、个人数据助理 (PDA)、游戏控制台、游戏设备、工作站、媒体播放器、个人录像机(PVR)、机顶盒、照相机、用于包含在计算设备中的集成组件、电器或任何其他分类的计算设备。
图1还图示了关于分布式计算资源108的示例性计算设备110的细节。
如图所示,分布式计算资源108的计算设备110可以包括一个或多个处理单元112,其例如经由总线116而在操作上或电气地连接到计算机可读介质114。总线116可以包括以下的一个或多个:***总线、数据总线、地址总线、PCI总线、Mini-PCI总线以及任何的各种各样的本地、***和/或独立(independent)总线。
分布式计算资源108的计算设备110还可以包括一个或多个网络接口118,以使得能经由网络106实现在分布式计算资源108和/或其他计算资源或设备(诸如设备104)之间的通信。网络接口118可以包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备以用于通过网络发送和接收通信。在具体的方面,如图1所图示的,可执行指令可以存储在计算机可读介质114上,并且那些指令可以包括例如操作***120、TPM模块122、以及可被一个或多个处理单元112加载并执行的其他模块、程序或应用。
可替换地或另外地,本文在功能上所描述的可以至少部分地由一个或多个硬件逻辑组件(诸如加速计)来执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、***级芯片***(SOC)、复杂可编程逻辑器件(CPLD)等。例如,加速计可以代表混合设备,诸如来自 ZYLEX或ALTERA的混合设备,其包括内嵌在FPGA架构中的CPU内核。
为了简单起见,从图1的设备110的描绘中省略了可以典型地与分布式计算资源108 的计算设备110相关联的或被包括在其中的其他组件或特征。这些其他组件或特征可以包括但不限于A/C电源、D/C电源、各种连接器端口、各种塞绳(cord)、各种LED指示器、扬声器、外壳、底盘、风扇、散热片、输入设备、输出设备、显示设备等。
图1还指示了环境100可以包括多个其他计算设备104,诸如最终用户或客户端计算设备。计算设备104可以属于各种各样种类或类别的设备,其可以与分布式计算资源108的计算设备110相同或不同。这些种类或类别的设备可以包括传统的客户端型设备、台式计算机型设备、移动型设备、特殊用途型设备、嵌入型设备和/或可穿戴型设备。另外,计算设备104可以包括各种各样不同的设备类型,而不限于任何特定类型的设备。
例如,计算设备104还可以包括但不限于计算机导航型客户端计算设备(诸如基于卫星的导航***,包括全球定位***(GPS)设备和其他基于卫星的导航***设备)、电信设备(诸如移动电话)、平板计算机、移动电话平板混合设备、个人数据助理(PDA)、膝上型计算机、其他移动计算机、可穿戴式计算机、植入式计算设备、台式计算机、个人计算机、汽车计算机、网络使能的电视、瘦客户机、终端、游戏控制台、游戏设备、工作站、媒体播放器、个人录像机(PVR)、电视机顶盒、数字录像机(DVR)、相机、用于包含在计算设备中的集成组件、电器、或者任何被配置来接收可能需要安全性的用户输入的其他分类的计算设备。
此外,诸如用户的实体可以与客户端计算设备104中的每一个或任何一个相关联。所述实体可以包括特定的用户和该用户的一个或多个被指定者,诸如用户的助理、用户的主管、用户的配偶、用户的父母、和/或用户向其授予访问客户端计算设备104的许可的另一实体。
图1还图示了关于示例性计算设备104的细节。
如所描绘的,计算设备104可以是任何计算设备,并且可以包括例如经由总线128而在操作上连接到计算机可读介质126的一个或多个处理单元124。总线128可以包括以下的一个或多个:***总线、数据总线、地址总线、PCI总线、Mini-PCI总线,以及任何的各种各样的本地、外设和/或独立总线。
计算设备104还可以包括一个或多个网络接口130,以使得能经由网络106实现在计算设备104和其他计算资源或设备之间的通信。网络接口130可以包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备以用于通过网络发送和接收通信。在具体的方面,可执行指令可以存储在计算设备104的计算机可读介质126上,并且如图1所图示的,那些指令可以包括例如操作***132和可由一个或多个处理单元124加载并执行的其他模块、程序或应用。
可替换地或另外地,本文在功能上所描述的可以至少部分地由一个或多个硬件逻辑组件(诸如加速计)来执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、***级芯片***(SOC)、复杂可编程逻辑器件(CPLD)等。例如,加速计可以代表混合设备,诸如来自 ZYLEX或ALTERA的混合设备,其包括内嵌在FPGA架构中的CPU内核。
图1还指示了计算设备104可以包括TPM接口134,并且TPM接口134可以在操作上耦合到计算设备104的处理单元124和计算机可读介质126。TPM接口134可以包括有线接口或无线接口。有线接口可以包括诸如通用串行总线(USB)连接或另一插头或插座这样的机械连接。无线接口可以包括能够在短距离上交换数据的无线接口。例如,无线接口可以是在短波长超高频无线电波上操作的接口,例如针对蓝牙标准提供的那种。另一方面,无线接口可以是基于IEEE 802.11标准的接口,即Wi-Fi接口。此外,无线接口可以包括基于 NFC标准建立的近场通信(NFC)接口。
如所图示的,环境100还可以包括便携式安全设备102。便携式安全设备102可以经由TPM接口134与计算设备104衔接,以便向操作***132以及计算机可读介质126内的其他程序提供加密和其他TPM保护的计算服务。便携式安全设备102可以包括机载 (onboard)TPM,其可用于为所衔接的计算设备104内的一个或多个软件应用和/或硬件组件提供数据的加密和其他安全服务。
仍然参考图1,计算设备104还可以包括与其连接的输入设备136、输出设备138、显示设备140或其组合。具体地,输入设备136、输出设备138和显示设备140可以连接到总线128。输入设备136、输出设备138和显示设备140可以提供与计算设备104通信的能力。输入设备136可以包括鼠标、键盘、话筒、相机、触摸屏、操纵杆、手持控制器、光笔、轨迹球、扫描仪、图形输入板、磁性墨水读卡器(MICR)、光学字符读取器(OCR)、条形码读取器、光学标记读取器或上述项的组合。输出设备138可以包括打印机、扬声器、触觉设备或其组合。显示设备140可以包括屏幕、监视器、投影仪或其组合。
计算机可读介质114和126可以包括计算机存储介质和/或通信介质。计算机存储介质可以包括以任何方法或技术实现的用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的易失性存储器、非易失性存储器和/或其他永久的和/或辅助的计算机存储介质、可拆卸的和不可拆卸的计算机存储介质。
因此,计算机可读介质114和126包括作为有形和/或物理形式的介质而被包括在设备和/或硬件组件(其是设备的一部分或在设备的外部)中的计算机存储介质,包括但不限于:随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、相变存储器(PRAM)、只读存储器(ROM)、掩模只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、光盘只读存储器(CD-ROM)、数字通用盘(DVD)、光卡或其他光学存储介质、盒式磁带、磁带、磁盘存储装置、磁卡或其他磁存储设备或介质、固态存储器设备、存储阵列、网络附接的存储装置、存储区网络、被托管的(hosted)存储装置、或者可用于存储和维护信息以供计算设备访问的任何其他存储记忆装置、存储设备和/ 或存储介质。
与计算机存储介质相比,通信介质包括在调制的数据信号(诸如载波)或其他传输机制中承载的计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。也就是说,计算机存储介质不包括仅由调制的数据信号、载波或传播的信号本身组成的通信介质。
为了简单起见,从图1的计算设备104的描绘中省略了可以典型地与诸如计算设备104这样的计算设备相关联或被包括在其中的其他组件或特征。这些其他组件或特征可以包括但不限于A/C电源、D/C电源、各种连接器端口、各种塞绳、各种LED指示灯、外壳、底盘、风扇、散热片等。
计算机可读介质114和126可以被用于存储可由一个或多个处理单元112和124执行的任何数量的功能组件。在许多实现中,这些功能组件包括可由一个或多个处理单元112和 124执行的指令或程序,并且当所述指令或程序被执行时,实现用于执行被认为属于环境100的操作的操作逻辑。
在各种示例中,分布式计算资源108的一个或多个计算设备110可以提供在线银行服务、在线购物、在线娱乐或其组合。此外,一个或多个计算设备104可以包括个人计算设备、自动取款机(ATM)、销售点(POS)终端、电子信息亭(kiosk)、虚拟终端或上述项的组合。便携式安全设备102可以经由一个或多个客户端计算设备104直接或间接地与分布式计算资源108的一个或多个计算设备110进行交互,以便在进行与分布式计算资源108的一个或多个计算设备110的事务之前鉴别便携式安全设备102的用户。便携式安全设备102还可以用于鉴别与一个或多个分布式计算资源108相关联的在线服务的提供者。
示例性便携式安全设备
现在参考图2,其图示出了(最初在图1中呈现的)便携式安全设备102的细节。如图所示,便携式安全设备102可以包括外壳200。外壳200可以具有相对小的形状因子,并且可以由塑料、金属、复合材料或其组合制成。塑料可以包括热塑性聚合物、热固性聚合物、纤维增强聚合物或其组合。例如,热塑性聚合物可以包括聚甲基丙烯酸甲酯(PMMA)、聚酰胺、聚苯并咪唑、聚乙烯、聚丙烯、聚苯乙烯、聚氯乙烯(PVC)、聚四氟乙烯(PTFE)、另一热塑性聚合物或上述项的组合。例如,热固性聚合物可以包括聚酯树脂、聚氨酯、硫化橡胶、酚醛树脂、聚亚甲基、三聚氰胺、邻苯二甲酸二烯丙酯(DAP)、环氧树脂、聚酰亚胺、聚氰脲酸酯(polycyanurate)、其他热固性聚合物或上述项的组合,诸如纤维质,包括与热固性树脂或热塑性聚合物结合的碳、芳纶或玻璃纤维。
金属可以包括纯金属、金属合金或其组合。例如,纯金属可以包括铁、铝、铜、银、金、某其他金属或其组合。此外,例如,金属合金可以包括钢、青铜、黄铜、锡、另一合金或其组合。另外,外壳200可以使用冲压工艺、模制工艺、注入成型工艺、旋转成型工艺、挤出成型工艺、压模工艺、某其他工艺或上述项的组合来制成。
如图2所描绘的,便携式安全设备102可以包括在外壳200内的控制器202。在各种示例中,控制器202可以包括微控制器设备、数字信号处理器(DSP)设备、现场可编程门阵列(FPGA)设备、专用集成电路(ASIC)、***级芯片(SOC)、可编程逻辑器件 (PLD)、复杂可编程逻辑器件(CPLD)、可编程逻辑阵列(PLA)设备、可编程阵列逻辑 (PAL)器件、通用阵列逻辑(GAL)器件、可编程电可擦除逻辑(PEEL)器件、另一硬件逻辑组件或上述项的组合。
一个或多个存储介质204可以经由总线206而在电学上或在操作上连接到控制器202。总线206可以包括以下的一个或多个:***总线、数据总线、地址总线、PCI总线、Mini-PCI总线、以及任何的各种各样的本地、***和/或独立总线。
一个或多个存储介质204可以包括如以上关于计算机可读介质114和126所讨论的、有形和/或物理形式的计算机存储介质。然而,存储介质204被包括在便携式安全设备102 的外壳200中。
如图2中所指示的,便携式安全设备102可以包括位于外壳内的TPM 208,并且 TPM208可以经由总线206而在操作上连接到控制器202。通常,TPM 208可以包括微芯片,其被设计成向便携式安全设备102所衔接的设备提供安全功能。例如,TPM 208可以提供完整性度量测量、度量测量(或其散列)的安全存储、鉴别、密钥创建、密钥存储、密钥迁移、数据和密钥的加密/解密、向设备104的操作***或其他程序的证明和签名。
此外,当便携式安全设备102与某设备(例如,一个或多个客户端计算设备104)衔接时,TPM 208该设备可以具有以下能力:创建密码密钥,并加密那些密钥以使得那些密钥只能由TPM 208解密。密钥的这种“包装”或“绑定”可以充分地保护密钥不被透露给恶意软件或已被劫持的恶意硬件组件。在一些示例中,TPM 208可以包括根“包装”密钥,即存储在TPM 208内的存储根密钥(SRK)。使用TPM 208创建的密钥的私有部分不被暴露给另一硬件组件、软件组件、过程、人员或其组合。
如图2中所图示的,便携式安全设备102还可以包括接口210,其可经由总线206而在操作上连接到控制器202。接口210可以包括有线接口或无线接口。有线接口可以包括诸如通用串行总线(USB)连接或另一插头或插座这样的机械连接。无线接口可以包括能够在短距离上交换数据的无线接口。例如,无线接口可以是依赖于短波长超高频无线电波的接口,诸如被提供用于蓝牙标准中的那种。另一方面,无线接口可以是基于IEEE 802.11标准的接口,即Wi-Fi接口。另外,无线接口可以包括基于NFC标准建立的近场通信(NFC) 接口。
因此,当便携式安全设备102与某设备(例如计算设备104中的一个或多个)衔接时,便携式安全设备102的接口210可以与计算设备104的TPM接口134衔接。一旦计算设备104和便携式安全设备102加电,便携式安全设备102内的TPM 208就可以与计算设备104的处理单元124、计算机可读介质126、操作***132或其组合进行通信,以便向计算设备104提供加密服务。当便携式安全设备102从计算设备104脱离(disengage)时,计算设备104可能不再能够提供TPM服务。
如图2中所图示的,控制器202可以包括电力检测逻辑212。电力检测逻辑212可以检测便携式安全设备102何时加电。便携式安全设备102可以从直接连接到便携式安全设备102的源接收电力。当便携式安全设备102与设备104衔接时,便携式安全设备102还可以间接地从设备104接收电力。图2还指示了控制器202可以包括TPM激活/停用逻辑214。因此,当电力检测逻辑212检测到便携式安全设备102正在接收电力时,电力检测逻辑212 可以向激活/停用逻辑214发送信号,并且激活/停用逻辑214可以激活便携式安全设备102 内的TPM208。
如图2中进一步图示的,便携式安全设备102内的存储介质204可以被分割成包括私有存储装置216。私有存储装置216可以与TPM 208相结合地使用,以便存储私钥和其他私有数据,这些私钥和其他私有数据不被提供给用户或与便携式安全设备102衔接的设备。
图3图示了TPM 208的细节。TPM 208可以包括密码处理器302、永久存储器304 和易失性存储器306。永久存储器304和易失性存储器306可由密码处理器302例如经由总线308来访问。在一些示例中,易失性存储器306和永久存储器304可以使用相同的总线来与密码处理器302进行通信。在其他示例中,易失性存储器306和永久存储器304可以各自具有单独的总线用来与密码处理器302通信。总线308可以包括以下的一个或多个:***总线、数据总线、地址总线、PCI总线、Mini-PCI总线、以及任何的各种各样的本地、***和 /或独立总线。TPM 208还可以包括受保护的输入输出接口310。
在至少一个示例中,密码处理器302可以包括微控制器设备、数字信号处理器(DSP)设备、现场可编程门阵列(FPGA)设备、专用集成电路(ASIC)、***级芯片 (SOC)、可编程逻辑器件(PLD)、复杂可编程逻辑器件(CPLD)、可编程逻辑阵列 (PLA)器件、可编程阵列逻辑(PAL)器件、通用阵列逻辑(GAL)器件、可编程电可擦除逻辑(PEEL)器件、某其他硬件逻辑组件或上述项的组合。
如所图示的,密码处理器302可以包括随机数生成器312、密钥生成器314、散列生成器316和加密-解密签名引擎318。随机数生成器312可以包括计算的或物理的设备,其可以生成看起来缺乏任何模式并且看起来是随机的数字或符号的序列。密钥生成器314可以包括计算的或物理的设备,其可以用来生成用于加密数据的公钥和私钥。在一些示例中,公钥和私钥对是基于由Ron Rivest、Adi Shamir和Leonard Adleman开发的RSA算法。RSA算法在密码学领域是公知的,并且它依赖于使用随机数生成器312随机选择的两个不同的质数。密钥生成器314然后可以使用这两个质数来利用RSA算法生成公钥和私钥。在各种示例中,密钥生成器314可以使用另一算法来生成密钥对。
密码处理器302内的散列生成器316可以被用于对存储在易失性存储器306内的以下描述的平台配置寄存器(PCR)中的值进行散列。散列生成器316可以使用密码散列函数——诸如安全散列算法1(SHA-1)或另一散列算法——计算一个或多个散列。加密-解密引擎318可被用于加密数据、解密数据、对PCR值签名或其组合。
永久存储器304可以包括任何能以如下方式存储数据结构的计算机存储介质,即:即使在创建数据结构的过程结束之后,也可以通过使用存储器指令或存储器应用程序接口(API)来访问这些数据结构。例如,永久存储器304可以代表非易失性存储器。诸如只读存储器(ROM)、闪速存储器、铁电随机存取存储器(F-RAM)、磁阻RAM、任何磁存储记忆装置或其组合。如图3中所图示的,永久存储器304可以被用于存储签注(endorsement) 密钥(EK)320和存储根密钥(SRK)322。
在至少一个示例中,EK 320可以包括在制造TPM 208时生成的、并被硬编码到TPM208上且存储在永久存储器304内的2048比特RSA私钥。可替换地,可以在首次获取对 TPM208的所有权时——例如当其中安装有TPM 208的便携式安全设备102首次与设备衔接并被初始化时——生成EK320。在TPM 208的使用期(lifetime)期间,EK 320可以不被泄露给用户并且保持在TPM 208中。为了保护用户的隐私,EK 320可被用于解密数据,但不能用于加密数据。
在一些示例中,SRK 322可以像EK 320那样是2048比特私钥,诸如RSA密钥,其可以在由用户获取对TPM 208的所有权时生成。此后可以使用SRK 322直到TPM 208被清除——如果TPM 208被清除的话。SRK 322保留在TPM 208上,并且可以***露给用户。
易失性存储器306可以包括当从电力断开时丢失内容的任何存储器。例如,易失性存储器可以包括随机存取存储器(RAM)。RAM可以包括静态RAM(SRAM)或动态 RAM(DRAM)。易失性存储器306可以被用于存储测量数据和私钥。例如,易失性存储器 306可以包括一个或多个平台配置寄存器(PCR)324。PCR 324可以允许对安全性度量的安全存储和报告。这些度量可以被用于检测所衔接设备中的先前配置的改变,并得出关于在加电引导过程期间继续进行的决定。
例如,与度量相关联的散列值可以被存储在PCR 324内。在具体的方面,基于当前的TPM标准,易失性存储器306可以包括二十四(24)个PCR 324。可以使用扩展操作来改变存储在PCR 324中的散列值。为了在特定PCR 324中存储新值,可以使用扩展操作来将新值附加到PCR 324中的当前值、计算新的散列、并用散列操作的输出来替换PCR 324 内的当前值。新的散列可以由散列发生器根据新值和当前值的级联来计算。
因此,用于特定度量的每个散列值可以是字节数组的散列,其可以是将要加载的代码或其散列,被附加到前一PCR值并存储回PCR 324。散列生成器316的输出可以通过在散列生成器中使用的散列算法来定义。例如,输出可以包括用于SHA-1的20字节值。散列值的相对小的尺寸允许TPM 208把与相关度量相关联的所有散列值存储在非常小的存储器覆盖区(footprint)。在操作期间,用于生成散列密钥的比特的轻微改变将导致不同的散列值。例如,到散列生成器316的甚至一比特输入的改变将导致大约一半的输出比特改变。这种传播有助于在便携式安全设备102所衔接的设备的引导周期期间检测被加载的或以其他方式使其操作的软件组件或硬件组件中的轻微改变。
照此,TPM 208可以确保与所衔接的设备相关联的平台的完整性。所述平台可以包括与便携式安全设备102衔接的设备104的任何计算机平台和任何操作***。TPM 208可以从可信条件启动加电引导过程,并且延续该信任直到特定的操作***被完全引导且相关应用正在运行。
TPM 208可以包括在永久存储器304内的多个证明身份密钥(AIK)326。AIK 326提供所衔接设备内的硬件和软件配置的摘要。例如,可以将与特定软件程序相关联的特定加密 AIK 326提交给可解密AIK 326的第三方验证器,并验证该特定软件程序对于所衔接设备 104来说未被更改且不是恶意的。如果特定软件程序被更改并且潜在地是恶意的,则第三方验证器可以返回加密的警告,该警告可被TPM 208解密并经由与所衔接的设备104相关联的显示器呈现。
在另一示例中,用户可能希望匿名地与另一设备通信,但是为了这样做,用户必须首先证明该用户正在使用可信设备进行通信。用户可以请求能表明该用户已被中立的、可信任的认证(certification)机构认证的AIK 326。为了获得认证,TPM 208可以发送多个证书,例如公钥证书、平台证书和/或一致性证书。这些证书可以标识所衔接的设备104的平台、模型、当前正在平台上使用什么种类的软件、TPM 208的细节、以及该平台遵守可信计算组TCG规范。为了保持匿名性,这些证书可以发送给可信任的第三方隐私认证机构。该认证机构可以验证所述证书。如果证书通过验证,则该认证机构可以创建一个经认证的二级密钥对AIK并将该证书返回给请求者。当被衔接的设备104或TPM接收到经认证的AIK 时,被衔接的设备104可以使用它来与其他可信平台匿名地进行通信。
如图3中所图示的,便携式安全设备102的便携式TPM设备208可以包括位于永久存储器304内的多个存储密钥328。在各种示例中,便携式TPM 208可以通过使用TPM绑定密钥来加密数据而绑定数据。TPM绑定密钥可以包括从存储在便携式TPM 208的永久存储器304中的存储密钥328内的一个特定存储密钥继承下来的独特密钥,例如RSA密钥。便携式TPM208还可以通过首先使用与绑定数据相类似的过程来加密数据而密封数据。然而,便携式TPM 208可以进一步指定与便携式TPM 208相关联的状态或条件,并且当便携式TPM 208满足该状态或条件时,可以配置便携式TPM 208来对已加密的数据进行解密。
示例性过程
图4至图8图示了与便携式安全设备102相关联的各种过程。例如,图4图示了用来激活便携式安全设备的过程的流程图。图5图示了用来从便携式安全设备向被衔接的设备提供可信计算服务的示例过程的流程图。图6图示了用来初始化便携式安全设备的过程的流程图。图 7图示了用于使用与设备衔接的便携式安全设备来完成与分布式或远程计算资源的受保护事务的过程。此外,图8图示了用于停用便携式安全设备的过程。
这些过程被图示为逻辑流程图中的方框的集合,这些方框表示操作的序列,其中的一些或全部可以以硬件、软件或其组合来实现。在软件的上下文中,这些方框表示存储在一个或多个计算机可读介质上的计算机可执行指令,当计算机可执行指令被一个或多个处理器执行时其完成所述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制。任何数量的所描述的方框可以按任何顺序和/或并行地被组合来实现所述过程或可替代的过程,并且并不是所有的方框都需要被执行。为了讨论的目的,参考本文示例中所描述的框架、架构和环境来描述本文的过程,尽管可以在多种多样的其他框架、架构或环境中实现这些过程。
对各种过程的描述可以包括某种过渡性语言和指向性语言,诸如“然后”、“接下来”、“此后”、“随后”、“返回”、“继续”,“进行到”等。这些词语和其他类似的词语仅仅打算用来通过所述过程的图形说明来指导读者,而并不打算用来限制在图示中所描绘的过程步骤可以被执行的顺序。
另外,图4至图8中所描绘的各种过程步骤中的一个或多个可以由分布式计算资源108的一个或多个设备110、计算设备104、便携式安全设备102或其组合来执行,以便向被衔接的设备提供可信平台计算服务。
如上所述,图4图示了用来激活便携式安全设备102的、被指定为400的示例性过程的流程图。从402开始,过程400可以包括检测何时其中具有可信平台模块的便携式安全设备(例如便携式安全设备)与诸如设备104这样的设备衔接。例如,便携式安全设备可以包括安装在其中的电力检测逻辑。电力检测逻辑可以检测便携式安全设备何时从所述设备接收到电力。照此,电力检测逻辑可以确定便携式安全设备何时与所述设备衔接。作为另一示例,当便携式安全设备包括电源时,衔接逻辑可以检测便携式安全设备何时与所述设备衔接。
在404,过程400可以包括激活便携式安全设备内的可信平台模块。例如,响应于检测到便携式安全设备正在从所述设备接收电力和/或便携式安全设备与所述设备衔接,可以激活可信平台模块。便携式安全设备可以在其中包括激活/停用逻辑。当便携式安全设备与所述设备衔接时,激活/停用逻辑可以从电力检测逻辑接收信号。继而,激活/停用逻辑可以向便携式安全设备102内的TPM 208传送激活信号。
图5图示了用来从便携式安全设备102向某设备提供可信计算服务的、被指定为500 的示例性过程的流程图。从502开始,过程500可以包括将便携式安全设备与某设备相衔接。便携式安全设备可以包括以上结合图1描述的便携式安全设备102。另外,所述设备可以包括以上结合图1描述的计算设备104中的一个或多个。便携式安全设备可以通过把便携式安全设备上的接口与所述设备上的TPM接口相衔接而与所述设备进行衔接。所述衔接可以包括通过机械耦合(例如经由USB或另一插头和插座装置)而提供的有线衔接。另外,可以通过所述设备和便携式安全设备之间的无线连接来提供衔接。无线连接可以通过Wi-Fi 链路、蓝牙链路、NFC链路或其组合来提供。
在504,过程500可以包括向便携式安全设备提供电力。电力可以例如通过其中的电池而提供给便携式安全设备。可替换地,可以经由接口从所述设备向便携式安全设备提供电力。在506,过程500可以包括检测便携式安全设备上的电力。可以使用便携式安全设备内的电力检测逻辑来检测何时向便携式安全设备提供电力。在508,该过程可以包括激活便携式安全设备。在一个方面,便携式安全设备内的激活/停用逻辑可以从电力检测逻辑接收信号。继而,激活/停用逻辑可以向便携式安全设备内的TPM传送激活信号。
在510,过程500可以包括确定当前的加电周期或它的激活是否是TPM的首次加电周期。如果该加电周期是首次加电周期或首次激活,则过程500可以转到512,并且过程 500可以包括初始化便携式安全设备。例如,便携式安全设备的初始化可以包括为TPM生成EK、为TPM生成SRK以及填充TPM内的PCR。便携式安全设备的初始化在下面结合图6更详细地描述。在514,过程500可以包括确定初始化是否完成。如果TPM的初始化未完成,则过程500可以返回到512并如所描述的那样继续。否则,在514,如果TPM的初始化完成,则过程500可以进行到516。
返回到510,如果当前的加电周期不是首次加电周期或首次激活,则过程500可以直接转到516。在516,过程500可以包括将便携式安全设备上的文件***暴露给所述设备。便携式安全设备上的文件***可以暴露给所衔接的设备中的处理器、操作***、一个或多个软件应用、一个或多个硬件设备或上述项的组合。另外,所衔接的设备可以经由通过该设备的TPM接口和便携式安全设备的接口所建立的连接来访问便携式安全设备上的文件***。
在518,便携式安全设备可以向该设备提供可信计算服务,即可信平台计算服务。例如,便携式安全设备可以提供密码密钥的安全生成,并且可以限制这样的密钥的使用。便携式安全设备可以提供随机数生成器。便携式安全设备还可以提供远程证明和密封的存储。关于远程证明,便携式安全设备可以基于由所衔接的设备提供给便携式安全设备的某些度量来创建所衔接设备的硬件和软件配置的几乎不可伪造的散列密钥摘要。散列密钥摘要可以提供给第三方用来验证软件未被更改。
便携式安全设备可以通过使用TPM绑定密钥来加密数据而绑定该数据。TPM绑定密钥可以包括从存储密钥继承下来的独特密码密钥,诸如RSA密钥。关于密封,便携式安全设备可以使用与用于绑定数据的过程相类似的过程来加密数据。然而,便携式安全设备可以进一步指定与便携式安全设备相关联的状态或条件,并且便携式安全设备可以在便携式安全设备满足该状态或条件时对已加密的数据进行解密。
此外,安装在便携式安全设备所衔接的设备中的各种软件程序可以使用便携式安全设备来证明所衔接设备内的硬件组件。另外,由于便携式安全设备内的TPM包括在其制造时被烧录的、诸如RSA密钥这样的独特和秘密的密码密钥,因此便携式安全设备可以执行针对该设备的平台鉴别。例如,便携式安全设备可被用于创建“信任链”,以及远程证明特定设备具有特定的指定硬件平台并且正在使用特定的指定软件。附加地,便携式安全设备可以确保所衔接的设备内的特定平台的完整性。
因此,便携式安全设备可以确保平台未受损害,并且可以从可信条件启动用于该设备的加电引导过程,并且延续这种信任直到操作***已经被完全引导且应用正在运行。与该设备的BIOS一起,便携式安全设备可以形成“信任的根”。具体地,便携式安全设备可以利用其中的PCR,以便提供对安全性相关的平台度量的安全存储和报告。可以由便携式安全设备使用这些平台度量来检测对该设备的该平台的先前配置的改变,并且如果检测到错误或改变,则在引导周期期间得出如何继续进行的决定。
因此,BIOS和操作***可以具有主要负责去利用便携式安全设备以便确保平台完整性。此后,在平台上运行的应用和平台的用户可以依赖各种安全特性,诸如安全的输入/输出、未受损害的键盘输入、未受损害的存储器和存储装置操作、或者上述项的组合。另一方面,盘加密应用可以使用便携式安全设备来保护被用于加密所衔接设备中的(一个或多个) 硬盘的加密密钥,并为可信的引导路径(例如BIOS、引导扇区等)提供完整性鉴别。
便携式安全设备还可以被用于使口令保护便利。例如,便携式安全设备可以提供其中具有字典攻击防范机制的专用硬件模块。这种字典攻击防范机制可以基本上保护免遭猜测或自动字典攻击,同时仍允许用户进行足够和合理数量的尝试来输入正确的口令。
在其他方面,便携式安全设备可以由所衔接的设备使用于数字权限管理、软件许可证的保护和实施、在线游戏中的作弊预防、安全的事务处理、安全的银行业务、安全的在线购物、在销售点终端上的安全购物等。
在520,过程500可以包括确定所衔接的设备是否不再处于供电状态、便携式安全设备是否不再处于供电状态或不再接收电力、或者上述项的组合。如果电力仍然存在,则过程 500可以返回到518,并且便携式安全设备可以根据需要继续向所衔接的设备提供可信计算服务。否则,在520,如果所衔接的设备、便携式安全设备或其组合不再被供电,则过程500可以继续到522,并且过程500可以包括使便携式安全设备从所述设备脱离。可以通过使便携式安全设备上的接口从所述设备的TPM接口脱离而使便携式安全设备从所述设备脱离。例如,便携式安全设备可以从所述设备拔出。在另一示例中,便携式安全设备上的无线接口、所衔接的设备或其组合可以被停用。另外,便携式安全设备可以移动到所衔接的设备的范围之外,以便使便携式安全设备从所衔接的设备脱离。
图6图示了用来初始化便携式安全设备的过程600的流程图。从602开始,便携式安全设备接收电力。在604,过程600可以包括确定便携式安全设备是否包括存储在便携式安全设备内的TPM的永久存储器中的EK。这个确定可以通过以下操作来进行:执行对 TPM的永久存储器的读取以确定永久存储器是否包括在便携式安全设备的制造期间生成并存储在其上的EK。如果便携式安全设备不包括EK,则过程600可以进行到606,并且过程 600可以包括为TPM生成EK。
在至少一个示例中,便携式安全设备的TPM内的随机数生成器和密钥生成器可以生成EK。EK可以包括2048比特RSA私钥。在生成EK之后,过程600可以继续到608,并且该过程可以包括将EK存储在便携式安全设备内的TPM的永久存储器内。在各种示例中,EK可以在TPM的使用期期间保留在便携式安全设备内的TPM的永久存储器中,而不被泄露。为了维护用户的隐私,EK可用于解密数据,但不能用于加密数据。
返回到604,如果便携式安全设备确实包括在便携式安全设备的TPM的制造期间生成的EK,则过程600可以直接转到610。在610,过程600可以包括为便携式安全设备内的 TPM生成SRK。在具体的方面,SRK也可以是2048比特的私有RSA密钥。SRK可以包括私有部分和公共部分,它们可以使用便携式安全设备的TPM内的随机数生成器和RSA密钥生成器来生成。例如,随机数生成器可以生成两个随机数,并且RSA密钥生成器可以使用在密码学领域中众所周知的RSA算法从这两个随机数生成SRK的公钥和私钥。在612, SRK可以被存储或以其他方式嵌入便携式安全设备内的TPM的永久存储器中。此后可以使用SRK直到TPM被清除。可以意识到,TPM可能不被清除。然而,如果TPM被清除,则可以如本文所述那样生成新的SRK。在具体的方面,SRK可以保留在TPM上,而不被泄漏。
转到614,过程600可以包括针对新口令向用户进行提示。这个口令可以是用于与便携式安全设备相关联的设备和该设备的用户的***口令。在616,该过程可以包括加密响应于提示而接收的口令。所述加密可以在便携式安全设备内发生。此后,在618,过程600可以包括将加密的口令存储在便携式安全设备内。加密的口令可以存储在TPM的永久存储器、TPM的易失性存储器或其组合中。
在620,过程600可以包括从该设备接收多个初始的平台度量。平台度量可以是基于平台的当前配置和/或平台的当前操作。接下来,在622,过程600可以包括为从该设备接收的每个度量计算散列。在各种示例中,便携式安全设备内的TPM的密码处理器内的散列生成器可被用于为从该设备接收的每个度量计算散列。在624,过程600可以包括利用为从该设备接收的每个度量计算的散列值来填充在便携式安全设备内的TPM的易失性存储器内的PCR。如上所述,可以在便携式安全设备的TPM正向所衔接的设备提供可信的计算服务时使用为那些度量计算的散列值,以便检测从所衔接的设备中的先前配置的任何改变,并且如果出现任何改变,则得出在加电引导过程期间继续进行的决定。
图7图示了用于使用便携式安全设备在所衔接的设备上完成与分布式或远程计算资源的受保护事务的过程700。从702开始,过程700可以包括使便携式安全设备与所述设备衔接。例如,可以通过把便携式安全设备上的接口与所述设备上的TPM接口相衔接而将便携式安全设备与所述设备衔接。这一衔接可以包括通过机械耦合(例如经由USB连接或另一插头和插座装置)提供的有线衔接。此外,可以通过在所述设备和便携式安全设备之间的无线连接来提供所述衔接。无线连接可以通过Wi-Fi链路、蓝牙链路、NFC链路或其组合来提供。
转到704,过程700可以包括启动一事务。在具体的方面,可以启动与经由所衔接的设备访问的分布式或远程计算资源的事务。例如,事务可以包括在线购物、银行事务、到远程网站的安全登录等。所述设备可以包括销售点(POS)终端、虚拟终端、自动取款机、电子信息亭、某其他计算设备或上述项的组合。
在706,过程700可以包括为便携式安全设备生成证明证书。例如,可以使用存储在便携式安全设备内的TPM的易失性存储器中的AIK之一来生成证明证书。证明证书可被用于向分布式或远程计算资源证明便携式安全设备和所衔接的设备是可信的。在各种示例中,证明证书可以被加密。在708,过程700可以包括将用于便携式安全设备的加密的证明证书传送到分布式或远程计算资源。加密的证明证书可以经由所衔接的设备例如通过网络连接而被传送到分布式或远程计算资源。
转到710,便携式安全设备可以从分布式或远程计算资源接收加密的证明证书。来自分布式或远程计算资源的加密的证明证书可被用于向便携式安全设备及其用户证明便携式安全设备正在与受信任的分布式或远程计算资源进行通信。可以意识到,可以经由所衔接的设备例如经由网络连接而在便携式安全设备上接收加密的证明证书。
在712,过程700可以确定与从其接收到的加密证明证书相关联的分布式或远程计算资源是否是可信的。这一确定可以包括在便携式安全设备内对来自分布式或远程计算资源的加密证明证书进行解密,并且检查解密的证书的内容以确定该分布式或远程的计算资源是否也是可信的。如果该分布式或远程计算资源不可信,则过程700可以进行到714,并且过程 700可以包括取消事务。可以由便携式安全设备自动取消事务,以防止任何到便携式安全设备和/或所衔接设备中的恶意入侵。相反地,可以响应于经由输入/输出接口接收的动作,例如经由与网站相关联的图形用户界面呈现的虚拟取消按钮的切换(toggle),而取消事务。在事务被取消后,过程700可以结束。
返回到712,如果分布式或远程的计算资源是可信的,则过程700可以转到716。在716,过程700可以包括在便携式安全设备内加密支付信息、口令、其他信息或其组合。可以使用SRK在便携式安全设备的TPM内执行所述加密。此后,在718,过程700可以包括将加密的信息传送到分布式或远程计算资源。可以经由所述设备(例如,其网络连接)把加密的信息传送到分布式或远程计算资源。在720处,过程700可以包括接收如下的收据或确认:在分布式或远程计算资源处接收到所述加密的信息。收据或确认可以是经由所衔接的设备(例如经由其网络连接)而在便携式安全设备上接收的电子收据或电子确认。
在722处,过程700可以包括使便携式安全设备从所衔接的设备脱离。在具体的方面,可以通过把便携式安全设备上的接口与所衔接设备的TPM接口脱离而使便携式安全设备从所衔接设备脱离。例如,便携式安全设备可以从所衔接的设备中拔出。另一方面,便携式安全设备上的无线接口、所述设备或其组合可以被停用。另外,便携式安全设备可以移动到所述设备的范围之外,以便使便携式安全设备从所述设备脱离。在便携式安全设备从所述设备脱离之后,过程700可以结束。
图8图示了用于停用便携式安全设备的过程800。在802,过程800可以包括跟踪自从便携式安全设备的首次激活以来的时间。可以使用便携式安全设备内的计数器或时钟、或者通过监视与每次便携式安全设备被激活或停用相关联的时间戳来跟踪自从首次激活以来的时间。此后,在804,过程800可以包括跟踪自从便携式安全设备的前次激活以来的时间。可以使用便携式安全设备内的计数器或时钟来跟踪自从前次激活以来的时间。
转到806,过程800可以包括确定自从便携式安全设备的首次激活以来的时间是否大于第一预定门限。这一确定可以通过以下方式进行:将自从便携式安全设备的首次激活以来的时间与第一预定门限值进行比较,以确定哪个更大。如果自从便携式安全设备的首次激活以来的时间不大于第一预定门限,则处理800可以进行到808。
在808,过程800可以包括确定自从便携式安全设备的前次激活以来的时间是否大于第二预定门限。这一确定可以通过以下方式进行:将自从便携式安全设备的前次激活以来的时间与第二预定门限值进行比较,以确定哪个更大。如果自从便携式安全设备的前次激活以来的时间不大于第二预定门限,则过程800可以返回到802,并且过程800可以如本文描述的那样继续。
另一方面,如果自从便携式安全设备的前次激活以来的时间大于第二预定门限,则过程800可以进行到810。返回到806,如果自从便携式安全设备的首次激活以来的时间大于第一预定门限,则过程800可以直接进行到810。在810,该过程可以停用便携式安全设备。可以使用便携式安全设备的TPM内的激活/停用逻辑来停用便携式安全设备。例如,如果超过了第一预定门限或第二预定门限,则激活/停用逻辑可被配置成向便携式安全设备内的TPM传送停用信号。
照此,如果自从便携式安全设备的前次激活以来的时间超过第二预定门限,指示便携式安全设备未在被使用(并且因此可能被丢失),那么可以停用便携式安全设备以防止便携式安全设备上的安全信息受损害或者防止另一用户试图将该便携式安全设备用于邪恶目的。另外,如果只允许用户在由便携式安全设备的提供者或与便携式安全设备密切联系的服务的提供者所确定的预定时间段内使用便携式安全设备,则在自从便携式安全设备的首次激活以来的时间大于第一预定门限之后可以停用便携式安全设备,并且该便携式安全设备不再能被使用。
回到图8的描述,在812,过程800可以包括确定在便携式安全设备上是否检测到电力。可以使用便携式安全设备的控制器内的电力检测逻辑来检测电力。如果检测到电力,则这可以指示便携式安全设备未被丢失,或者用户希望进一步使用便携式安全设备购物。如果在便携式安全设备上未检测到电力,则过程800可以结束。另一方面,如果在便携式安全设备上检测到电力,则过程800可以进行到814。
在814,过程800可以包括确定是否重新激活该便携式安全设备。例如,所述确定可以包括例如经由便携式安全设备上的显示器或与被衔接设备相关联的显示器而简单地进行提示,并且等待经由输入设备的响应。另外,这个确定可以是基于由便携式安全设备的提供者或与便携式安全设备相关联的服务的提供者所确定的、并被用户同意的对于便携式安全设备的使用合同条款。另外,可以有第三预定门限,超过该门限则便携式安全设备不可用于重新激活。在814,如果确定不重新激活便携式安全设备,则过程800可以结束。
另一方面,如果在814确定重新激活便携式安全设备,则过程800可以继续到816,并且过程800可以包括传送重新激活口令。例如,可以经由与便携式安全设备相关联的电子邮件、被传送到与便携式安全设备相关联的移动电话的文本、或经由仅被授权的实体可以访问的某其他形式的通信来传送重新激活口令。在818,过程800可以包括针对重新激活口令进行提示。该提示可以经由网站而在所衔接的设备上呈现。重新激活口令可以在适当的输入字段中被接收,并且所衔接的设备可以经由网络连接向便携式安全设备的提供者或者与便携式安全设备密切联系的服务的提供者发送重新激活口令。在820,过程800可以包括确定所接收的口令是否正确。这一确定可以通过以下方式进行:将从被衔接设备接收的字符串与用于正确的重新激活口令的字符串进行比较。如果口令不正确,则过程800可以结束。如果口令正确,则过程800可以进行到822,并且过程800可以包括重新激活便携式安全设备。在经由所衔接的设备接收到从远程计算资源传送的重新激活信号后,便可以重新激活便携式安全设备。重新激活信号可以使便携式安全设备内的激活/停用逻辑向便携式安全设备内的 TPM传送激活信号。此后,便携式安全设备可以完全地起作用,并且过程800可以结束。
示例性条款
A:一种用于计算***的便携式安全设备,该设备包括:外壳;至少部分地布置在外壳内的接口,其中所述接口被配置为与多个不同的设备衔接,并且当与所述多个不同的设备中的单独设备衔接时提供在所述便携式安全设备与所述单独设备之间的通信;在外壳内的可信平台模块(TPM),其中所述TPM被耦合到所述接口;以及在外壳内的控制器,所述控制器耦合到所述TPM和所述接口,所述控制器包括用于检测所述便携式安全设备何时经由所述接口耦合到所述单独设备的逻辑。
B:如段落A所述的便携式安全设备,其中当所述便携式安全设备与所述单独设备衔接时,所述便携式安全设备在某些情况下经由所述接口从所述设备接收电力。
C:如段落A或B所述的便携式安全设备,其中所述控制器还包括用于检测所述便携式安全设备何时接收电力的电力检测逻辑。
D:如段落A至C中任一段落所述的便携式安全设备,其中所述控制器还包括激活/停用逻辑,其被配置为响应于检测到所述便携式安全设备接收电力而激活所述TPM。
E:如段落A至D中任一段落所述的便携式安全设备,其中所述激活/停用逻辑被配置为在自从首次激活以来的时间超过第一门限时停用所述便携式安全设备。
F:如段落A至E中任一段落所述的便携式安全设备,其中所述激活/停用逻辑被配置为在自从前次激活以来的时间超过第二门限时停用所述便携式安全设备。
G:如段落A至F中任一段落所述的便携式安全设备,其中所述TPM被配置为当所述便携式安全设备与所述单独设备衔接时,向所述单独设备提供可信平台计算服务。
H:一种方法,包括:检测其中具有可信平台模块(TPM)的便携式安全设备何时与某设备衔接;以及响应于检测到所述便携式安全设备被衔接而激活所述便携式安全设备内的所述TPM,所述便携式设备的所述TPM为所衔接的设备提供基于硬件的安全性。
I:如段落H所述的方法,还包括:检测到所述TPM首次被激活;以及初始化所述TPM。
J:如段落H或I所述的方法,其中初始化所述TPM包括:为所述TPM生成签注密钥;以及将所述签注密钥存储在所述TPM的永久存储器中。
K:如段落H至J中任一段落所述的方法,其中初始化所述TPM包括:为所述TPM 生成存储根密钥;以及将所述存储根密钥存储在所述TPM的永久存储器内。
L:如段落H至K中任一段落所述的方法,还包括:从所述设备接收多个平台度量;为所述平台度量中的个体计算散列值;以及将散列值存储在所述TPM内的平台配置寄存器中。
M:如段落H至L中任一段落所述的方法,还包括:查明自从所述TPM的首次激活以来的时间;确定自从首次激活以来的时间是否大于第一预定门限;以及如果自从首次激活以来的时间大于第一预定门限,则停用所述TPM。
N:如段落H至M中任一段落所述的方法,还包括:查明自从所述TPM的前次激活以来的时间;确定自从前次激活以来的时间是否大于第二预定门限;以及如果自从前次激活以来的时间大于第二预定门限,则停用所述TPM。
O:如段落H至L中任一段落所述的方法,还包括:在所述TPM被停用之后检测所述便携式安全设备上的电力;接收对于所述TPM的重新激活指令;以及重新激活所述便携式安全设备内的所述TPM。
P:一种具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在执行时配置计算机来完成如段落H至O中任一段落所述的方法。
Q:一种装置,包括:处理器,其耦合到具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在执行时配置计算机来完成如段落H至O中任意一段落所述的方法。
R:一种在其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在执行时配置计算机来完成以下操作,包括:激活便携式安全设备内的可信平台模块(TPM);跟踪自从首次激活所述便携式安全设备内的TPM以来的时间;确定自从首次激活以来的时间是否大于第一预定门限;以及如果自从首次激活以来的时间大于第一预定门限,则停用所述TPM。
S:如段落R所述的计算机可读介质,还包括:跟踪自从所述TPM的前次激活以来的时间;确定自从前次激活以来的时间是否大于第二预定门限;以及如果自从前次激活以来的时间大于第二预定门限,则停用所述TPM。
T:如段落R或S所述的计算机可读介质,还包括在所述TPM被停用之后检测所述便携式安全设备上的电力。
U:如段落R至T中任一段落所述的计算机可读介质,还包括接收对于所述TPM的重新激活口令。
V:如段落R至U中任一段落所述的计算机可读介质,还包括重新激活所述便携式安全设备内的所述TPM。
W:一种包括处理器的设备;以及一种如段落R至V中任一段落所述的计算机可读介质。
结论
虽然已经以特定于结构特征和/或方法动作的语言描述了这些技术,但是应当理解,所附权利要求不一定限于所描述的特征或动作。相反,所述特征和动作是作为这样的技术的示例性实现而被描述的。
示例性过程的操作在各个方框中图示,并且参考这些方框进行总结。这些过程被图示为方框的逻辑流,其中每个方框可以表示能以硬件、软件或其组合来实现的一个或多个操作。在软件的上下文中,所述操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,当其被一个或多个处理器执行时使得所述一个或多个处理器能够完成所述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序不打算被解释为限制,并且任何数量的所描述的操作可以按任何顺序来执行、按任何顺序来组合、被细分成多个子操作和/或被并行地执行,以实现所描述的过程。所描述的过程或其一些部分可以由与一个或多个设备104、106、 108、130、132、134(诸如一个或多个内部或外部CPU或GPU)和/或一件或多件硬件逻辑(诸如FPGA、DSP或其他类型的加速器)相关联的资源来执行。
以上描述的所有方法和过程可以被具体化在由一个或多个通用计算机或处理器执行的软件代码模块中,并且经由所述软件代码模块而被完全自动化。代码模块可以被存储在任何类型的计算机可读存储介质或其他计算机存储设备中。所述方法中的一部分或全部可以替换地被具体化在专用的计算机硬件中。
条件性的语言,尤其是诸如“可以(can)”、“可能(could)”、“也许(might)”或“得以(can)”,除非另有明确说明,否则在上下文中被理解为表示某些示例包括某些特征、元素和/ 或步骤、而其他示例不包括这些特征、元素和/或步骤。因此,这样的条件性的语言通常不打算暗示:某些特征、元素和/或步骤无论如何对于一个或多个示例是必需的,或者一个或多个示例必然包括用于在有或没有用户输入或提示的情况下决定某些特征、元素和/或步骤是否包括在任何特定示例中或将在其中执行的逻辑。除非另有明确说明,否则诸如短语“X、Y或Z中的至少一个”这样的连接性语言应被理解为表示项目、条款等可以或者是 X、Y或Z,或者是它们的组合。
在本文描述和/或在附图中描绘的流程图中的任何例行描述、元素或方框应当被理解为潜在地表示代码的模块、代码段或代码部分,其包括一个或多个用于实现例程中特定逻辑功能或元素的可执行指令。如本领域技术人员将理解的,在本文描述的示例的范围内包括可替换的实现,其中取决于所牵涉的功能性可以删除元素或功能,或者不按所示出或讨论的顺序来执行,包括基本上同步或相反的顺序。应当强调的是,可以对上述示例做出许多变化和修改,其元素应被理解为是连同其他可接受的示例一起的。在此,所有这样的修改和变化打算被包括在本公开内容的范围内,并受到以下的权利要求的保护。

Claims (15)

1.一种用于计算***的便携式安全设备,所述便携式安全设备包括:
外壳;
至少部分地布置在所述外壳内的接口,其中所述接口被配置为与多个不同的设备衔接,并且当与所述多个不同的设备中的单独设备衔接时提供在所述便携式安全设备与所述单独设备之间的通信;
在所述外壳内的可信平台模块TPM,其中所述TPM被耦合到所述接口;
在所述外壳内的控制器,所述控制器耦合到所述TPM和所述接口,所述控制器包括逻辑,所述逻辑被配置为:
检测所述便携式安全设备是否经由所述接口耦合到所述单独设备;
确定自从所述便携式安全设备的首次激活以来的时间是否超过第一门限;
确定自从所述便携式安全设备的前次激活以来的时间是否超过第二门限;以及
激活/停用逻辑,被配置为:
通过响应于自从所述首次激活以来的所述时间超过所述第一门限或自从所述前次激活以来的所述时间超过所述第二门限,向所述TPM发送停用信号,来停用所述便携式安全设备;
确定自从所述便携式安全设备的所述停用以来的时间是否超过第三门限,超过所述第三门限所述便携式安全设备不可用于重新激活;
响应于自从所述停用以来的所述时间不超过所述第三门限,发送与所述便携式安全设备相关联的重新激活密码;
提示输入与所述便携式安全设备相关联的所述重新激活密码;以及
响应于确定输入的所述重新激活密码正确,重新激活所述便携式安全设备。
2.如权利要求1所述的便携式安全设备,其中所述便携式安全设备被配置为从所述单独设备接收电力。
3.如权利要求1所述的便携式安全设备,其中所述控制器还包括电力检测逻辑,所述电力检测逻辑被配置为检测所述便携式安全设备是否正在接收电力。
4.如权利要求1所述的便携式安全设备,其中所述激活/停用逻辑还被配置为响应于检测到所述便携式安全设备正在接收电力而激活所述TPM。
5.如权利要求1所述的便携式安全设备,其中所述TPM被配置为当所述便携式安全设备与所述单独设备衔接时向所述单独设备提供可信平台计算服务。
6.一种用于提供安全性的方法,包括:
检测其中具有可信平台模块TPM的便携式安全设备是否与一设备衔接;
响应于检测到所述便携式安全设备被衔接而激活所述便携式安全设备内的所述TPM,所述便携式安全设备的所述TPM被配置成为所衔接的所述设备提供基于硬件的安全性;
查明自从所述TPM的首次激活以来的时间;
确定自从所述便携式安全设备的所述首次激活以来的所述时间是否大于第一门限;
响应于确定自从所述首次激活以来的所述时间不大于所述第一门限,确定自从所述便携式安全设备的前次激活以来的时间是否大于第二门限;以及
通过响应于确定自从所述首次激活以来的所述时间大于所述第一门限或自从所述前次激活以来的所述时间大于所述第二门限,向所述TPM发送停用信号,来停用所述TPM;
确定自从停用所述TPM以来的时间是否超过第三门限,超过所述第三门限所述TPM不可用于重新激活;
响应于自从所述停用以来的所述时间不超过所述第三门限,发送与所述便携式安全设备相关联的重新激活密码;
提示输入与所述便携式安全设备相关联的所述重新激活密码;以及
响应于确定输入的所述重新激活密码正确,重新激活所述TPM。
7.如权利要求6所述的方法,还包括:
检测所述TPM首次被激活;以及
响应于所述TPM首次被激活而初始化所述TPM。
8.如权利要求7所述的方法,其中初始化所述TPM包括:
为所述TPM生成签注密钥;以及
将所述签注密钥存储在所述TPM的永久存储器内。
9.如权利要求7所述的方法,其中初始化所述TPM包括:
为所述TPM生成存储根密钥;以及
将所述存储根密钥存储在所述TPM的永久存储器中。
10.如权利要求6所述的方法,还包括:
从所衔接的所述设备接收多个平台度量;
为所述平台度量中的单独度量计算散列值;以及
将所述散列值存储在所述TPM内的平台配置寄存器中。
11.如权利要求6所述的方法,还包括:
查明自从所述TPM的所述前次激活以来的所述时间。
12.如权利要求6所述的方法,还包括:
在所述TPM被停用之后检测所述便携式安全设备处的电力。
13.一种在其上具有计算机可执行指令的非暂态计算机可读介质,所述计算机可执行指令在执行时将计算机配置为执行操作,所述操作包括:
检测其中具有可信平台模块TPM的便携式安全设备是否与所述计算机衔接;
激活所述便携式安全设备内的所述可信平台模块TPM;
跟踪自从所述便携式安全设备内的所述TPM的首次激活以来的时间;
确定自从所述便携式安全设备的所述首次激活以来的所述时间是否大于第一门限;
响应于确定自从所述首次激活以来的所述时间不大于所述第一门限,确定自从所述便携式安全设备的前次激活以来的时间是否大于第二门限;以及
通过响应于确定自从所述首次激活以来的所述时间大于所述第一门限或自从所述前次激活以来的所述时间大于所述第二门限,向所述TPM发送停用信号,来停用所述TPM;
确定自从停用所述TPM以来的时间是否超过第三门限,超过所述第三门限所述TPM不可用于重新激活;
响应于自从所述停用以来的所述时间不超过所述第三门限,发送与所述便携式安全设备相关联的重新激活密码;
提示输入与所述便携式安全设备相关联的所述重新激活密码;以及
响应于确定输入的所述重新激活密码正确,重新激活所述TPM。
14.如权利要求13所述的计算机可读介质,还包括:
跟踪自从所述TPM的所述前次激活以来的所述时间。
15.如权利要求14所述的计算机可读介质,还包括在所述TPM被停用之后检测所述便携式安全设备处的电力。
CN201680007885.5A 2015-01-30 2016-01-06 便携式安全设备 Active CN107209838B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/610,228 US10025932B2 (en) 2015-01-30 2015-01-30 Portable security device
US14/610228 2015-01-30
PCT/US2016/012295 WO2016122844A1 (en) 2015-01-30 2016-01-06 Portable security device

Publications (2)

Publication Number Publication Date
CN107209838A CN107209838A (zh) 2017-09-26
CN107209838B true CN107209838B (zh) 2020-11-20

Family

ID=55182618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680007885.5A Active CN107209838B (zh) 2015-01-30 2016-01-06 便携式安全设备

Country Status (4)

Country Link
US (1) US10025932B2 (zh)
EP (1) EP3251044B1 (zh)
CN (1) CN107209838B (zh)
WO (1) WO2016122844A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380037B2 (en) * 2015-12-24 2019-08-13 Intel Corporation Secure data transfer with compute stick
KR20180002349A (ko) * 2016-06-29 2018-01-08 에스프린팅솔루션 주식회사 화상 형성 장치에서 실행 파일의 위변조를 검증하는 방법 및 이를 이용하는 화상 형성 장치
US10320571B2 (en) * 2016-09-23 2019-06-11 Microsoft Technology Licensing, Llc Techniques for authenticating devices using a trusted platform module device
US11456891B2 (en) 2018-12-20 2022-09-27 Rolls-Royce North American Technologies Inc. Apparatus and methods for authenticating cyber secure control system configurations using distributed ledgers
CN110719166A (zh) * 2019-10-15 2020-01-21 深圳市元征科技股份有限公司 芯片烧录方法、芯片烧录装置、芯片烧录***及存储介质
CN111191217B (zh) * 2019-12-27 2022-12-13 华为技术有限公司 一种密码管理方法及相关装置
US11790098B2 (en) 2021-08-05 2023-10-17 Bank Of America Corporation Digital document repository access control using encoded graphical codes
US11880479B2 (en) 2021-08-05 2024-01-23 Bank Of America Corporation Access control for updating documents in a digital document repository

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198656A1 (en) * 2006-01-24 2007-08-23 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine executing in a terminal services session and hosting a requested computing environment
US20090132816A1 (en) * 2007-11-15 2009-05-21 Lockheed Martin Corporation PC on USB drive or cell phone
US20110099625A1 (en) * 2009-10-27 2011-04-28 Microsoft Corporation Trusted platform module supported one time passwords
CN203224878U (zh) * 2013-01-31 2013-10-02 齐齐哈尔医学院 基于外部tpm的计算机安全***

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485519A (en) * 1991-06-07 1996-01-16 Security Dynamics Technologies, Inc. Enhanced security for a secure token code
US5732212A (en) * 1992-10-23 1998-03-24 Fox Network Systems, Inc. System and method for remote monitoring and operation of personal computers
US6092201A (en) * 1997-10-24 2000-07-18 Entrust Technologies Method and apparatus for extending secure communication operations via a shared list
US7631195B1 (en) * 2006-03-15 2009-12-08 Super Talent Electronics, Inc. System and method for providing security to a portable storage device
US7152244B2 (en) * 2002-12-31 2006-12-19 American Online, Inc. Techniques for detecting and preventing unintentional disclosures of sensitive data
US7100062B2 (en) * 2003-01-28 2006-08-29 Hewlett-Packard Development Company, L.P. Power management controller and method
US20110271312A1 (en) * 2003-06-13 2011-11-03 Michael Arnouse Portable computing system and portable computer for use with same
US7382880B2 (en) * 2004-01-26 2008-06-03 Hewlett-Packard Development Company, L.P. Method and apparatus for initializing multiple security modules
US8271783B2 (en) * 2004-04-19 2012-09-18 Hewlett-Packard Development Company, L.P. Subordinate trusted platform module
US7987356B2 (en) * 2004-11-29 2011-07-26 Broadcom Corporation Programmable security platform
US7330965B2 (en) * 2005-02-09 2008-02-12 International Business Machines Corporation Multi-tiered boot list
US7908483B2 (en) * 2005-06-30 2011-03-15 Intel Corporation Method and apparatus for binding TPM keys to execution entities
US20070039042A1 (en) * 2005-08-12 2007-02-15 First Data Corporation Information-security systems and methods
US9081946B2 (en) * 2006-03-29 2015-07-14 Stmicroelectronics, Inc. Secure mass storage device
US7900058B2 (en) * 2006-08-31 2011-03-01 Intel Corporation Methods and arrangements for remote communications with a trusted platform module
JP2008072613A (ja) * 2006-09-15 2008-03-27 Fujitsu Ltd 管理システム,管理装置および管理方法
US8135135B2 (en) * 2006-12-08 2012-03-13 Microsoft Corporation Secure data protection during disasters
GB0624582D0 (en) * 2006-12-08 2007-01-17 Visible Computing Ltd USB autorun devices
US20080162915A1 (en) * 2006-12-29 2008-07-03 Price Mark H Self-healing computing system
US20080184028A1 (en) * 2007-01-29 2008-07-31 Dell Products L.P. Methods, Apparatus and Products for Establishing a Trusted Information Handling System
US8782801B2 (en) 2007-08-15 2014-07-15 Samsung Electronics Co., Ltd. Securing stored content for trusted hosts and safe computing environments
JP4505004B2 (ja) * 2007-09-28 2010-07-14 株式会社沖データ 画像形成装置
US8249257B2 (en) 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
US20090164994A1 (en) 2007-12-20 2009-06-25 Virtual Computer, Inc. Virtual computing management systems and methods
US8259948B2 (en) 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
US8854831B2 (en) * 2012-04-10 2014-10-07 Arnouse Digital Devices Corporation Low power, high density server and portable device for use with same
US10235323B2 (en) * 2008-02-13 2019-03-19 Michael Arnouse Portable computing system and portable computer for use with same
US9141139B2 (en) * 2012-04-10 2015-09-22 Arnouse Digital Devices Corp. Mobile data center
US20090210456A1 (en) * 2008-02-18 2009-08-20 Dell Products L.P. Methods, Systems and Media for TPM Recovery Key Backup and Restoration
EP2260397A4 (en) 2008-04-02 2013-05-29 Hewlett Packard Development Co CHANGING DISK DRIVE DATA
JP5446439B2 (ja) * 2008-07-24 2014-03-19 富士通株式会社 通信制御装置、データ保全システム、通信制御方法、およびプログラム
US8556991B2 (en) * 2008-08-08 2013-10-15 Absolute Software Corporation Approaches for ensuring data security
US8923520B2 (en) * 2009-02-06 2014-12-30 Dell Products L.P. System and method for recovery key management
KR101150415B1 (ko) * 2009-08-22 2012-06-01 (주)엠더블유스토리 보안 유에스비 저장매체 관리방법 및 보안 유에스비 저장매체 관리를 위한 프로그램이 기록된 매체
WO2011070571A1 (en) * 2009-12-08 2011-06-16 Safend Ltd. System and method for secured backup of data
WO2011149558A2 (en) * 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
US20120151223A1 (en) * 2010-09-20 2012-06-14 Conde Marques Ricardo Nuno De Pinho Coelho Method for securing a computing device with a trusted platform module-tpm
US9026805B2 (en) * 2010-12-30 2015-05-05 Microsoft Technology Licensing, Llc Key management using trusted platform modules
US8713683B2 (en) * 2011-02-01 2014-04-29 Mcci Corporation Security arrangements for extended USB protocol stack of a USB host system
US8898476B1 (en) * 2011-11-10 2014-11-25 Saife, Inc. Cryptographic passcode reset
US8769331B1 (en) * 2011-12-28 2014-07-01 Rupaka Mahalingaiah Method and apparatus for securing digital devices while reducing power consumption
US8984316B2 (en) * 2011-12-29 2015-03-17 Intel Corporation Fast platform hibernation and resumption of computing systems providing secure storage of context data
US9013207B2 (en) * 2012-12-27 2015-04-21 Intel Corporation Method and apparatus for chip self deactivation
US9594567B2 (en) * 2013-02-21 2017-03-14 Dell Products, Lp Configuring a trusted platform module
US9483655B2 (en) * 2013-03-12 2016-11-01 Commvault Systems, Inc. File backup with selective encryption
US9721086B2 (en) * 2013-03-15 2017-08-01 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US9501666B2 (en) * 2013-04-29 2016-11-22 Sri International Polymorphic computing architectures
US10084603B2 (en) * 2013-06-12 2018-09-25 Lookout, Inc. Method and system for rendering a stolen mobile communications device inoperative
US20140373184A1 (en) * 2013-06-12 2014-12-18 Lookout, Inc. Mobile device persistent security mechanism
US9098644B2 (en) * 2013-08-29 2015-08-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Asserting physical presence to a trusted platform module by physically connecting or disconnecting a hot pluggable device
US9753796B2 (en) * 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US10122747B2 (en) * 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9749299B1 (en) * 2015-03-09 2017-08-29 Symantec Corporation Systems and methods for image-based encryption of cloud data
US10063375B2 (en) * 2015-04-20 2018-08-28 Microsoft Technology Licensing, Llc Isolation of trusted input/output devices
US10020939B2 (en) * 2015-04-28 2018-07-10 Korea University Research And Business Foundation Device, server and method for providing secret key encryption and restoration
US9432340B1 (en) * 2015-05-07 2016-08-30 Bogart Associates System and method for secure end-to-end chat system
US10009179B2 (en) * 2015-11-30 2018-06-26 Microsoft Technology Licensing, Llc Trusted platform module (TPM) protected device
US10516533B2 (en) * 2016-02-05 2019-12-24 Mohammad Mannan Password triggered trusted encryption key deletion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198656A1 (en) * 2006-01-24 2007-08-23 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine executing in a terminal services session and hosting a requested computing environment
US20090132816A1 (en) * 2007-11-15 2009-05-21 Lockheed Martin Corporation PC on USB drive or cell phone
US20110099625A1 (en) * 2009-10-27 2011-04-28 Microsoft Corporation Trusted platform module supported one time passwords
CN203224878U (zh) * 2013-01-31 2013-10-02 齐齐哈尔医学院 基于外部tpm的计算机安全***

Also Published As

Publication number Publication date
EP3251044B1 (en) 2020-10-21
US10025932B2 (en) 2018-07-17
EP3251044A1 (en) 2017-12-06
US20160226657A1 (en) 2016-08-04
WO2016122844A1 (en) 2016-08-04
CN107209838A (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
CN107209838B (zh) 便携式安全设备
US10721080B2 (en) Key-attestation-contingent certificate issuance
US10284375B2 (en) Trust service for a client device
US10650139B2 (en) Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
Ruan Platform Embedded Security Technology Revealed
US8966642B2 (en) Trust verification of a computing platform using a peripheral device
US10212156B2 (en) Utilizing a trusted platform module (TPM) of a host device
US11050562B2 (en) Target device attestation using a trusted platform module
US10356116B2 (en) Identity based behavior measurement architecture
WO2019133326A1 (en) Securing temporal digital communications
Κασαγιάννης Security evaluation of Android Keystore

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