CN107077574A - 用于客户端设备的信任服务 - Google Patents

用于客户端设备的信任服务 Download PDF

Info

Publication number
CN107077574A
CN107077574A CN201580057103.4A CN201580057103A CN107077574A CN 107077574 A CN107077574 A CN 107077574A CN 201580057103 A CN201580057103 A CN 201580057103A CN 107077574 A CN107077574 A CN 107077574A
Authority
CN
China
Prior art keywords
client device
client
request
command
value
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
CN201580057103.4A
Other languages
English (en)
Other versions
CN107077574B (zh
Inventor
S.索姆
R.艾格纳
D.J.马图恩
S.H.谢菲尔
M.卡帕迪亚
R.K.斯皮格尔
D.R.伍滕
P.恩格兰
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
Priority to CN202010086265.3A priority Critical patent/CN111324895B/zh
Priority to CN202311557629.1A priority patent/CN117592053A/zh
Publication of CN107077574A publication Critical patent/CN107077574A/zh
Application granted granted Critical
Publication of CN107077574B publication Critical patent/CN107077574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3247Cryptographic 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 digital signatures
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

描述了用于针对客户端设备的信任服务的技术。在各种实现中,信任服务远离客户端设备实现并且向客户端设备提供各种信任相关功能。根据各种实现,客户端设备和远程信任服务之间的通信通过客户端标识符(ID)来认证,所述客户端标识符(ID)由客户端设备和远程信任服务二者维护。在至少一些实现中,客户端ID存储在受保护以防通过设备组件(诸如操作***、应用等)的访问(例如,对于设备组件而言不可访问)的客户端设备的位置上。因而,可以利用客户端ID来生成签名以认证客户端设备和远程信任服务之间的通信。

Description

用于客户端设备的信任服务
背景技术
随着计算机已经变得越来越普遍,已经在计算机上存储越来越大数量的数据。这对于用户而言具有许多益处,包括在相对小空间中存储大量数据的能力。然而,该数据中的一些时常旨在仅对于保持机密或被显露给仅某些个体。可以以不同方式保护该数据,诸如使用口令或者个人标识号码。尽管这样的保护可以是有帮助的,但是计算机可能易受攻击所影响,所述攻击诸如字典攻击或者暴力攻击,其中做出数个尝试以猜测口令或者个人标识号码。这些易受影响性可能引起用户具有对其计算机的减少的信任度,这减损积极用户体验。
发明内容
提供该发明内容来以简化形式引入以下在具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用作帮助确定所要求保护的主题的范围。
描述了用于针对客户端设备的信任服务的技术。在各种实现中,信任服务远离客户端设备实现并且向客户端设备提供各种信任相关功能。例如,信任服务可以维护用于客户端设备的安全资产,诸如安全密钥、受保护的数据、加密/解密算法等。根据各种实现,客户端设备和远程信任服务之间的通信通过客户端标识符(ID)来认证,所述客户端标识符(ID)由客户端设备和远程信任服务二者维护。在至少一些实现中,客户端ID存储在受保护以防通过设备组件(诸如操作***、应用等)的访问(例如,对于设备组件而言不可访问)的客户端设备的位置上。因而,可以利用客户端ID来生成签名以认证客户端设备和远程信任服务之间的通信。
附图说明
参照随附各图描述具体实施方式。在附图中,参考标记最左边的(多个)数位标识该参考标记第一次出现在其中的附图。相同参考标记在说明书和附图中的不同实例中的使用可以指示相似或者等同的项目。
图1是依照一个或多个实施例的可操作为采用本文讨论的技术的示例实现中的环境的图示。
图2描绘了依照一个或多个实施例的用于客户端值与服务值的交换的示例实现场景。
图3是描述了依照一个或多个实施例的用于交换客户端值和服务值的方法中的步骤的流程图。
图4是描述了依照一个或多个实施例的用于向客户端设备返回服务值的方法中的步骤的流程图。
图5是描述了依照一个或多个实施例的用于传送命令请求的方法中的步骤的流程图。
图6是描述了依照一个或多个实施例的用于查明是否执行信任命令的方法中的步骤的流程图。
图7是描述了依照一个或多个实施例的用于传送请求响应的方法中的步骤的流程图。
图8是描述了依照一个或多个实施例的用于认证请求响应的方法中的步骤的流程图。
图9是描述了依照一个或多个实施例的用于更新服务值的方法中的步骤的流程图。
图10是描述了依照一个或多个实施例的用于传送经更新的服务值的方法中的步骤的流程图。
图11是描述了依照一个或多个实施例的用于利用测量结果来扩展设备密钥的方法中的步骤的流程图。
图12是描述了依照一个或多个实施例的用于利用已知良好测量结果来验证设备状态的方法中的步骤的流程图。
图13是描述了依照一个或多个实施例的用于改变客户端设备的各种信任信息的方法中的步骤的流程图。
图14图示了如参照图1所述的示例***和计算设备,其被配置为实现本文描述的技术的实施例。
具体实施方式
概述
描述了用于针对客户端设备的信任服务的技术。在各种实现中,信任服务远离客户端设备实现并且向客户端设备提供各种信任相关功能。例如,信任服务可以维护用于客户端设备的安全资产,诸如安全密钥、受保护的数据、加密/解密算法等。
根据各种实现,客户端设备和远程信任服务之间的通信通过客户端标识符(ID)来认证,所述客户端标识符(ID)由客户端设备和远程信任服务二者维护。在至少一些实现中,客户端ID存储在受保护以防通过设备组件(诸如操作***、应用等)的访问(例如,对于设备组件而言不可访问)的客户端设备的位置上。因而,可以利用客户端ID生成签名以认证客户端设备和远程信任服务之间的通信。
根据各种实现,本文讨论的技术向客户端设备提供信任服务而不用客户端设备实现其自身的基于硬件的信任环境。例如,在客户端设备不具有本地可信平台模块的情况下,远程信任服务可以向客户端设备提供可信平台模块功能性。因而,可以通过消除对于客户端设备上的本地可信平台模块的需要而同时经由远程服务为客户端设备提供可信平台模块功能,来节省制造成本。另外,可以通过将用于客户端设备的信任操作卸载到远程信任服务而节省客户端设备上的处理和存储器资源(例如,CPU带宽、数据存储空间等)。
在以下讨论中,首先描述可操作为采用本文描述的技术的示例环境。接下来,题为“示例规程”的章节描述了依照一个或多个实施例的用于客户端设备的信任服务的一些示例方法。最后,题为“示例***和设备”的章节描述了依照一个或多个实施例的可操作为采用本文讨论的技术的示例***和设备。
示例环境
图1是可操作为采用本文讨论的用于针对客户端设备的信任服务的技术的示例实现中的环境100的图示。环境100包括客户端设备102,其可以体现为任何适合的设备,诸如作为示例而非限制,智能电话、平板计算机、便携式计算机(例如,膝上型电脑)、桌上型计算机、可穿戴设备等。在至少一些实现中,客户端设备102表示智能家电,诸如恒温器、冰箱、湿度传感器、安全硬件(例如,相机、运动传感器等)、灯具、门锁***等。因而,客户端设备102的范围可以从具有显著处理能力的***到具有最小处理能力的轻量设备。客户端设备102的各种不同示例之一以下在图QQ中示出和描述。
客户端设备102包括使得能够执行各种活动和任务的各种不同功能性。例如,客户端设备102包括操作***104、应用106和通信模块108。一般地,操作***104代表用于对客户端设备102的各种***组件(诸如硬件、内核级模块和服务等)抽象化的功能性。操作***104例如可以对于应用106抽象化客户端设备102的各种组件以使得能够实现组件和应用106之间的交互。
应用106代表使得能够经由客户端设备102执行各种任务和活动的功能性,诸如用于观察各种现象、报告事件、改变设备设置和/或配置等。应用106可以本地安装在客户端设备102上以便经由本地运行时间环境执行,和/或可以表示针对远程功能性(诸如基于云的服务、web应用等)的入口。因而,应用106可以采取各种形式,诸如本地执行的代码、针对远程托管的服务的入口等。
通信模块108代表用于使得客户端设备102能够通过有线和/或无线连接进行通信的功能性。例如,通信模块108表示用于经由各种不同的有线和/或无线技术和协议进行通信的硬件和逻辑。
客户端设备102还包括安全模块110,其代表受保护以防通过客户端设备102的大多数或所有其它功能性进行一般访问的客户端设备102的部分。安全模块110可以以各种方式实现,诸如分离的专用硬件环境(例如,专用芯片)、现有硬件环境的细分部分(例如,中央处理单元(CPU)的子部分)、受保护的固件环境等。根据各种实现,操作***104和/或应用106可以与安全模块110通信,但是可以不访问维护在安全模块110内的数据和功能性。
安全模块110包括使得能够实现用于针对客户端设备的信任服务的技术的各种方面的数据、逻辑和功能性。例如,安全模块110包括设备标识符(ID)112、设备密钥114、客户端密码(密码术)引擎116和客户端配置寄存器118。一般地,设备ID 112代表区分客户端设备102与其它客户端设备的标识符。设备ID 112例如可以对应于绑定到客户端设备102的随机生成的值。可替换地或者附加地,设备ID 112可以对应于由客户端密码术引擎116生成的密码值,诸如通过向特定数据值应用设备密钥114以生成设备ID 112。然而,这不旨在为限制性的,并且设备ID 112可以以各种其它方式生成,而同时维持在本文讨论的实现的精神和范围内。
一般地,设备密钥114代表根据任何合适的密码协议生成的密码密钥。根据各种实现,设备密钥114永久地存储在安全模块110内并且不能由外部实体访问,所述外部实体诸如操作***104、应用106等。设备密钥114例如存储在仅由安全模块110可访问的可编程只读存储器(PROM)中。
客户端密码术引擎116代表执行用于安全模块110和/或客户端设备102的各种密码功能的功能性。例如,客户端密码术引擎116可以执行加密和解密任务。根据各种实现,客户端密码术引擎116可以根据各种不同密码协议中的一个或多个进行操作,诸如安全散列算法(SHA)协议、RSA、MD5等。在至少一些实现中,密码术引擎QQ可以利用密钥对数据进行加密和解密,所述密钥是使用基于散列的消息认证代码(HMAC)导出的。
根据各种实现,客户端配置寄存器118代表用于存储各种***组件的“测量结果”的功能性,诸如在***引导时间处收集的操作***104的模块的测量结果。例如,客户端设备102的测量结果模块120可以捕获测量结果并且将它们存储为客户端配置寄存器118的部分。
一般地,“测量结果”是指标识和/或表征各种设备相关数据的方式,诸如客户端设备102的代码组件、客户端设备102的配置数据等。如本文中所使用的,术语“代码组件”一般是指可执行代码的部分,诸如应用106的部分、服务、操作***104的模块、进程、各种二进制数和/或可执行文件、配置数据等。测量结果的示例包括从设备相关数据生成的散列值、数据签名、设备相关数据的加密版本和/或设备相关数据的部分等。例如,可以通过向设备相关数据应用SHA(例如SHA-1、SHA-2等)而生成测量结果。
根据各种实现,设备相关数据的测量结果可以由测量结果模块120在***引导时间处捕获并且存储在客户端配置寄存器118中。一般地,客户端配置寄存器118存储客户端设备102的设备相关数据的测量结果的序列,其中通过将新的测量结果增补到现有寄存器值并且计算级联值的散列来计算客户端配置寄存器118的新值。可以对于设备相关数据的多个不同实例(例如,多个代码模块)重复该过程。如下文进一步详述的,可以利用设备相关数据的测量结果来查明客户端设备102的状态是否已经改变。
环境100还包括信任服务122,其代表提供用于客户端设备102以及其它设备和/或实体的各种安全相关服务的功能性。一般地,客户端设备102和信任服务122之间的通信通过(多个)网络124发生。(多个)网络124可以采取各种不同配置,诸如局域网(LAN)、广域网(WAN)、互联网等。(多个)网络124例如可以包括经由任何合适的有线和/或无线协议和/或其组合实现的有线和/或无线网络的组合。在至少一些实现中,参照环境100和/或本文中讨论的其它部分所讨论的功能性可以实现在分布式环境中(例如“通过云”),如关于图QQ进一步所述。信任服务122例如表示基于云和/或分布式的服务,其可以托管在一个或多个基于网络的位置处。
信任服务122维护信任模块126,其代表用于维护针对不同实体的信任相关数据和功能性的功能性。例如,特定信任模块126表示信任环境,其存储用于客户端设备102的信任相关数据和功能性,使得对特定信任模块的访问限于客户端设备102和/或被授权访问用于客户端设备102的特定信任模块126的其它实体。在至少一些实现中,信任模块126的不同实例利用不同设备单独地标识,使得特定信任模块126与单个设备相关联。
根据一个或多个实现,信任模块126可以单独实现为分离的硬件环境,诸如单独的可信平台模块。一般地,可信平台模块是指受保护以防一般***访问的功能性,诸如受保护的硬件和/或固件环境。例如,可信平台模块表示其中可以安全地执行代码的防篡改环境,该环境保护安全资产以防非授权访问。
包括设备ID 128、设备密钥130、安全资产132、授权策略134和服务配置寄存器136以作为信任模块126的部分。一般地,设备ID 128表示用于具有相关联的信任模块126的不同设备的标识符。例如,特定信任模块126包括对应于客户端设备102的设备ID 112的设备ID 128。根据各种实现,这使得用于客户端设备102的信任模块126能够出于各种目的而被定位和访问。
设备密钥130表示用于不同设备的密码密钥,诸如加密密钥、解密密钥等。例如,用于客户端设备102的特定信任模块126维护特定设备密钥130,其对应于设备密钥114,例如与设备密钥114等同。根据各种实现,这使得使用设备密钥114加密的数据能够由信任服务122利用特定设备密钥130来解密。
一般地,安全资产132代表不同类型的安全相关资产。安全资产132例如可以包括可以运用以验证某些实体的身份的信息、各种类型数据的真实性和/或可信状态等。安全资产124的示例包括安全密钥(例如,密码密钥)、安全证书、加密和解密算法、受保护的数据等。
根据各种实现,授权策略134代表代表用于指定不同条件、规则、参数和指令以用于控制对安全资产132的访问的功能性。例如,各个授权策略134可以绑定到各个安全资产132,使得对各个安全资产132的访问可以经由相应授权策略134来控制。例如,如果没有满足由特定授权策略134指定用于对特定安资产132的访问的条件,则可以拒绝对特定安全资产132的访问。
服务配置寄存器136代表用于存储各种设备状态信息的功能性。例如,特定服务配置寄存器136可以存储对于操作***104的组件的已知良好(例如,安全)版本的测量结果。因而,来自特定服务配置寄存器136的操作***104的组件的已知良好测量结果可以与从操作***104获得的组件的当前测量结果相比较。如果测量结果匹配,则这可以指示组件当前处于安全状态。如果测量结果不匹配,则这可以指示组件的当前版本已经改变(例如,将不被信任),诸如基于对操作***104的非授权改变。
信任服务122还包括服务密码(密码术)引擎138,其代表执行用于信任服务122的各种密码功能的功能性。例如,服务密码术引擎138可以执行加密和解密任务。根据各种实现,服务密码术引擎138可以根据各种不同密码协议中的一个或多个进行操作,诸如SHA协议、RSA、MD5等。在至少一些实现中,服务密码术引擎138可以利用HMAC导出的密钥对数据进行加密和解密。
进一步图示了作为环境100的部分的设备授权机构140,其代表具有关于客户端设备102的某些安全特权和/或责任的实体。设备授权机构140例如表示客户端设备102的制造商。可替换地或者附加地,设备授权机构140表示管制和/或维护客户端设备102的实体,其诸如用于发布针对客户端设备102的组件(例如,针对软件、固件等)的更新、用于发布针对客户端设备102的安全资产、用于修复客户端设备102等。
根据各种实现,用于客户端设备102的信任模块126经由设备授权机构140和信任服务122之间的交互来配置。例如,设备授权机构140请求信任服务122创建用于客户端设备102的信任模块126。进一步针对这样的请求,设备授权机构为信任服务122提供用于信任模块126的配置参数,诸如用于客户端设备102的设备ID 128、设备密钥130、安全资产132和/或授权策略134。信任服务122然后可以使用配置参数生成并且供应用于客户端设备102的特定信任模块126。
已经描述了本文描述的技术可以在其中操作的示例环境,现在考虑依照一个或多个实施例的示例实现场景的讨论。
示例实现场景
该章节描述了依照一个或多个实现的示例实现场景。实现场景可以在以上描述的环境100和/或任何其它合适的环境中实现。实现场景例如描述客户端设备102、信任服务122的示例操作和/或客户端设备102与信任服务122之间的交互。
图2图示描绘了依照一个或多个实现的用于客户端值和服务值的交换的示例实现场景200。在至少一些实现中,场景200在客户端设备102最初安装和/或上电时发生,诸如进一步地用于客户端设备102的最初开即用(out of box)体验。场景200例如可以表示在客户端设备102已经离开制造设施之后用于客户端设备102的第一次上电事件。
在场景200中,客户端设备102向信任服务122传送设备ID 113和客户端值202。如上文所引用,设备ID 112可以以各种方式生成。例如,设备ID 112表示数值(例如,任意值),其由客户端密码术引擎116通过向设备密钥114和某种形式的数据应用密码功能以诸如生成HMAC而生成。例如,设备ID 112可以生成为DeviceID=HMAC(DeviceKey, 种子值),其中种子值可以任意限定和/或基于已知数据。
客户端值202代表可以用于各种目的的任意值,诸如用于对在客户端设备102和信任服务122之间发送的数据进行加密、用于追踪客户端设备102的状态信息(例如,引导状态)等。客户端值202可以以各种方式生成,诸如经由随机数生成器,其可以生成表示客户端值202的nonce值。
进一步针对场景200,信任服务122接收设备ID 112和客户端值202,并且使用设备ID 112来定位用于客户端设备102的信任模块126。信任服务122例如维护目录,该目录将设备ID 128映射到相应信任模块126、因而,信任服务122可以使用设备ID 112执行直接查找和/或其它查询操作来匹配到对应设备ID 128以便定位用于客户端设备102的信任模块126。在已经定位信任模块126的情况下,信任服务122作为信任模块126的部分而存储客户端值202。
信任服务122然后生成服务值204并且将服务值204传送给客户端设备102。一般地,服务值204代表可以用于各种目的的任意值,诸如用于对在客户端设备102和信任服务122之间发送的数据进行加密。服务值204可以以各种方式生成,诸如经由随机数生成器,其可以生成表示服务值204的nonce值。
以场景200继续,安全模块110接收服务值204并且将服务值204存储在安全模块110内的受保护存储装置中使得安全模块110外部的组件(例如,操作***104)不能访问服务值204。
因而,客户端设备102和信任服务122现在各自具有设备密钥112、客户端值202和服务值204的相应副本。如下文进一步详述,可以采用这些元素以使得信任服务122能够向客户端设备102提供信任相关服务。
已经描述了可以采用本文描述的技术的示例实现场景,现在考虑依照一个或多个实施例的一些示例规程的讨论。
示例规程
以下章节描述依照一个或多个实施例的用于客户端设备的信任服务的一些示例规程。示例规程可以在图1的环境100、图14的***1400和/或任何其它合适的环境中采用。规程例如可以由客户端设备102、信任服务122和/或经由客户端设备102与信任服务122之间的交互来执行。在至少一些实施例中,针对各种规程所描述的步骤自动地实现并且与用户交互无关。
图3是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于交换客户端值和服务值的示例规程。在至少一些实现中,方法可以在客户端设备102第一次上电时(诸如作为用于客户端设备102的开即用体验的部分)由客户端设备102执行。
步骤300获取用于客户端设备的设备标识符。客户端设备102例如从安全模块110取回设备ID 112。如上文所引用,设备ID 112可以以各种方式生成。例如,设备ID 112可以通过使用设备密钥112对数据进行加密来生成。可以利用设备密钥112对各种类型的数据进行加密以生成设备ID 112,诸如客户端值202、随机nonce值和/或其它数据。可替换地或者附加地,设备ID 112可以在制造客户端设备102时生成并且存储在安全模块110中。一般地,用于生成设备ID 112的数据受保护以防通过安全模块110外部的实体所访问。
步骤302向远程信任服务传送设备标识符和客户端值。客户端设备102例如向信任服务122传送设备ID 112和客户端值202。在至少一些实现中,设备ID 112和客户端值202可以在传送给信任服务122之前加密。例如,在将设备标识符112和客户端值202传递给操作***104以用于向信任服务122传送之前,安全模块110可以采用客户端密码术引擎116对它们进行加密。在向信任服务122传送之前,可以采用各种类型的加密来对设备ID 112和客户端值202进行加密。例如,可以由安全模块110和信任服务122利用基于会话的加密密钥以对在它们之间传送的数据进行加密。
步骤304从远程信任服务接收服务值。例如,响应于接收到设备ID 112和客户端值202,信任服务122将服务值204返回给客户端设备102,例如返回给安全模块110。
步骤306利用服务值以用于在客户端设备和远程信任服务之间的通信。如本文中进一步详述,安全模块110可以出于各种目的而利用服务值204,诸如用于生成命令签名以向信任服务122传送基于信任的命令。
图4是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于将服务值返回到客户端设备的示例规程。在至少一些实现中,方法可以在客户端设备102第一次上电时(诸如作为用于客户端设备102的开即用体验的部分)由信任服务122执行。
步骤400从客户端设备接收设备标识符和客户端值。信任服务122例如从客户端设备102接收设备ID 112和客户端值202。例如,当客户端设备102第一次上电时,例如作为用于客户端设备102的开即用体验的部分,可以作为客户端设备102和信任服务122之间执行的握手规程的部分来接收设备ID 112和客户端值202。
步骤402定位用于客户端设备的设备简档。例如,信任服务122利用设备ID 112来标识用于客户端设备102的信任模块126。在至少一些实现中,用于客户端设备102的信任模块126通过设备制造商(诸如,通过设备授权机构140)在信任服务122上供应。
步骤404存储作为设备简档的部分的客户端值。信任服务122例如存储作为信任模块126的部分的客户端值202。如本文中进一步详述,可以采用客户端值202来验证客户端设备102和信任服务122之间的通信的各种方面。
步骤406生成服务值。信任服务122例如生成服务值204。如上文所引用,服务值204可以以各种方式实现,诸如随机nonce值。
步骤408向客户端设备传送服务值。例如,信任服务122向客户端设备102传送服务值204。
步骤410利用客户端值和服务值以用于与客户端设备的通信。如下文所讨论,服务值204可以用于各种目的,诸如用于生成用于针对客户端设备102的通信的各种签名。客户端值202也可以用于各种目的,诸如用于签名验证以及用于验证客户端设备102的引导状态。
图5是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于传送命令请求的示例规程。
步骤500查明要执行信任命令。客户端设备102例如查明要执行基于信任的命令。信任命令的示例包括针对安全资产132的请求、对数据加密的请求、对数据解密的请求等。一般地,执行基于信任的命令的请求可以从各种实体接收,诸如操作***104、应用106等。
步骤502格式化用于信任命令的命令请求。例如,安全模块110使用描述信任命令的命令参数来生成命令请求。安全模块110然后使用命令参数(例如,命令指令)、设备密钥114、客户端值202和服务值204来生成命令签名。例如,命令签名可以由客户端密码术引擎116生成为:
CommandSignature=HMAC((DeviceKey||ClientValue||ServiceVallue), TrustCommand), 其中||是级联。
然后可以利用命令签名将命令请求格式化为{TrustCommand, ClientValue, CommandSignature}
如下文进一步详述,设备状态信息可以以各种方式表示在命令请求中。例如,设备状态信息可以反映在设备密钥中(例如,以测量结果的形式)、设备值中(例如,作为引导状态)等。因而,在至少一些实现中,命令请求可以反映设备状态信息,其可以用于确定是否准许执行所请求的信任命令。
步骤504对命令请求进行加密。命令请求可以使用任何合适的加密协议和/或算法进行加密。例如,客户端密码术引擎可以利用加密密钥对命令请求进行加密,加密密钥诸如是使用设备密钥QQ计算的基于会话的密钥。附加地或者可替换地,可以应用XOR混淆来混淆命令请求。
步骤506向远程信任服务传送经加密的命令请求。客户端设备102例如向信任服务122传送经加密的命令请求。
图6是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于查明是否执行信任命令的示例规程。
步骤600从客户端设备接收经加密的命令请求。例如,信任服务122从客户端设备102接收经加密的命令请求。
步骤602对经加密的命令请求进行解密以暴露设备标识符、命令参数和命令签名。根据一个或多个实现,可以以各种方式对经加密的命令请求进行解密,诸如使用在客户端设备102和信任服务122之间共享的基于会话的加密密钥。对经加密的命令请求进行解密例如揭示了设备ID 112连同命令参数,诸如信任命令和客户端值202。
步骤604将设备标识符匹配到用于客户端设备的设备密钥。信任服务122例如利用设备ID 112来标识绑定到客户端设备102的信任模块126。信任服务122然后从信任模块126取回设备密钥130。
步骤606利用设备密钥、命令参数和服务值的本地版本来生成服务验证签名。信任服务122例如使用用于客户端设备102的设备密钥130、作为信任模块126的部分存储的服务值204以及作为命令请求的部分接收的命令参数(例如,信任命令参数和客户端值202)来计算验证签名。例如,服务验证签名可以生成为:
VerificationSignatureS=HMAC((DeviceKeyS||ClientValue||ServiceValueS), TrustCommand),其中DeviceKeySServiceValueS在本地(例如从信任模块126)取回,并且ClientValueTrustCommand作为命令请求的部分进行接收。
步骤608查明验证签名是否与利用命令请求所接收的命令签名匹配。信任服务122例如比较验证签名与所接收的命令签名。
如果验证签名与命令签名匹配(“是”),则步骤610执行信任命令。信任命令可以以各种方式实现。例如,信任命令可以包括对利用命令请求所包括的经加密的数据进行解密的请求。安全资产132例如可以包括密码密钥,其可以用于对经加密的数据进行解密。作为另一个示例,命令请求可以包括对利用命令请求所包括的数据进行加密的请求。安全资产132例如可以包括密码密钥,其可以用于对数据加密。作为又一个示例,命令请求可以包括针对安全资产132(诸如密码密钥和/或其它受保护的数据)的请求。
如果验证签名与命令签名不匹配(“否”),则步骤612拒绝信任命令。例如,拒绝对用于客户端设备102的信任模块126的访问。在至少一些实现中,信任服务122向客户端设备102传送拒绝信任命令的通知。
各种原因可以引起验证签名与命令签名不匹配。例如,如果使用无效设备密钥和/或服务值生成命令签名,则签名将不匹配。在至少一些实现中,签名匹配方面的失败可以指示尝试获取对用于客户端设备102的信任模块126的非授权访问。可替换地或者附加地,签名匹配方面的失败可以指示客户端设备102处于不可信状态,例如客户端设备102(例如,操作***104)的代码组件已经被更改并且因而处于不可信状态,使得拒绝对信任模块126的访问。
图7是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于传送请求响应的示例规程。在至少一些实现中,方法描述了以上参照图6讨论的方法的示例扩展。
步骤700格式化请求响应。例如,信任服务122生成请求响应,其包括执行信任命令的结果,诸如经解密的数据、经加密的数据、安全资产等。信任服务122然后使用命令结果、设备密钥QQ、设备值QQ和服务值204来生成响应签名。例如,命令签名可以由服务密码术引擎138生成为:
ReponseSignature=HMAC((DeviceKey||ClientValue||ServiceValue), CommandResult)
请求响应然后可以利用命令签名而格式化为{CommandResult, ServiceValue, ResponseSignature}。
步骤702对请求响应进行加密。请求响应可以使用任何合适的加密协议和/或算法来加密。例如,服务密码术引擎138可以利用加密密钥对请求响应进行加密,加密密钥诸如是使用设备密钥QQ计算的基于会话的密钥。附加地或者可替换地,可以应用XOR混淆以混淆命令请求。
步骤704向客户端设备传送经加密的请求响应。信任服务122例如向客户端设备102传送经加密的请求响应。
图8是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于认证请求响应的示例规程。
步骤800从远程信任服务接收经加密的请求响应。客户端设备102例如从信任服务122接收经加密的请求响应,其响应于来自客户端设备102的命令请求而生成。命令请求和请求响应的示例属性在上文讨论。
步骤802对经加密的请求响应进行解密以暴露请求响应、服务值和响应签名。客户端密码术引擎116例如对请求响应进行解密以揭示请求响应、服务值和请求签名。如上文所引用,请求响应可以包括执行信任命令的结果,其示例在上文提供。
步骤804利用设备密钥、请求响应和服务值的本地版本来生成客户端验证签名。信任模块126例如使用在信任模块126上本地维护的设备密钥QQ和服务值204、以及作为请求响应的部分而接收的命令响应来计算验证签名。例如,客户端验证签名可以生成为:
VerifSignatureC=HMAC((DeviceKeyC||ClientValueC||ServiceValueC), CommandResponse),其中DeviceKeyCClientValueCServiceValueC在本地(例如从安全模块110)取回,并且CommandResponse作为命令响应的部分而接收。
步骤806查明客户端验证签名是否与利用命令响应所接收的响应签名匹配。安全模块110例如比较客户端验证签名与所接收的响应签名。
如果客户端验证签名与响应签名匹配(“是”),则步骤808查明请求响应被认证。安全模块110例如查明请求响应被认证并且因而可以被信任。例如,安全模块110确定可以信任包括在请求响应中的数据(例如,执行信任命令的结果)。
如果客户端验证签名与响应签名不匹配(“否”),则步骤810查明请求响应没有被认证。安全模块110例如查明请求响应没有被认证并且因而不能被信任。例如,安全模块110确定包括在请求响应中的数据(例如,执行信任命令的推定结果)是不可信的。在至少一些实现中,摒弃未能被认证的请求响应。
图9是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于更新服务值的示例规程。
步骤900响应于客户端设备重新引导而更新客户端值。客户端设备102例如响应于客户端设备102的重新引导而重新计算客户端值202。一般地,重新计算的客户端值202替换客户端值的之前版本。
在至少一些实现中,设备重新引导可以在客户端设备102断电并且然后再次上电时发生。可替换地或者附加地,设备重新引导可以在客户端设备102崩溃(例如,操作***104)并且随后重新开启时发生。一般地,设备重新引导使客户端设备102从之前的引导状态转变成新的引导状态。
步骤902向远程信任服务传送经更新的客户端值。例如,客户端设备102向信任服务122传送经更新的客户端值。在至少一些实现中,作为命令请求的部分来传送经更新的客户端值。例如,经更新的客户端值可以用于ClientValue变量,其用于计算命令签名和命令请求,诸如以上参照图5所讨论。如下文所讨论,经更新的客户端值可以用于指示客户端设备已经重新引导到新的引导状态。
步骤904从远程信任服务接收经更新的服务值。客户端设备102例如从信任服务122接收服务值204的经更新的版本。如下文所详述,信任服务122可以响应于接收到经更新的客户端值而生成经更新的服务值。
步骤906利用经更新的服务值来认证来自远程信任服务的通信。例如,客户端设备102利用经更新的服务值来认证来自信任服务122的信任相关通信。经更新的服务值例如可以用作以上参照图8讨论的ServiceValueC变量。在至少一些实现中,经更新的服务值可以用于替换服务值的之前的不同版本。
图10是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于传送经更新的服务值的示例规程。
步骤1000从客户端设备接收经更新的客户端值。信任服务122例如从客户端设备102接收经更新的客户端值202。如上文所讨论,经更新的客户端值可以响应于客户端重新引导而生成和传送。响应于接收到经更新的客户端值,信任服务122可以查明重新引导事件已经发生并且客户端设备102处于新的引导状态。
经更新的客户端值可以以各种方式接收。例如,经更新的客户端值可以作为命令请求的部分来接收,诸如以上参照图5讨论的ClientValue变量。
步骤1002利用经更新的客户端值替换之前的客户端值。例如,信任服务122利用经更新的客户端值来替换信任模块126中的当前客户端值。
步骤1004生成经更新的服务值。信任服务122例如生成不同于当前服务值204的经更新的服务值。例如,响应于查明接收到经更新的客户端值而生成经更新的服务值204。
步骤1006向客户端设备传送经更新的服务值。例如,信任服务122向客户端设备102传送经更新的服务值。如上文所引用,经更新的服务值可以由客户端设备102利用以认证来自信任服务122的通信。
图11是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于利用测量结果来扩展设备密钥的示例规程。在至少一些实现中,可以在执行***引导过程的同时执行方法。例如,可以在每一次引导***以生成引导状态信息时执行方法。
步骤1100收集***组件的测量结果。例如,客户端设备102生成***代码(诸如操作***104的组件)的测量结果。生成测量结果的示例方式在上文讨论,并且可以一般地包括生成代码组件的散列值。
在至少一些实现中,响应于***引导事件而收集***组件的测量结果。例如,当客户端设备102最初引导(例如,作为开即用体验的部分)或者重新引导事件发生时,捕获***组件的测量结果。尽管出于示例的目的讨论了单个测量结果,但是要领会到,可以捕获多个不同***组件的测量结果。
步骤1102利用测量结果扩展设备密钥。安全模块110例如利用测量结果来扩展设备密钥QQ。一般地,利用测量结果对设备密钥QQ的扩展可以执行为ClientDeviceKey n+1 = HMAC(ClientDeviceKey n , ClientMeasurement n+1 ),其中ClientDeviceKey是在客户端设备上(例如,由安全模块110)本地维护的设备密钥的版本,并且ClientMeasurement是在客户端设备上捕获的代码组件的测量结果。
如上文所引用,设备ID(例如,设备ID 112)可以基于设备密钥114来生成。因而,在利用测量结果增补设备密钥114之前,可以在利用测量结果扩展之前作为设备密钥114的函数来计算设备ID 112。一旦计算了设备ID 112,就可以利用一个或多个测量结果扩展设备密钥114。例如,当捕获用于多个不同组件的测量结果时,设备密钥114可以扩展为:
ClientDeviceKey 1 =HMAC(ClientDeviceKey 0 , ClientMeasurement 1 )
ClientDeviceKey 2 =HMAC(ClientDeviceKey 1 , ClientMeasurement 2 )
ClientDeviceKey n+1 =HMAC(ClientDeviceKey n , ClientMeasurement n+1 )
步骤1104存储经扩展的设备密钥。安全模块110例如作为客户端配置寄存器118的部分而存储经扩展的设备密钥。在至少一些实现中,在所测量的组件可操作之前,例如在客户端设备102仍然处于引导过程中的同时,存储经扩展的设备密钥。因而,可以使所测量的组件免于被利用其测量结果进行篡改并且避免检测。
步骤1106利用经扩展的设备密钥以用于与信任服务的通信。安全模块110例如利用得到的ClientDeviceKey n+1 以用于命令请求的通信,诸如用于如参照图5讨论的用于生成CommandSignatureDeviceKey变量。
根据各种实现,该方法可以在***(例如,客户端设备102)每一次引导时执行。因而,可以响应于***引导事件而收集测量结果并且将其用于扩展设备密钥以便验证设备状态。
图12是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于利用已知良好测量结果来验证设备状态的示例规程。在至少一些实现中,方法描述了参照图6描述的方法的示例变形。
步骤1200接收命令请求,其包括用于客户端设备的设备标识符和命令签名。设备标识符和命令签名的示例在上文描述。
步骤1202利用客户端设备的代码组件的已知良好测量结果来扩展设备密钥。信任服务122例如从服务配置寄存器136取回已知良好测量结果。信任服务122然后利用已知良好测量结果来扩展用于客户端设备102的设备密钥130(例如,设备密钥114的本地版本)。一般地,利用已知良好测量结果对设备密钥130的扩展可以执行为ServiceDeviceKey n+1 =HMAC (ServiceDeviceKey n , ServiceMeasurement n+1 ),其中ServiceDeviceKey是在信任服务上本地维护的设备密钥的版本(例如,作为用于客户端设备102的信任模块126的部分),并且ServiceMeasurement是由信任服务122诸如在服务配置寄存器136中维护的代码组件的已知良好测量结果。
如上文所引用,可以捕获用于多个不同代码组件的测量结果并且使用其生成设备密钥。因而,当要基于多个测量结果而执行签名验证时,将使用多个已知良好测量结果将设备密钥QQ扩展为:
ServiceDeviceKey 1 =HMAC(ServiceDeviceKey 0 , ServiceMeasurement 1 )
ServiceDeviceKey 2 =HMAC(ServiceDeviceKey 1 , ServiceMeasurement 2 )
ServiceDeviceKey n+1 =HMAC(ServiceDeviceKey n , ServiceMeasurement n+1 )
步骤1204使用经扩展的设备密钥生成验证签名。信任服务122例如利用经扩展的设备密钥作为DeviceKeyS变量以用于生成参照图6讨论的VerificationSignatureS
步骤1206查明验证签名是否与利用命令请求接收的命令签名匹配。如果命令签名与命令签名匹配(“是”),则步骤1208允许命令请求。如上文所讨论,所允许的命令请求可以包括引起执行信任命令,以及向请求实体传送信任命令的结果。
在至少一些实现中,如果验证签名与命令签名匹配,则这意味着用于生成命令签名(例如,用于生成以上引用的ClientDeviceKey n+1 )的测量结果与已知良好测量结果匹配,并且因而所测量的组件很可能处于已知良好状态中。
如果命令签名与命令签名不匹配(“否”),则步骤1210拒绝命令请求。如上文所讨论,被拒绝的命令请求可以包括向请求实体通知不允许信任命令。
在至少一些实现中,如果验证签名与命令签名不匹配,则这意味着用于生成命令签名(例如,用于生成以上引用的ClientDeviceKey n+1 )的测量结果与已知良好测量结果不匹配,并且因而所测量的组件很可能不处于已知良好状态中。测量结果与已知良好测量结果匹配的失败可以出于各种原因而发生,诸如组件篡改(例如,通过恶意软件)、组件损坏(例如,代码错误)等。
因而,该方法提供了用于利用设备密钥作为用于验证设备状态的机制的示例规程。
图13是描述了依照一个或多个实施例的方法中的步骤的流程图。方法例如描述了依照一个或多个实施例的用于改变客户端设备的各种信任信息的示例规程。
步骤1300在信任服务处接收改变客户端设备的信任状态的改变请求。信任服务122例如从设备授权机构140接收改变客户端设备102的信任状态的请求。
步骤1302基于改变请求而生成验证签名。改变请求例如包括用于客户端设备102的设备ID 112。因而,信任服务122取回用于客户端设备102的设备密钥130,并且使用如应用于改变请求的属性的设备密钥130来生成验证签名。生成验证签名的示例方式在上文讨论,并且可以包括使用设备密钥连同其它数据来应用HMAC函数。
步骤1304查明利用改变请求接收的请求签名是否与验证签名匹配。例如,信任服务122比较验证签名与利用改变请求接收的请求签名。
如果请求签名与验证签名匹配(“是”),则步骤1306改变客户端设备的信任状态。根据各种实现,签名匹配指示正确的设备密钥用于生成请求签名。相应地,信任服务122更新客户端设备102的信任状态,诸如通过对信任模块126做出改变。
一般地,对信任状态的更新可以包括各种动作。例如,改变请求可以包括对安全资产132的改变,诸如要添加新的安全资产、要移除(例如,撤消)安全资产的指示、对现有安全资产的修改等。作为另一个示例,对信任状态的更新可以包括对设备准许的改变,诸如准许客户端设备102访问的动作(例如,基于信任的操作)中的改变。在又一个示例中,对信任状态的更新可以指示不再允许客户端设备访问其信任模块126和/或与其交互。例如,设备授权机构140可以接收到客户端设备102被盗和/或受损的指示,并且因而可以向信任服务122传送改变请求来使得撤消客户端设备102的可信状态以防止客户端设备102与其信任模块126交互。
步骤1308将经更新的信任状态应用于与客户端设备的信任交互。例如,信任服务122允许客户端设备102基于所应用的改变请求(诸如基于经更新的安全资产132、经更新的准许和/或特权等)与信任模块126交互。
如果请求签名与请求签名不匹配(“否”),则步骤1310拒绝改变请求。诸如通过不允许对信任模块126的改变,信任服务122例如不允许由改变请求所请求的动作。在至少一些实现中,信任服务122可以向请求实体(例如,设备授权机构140)传送拒绝改变请求的通知。
根据一个或多个实现,该方法的各种方面可以独立于与客户端设备102的交互而执行。例如,可以诸如经由在设备授权机构140和信任服务122之间的交互而独立于与客户端设备102的交互来执行步骤1300,1302,1306和1310。因而,客户端设备102的信任状态可以在没有与客户端设备102的交互的情况下更新。在至少一些实现中,这使得能够在客户端设备102不可访问时,诸如当客户端设备102断电、没有连接到网络、没有响应(例如,崩溃)时等时,更新客户端设备102的信任状态。
已经讨论了用于客户端设备的信任服务的一些示例规程,现在考虑依照一个或多个实施例的示例***和设备的讨论。
示例***和设备
图14一般地在1400处图示了包括示例计算设备1402的示例***,示例计算设备1402代表可以实现本文描述的各种技术的一个或多个计算***和/或设备。例如,以上参照图1讨论的客户端设备102可以体现为计算设备1402。计算设备1402可以例如是服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上***和/或任何其它适合的计算设备或计算***。
如所图示的示例计算设备1402包括相互通信耦合的处理***1404、一个或多个计算机可读介质1406和一个或多个输入/输出(I/O)接口1408。尽管没有示出,但是计算设备1402还可以包括将各种组件相互耦合的***总线或其它数据和命令转移***。***总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、***总线、通用串行总线和/或利用任何各种总线架构的处理器或局部总线。还设想到各种其它示例,诸如控制和数据线。
处理***1404代表使用硬件执行一个或多个操作的功能性。相应地,将处理***1404图示为包括硬件元件1410,其可以配置为处理器、功能块等。这可以包括作为专用集成电路或者使用一个或多个半导体形成的其它逻辑器件的硬件实现。硬件元件1410不受从中形成它们的材料或者其中采用的处理机制的限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行的指令可以是电子可执行的指令。
将计算机可读介质1406图示为包括存储器/存储装置1412。存储器/存储装置1412表示与一个或多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置1412可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1412可以包括固定介质(例如,RAM、ROM、固定硬驱动器等)以及可移除介质(例如,闪存、可移除硬驱动器、光盘等)。计算机可读介质1406可以以各种其它方式配置,如下文进一步描述。
(多个)输入/输出接口1408代表允许用户向计算设备1402录入命令和信息并且还允许使用各种输入/输出设备向用户和/或其它组件或设备呈现信息的功能性。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音识别和/或口头输入)、扫描仪、触摸功能性(例如,配置为检测物理触摸的电容或其它传感器)、相机(例如,其可以采用可见波长或者诸如红外频率之类的不可见波长来将不牵涉触摸的移动检测为手势)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因而,计算设备1402可以以各种方式进行配置,如下文进一步描述,以支持用户交互。
本文可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般地,这样的模块包括执行特定任务或实现特定抽象数据类型例程、程序、对象、元件、组件、数据结构等。如本文中使用的术语“模块”、“功能性”、“实体”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是独立于平台的,意味着技术可以实现在具有各种处理器的各种商用计算平台上。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨其传输。计算机可读介质可以包括可以由计算设备1402访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以是指,相比于单纯的信号传输、载波或信号本身,使得能够实现信息的持久性存储的介质和/或设备。计算机可读存储介质不包括信号本身。计算机可读存储介质包括硬件,诸如易失性和非易失性/可移除和不可移除的介质,和/或在适于存储信息的方法或技术中实现的存储设备,所述信息诸如是计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其它数据。计算机可读存储介质的示例可以包括但不限于,适于存储期望的信息并且可以由计算机访问的RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或其它磁性存储设备、或其它存储设备、有形介质或制造品。
“计算机可读信号介质”可以是指信号承载介质,其配置为诸如经由网络向计算设备1402的硬件传输指令。信号介质典型地可以体现计算机可读指令、数据结构、程序模块、或者经调制的数据信号(诸如载波、数据信号或者其它输运机制)中的其它数据。信号介质还包括任何信息递送介质。术语“经调制的数据信号”意指其特性中的一个或多个以便于将信息编码在信号中的这种方式设置或改变的信号。作为示例而非限制,通信介质包括有线介质和无线介质,有线介质诸如是有线网络或直接有线连接,无线介质诸如是声学、射频(RF)、红外和其它无线介质。
如之前所描述,硬件元件1410和计算机可读介质1406代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括以下向的组件:集成电路或片上***、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、以及硅或其它硬件设备中的其它实现。在该上下文中,硬件元件可以操作为执行由硬件元件所体现的指令、模块和/或逻辑限定的程序任务的处理设备,以及用于存储指令以供执行的硬件设备,例如之前描述的计算机可读存储介质。
前述内容的组合也可以用于实现本文描述的各种技术和模块。相应地,软件、硬件或者程序模块和其它程序模块可以实现为一个或多个指令和/或逻辑,其体现在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1410体现。计算设备1402可以配置为实现对应于软件和/或硬件模块的特定指令和/或功能。相应地,由计算设备1402作为软件可执行的模块的实现可以至少部分地在硬件中实现,例如通过使用计算机可读存储介质和/或处理***的硬件元件1410。指令和/或功能可以由一个或多个制造品(例如,一个或多个计算设备1402和/或处理***1404)可执行/可操作以实现本文描述的技术、模块和示例。
如在图14中进一步图示,示例***1400使得能够在个人计算机(PC)、电视设备和/或移动设备上运行应用时实现用于无缝用户体验的普适环境。在利用应用、玩视频游戏、观看视频等的同时从一个设备转变到下一个设备时,服务和应用为了共同的用户体验而在所有三个环境中基本上类似地运行。
在示例***1400中,多个设备通过中央计算设备互连。中央计算设备可以在多个设备本地或者可以位于多个设备的远方。在一个实施例中,中央计算设备可以是通过网络、互联网或其它数据通信链路连接到多个设备的一个或多个服务器计算机的云。
在一个实施例中,这种互连架构使得能够跨多个设备递送功能性以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个可以具有不同的物理要求和性能,并且中央计算设备使用平台以使得能够向设备递送既针对设备定制又对于所有设备共同的体验。在一个实施例中,创建目标设备的分类,并且针对设备的通用分类来定制体验。设备的分类可以由设备的物理特征、使用类型或者其它常见特性来限定。
在各种实现中,诸如针对计算机1414、移动装置1416和电视1418用途,计算设备1402可以采用各种不同配置。这些配置中的每一个包括可以通常具有不同构造和能力的设备,并且因而计算设备1402可以根据不同设备分类中的一个或多个进行配置。例如,计算设备1402可以实现为设备的计算机1414分类,其包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备1402还可以实现为设备的移动装置1416分类,其包括移动设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、可穿戴设备、多屏幕计算机等。计算设备1402还可以实现为设备的电视1418分类,其包括具有或者连接到休闲观看环境中的一般较大屏幕的设备。这些设备包括电视、机顶盒、游戏操控台等。
本文描述的技术可以由计算设备1402的这些各种配置来支持并且不限于本文描述的技术的具体示例。例如,参照客户端设备102和/或信任服务122讨论的功能性可以全部地或者部分地通过使用分布式***来实现,诸如如下文所描述的,在“云”1420上经由平台1422。
云1420包括和/或代表用于资源1424的平台1422。平台1422对云1420的硬件(例如,服务器)和软件资源的底层功能性进行抽象。资源1424可以包括应用和/或数据,其可以在远离计算设备1402的服务器上执行计算机处理时被利用。资源1424还可以包括通过互联网和/或经由订户网络(诸如,蜂窝或Wi-Fi网络)提供的服务。
平台1422可以对资源和功能进行抽象以连接计算设备1402与其它计算设备。平台1422还可以服务于对资源的规模进行抽象以便针对所遇到的对于经由平台1422实现的资源1424的需求而提供对应规模水平。相应地,在互连设备实施例中,本文描述的功能性的实现可以遍及***1400分布。例如,功能性可以部分地实现在计算设备1402上以及经由对云1420的功能性进行抽象的平台1422而实现。
本文讨论的是可以实现为执行本文讨论的技术的数个方法。方法的方面可以实现在硬件、固件或软件或其组合中。将方法示为指定由一个或多个设备执行的操作的步骤的集合,并且方法未必限于所示出的用于由相应块执行操作的次序。另外,关于特定方法示出的操作可以与依照一个或多个实现的不同方法的操作组合和/或互换。方法的方面可以经由以上参照环境100讨论的各种实体之间的交互而实现。
本文讨论的实现包括一种***,其包括:一个或多个处理器;以及存储计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令响应于由一个或多个处理器执行而使***实施操作,所述操作包括:查明要执行针对客户端设备的信任命令;格式化针对信任命令的命令请求,包括至少基于用于客户端设备的设备密钥、设备值和用于信任命令的命令参数来生成命令签名,设备密钥或设备值中的至少一个反映客户端设备的状态信息;传送命令请求以由远程信任服务接收;以及接收对命令请求的响应,该响应指示是否允许命令请求。
本文讨论的实现包括如上所述的***,其中信任命令包括以下中的至少一个:对利用命令参数而包括的数据进行加密的请求、对利用命令参数而包括的数据进行解密的请求、或者用于访问安全资产的请求。
本文讨论的实现包括如上所述的***,其中设备值反映客户端设备的引导状态。
本文讨论的实现包括如上所述的***,其中所述格式化还包括,在生成命令签名之前利用客户端设备的代码组件的测量结果来扩展设备密钥。
本文讨论的实现包括如上所述的***,其中在客户端设备的操作***不可访问的客户端设备上的信任环境中执行操作。
本文讨论的实现包括如上所述的***,其中在客户端设备的操作***不可访问的客户端设备上的信任环境中执行操作,并且其中操作***请求信任命令。
本文讨论的实现包括如上所述的***,其中所述查明发生在客户端设备的重新引导事件之后,并且其中所述设备值包括响应于重新引导事件而生成的经更新的设备值。
本文讨论的实现包括如上所述的***,其中操作还包括:从远程信任服务接收对命令请求的请求响应;利用设备密钥、请求响应和针对远程信任服务所维护的服务值来生成验证签名;以及基于验证签名是否与利用请求响应所接收的响应签名匹配来查明请求响应是否被认证。
本文讨论的实现包括一种计算机实现的方法,其包括:从客户端设备接收经加密的命令请求;对经加密的命令请求进行解密以暴露用于客户端设备的设备标识符、命令参数和命令签名,命令参数请求与远离客户端设备的安全环境的交互;利用与设备标识符相关联的设备密钥和命令参数来生成验证签名;基于验证签名是否与利用命令请求所接收的命令签名匹配而查明是否允许命令请求;以及传送对命令请求的响应以由客户端设备接收,所述响应指示是否允许命令请求。
本文讨论的实现包括如上所述的计算机实现的方法,其中命令参数包括以下中的至少一个:加密数据的请求、解密数据的请求、或者用于访问安全资产的请求。
本文讨论的实现包括如上所述的计算机实现的方法,其中所述生成还包括利用客户端值来生成验证签名,客户端值指示客户端设备的引导状态。
本文讨论的实现包括如上所述的计算机实现的方法,还包括在所述生成之前,利用客户端设备的代码组件的已知良好测量结果来扩展设备密钥以生成在所述生成中使用的经扩展的设备密钥。
本文讨论的实现包括如上所述的计算机实现的方法,还包括:响应于查明验证签名与命令签名匹配而执行命令请求;以及在命令请求中包括所述执行的结果。
本文讨论的实现包括如上所述的计算机实现的方法,其中所述解密还暴露用于客户端设备的经更新的客户端值,并且所述操作还包括:利用经更新的客户端值来替换之前的客户端值;生成经更新的服务值;以及向客户端设备传送经更新的服务值以用于格式化命令请求。
本文讨论的实现包括如上所述的计算机实现的方法,还包括:接收改变客户端设备的信任状态的请求;基于改变请求而生成验证签名;以及响应于查明利用改变请求所接收的请求签名与验证签名匹配而改变客户端设备的信任状态,所述改变独立于与客户端设备的交互而发生。
本文讨论的实现包括如上所述的计算机实现的方法,还包括:从设备授权机构接收改变客户端设备的信任状态的请求;以及经由与设备授权机构的交互并且独立于与客户端设备的交互而改变客户端设备的信任状态。
本文讨论的实现包括如上所述的计算机实现的方法,还包括经由与设备授权机构的交互并且独立于与客户端设备的交互而改变客户端设备的信任状态,所述改变包括以下中的至少一个:供应用于客户端设备的新安全资产,或者撤消客户端设备的现有安全资产。
本文讨论的实现包括一种***,其包括:一个或多个处理器;以及存储计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令响应于由一个或多个处理器执行而使***实施操作,所述操作包括:在远离客户端设备的信任服务处维护用于客户端设备的信任模块,所述信任模块存储用于客户端设备的设备密钥、客户端设备的引导状态的指示符和用于客户端设备的一个或多个安全资产;从客户端设备接收请求以执行作为命令请求的部分所接收的信任命令;以及基于使用设备密钥和引导状态的标识符所生成的验证签名是否与利用命令请求所接收的请求签名匹配,来查明是否允许命令请求。
本文讨论的实现包括如上所述的***,其中一个或多个安全资产包括以下中的一个或多个:存储在可信平台模块内的安全密钥、安全证书、或者受保护的数据。
本文讨论的实现包括如上所述的***,其中操作还包括作为信任模块的部分而维护客户端设备的代码组件的已知良好测量结果,以及在生成验证签名之前利用已知良好测量结果来扩展设备密钥。
总结
描述了用于客户端设备的信任服务的技术。尽管以具体到结构特征和/或方法动作的语言描述了实施例,但是要理解到,在随附权利要求中限定的实施例未必限于所描述的具体特征或动作。相反,作为实现所要求保护的实施例的示例形式而公开所述具体特征和动作。

Claims (15)

1.一种用于确定是否准许执行信任命令的***,所述***包括:
一个或多个处理器;以及
存储计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令响应于由一个或多个处理器执行而使***实施操作,所述操作包括:
查明要执行针对客户端设备的信任命令;
格式化针对信任命令的命令请求,包括至少基于用于客户端设备的设备密钥、设备值和用于信任命令的命令参数来生成命令签名,设备密钥或设备值中的至少一个反映客户端设备的状态信息;
传送命令请求以由远程信任服务接收;以及
接收对命令请求的响应,其指示是否允许命令请求。
2.如权利要求1所述的***,其中信任命令包括以下中的至少一个:对利用命令参数而包括的数据进行加密的请求、对利用命令参数而包括的数据进行解密的请求、或者用于访问安全资产的请求。
3.如权利要求1所述的***,其中设备值反映客户端设备的引导状态。
4.如权利要求1所述的***,其中所述格式化还包括,在生成命令签名之前利用客户端设备的代码组件的测量结果来扩展设备密钥。
5.如权利要求1所述的***,其中在客户端设备的操作***不可访问的客户端设备上的信任环境中执行操作。
6.如权利要求1所述的***,其中在客户端设备的操作***不可访问的客户端设备上的信任环境中执行操作,并且其中操作***请求信任命令。
7.如权利要求1所述的***,其中所述查明发生在客户端设备的重新引导事件之后,并且其中所述设备值包括响应于重新引导事件而生成的经更新的设备值。
8.如权利要求1所述的***,其中所述操作还包括:
从远程信任服务接收对命令请求的请求响应;
利用设备密钥、请求响应和针对远程信任服务所维护的服务值来生成验证签名;以及
基于验证签名是否与利用请求响应所接收的响应签名匹配来查明请求响应是否被认证。
9.一种用于查明是否允许命令请求的计算机实现的方法,所述方法包括:
从客户端设备接收经加密的命令请求;
对经加密的命令请求进行解密以暴露用于客户端设备的设备标识符、命令参数和命令签名,命令参数请求与远离客户端设备的安全环境的交互;
利用与设备标识符相关联的设备密钥和命令参数来生成验证签名;
基于验证签名是否与利用命令请求所接收的命令签名匹配而查明是否允许命令请求;以及
传送对命令请求的响应以由客户端设备接收,所述响应指示是否允许命令请求。
10.如权利要求9所述的计算机实现的方法,其中命令参数包括以下中的至少一个:加密数据的请求、解密数据的请求、或者用于访问安全资产的请求。
11.如权利要求9所述的计算机实现的方法,其中所述生成还包括利用客户端值来生成验证签名,客户端值指示客户端设备的引导状态。
12.如权利要求9所述的计算机实现的方法,还包括,在所述生成之前,利用客户端设备的代码组件的已知良好测量结果来扩展设备密钥以生成在所述生成中使用的经扩展的设备密钥。
13.如权利要求9所述的计算机实现的方法,还包括:
响应于查明验证签名与命令签名匹配而执行命令请求;以及
在命令请求中包括所述执行的结果。
14.如权利要求9所述的计算机实现的方法,其中所述解密还暴露用于客户端设备的经更新的客户端值,并且所述操作还包括:
利用经更新的客户端值来替换之前的客户端值;
生成经更新的服务值;以及
向客户端设备传送经更新的服务值以用于格式化命令请求。
15.如权利要求9所述的计算机实现的方法,还包括,经由与设备授权机构的交互并且独立于与客户端设备的交互而改变客户端设备的信任状态,所述改变包括以下中的至少一个:供应用于客户端设备的新安全资产,或者撤消客户端设备的现有安全资产。
CN201580057103.4A 2014-10-20 2015-10-18 用于客户端设备的信任服务 Active CN107077574B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010086265.3A CN111324895B (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务
CN202311557629.1A CN117592053A (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/519010 2014-10-20
US14/519,010 US9735968B2 (en) 2014-10-20 2014-10-20 Trust service for a client device
PCT/US2015/056119 WO2016064691A1 (en) 2014-10-20 2015-10-18 Trust service for a client device

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202311557629.1A Division CN117592053A (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务
CN202010086265.3A Division CN111324895B (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务

Publications (2)

Publication Number Publication Date
CN107077574A true CN107077574A (zh) 2017-08-18
CN107077574B CN107077574B (zh) 2020-02-18

Family

ID=54366522

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201580057103.4A Active CN107077574B (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务
CN202010086265.3A Active CN111324895B (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务
CN202311557629.1A Pending CN117592053A (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202010086265.3A Active CN111324895B (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务
CN202311557629.1A Pending CN117592053A (zh) 2014-10-20 2015-10-18 用于客户端设备的信任服务

Country Status (4)

Country Link
US (2) US9735968B2 (zh)
EP (1) EP3210155B1 (zh)
CN (3) CN107077574B (zh)
WO (1) WO2016064691A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112558555A (zh) * 2019-09-26 2021-03-26 罗克韦尔自动化技术公司 维护和调试
CN112640389A (zh) * 2018-09-07 2021-04-09 贝宝公司 使用短暂url密码来阻止大量攻击
US12001818B2 (en) 2019-09-24 2024-06-04 Rockwell Automation Technologies, Inc. Extensible IDE platform with open APIs

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9735968B2 (en) 2014-10-20 2017-08-15 Microsoft Technology Licensing, Llc Trust service for a client device
US9767324B2 (en) 2014-11-22 2017-09-19 Intel Corporation Transparent execution of secret content
CA2875850C (en) * 2014-12-23 2022-07-05 Steve Cooper Version synchronization of dependent components
US9621948B2 (en) 2015-01-29 2017-04-11 Universal Electronics Inc. System and method for prioritizing and filtering CEC commands
US10110566B2 (en) * 2015-07-21 2018-10-23 Baffle, Inc. Systems and processes for executing private programs on untrusted computers
CN106603461A (zh) * 2015-10-14 2017-04-26 阿里巴巴集团控股有限公司 一种业务认证的方法、装置和***
US10122533B1 (en) * 2015-12-15 2018-11-06 Amazon Technologies, Inc. Configuration updates for access-restricted hosts
US10528739B2 (en) * 2016-04-20 2020-01-07 Sophos Limited Boot security
US10581603B2 (en) * 2016-05-06 2020-03-03 ZeroDB, Inc. Method and system for secure delegated access to encrypted data in big data computing clusters
CN107689938A (zh) * 2016-08-04 2018-02-13 捷而思股份有限公司 伪造指令自动过滤***、协同运作***、与相关的指令核实电路
US10291401B1 (en) 2016-09-26 2019-05-14 Amazon Technologies, Inc. Stateless service-mediated security module
GB2556906A (en) * 2016-11-24 2018-06-13 Trustonic Ltd Handset identifier verification
US10904224B2 (en) * 2017-09-29 2021-01-26 Rolls-Royce Corporation Aircraft engine monitoring system
CN110062016B (zh) 2018-01-18 2023-05-09 阿里巴巴集团控股有限公司 用于可信服务管理的方法及装置
IT201800002895A1 (it) 2018-02-21 2019-08-21 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
CN110740109A (zh) * 2018-07-18 2020-01-31 慧与发展有限责任合伙企业 网络设备、用于安全的方法和计算机可读存储介质
CN111259401B (zh) 2018-11-30 2023-05-02 阿里巴巴集团控股有限公司 可信度量方法、装置、***、存储介质及计算机设备
TWI710957B (zh) * 2019-05-20 2020-11-21 宏碁股份有限公司 加速開機系統及加速開機方法
US11409877B2 (en) 2020-03-27 2022-08-09 Intel Corporation Firmware verification mechanism
US11818173B2 (en) * 2020-05-29 2023-11-14 Palo Alto Networks, Inc. Reducing memory footprint after TLS connection establishment
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash
EP4014427B1 (en) * 2020-08-14 2023-05-03 Google LLC Online privacy preserving techniques
US11658970B2 (en) * 2020-09-14 2023-05-23 Dell Products L.P. Computing device infrastructure trust domain system
CN114024871B (zh) * 2022-01-04 2022-03-22 苏州浪潮智能科技有限公司 一种芯片验证方法、***、计算机设备及可读存储介质
CN117215995B (zh) * 2023-11-08 2024-02-06 苏州元脑智能科技有限公司 远程直接内存访问方法、分布式存储***及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153646A1 (en) * 2003-01-30 2004-08-05 Smith Ned M. Distributed control of integrity measurement using a trusted fixed token
US20070018721A1 (en) * 2005-06-27 2007-01-25 Andreas Wiesbauer Driver circuit and method for driving a signal
US7194762B2 (en) * 2001-11-30 2007-03-20 Lenovo (Singapore) Pte. Ltd. Method of creating password list for remote authentication to services
CN101755291A (zh) * 2007-07-24 2010-06-23 Nxp股份有限公司 用于向移动电话安全地发送应用程序的方法、***和可信任服务管理器
US20110161672A1 (en) * 2009-12-31 2011-06-30 Martinez Alberto J Provisioning, upgrading, and/or changing of hardware
CN103150514A (zh) * 2013-03-07 2013-06-12 中国科学院软件研究所 一种基于移动设备的可信模块及其可信服务方法
US20140089660A1 (en) * 2012-09-26 2014-03-27 Nitin V. Sarangshar Enhanced privacy id based platform attestation
US20150033004A1 (en) * 2010-06-03 2015-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Processing Device

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418472B1 (en) * 1999-01-19 2002-07-09 Intel Corporation System and method for using internet based caller ID for controlling access to an object stored in a computer
US8608057B1 (en) 2002-12-26 2013-12-17 Diebold Self-Service Systems, Division Of Diebold, Incorporated Banking machine that operates responsive to data bearing records
JP4064914B2 (ja) * 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US8495361B2 (en) * 2003-12-31 2013-07-23 International Business Machines Corporation Securely creating an endorsement certificate in an insecure environment
US7516480B2 (en) 2004-10-22 2009-04-07 Microsoft Corporation Secure remote configuration of targeted devices using a standard message transport protocol
US9015473B2 (en) * 2005-11-30 2015-04-21 Telecom Italia S.P.A. Method and system for automated and secure provisioning of service access credentials for on-line services to users of mobile communication terminals
US20100242102A1 (en) * 2006-06-27 2010-09-23 Microsoft Corporation Biometric credential verification framework
US8522018B2 (en) * 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
GB0701518D0 (en) * 2007-01-26 2007-03-07 Hewlett Packard Development Co Methods, devices and data structures for protection of data
US8695074B2 (en) * 2007-04-26 2014-04-08 Microsoft Corporation Pre-authenticated calling for voice applications
US20090172639A1 (en) * 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification
US8516602B2 (en) * 2008-04-25 2013-08-20 Nokia Corporation Methods, apparatuses, and computer program products for providing distributed access rights management using access rights filters
US8095799B2 (en) * 2008-07-28 2012-01-10 Apple Inc. Ticket authorized secure installation and boot
US8607065B2 (en) 2008-10-10 2013-12-10 Microsoft Corporation Trusted and confidential remote TPM initialization
US20100325424A1 (en) * 2009-06-19 2010-12-23 Etchegoyen Craig S System and Method for Secured Communications
EP2354994A1 (en) 2009-12-30 2011-08-10 Gemalto SA Secure signature creation application using a TPM comprising a middleware stack
US8751781B2 (en) 2010-05-28 2014-06-10 Dell Products, Lp System and method for supporting secure subsystems in a client hosted virtualization system
US8560839B2 (en) 2010-12-20 2013-10-15 Microsoft Corporation Tamper proof location services
US8832452B2 (en) * 2010-12-22 2014-09-09 Intel Corporation System and method for implementing a trusted dynamic launch and trusted platform module (TPM) using secure enclaves
US9735968B2 (en) 2014-10-20 2017-08-15 Microsoft Technology Licensing, Llc Trust service for a client device
US9887848B2 (en) * 2015-07-02 2018-02-06 Gn Hearing A/S Client device with certificate and related method

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194762B2 (en) * 2001-11-30 2007-03-20 Lenovo (Singapore) Pte. Ltd. Method of creating password list for remote authentication to services
US20040153646A1 (en) * 2003-01-30 2004-08-05 Smith Ned M. Distributed control of integrity measurement using a trusted fixed token
US20070018721A1 (en) * 2005-06-27 2007-01-25 Andreas Wiesbauer Driver circuit and method for driving a signal
US20120063589A1 (en) * 2005-06-27 2012-03-15 Andreas Wiesbauer Driver Circuit and Method for Driving a Signal
CN101755291A (zh) * 2007-07-24 2010-06-23 Nxp股份有限公司 用于向移动电话安全地发送应用程序的方法、***和可信任服务管理器
US20110161672A1 (en) * 2009-12-31 2011-06-30 Martinez Alberto J Provisioning, upgrading, and/or changing of hardware
CN102667802A (zh) * 2009-12-31 2012-09-12 英特尔公司 硬件的配备、升级和/或更改
US20150033004A1 (en) * 2010-06-03 2015-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Processing Device
US20140089660A1 (en) * 2012-09-26 2014-03-27 Nitin V. Sarangshar Enhanced privacy id based platform attestation
CN103150514A (zh) * 2013-03-07 2013-06-12 中国科学院软件研究所 一种基于移动设备的可信模块及其可信服务方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112640389A (zh) * 2018-09-07 2021-04-09 贝宝公司 使用短暂url密码来阻止大量攻击
US11750596B2 (en) 2018-09-07 2023-09-05 Paypal, Inc. Using ephemeral URL passwords to deter high-volume attacks
CN112640389B (zh) * 2018-09-07 2024-03-08 贝宝公司 用于保护统一资源定位符的***、方法和机器可读介质
US12001818B2 (en) 2019-09-24 2024-06-04 Rockwell Automation Technologies, Inc. Extensible IDE platform with open APIs
CN112558555A (zh) * 2019-09-26 2021-03-26 罗克韦尔自动化技术公司 维护和调试
CN112558555B (zh) * 2019-09-26 2024-02-13 罗克韦尔自动化技术公司 维护和调试

Also Published As

Publication number Publication date
CN107077574B (zh) 2020-02-18
US20180131523A1 (en) 2018-05-10
WO2016064691A1 (en) 2016-04-28
US10284375B2 (en) 2019-05-07
CN111324895B (zh) 2023-12-12
US9735968B2 (en) 2017-08-15
CN111324895A (zh) 2020-06-23
EP3210155A1 (en) 2017-08-30
US20160112203A1 (en) 2016-04-21
EP3210155B1 (en) 2019-08-07
CN117592053A (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN107077574A (zh) 用于客户端设备的信任服务
EP3458999B1 (en) Self-contained cryptographic boot policy validation
US20230208824A1 (en) Device programming with system generation
CN110892672B (zh) 提供设备匿名性的密钥认证声明生成
US10212156B2 (en) Utilizing a trusted platform module (TPM) of a host device
CN107431924B (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
CN101221613B (zh) 用于验证处理***部件的方法和装置
CN109075976A (zh) 取决于密钥认证的证书发布
JP6374119B2 (ja) 統合型近距離無線通信インフラストラクチャのためのセキュリティプロトコル
CN107851150A (zh) 用于可信i/o的安全硬件和软件证明的技术
CN109074449A (zh) 在安全飞地中灵活地供应证明密钥
US20190108506A1 (en) Terminal for conducting electronic transactions
CN114424168A (zh) 用于软件定义的硅安全性的***、方法和装置
CN107209838B (zh) 便携式安全设备
CN109657448A (zh) 一种获取Root权限的方法、装置、电子设备及存储介质
KR102436485B1 (ko) 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법
CN103327000A (zh) 电子产品的认证方法与认证***
CN118199884A (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