CN101589397B - Usb令牌上的密钥容器 - Google Patents

Usb令牌上的密钥容器 Download PDF

Info

Publication number
CN101589397B
CN101589397B CN200780050523.5A CN200780050523A CN101589397B CN 101589397 B CN101589397 B CN 101589397B CN 200780050523 A CN200780050523 A CN 200780050523A CN 101589397 B CN101589397 B CN 101589397B
Authority
CN
China
Prior art keywords
key
storage device
usb
usb compatible
compatible storage
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
CN200780050523.5A
Other languages
English (en)
Other versions
CN101589397A (zh
Inventor
T·阿卡
C·M·埃利森
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 CN101589397A publication Critical patent/CN101589397A/zh
Application granted granted Critical
Publication of CN101589397B publication Critical patent/CN101589397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

通用串行总线(USB)兼容存储设备被用作用于存储密钥的安全令牌。处理器的密码子系统访问USB兼容存储设备上的容器中的密钥。访问包括存储和/或检索。处理器不包括USB兼容存储设备专用的基础结构。密钥存储从处理器内的容器重新定向到USB兼容存储设备。不需要口令或PIN来访问密钥,而仍然提供增强的安全性。利用USB兼容存储设备作为密钥容器提供用于携带密钥的方便的、便携的机制,并且经由该设备的物理拥有来提供附加安全性。

Description

USB令牌上的密钥容器
技术领域
本技术领域一般涉及计算机处理,且更具体地涉及计算安全性。
背景
经由密码保护数据并非不常见。通常,使用密钥来加密和解密数据。因为密钥提供保护数据的手段并提供对受保护数据的访问,所以密钥也被保护。不受保护的密钥可向各种类型的攻击打开方便之门,如网站欺骗、扮演认证和伪造电子邮件。
保护密钥的一种尝试是将其存储在智能卡上。然而,这一尝试的问题是智能卡需要在处理器上实现的、智能卡将与其通信的专用基础结构。通常,该基础结构在处理器的操作系统中实现,并且因此可能需要相当多的努力和时间来实现。同样,智能卡需要可能是大体积而且昂贵的智能卡阅读器形式的附加硬件。
保护密钥的另一尝试是将其存储在位于处理器上的受保护的容器内。通常,对密钥的访问是受口令保护的。这一尝试的问题是口令保护被认为是较弱的。获得对处理器的访问的攻击者可以通过使用口令破解器等来确定口令并获得对存储在容器中的密钥的访问。
概述
提供本概述以便以简化的形式介绍将在以下说明性实施例的详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
密钥被存储在通用串行总线(USB)兼容存储设备中。USB兼容存储设备不需要在处理器的操作系统中实现的、该USB兼容存储设备将与其通信的专用基础结构。USB兼容存储设备不需要专用阅读器。密钥存储从处理器内的容器重新定向到USB兼容存储设备。因此,USB兼容存储设备是用于存储密钥的安全令牌。在一示例实施例中,对USB兼容存储设备上的密钥的访问是经由安全执行环境来实现的。对USB兼容存储设备上的密钥的访问不必需要口令。
附图简述
以上概述以及以下详细描述在结合附图阅读时可被更好地理解。出于说明USB令牌上的密钥容器的目的,在附图中示出其各示例性构造;然而,USB令牌上的密钥容器不限于所公开的具体方法和手段。
图1是用于访问USB令牌上的密钥容器的示例过程的流程图。
图2是用于实现USB令牌上的密钥容器的示例性处理器的图。
图3是其中可以实现提供USB令牌上的密钥容器的合适计算环境的描绘。
说明性实施例的详细描述
在通用串行总线(USB)兼容存储设备上实现密钥容器。USB兼容存储设备被用作安全令牌。处理器的密码子系统访问(例如读、写、存储、检索)USB兼容存储设备上的容器中的密钥。不在处理器上实现访问USB兼容存储设备上的密钥的USB兼容存储设备专用基础结构。在一示例实施例中,可以在不需要个人识别号(PIN)、口令、交互式认证机制等的情况下访问密钥。USB兼容存储设备上的密钥容器提供便携性,从而提供用于携带密钥的方便机制。USB兼容存储设备上的密钥容器经由该设备的物理拥有来提供安全性。在受保护的进程中访问和处理USB兼容存储设备上的密钥提供运行时安全性。
图1是用于访问USB令牌上的密钥容器的示例过程的流程图。在步骤12处,接收访问密钥的指示。在一示例实施例中,该指示是在用户和/或开发者与其交互的处理器上接收到的。该指示可以是生成密钥、存储密钥、读取密钥或其组合的结果。在步骤14处,搜索USB令牌。即,对其上存储有密钥容器的USB兼容存储设备进行搜索。在步骤16处,如果找到USB令牌,则在步骤18处访问其上存储的容器,并且在步骤20处访问其中存储的一个或多个密钥。
在步骤16处,如果没有找到USB令牌,则在步骤22处提供提示。该提示可以是任何适当的提示,如插入USB设备的指示等。取决于用户/开发者是偏爱利用USB兼容存储设备上的密钥容器还是偏爱利用处理器中存储的密钥容器,用户/开发者可用各种方式对该提示作出响应。例如,如果用户/开发者偏爱利用USB兼容存储设备上的密钥容器,则该用户/开发者可以插入USB兼容存储设备。处理器可以检测到这一插入。另选地,用户/开发者可以通过压下键盘上的“Enter”键、点击鼠标等来提供要利用处理器内的密钥容器而非USB兼容存储设备上的密钥容器的指示。
在步骤24处,确定USB设备是否已被耦合到处理器。如果USB兼容存储设备已经响应于插入USB设备的提示而耦合到处理器,则在步骤18处访问其上存储的容器,并在步骤20处访问其中存储的一个或多个密钥。如果USB兼容存储设备尚未耦合到处理器,则在步骤26处访问处理器内的容器,并且在步骤20处访问其中存储的一个或多个密钥。
在一示例配置中,处理器经由密码编程接口(例如 兼容密码应用程序编程接口-CAPI、 兼容密码下一代-CNG)与USB兼容存储设备通信。在接收到访问密钥的指示(例如步骤12)时,密码编程接口(例如CAPI、CNG)通过搜索USB兼容存储设备的索引以寻找密钥容器来搜索密钥。如果未在处理器中存储的容器上找到作为用户/开发者简档的一部分的、用于读取或删除访问的密钥,则密码编程接口还将搜索耦合到处理器的USB兼容存储设备上的路径。
密钥的默认生成可以利用USB兼容存储设备上的密钥容器,或者密钥的生成可以是用户指定的。因此,在一示例实施例中,密钥的生成是基于注册表值的。注册表值指示了密钥应被如何生成。因此,根据注册表值,密码编程接口将只在指定USB兼容存储设备上、只在处理器中、或在用户/开发者指定的位置上生成新密钥。可以使用任何适当的值来指示密钥生成方法。
在一示例实施例中,密钥是在受保护的执行环境中访问的。受保护的执行环境基本上隔离处理器的密码子系统。受保护的执行环境提供密钥和操作系统之间的隔离。受保护的执行环境还提供密钥和在处理器上执行的应用程序之间的隔离。因此,经由受保护的执行环境访问密钥通过在密钥和恶意软件和/或攻击者之间添加另一层保护来提供附加安全性。在一示例实施例中,用户应用程序无权直接访问USB令牌上的密钥,而相反通过本地RPC(远程过程调用)向受保护的密码进程发送密码请求。密码进程代表受保护的密码进程中的用户应用程序访问USB令牌,以进行该用户应用程序所请求的操作(读、生成、使用诸如签名生成等密码操作等)。在受保护的密码进程之外,USB令牌上的密钥的秘密部分都不可获得,从而通过将用户进程对秘密密钥的访问只限于受保护的密码进程来隔离这些访问。在一示例配置中,为阻止对USB令牌的非所需的直接访问,操作系统阻止用户进程访问USB令牌。
图2是用于在USB兼容存储设备52上实现USB令牌上的密钥容器的示例性处理器30的图。处理器30包括处理部分32、存储器部分34和输入/输出部分36。处理器30不包括USB兼容存储设备52专用的基础结构。处理部分32、存储器部分34和输入/输出部分36被耦合在一起(耦合未在图2中示出)以允许它们之间的通信。输入/输出部分36能够提供和/或接收被用来实现上述USB令牌上的密钥容器的组件。例如,输入/输出部分36能够与USB兼容存储设备52通信。输入/输出部分36能够从USB兼容存储设备52接收密钥,向USB兼容存储设备52提供密钥,或其组合。
处理器30表示任何适当类型的处理器或可与USB兼容存储设备52一起利用的处理器。处理器30可以表示单个处理器或多个处理器。多个处理器可以分布式或集中式地定位。处理器30可以表示一个或多个便携式设备,如便携式媒体播放器(例如MP3播放器、随身听等便携式音乐播放器)、便携式计算设备(如膝上型计算机、个人数字助理(“PDA”))、便携式电话(如蜂窝电话之类、智能电话、视频电话)、便携式电子邮件设备、瘦客户机、便携式游戏设备等、或其组合。
USB兼容存储设备52表示各种类型的一个或多个USB兼容存储设备。例如,USB兼容存储设备52可包括闪存设备、盘存储设备、数据库、或其组合。USB兼容存储设备可包括各种类型的功能。例如,特定USB兼容存储设备可以只提供只读支持,并且不允许生成(写)新密钥和删除现有密钥。在这种情况下,密码框架将只能够读这些密钥并将它们用于密码操作中,但将不能够更改USB兼容存储设备内容的内容。在这一场景中,这一类型的USB兼容存储设备可在工厂制造并且此后不可被修改。
处理部分32能够实现如上所述的USB令牌上的密钥容器。例如,处理部分32能够在USB兼容存储设备52上建立容器以存储密钥、搜索USB令牌、接收访问密钥的指示、提供提示、确定USB令牌是否耦合到处理器30、访问存储在USB兼容存储设备52上的密钥、建立受保护的执行环境、维护受保护的执行环境、或其组合。
处理器30可被实现为客户机处理器和/或服务器处理器。在基本配置中,处理器30可包括至少一个处理部分32和存储器部分34。存储器部分34可以存储结合USB令牌上的密钥容器利用的任何信息,如密钥和/或密钥的密码散列。取决于处理器的精确配置和类型,存储器部分34可以是易失性的(如RAM)38、非易失性的(如ROM、闪存等)40、或其组合。处理器30可以具有附加特征/功能。例如,处理器30可以包括附加存储(可移动存储42和/或不可移动存储44),包括但不限于,磁盘或光盘、磁带、闪存、智能卡或其组合。诸如存储器部分34、38、40、42和44等计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、通用串行总线(USB)兼容存储器、智能卡、或能用于存储所需信息且可以由处理器30访问的任何其它介质。任何这样的计算机存储介质都可以是处理器30的一部分。
处理器30还可包含允许处理器30与其它设备进行通信的通信连接50。通信连接50是通信介质的一个示例。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两者。处理器30还可具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备48。也可以包括诸如显示器、扬声器、打印机等输出设备46。
图3和以下讨论提供了其中可实现USB令牌上的密钥容器的合适计算环境的简要概括描述。尽管并非必需,但USB令牌上的密钥容器的各方面可以在诸如程序模块等由诸如客户机工作站或服务器等计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,游戏软件调试器的多线程检测的实现可用其它计算机系统配置来实施,包括手持设备、多处理器系统、基于微处理器的系统或可编程消费电子设备、网络PC、小型机、大型计算机等。此外,游戏软件调试器的多线程检测也可以在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
计算机系统可被大致分为三个组件组:硬件组件、硬件/软件接口系统组件、以及应用程序组件(也被称为“用户组件”或“软件组件”)。在计算机系统的各实施例中,硬件组件可包括中央处理单元(CPU)321;存储器(ROM 364和RAM 325两者);基本输入/输出系统(BIOS)366;以及诸如键盘340、鼠标342、监视器347和/或打印机(未示出)等各种输入/输出(I/O)设备。硬件组件包括计算机系统的基本物理基础结构。
应用程序组件包括各种软件程序,包括但不限于编译器、数据库系统、文字处理程序、商务程序、视频游戏等。应用程序提供用于利用计算机资源来解决问题、提供解决方案、及处理各种用户(机器、其它计算机系统和/或最终用户)的数据的手段。在一示例实施例中,应用程序执行与上述USB令牌上的密钥容器相关联的功能。
硬件/软件接口系统组件包括(并且在某些实施例中只包括)操作系统,其本身在大多数情况下包括外壳和内核。“操作系统”(OS)是担当应用程序和计算机硬件之间的中介的特殊程序。硬件/软件接口系统组件还可以包括虚拟机管理器(VMM)、公共语言运行库(CLR)或其功能等效物、Java虚拟机(JVM)或其功能等效物、或者作为对计算机系统中的操作系统的替换或补充的其它这样的软件组件。硬件/软件接口系统的目的在于提供用户可在其中执行应用程序的环境。
硬件/软件接口系统通常在启动时被加载到计算机系统中,并且之后管理计算机系统中的所有应用程序。应用程序通过经由应用程序接口(API)请求服务来与硬件/软件接口系统交互。某些应用程序使得最终用户能够经由诸如命令语言或图形用户界面(GUI)等用户界面来与硬件/软件接口系统交互。
硬件/软件接口系统传统上执行用于应用程序的各种服务。在其中多个程序可同时运行的多任务硬件/软件接口系统中,硬件/软件接口系统确定各应用程序应该以何种次序运行以及在为轮换而切换至另一应用程序之前应该允许每一个应用程序多长时间。硬件/软件接口系统还管理多个应用程序之间的内部存储器的共享,并且处理来自诸如硬盘、打印机和拨号端口等附连硬件设备的输入以及对其的输出。硬件/软件接口系统还将关于操作的状态和可能已发生的任何错误的消息发送给每一个应用程序(并且在某些情况下发送给最终用户)。硬件/软件接口系统还可卸载批作业(例如,打印)的管理以使得启动应用程序免除该工作并能够继续执行其它处理和/或操作。在能提供并行处理的计算机上,硬件/软件接口系统还管理划分程序以使其同时在多于一个的处理器上运行。
硬件/软件接口系统外壳(被称为“外壳”)是对硬件/软件接口系统的交互式最终用户接口。(外壳也称为“命令解释程序”,或在操作系统中被称为“操作系统外壳”)。外壳是可直接由应用程序和/或最终用户访问的硬件/软件接口系统的外层。与外壳相反,内核是直接与硬件组件交互的硬件/软件接口系统的最内层。
如图3所示,示例性通用计算系统包括常规计算设备360等,其包括处理单元321、系统存储器362和将包括系统存储器的各种系统组件耦合到处理单元321的系统总线323。系统总线323可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。系统存储器包括只读存储器(ROM)364和随机存取存储器(RAM)325。基本输入/输出系统(BIOS)366被存储在ROM 364中,它包含帮助在诸如启动期间在计算设备360内的元件之间传递信息的基本例程。计算设备360还可包括对硬盘(硬盘未示出)读写的硬盘驱动器327、对可移动磁盘329(例如,软盘、移动存储)读写的磁盘驱动器328(例如,软盘驱动器)、以及对诸如CD-ROM或其它光学介质等可移动光盘331读写的光盘驱动器330。硬盘驱动器327、磁盘驱动器328和光盘驱动器330分别通过硬盘驱动器接口332、磁盘驱动器接口333和光盘驱动器接口334来连接到系统总线323。驱动器及其相关联的计算机可读介质为计算设备360提供了对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。虽然此处所描述的示例性环境采用了硬盘、可移动磁盘329和可移动光盘331,但本领域的技术人员可以理解,在示例性操作环境中也可以使用可储存可由计算机访问的数据的其它类型的计算机可读介质,如磁带盒、闪存卡、数字视频盘、贝努利盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等等。同样,示例性环境还可包括诸如热传感器和安全或火警系统等许多类型的监控设备,以及其它信息源。
多个程序模块可被存储在硬盘、磁盘329、光盘331、ROM 364或RAM325中,包括操作系统335、一个或多个应用程序336、其它程序模块337和程序数据338。用户可通过诸如键盘340和定点设备342(例如,鼠标)等输入设备将命令和信息输入到计算设备360中。其它输入设备(未示出)可以包括话筒、操纵杆、游戏键盘、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的串行端口接口346连接至处理单元321,但也可以由其它接口,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器347或其它类型的显示设备也经由接口,诸如视频适配器348连接至系统总线323。除监视器347之外,计算机通常包括其它外围输出设备(未示出),诸如扬声器或打印机等。图3的示例性环境还包括主机适配器355、小型计算机系统接口(SCSI)总线356和连接到SCSI总线356的外部存储设备362。
计算设备360可使用至诸如远程计算机349等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机349可以是另一计算设备(例如,个人计算机)、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文相对于计算设备360描述的许多或所有元件,尽管在图3中只示出了存储器存储设备350(软盘驱动器)。图3所描绘的逻辑连接包括局域网(LAN)351和广域网(WAN)352。这样的网络环境常见于办公室、企业范围计算机网络、内联网和因特网。
当在LAN联网环境中使用时,计算设备360通过网络接口或适配器353连接至LAN 351。当在WAN联网环境中使用时,计算设备360可包括调制解调器354或用于通过诸如因特网等广域网352来建立通信的其它装置。或为内置或为外置的调制解调器354经由串行端口接口346连接到系统总线323。在网络化环境中,相对于计算设备360描绘的程序模块或其部分可被储存在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
虽然可以想象USB令牌上的密钥容器的众多实施例尤其适用于计算机化的系统,但本文并不旨在将本发明限于这些实施例。相反,此处所使用的术语“计算机系统”旨在包括能够存储和处理信息和/或能够使用所存储的信息来控制设备本身的行为或执行的任何及所有设备,而不管那些设备本质上是否为电子的、机械的、逻辑的、或虚拟的。
此处所述的各种技术可结合硬件或软件,或在适当时以其组合来实现。由此,用于实现USB令牌上的密钥容器的方法和装置或其某些方面或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中当程序代码被加载到诸如计算机等机器内并由其执行时,该机器成为用于实现USB令牌上的密钥容器的装置。
如果需要,程序可以用汇编语言或机器语言来实现。在任何情况下,语言可以是编译的或解释的语言,且与硬件实现相结合。用于实现USB令牌上的密钥容器的方法和装置也可以经由以通过某种传输介质传输的程序代码的形式体现的通信来实现,传输介质比如通过电线或电缆、通过光纤或经由任何其它传输形式,其中,当程序代码由诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户计算机等机器接收、加载并执行时。当在通用处理器上实现时,程序代码与处理器相结合来提供一种用于调用USB令牌上的密钥容器的功能的独特装置。另外,结合USB令牌上的密钥容器所使用的任何存储技术总是可以是硬件和软件的组合。
尽管已结合各个附图的各示例实施例对USB令牌上的密钥容器进行了描述,但是可以理解,可以使用其它类似的实施例,或可以对所述实施例进行修改或添加,来实现USB令牌上的密钥容器的相同功能而不背离本发明。因此,此处所描述的USB令牌上的密钥容器不应限于任何单个实施例,而是应该根据所附权利要求书的广度和范围来解释。

Claims (11)

1.一种用于访问密钥而不需要交互式认证机制的方法,所述方法包括:
处理器接收访问密钥的指示;
所述处理器与应用编程接口通信来自动地搜索其上存储有密钥容器的通用串行总线USB兼容存储设备,所述搜索包括搜索USB兼容存储设备的索引来搜索所述密钥容器;以及
如果找到USB兼容存储设备,则访问所述USB兼容存储设备上的密钥,其中访问包括存储和检索中的至少一个;
如果未找到USB兼容存储设备,则:
呈现提供USB兼容存储设备的提示;
确定是否提供了USB兼容存储;
如果已经提供了USB兼容存储,则访问所提供的USB兼容存储设备上的密钥;以及
如果未提供USB兼容存储设备,则访问所述处理器的存储器中的密钥;
其中所述密钥是隔离在所述处理器的受保护的执行环境中的,其中用户应用程序无权直接访问所述USB兼容存储设备上的密钥,而相反通过本地远程过程调用来向受保护的密码进程发送密码请求。
2.如权利要求1所述的方法,其特征在于,其中所述处理器表示便携式设备,并且不在所述处理器上实现所述USB兼容存储设备专用的基础结构。
3.如权利要求1所述的方法,其特征在于,所述USB兼容存储设备包括便携式设备。
4.如权利要求1所述的方法,其特征在于,所述密钥是经由密码编程接口访问的。
5.一种用于实现通用串行总线USB兼容存储设备上的密钥而不需要交互式认证机制的系统,所述系统包括:
输入/输出部分,所述输入/输出部分被配置成:
接收访问密钥的指示;以及
处理部分,所述处理部分被配置成:
经由应用编程接口自动地搜索其上存储有密钥容器的所述USB兼容存储设备的指示所述搜索包括搜索USB兼容存储设备的索引来搜索所述密钥容器;以及
如果找到所述USB兼容存储设备的指示,则经由密码编程接口访问所述USB兼容存储设备上的密钥,其中访问包括存储和检索中的至少一个;
如果未找到所述USB兼容存储设备的指示,则:
呈现提供USB兼容存储设备的提示;
确定是否提供了USB兼容存储;
如果已经提供了USB兼容存储,则经由所述密码编程接口访问所提供的USB兼容存储设备上的密钥;以及
如果未提供USB兼容存储设备,则经由所述密码编程接口访问所述存储器部分中的密钥;
其中所述密钥是隔离在所述系统的受保护的执行环境中的,其中用户应用程序无权直接访问所述USB兼容存储设备上的密钥,而相反通过本地远程过程调用来向受保护的密码进程发送密码请求。
6.如权利要求5所述的系统,其特征在于,其中所述系统表示便携式设备,并且所述系统不包括所述USB兼容存储设备专用的基础结构。
7.如权利要求5所述的系统,其特征在于,所述USB兼容存储设备包括便携式设备。
8.一种用于访问通用串行总线USB兼容存储设备上的密钥而不需要交互式认证机制的系统,所述系统包括:
用于由处理器接收访问密钥的指示的装置;
用于所述处理器与应用编程接口通信来自动地搜索其上存储有密钥容器的USB兼容存储设备的装置,所述搜索包括搜索USB兼容存储设备的索引来搜索所述密钥容器;以及
当找到USB兼容存储设备时,用于访问所述USB兼容存储设备上的密钥的装置,其中访问包括存储和检索中的至少一个;
当未找到USB兼容存储设备时,用于访问所述处理器的存储器中的密钥的装置,进一步包括:
当未找到USB兼容存储设备时:
用于呈现提供USB兼容存储设备的提示的装置;
用于确定是否提供了USB兼容存储的装置;
当已经提供了USB兼容存储时,用于访问所提供的USB兼容存储设备上的密钥的装置;以及
当未提供USB兼容存储设备时,用于访问所述处理器的存储器中的密钥的装置;
其中所述密钥是隔离在所述处理器的受保护的执行环境中的,其中用户应用程序无权直接访问所述USB兼容存储设备上的密钥,而相反通过本地远程过程调用来向受保护的密码进程发送密码请求。
9.如权利要求8所述的系统,其特征在于,还包括用于经由密码编程接口访问所述密钥的装置。
10.如权利要求8所述的系统,其特征在于,其中所述处理器表示便携式设备,并且不在所述处理器上实现所述USB兼容存储设备专用的基础结构。
11.如权利要求8所述的系统,其特征在于,所述USB兼容存储设备包括便携式设备。
CN200780050523.5A 2007-01-26 2007-12-21 Usb令牌上的密钥容器 Active CN101589397B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/627,466 2007-01-26
US11/627,466 US8588421B2 (en) 2007-01-26 2007-01-26 Cryptographic key containers on a USB token
PCT/US2007/088597 WO2008094369A2 (en) 2007-01-26 2007-12-21 Cryptographic key containers on a usb token

Publications (2)

Publication Number Publication Date
CN101589397A CN101589397A (zh) 2009-11-25
CN101589397B true CN101589397B (zh) 2016-08-17

Family

ID=39668006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780050523.5A Active CN101589397B (zh) 2007-01-26 2007-12-21 Usb令牌上的密钥容器

Country Status (7)

Country Link
US (1) US8588421B2 (zh)
EP (1) EP2106597B1 (zh)
JP (1) JP5611598B2 (zh)
CN (1) CN101589397B (zh)
CL (1) CL2008000182A1 (zh)
TW (1) TWI431501B (zh)
WO (1) WO2008094369A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806220B2 (en) 2009-01-07 2014-08-12 Microsoft Corporation Device side host integrity validation
CN101782955B (zh) * 2009-01-16 2012-06-20 鸿富锦精密工业(深圳)有限公司 文件保护系统
US8364984B2 (en) 2009-03-13 2013-01-29 Microsoft Corporation Portable secure data files
US8321950B2 (en) * 2009-03-20 2012-11-27 Cisco Technology, Inc. Delivering secure IPTV services to PC platforms
GB2469141A (en) * 2009-04-04 2010-10-06 Peter Norman Panayi Protecting data from unauthorised access using one-time pad stored on removable storage device
US9274815B2 (en) 2010-03-26 2016-03-01 Qualcomm Incorporated Method and apparatus for portable self-contained node computer
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8510552B2 (en) 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US9058497B2 (en) * 2010-12-23 2015-06-16 Microsoft Technology Licensing, Llc Cryptographic key management
US20140096213A1 (en) * 2012-09-28 2014-04-03 Kevin Quan Method and system for distributed credential usage for android based and other restricted environment devices
US9245130B2 (en) 2013-03-29 2016-01-26 International Business Machines Corporation Multi-user universal serial bus (USB) key with customizable file sharing permissions
US9720852B2 (en) 2013-03-29 2017-08-01 International Business Machines Corporation Universal serial bus (USB) key functioning as multiple USB keys so as to efficiently configure different types of hardware
US9009359B2 (en) 2013-03-29 2015-04-14 International Business Machines Corporation Emulating multiple universal serial bus (USB) keys so as to efficiently configure different types of hardware
US9311504B2 (en) 2014-06-23 2016-04-12 Ivo Welch Anti-identity-theft method and hardware database device
WO2016112338A1 (en) * 2015-01-08 2016-07-14 Intertrust Technologies Corporation Cryptographic systems and methods
US10387636B2 (en) 2015-10-20 2019-08-20 Vivint, Inc. Secure unlock of a device
KR20170077328A (ko) * 2015-12-28 2017-07-06 현대자동차주식회사 자동차 관리 시스템 및 방법
CN106452795A (zh) * 2016-11-25 2017-02-22 成都三零凯天通信实业有限公司 一种USB解密Key
US11914713B2 (en) * 2019-02-28 2024-02-27 Hewlett-Packard Development Company, L.P. Access to firmware settings with asymmetric cryptography

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19642560A1 (de) * 1996-10-15 1998-04-16 Siemens Ag Elektronische Datenverarbeitungsschaltung
JPH10304206A (ja) 1997-02-26 1998-11-13 N T T Data:Kk 画像符号化/復号化方式及び同方式のための画像符号化及び復号化装置
US6216230B1 (en) * 1998-02-11 2001-04-10 Durango Corporation Notebook security system (NBS)
US6484259B1 (en) * 1999-07-23 2002-11-19 Microsoft Corporation Methods and arrangements for mapping widely disparate portable tokens to a static machine concentric cryptographic environment
CN1592877B (zh) 2001-09-28 2010-05-26 高密度装置公司 用于对大容量存储设备上数据加密/解密的方法和装置
JP4226816B2 (ja) 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
JP2003216037A (ja) * 2001-11-16 2003-07-30 Yazaki Corp 暗号キー、暗号化装置、暗号化復号化装置、暗号キー管理装置及び復号化装置
US7065651B2 (en) * 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
US7200756B2 (en) * 2002-06-25 2007-04-03 Microsoft Corporation Base cryptographic service provider (CSP) methods and apparatuses
JP4375980B2 (ja) * 2003-03-11 2009-12-02 株式会社エヌ・ティ・ティ・ドコモ マルチタスク実行システム及びマルチタスク実行方法
JP2004312267A (ja) * 2003-04-04 2004-11-04 Sony Corp 画像伝送システム,撮像装置,撮像装置ユニット,鍵生成装置,およびプログラム
US7178724B2 (en) * 2003-04-21 2007-02-20 Stmicroelectronics, Inc. Smart card device and method used for transmitting and receiving secure e-mails
CN1302382C (zh) * 2003-06-13 2007-02-28 联想(北京)有限公司 基于usb闪存盘存储介质私有空间的验证方法
US20050015611A1 (en) * 2003-06-30 2005-01-20 Poisner David I. Trusted peripheral mechanism
JP4253543B2 (ja) * 2003-07-29 2009-04-15 矢崎総業株式会社 ハードウェアプロテクトキー及びその再発行方法
JP2005050160A (ja) * 2003-07-29 2005-02-24 Yazaki Corp ハードウェアプロテクトキー及び情報処理システム
TW200512658A (en) * 2003-09-19 2005-04-01 Hui Lin Authentication process for data storage application and IC card authentication hardware
TW200513087A (en) * 2003-09-19 2005-04-01 Hui Lin Mail server login security authentication system and method, and IC card authentication hardware
US20050182934A1 (en) * 2004-01-28 2005-08-18 Laszlo Elteto Method and apparatus for providing secure communications between a computer and a smart card chip
CA2564576A1 (en) 2004-04-26 2005-11-03 Trek 2000 International Ltd. Portable data storage device with encryption system
CA2572401A1 (en) * 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
KR100583050B1 (ko) 2004-08-04 2006-05-25 송유권 유에스비 토큰 키를 이용한 파일 암호화 및 복호화 방법과그를 이용한 시스템
US20060031674A1 (en) 2004-08-09 2006-02-09 Kabushiki Kaisha Toshiba Encrypting method and encrypting apparatus for image processing apparatus
US7702922B2 (en) * 2004-08-17 2010-04-20 Microsoft Corporation Physical encryption key system
JP2006155217A (ja) 2004-11-29 2006-06-15 Hitachi Ltd 認証機構を有する外部記憶装置
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
JP2006163956A (ja) 2004-12-08 2006-06-22 Ricoh Co Ltd セキュリティ印刷システム、プリンタ或いはプリンタ機能を備えた多機能複写装置、icカード及び情報処理装置
JP4600021B2 (ja) 2004-12-10 2010-12-15 株式会社日立製作所 暗号化データアクセス制御方法
US20060129797A1 (en) * 2004-12-15 2006-06-15 Palo Alto Research Center, Inc. Hardware-supported secure network boot
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
JP2006227679A (ja) 2005-02-15 2006-08-31 Dainippon Printing Co Ltd Usbメモリキー
JP2006268513A (ja) 2005-03-24 2006-10-05 Sun Corp 端末装置のログオン管理装置
US20060287108A1 (en) * 2005-05-17 2006-12-21 Canterbury Stephen A Wagering game with usb nonvolatile storage
TW200701030A (en) * 2005-06-30 2007-01-01 Mitac Technology Corp Method and apparatus of securing computer system
JP4890309B2 (ja) * 2007-03-19 2012-03-07 株式会社リコー 情報処理装置及び情報保護方法

Also Published As

Publication number Publication date
EP2106597B1 (en) 2019-04-24
TWI431501B (zh) 2014-03-21
US20080181412A1 (en) 2008-07-31
EP2106597A4 (en) 2012-08-29
EP2106597A2 (en) 2009-10-07
JP2010517424A (ja) 2010-05-20
US8588421B2 (en) 2013-11-19
WO2008094369A2 (en) 2008-08-07
JP5611598B2 (ja) 2014-10-22
CL2008000182A1 (es) 2008-08-01
TW200837602A (en) 2008-09-16
CN101589397A (zh) 2009-11-25
WO2008094369A3 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
CN101589397B (zh) Usb令牌上的密钥容器
Sun et al. Mind your weight (s): A large-scale study on insufficient machine learning model protection in mobile apps
EP3674954B1 (en) Security control method and computer system
Bayerl et al. Offline model guard: Secure and private ML on mobile devices
CN101512512B (zh) 利用软件名声的软件授权
US8095977B2 (en) Secure PIN transmission
US20210141940A1 (en) Method and system for enhancing the integrity of computing with shared data and algorithms
US8683549B2 (en) Secure data storage and retrieval incorporating human participation
CN104871174B (zh) 用户便携设备及用于“自带”计算工作环境的系统和方法
CN103577761A (zh) 一种在移动设备中处理隐私数据的方法和装置
US9443067B1 (en) System for the distribution and deployment of applications, with provisions for security and policy conformance
US10587652B2 (en) Generating false data for suspicious users
JP6511161B2 (ja) データファイルの保護
CN109844748A (zh) 托管在虚拟安全环境中的安全服务
CN110489971A (zh) 安全的数据集管理
US9659156B1 (en) Systems and methods for protecting virtual machine program code
US20230376610A1 (en) Non-Intrusive Method of Detecting Security Flaws of a Computer Program
US20110145596A1 (en) Secure Data Handling In A Computer System
CN110597496B (zh) 应用程序的字节码文件获取方法及装置
Paju et al. SoK: A Systematic Review of TEE Usage for Developing Trusted Applications
Zhu et al. Multiway dynamic trust chain model on virtual machine for cloud computing
Ray Developing a proactive digital forensics system
Doan et al. HAL‐Based Resource Manipulation Monitoring on AOSP
CN116070244A (zh) 一种账本数据的处理方法及装置、存储介质及电子设备
Liu et al. An Empirical Study on Android for Saving Nonshared Data on Public Storage...... KEHUAN ZHANG

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant