CN101641702A - 结合人类参与的安全数据存储与检索 - Google Patents

结合人类参与的安全数据存储与检索 Download PDF

Info

Publication number
CN101641702A
CN101641702A CN200880009414A CN200880009414A CN101641702A CN 101641702 A CN101641702 A CN 101641702A CN 200880009414 A CN200880009414 A CN 200880009414A CN 200880009414 A CN200880009414 A CN 200880009414A CN 101641702 A CN101641702 A CN 101641702A
Authority
CN
China
Prior art keywords
puzzle
secret
answer
key
data
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.)
Pending
Application number
CN200880009414A
Other languages
English (en)
Inventor
A·H·贝克
B·J·瓜拉希
A·S·特克
G·梅德文斯基
T·杜塔
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 Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101641702A publication Critical patent/CN101641702A/zh
Pending legal-status Critical Current

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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

Landscapes

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

Abstract

一种计算机相关的安全机制要求人类参与访问验证序列。在请求访问安全数据时,向请求者提供谜题。谜题的正确解答需要人类参与。选择谜题以使其解答在人类的能力范围之内,但却超出计算机系统领域的现有技术。谜题可以可视地和/或可听地向用户呈现。在一个配置中,经由可插入谜题生成程序的库来获得谜题。随着计算技术领域的现有技术的改进,可以替换库中的谜题生成程序。

Description

结合人类参与的安全数据存储与检索
技术领域
本技术领域一般涉及计算机处理,且更具体地涉及计算机安全。
背景
典型的访问控制机制不区分由人提供的输入与由软件提供的输入。因此,在系统上运行的流氓软件可模仿人类用户的行为并且获得对受保护资源的未授权访问。例如,击键记录程序可以捕捉用户的帐户名称和口令并且稍后重放它们作为访问验证序列的一部分。同样,典型的访问控制机制容易受到诸如字典式攻击或者“中间人”攻击等蛮力攻击的影响。蛮力攻击对于受口令保护的加密数据的存储特别不利。
概述
提供本概述以用简化形式介绍下面在说明性实施例的详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在用于限制所要求保护的主题的范围。
一种验证机制需要人类参与访问验证序列。为访问数据,提供谜题。该谜题的正确解答需要人类干预。选择谜题,使得其解答在人类的能力范围之内,但却超出计算机系统领域的现有技术。在一示例实施例中,使用验证机制来确保以用户口令加密的数据需要实际的人主体参与访问底层明文数据的每次尝试。
附图简述
以上概述以及以下详细描述在结合附图阅读时能被更好地理解。为了例示结合人类参与的安全数据存储与检索,在附图中示出了其示例性结构;然而,通过结合人类参与的安全数据存储与检索提供的功能不限于所公开的具体方法和手段。
图1是用于安全地存储数据的示例事件序列的流程图。
图2是用于安全地检索数据的示例事件序列的流程图。
图3示出结合人类参与的安全数据存储与检索的存储序列的示例实现。
图4示出结合人类参与的安全数据存储与检索的检索序列的示例实现。
图5是用于实现结合人类参与的安全数据存储与检索的示例性处理器的图示。
图6是其中可实现结合人类参与的安全数据存储与检索的示例的合适计算环境的示图。
说明性实施例的详细描述
图1和图2描绘用于实现结合人类参与的安全数据存储与检索的示例事件序列的顺序流程图。图1描绘用于存储安全数据的示例事件序列,而图2描绘用于检索安全数据的示例事件序列。用于数据的安全存储与检索的密码协议需要来自人类授权,以便执行数据检索操作。在一示例配置中,使用两个代理来实现该协议。如图1所示,第一代理14(即客户机)管理与人类用户12的交互。第二代理16(即安全服务器)(称为人类验证服务或者HVS)协调密码操作并用作受保护数据的储存库。为清楚起见,分开描绘客户机代理14和HVS服务器16。然而要理解的是,客户机代理14和HVS服务器16可以包括分开的处理器、同一处理器、或者其组合。例如,客户机代理14和HVS服务器16可在单个计算机系统上的分开的进程中运行,可在多计算机网络中的分开的主机上运行,或者其组合。
如上所述,图1是用于存储安全数据的示例事件序列的流程图。在步骤18,客户机代理14生成密钥K。该密钥可以包括任何适当的随机密钥。在一示例实施例中,密钥K是对称密钥(例如根据高级加密标准AES的对称密钥)。在步骤20,用密钥K加密要存储的数据的明文以生成加密数据。在步骤22,客户机代理14生成另一个密钥K1。密钥K1可以包括任何适当的密钥,诸如例如对称密钥。要理解的是,在附图中描绘的事件序列是示例性的并因而不限于此。事件序列可以适当地修改。例如,步骤22可以在步骤18或者步骤20之前执行。
客户机代理14在步骤24向用户询问秘密,诸如PIN、口令等。在步骤26,用户用该用户的秘密SU响应询问。在步骤28,客户机代理14用密码散列函数对用户的秘密SU进行操作。散列函数是本领域已知的。散列函数是将可变大小的输入变换成固定大小的值的函数。通常,散列函数是单向的,意味着从输出(经变换的)值来确定输入值是不可行或者不可能的。向散列函数提供相同的输入将提供相同的输出。输入中的轻微变化通常在输出中导致相当大的改变。示例散列函数包括MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。
在步骤30,用密钥K1来加密密钥K。在步骤32,用密钥K1来加密表示用户秘密的散列值Hash(SU)(散列(SU))。在一示例实施例中,用户的秘密SU在执行散列函数之后没有存储在客户机代理14中。这可以提供附加安全性,因为用户的秘密SU更不容易被盗。在步骤34,用安全服务器16的公钥/私钥对中的公钥来加密密钥K1。利用公钥/私钥对的公钥密码学是本领域已知的。使用一个密钥进行加密而使用另一个密钥进行解密。一个密钥的知识不提供另一个密钥的知识。通常一个密钥保密,并且因而称为私钥。通常使另一个密钥公开。公钥密码学的一个示例是RSA公钥密码学。在步骤30、32和33加密的信息(在图1中被称为二进制大对象)在步骤36被提供给安全服务器16。即,在步骤36,客户机代理14将用密钥K1加密的密钥K、用密钥K1加密的表示用户的秘密的散列值Hash(SU)、以及用安全服务器16的公钥/私钥对中的公钥加密的密钥K1提供给安全服务器16。
在步骤38,安全服务器16生成在图1中被称为检索标记的唯一标记值,以标识在步骤36接收到的二进制大对象。在步骤40,将该二进制大对象存储在安全服务器的数据库、存储器等等之中。该二进制大对象由检索标记来索引。因而,可以通过检索标记来从数据库、存储器等等之中检索该二进制大对象。在步骤42,安全服务器16提供检索标记给客户机代理14。在步骤44,客户机代理14使用该检索标记作为索引来存储在步骤20所生成的加密数据。即,客户机代理14在数据库、存储器等等之中存储用密钥K加密的明文,并且使用检索标记来索引所存储的加密数据,以便可以使用该检索标记来从存储中检索加密数据。
图2是用于安全地检索数据的示例事件序列的流程图。为检索原始的明文,客户机代理14利用在存储过程期间(在步骤38)所生成的检索标记来访问安全服务器16。在步骤46,在客户机代理14与安全服务器16之间建立安全信道。可以按照任何合适的手段来建立安全信道。在步骤48,客户机代理14将检索标记和对谜题的请求发送到安全服务器16。
在步骤50,生成谜题和该谜题的正确解答。谜题可以包括需要人类干预来获得解答的任何适当类型的谜题。在各实施例中,谜题可能需要用户对视觉呈现、音频呈现、或其组合作出响应。例如,谜题可能需要用户输入在失真图像(例如全自动公开图灵测试,CAPTCHA)中观察到的字母。谜题可能需要用户回答在失真图像中观察到的问题。谜题可能需要用户输入在失真音频中听到的字母。谜题可能需要用户回答在失真音频中听到的问题。在各实施例中,用户的响应可通过键盘、鼠标、口述、或其组合来提供。选择谜题以使得其解答在人类的能力范围内,但却超出计算机系统领域的现有技术。谜题可由安全服务器16、另一个处理器、或其组合来生成。在一示例实施例中,谜题是经由可插入谜题生成程序的库来获得的。随着计算技术领域的现有技术使一些谜题更容易受到机械解答的影响,该实施例允许替换谜题。在各实施例中,在每次向安全服务器16提出请求时,安全服务器16可生成谜题,该谜题可以是预定的谜题,谜题类型(例如谜题类别)可以是预定的,或其组合。如果谜题是预定的谜题或者谜题类型是预定的,则在步骤48可提供谜题或者谜题类型的指示。
在步骤52,安全服务器16生成随机密钥K2。密钥K2可以包括任何适当的密钥,诸如例如对称密钥。在步骤54,用密钥K2加密谜题的正确解答。在一示例实施例中,正确的解答包括时间戳并用密钥K2加密。在步骤56,安全服务器16将加密的正确解答和可任选时间戳(称为验证二进制大对象)以及谜题提供给客户机代理14。在步骤58,客户机代理14将谜题提供给用户12。在步骤60,用户12结合人类参与来解答谜题并且将所提出的解答提供给客户机代理14。在步骤62,向用户12询问用户的秘密。在步骤64,用户12用用户的秘密SU响应(步骤62的)询问。在步骤66,客户机代理14将(在步骤60收到的)所提出的解答、表示用户的秘密的散列值(Hash(SU))和验证二进制大对象(在步骤54生成的加密的正确解答和可任选时间戳)发送至安全服务器16。
在步骤68,安全服务器16使用检索标记来检索经索引的客户机二进制大对象。即,安全服务器16使用在步骤38所生成的检索标记来检索在步骤40存储的用密钥K1加密的密钥K、用密钥K1加密的表示用户的秘密的散列值Hash(SU)、和用安全服务器16的公钥/私钥对中的公钥加密的密钥K1。在步骤70,用安全服务器16的公钥/私钥对中的私钥PK-1 HVS来解密用公钥PKHVS(在步骤34)加密的密钥K1。在步骤72,用密钥K1来解密加密的(在步骤32)表示用户的秘密的散列值(Hash(SU))。在步骤74,用密钥K2来解密加密的(在步骤54)验证二进制大对象(生成正确解答和可任选时间戳)。
在步骤76执行验证。如果验证成功,则允许访问所存储的数据(明文)。如果验证不成功,则不允许访问数据(明文)。在一示例实施例中,如果在步骤64提供的表示用户秘密的散列值不同于在步骤26提供的表示用户秘密的散列值,则验证失败。即,如果在客户机代理14初次询问用户12时所提供的用户秘密不同于与用户提出的谜题解答一起提供的用户秘密,则验证失败。在一示例实施例中,给予用户12一段有限的时间来提供所提出的谜题响应。因此,如果当前时间即安全服务器16正在执行验证的时间与(在步骤54生成的)验证二进制大对象中的时间戳所指示的时间相差大于预定的时间量,则验证失败。例如,如果当前时间与时间戳所指示的时间相差超过30秒,则验证将失败。如果用户12(在步骤60)提供的所提出的谜题解答不同于正确的解答,则验证失败。
图3和图4示出结合人类参与的安全数据存储与检索的示例实现,该实现使用无源通用串行总线(USB)设备90作为存储管理应用程序86的存储。图3示出结合人类参与的安全数据存储与检索的存储序列的示例实现。该实现包括存储管理应用程序86(例如客户机代理)、人类验证服务(HVS)88(例如安全HVS服务器)、存储介质90、以及存储介质92。存储介质90可包括任何适当的存储介质,诸如例如盘、半导体存储器、数据库等等。如图3所示,在一示例实施例中,存储介质90包括USB存储设备(例如钥匙驱动器)。存储设备90不需要特殊的密码能力。存储介质92可包括任何适当的存储介质,诸如例如盘、半导体存储器、数据库等等。
为实现安全数据的存储,存储管理应用程序86从用户接受要存储的用户数据-密钥、口令和友好显示名称。用户数据密钥可包括保护敏感用户数据的任何适当的秘密。例如,数据密钥可包括口令、加密等等。显示名称用于向用户提示用户数据密钥的身份。显示名称不加密。在执行如上所述的结合人类参与的安全数据存储与检索的存储序列之后,存储管理应用程序86拥有检索标记和已经用密钥K加密的用户数据密钥的拷贝。存储管理应用程序86将检索标记和用户数据密钥的拷贝两者与数据密钥的友好显示名成一起存储在USB设备90上。
在执行如上所述的结合人类参与的存储与检索的存储序列之后,HVS 88拥有密钥K的拷贝和表示用户秘密SU的散列值,这两者都被使用密钥K1加密。HVS 88还拥有K1的加密拷贝,HVS 88可以通过使用HVS 88的私钥来再现K1。这些项作为一个组来存储并且用检索标记值来索引。合起来,该数据将允许HVS 88重新构建K的值和表示用户秘密的散列值。
图4示出结合人类参与的安全数据存储与检索的检索序列的示例实现。当用户想要再现数据密钥时,用户再次执行存储管理应用程序86。存储管理应用程序86向用户提供从USB设备90加载的友好显示名称列表。用户可选择显示名称中的一个来再现相关联的数据密钥。在结合人类参与的安全数据存储与检索的检索序列期间,存储管理应用程序86提示用户输入口令等并且向用户提供需要人类参与以获得解答的谜题。在收到用户的响应(例如用户所提出的谜题解答)后,存储管理应用程序86将用户的响应发送至HVS 88。HVS 88评估口令和用户所提出的谜题解答。如果HVS确定口令正确并且用户所提出的谜题解答正确,则HVS 88返回原始密钥K给存储管理应用程序88。存储管理应用程序86使用密钥K来解密来自USB存储设备90的原始用户数据密钥。在存储序列或者检索序列期间的任何时候,HVS 88都无权访问用户数据密钥的明文版本。
图5是用于实现结合人类参与的安全数据存储与检索的示例性处理器94的图。处理器94包括处理部分96、存储器部分98和输入/输出部分100。处理部分96、存储器部分98和输入/输出部分100耦合在一起(在图5中未示出耦合)以允许它们之间的通信。输入/输出部分100能够提供和/或接收用于实现如上所述的结合人类参与的安全数据存储与检索的组件。例如,输入/输出部分100能够接收和/或提供对用户秘密的询问、用户的秘密、加密信息、密钥、经索引的信息、散列值、检索标记、谜题、所提出的谜题解答、或其组合。
处理部分96能够实现如上所述的结合人类参与的安全数据存储与检索。例如,处理部分96能够生成密钥,执行加密,执行散列函数,生成检索标记,存储经索引的信息,建立安全信道,生成需要人类参与以获得解答的谜题,检索经索引的信息,执行解密,执行验证,确定当前时间与时间戳所指示的时间是否相差至少预定的时间量,确定第一用户秘密是否不同于第二用户秘密,确定所提出的谜题解答是否正确,或其组合。
处理器94可以实现为客户机处理器和/或服务器处理器。在一基本配置中,处理器94可包括至少一个处理部分96和存储器部分98。存储器部分98可以存储结合实现结合人类参与的安全数据存储与检索所使用的任何信息。例如,存储器部分98可以存储密钥、用户秘密、谜题、谜题解答、散列值、经索引的信息、检索标记、或其组合。取决于处理器的精确配置和类型,存储器部分98可以是易失性的(诸如RAM)102、非易失性的(诸如ROM、闪存等)104、或其组合。处理器94可以具有附加特征/功能性。例如,处理器94可以包括附加存储(可移动存储106和/或不可移动存储108),包括但不限于磁盘或光盘、磁带、闪存、智能卡、或其组合。诸如存储器部分98、102、104、106和108等计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或者其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光学存储、磁盒、磁带、磁盘存储或者其它磁存储设备、通用串行总线(USB)兼容存储器、智能卡、或者可用于存储所需信息并且能由处理器94访问的任何其它介质。任何这样的计算机存储介质都可以是处理器94的一部分。
例如,处理器94还可包含允许处理器94与其它设备通信的通信连接114。通信连接114是通信介质的一个示例。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传输介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设置或更改变的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或者直接线连接,以及无线介质,诸如声学、RF、红外和其它无线介质。此处使用的术语计算机可读介质包括存储介质和通信介质两者。处理器94还可具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备112。还可包括输出设备110,诸如显示器、扬声器、打印机等等。
图6和下面的讨论提供其中可实现结合人类参与的安全数据存储与检索的示例的合适计算环境的简要概括描述。尽管不是必要的,但是结合人类参与的安全数据存储与检索的各方面能在由诸如客户机工作站或服务器等计算机执行的诸如程序模块等计算机可执行指令的一般上下文中描述。通常,程序模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。此外,结合人类参与的安全数据存储与检索的实现可用其它计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器的或者可编程消费电子产品、网络PC、小型机、大型计算机等等。而且,通过结合人类参与的安全数据存储与检索来提供功能也可在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
计算机系统可以大致分为三个组件分组:硬件组件,硬件/软件接口系统组件、以及应用程序组件(也称为“用户组件”或者“软件组件”)。在计算机系统的各实施例中,硬件组件可包括中央处理单元(CPU)521;存储器(ROM564和RAM 525两者);基本输入/输出系统(BIOS)566;和诸如键盘540、鼠标542、监视器547和/或打印机(未示出)等各种输入/输出(I/O)设备。硬件组件包括计算机系统的基本物理基础结构。
应用程序组件包括各种软件程序,包括但不限于编译器、数据库系统、文字处理程序、商务程序、视频游戏等等。应用程序为各种用户(机器、其它计算机系统和/或最终用户)提供利用计算机资源来解决问题、提供解决方案和处理数据的手段。在一示例实施例中,应用程序执行与如上所述的结合人类参与的安全数据存储与检索相关联的功能。
硬件/软件接口系统组件包括(并且在一些实施例中可仅包括)操作系统,操作系统在大多数情形中本身包括外壳和内核。“操作系统”(OS)是担当应用程序与计算机硬件之间的中介的特殊程序。硬件/软件接口系统组件还可包括虚拟机管理器(VMM)、公共语言运行库(CLR)或其功能等效物、Java虚拟机(JVM)或其功能等效物、或者作为对计算机系统中的操作系统的替换或补充的其它这类软件组件。硬件/软件接口系统的目的是提供用户可以在其中执行应用程序的环境。
硬件/软件接口系统通常在启动时被加载到计算机系统中,并且之后管理计算机系统中的所有应用程序。应用程序通过经由应用程序接口(API)请求服务来与硬件/软件接口系统交互。一些应用程序允许最终用户经由诸如命令语言或者图形用户界面(GUI)等用户界面来与硬件/软件接口系统交互。
硬件/软件接口系统在传统上在线用于应用程序的各种服务。在其中多个程序可同时运行的多任务硬件/软件接口系统中,硬件/软件接口系统确定哪些应用程序应当以什么次序运行以及在为轮流而切换到另一个应用程序之前应当允许每一应用程序多长时间。硬件/软件接口系统还管理多个应用程序对内部存储器的共享,并且处理来自诸如硬盘、打印机和拨号端口等附连硬件设备的输入以及对它们的输出。硬件/软件接口系统还向每一个应用程序(并且在一些情形中向最终用户)发送关于操作的状态和可能已经发生的任何错误的消息。硬件/软件接口系统还可以卸载批处理任务(例如打印)的管理,使得启动应用程序免于该工作并且可以继续其它处理和/或操作。在可提供并行处理的计算机上,硬件/软件接口系统还管理划分程序以使它同时在多于一个的处理器上运行。
硬件/软件接口系统外壳(称为“外壳”)是对硬件/软件接口系统的交互最终用户界面。(外壳也称为“命令解释程序”或者在操作系统中被称为“操作系统外壳”)。外壳是可直接由应用程序和/或最终用户访问的硬件/软件接口系统的外层。与外壳相反,内核是直接与硬件组件交互的硬件/软件接口系统的最内层。
如图6所示,示例性通用计算系统包括常规计算设备560等,其包括处理单元521、系统存储器562和将包括系统存储器在内的各种系统组件耦合到处理单元521的系统总线523。系统总线523可以是若干类型的总线结构中的任何一种,这些总线结构包括存储器总线或者存储器控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。系统存储器包括只读存储器(ROM)564和随机存取存储器(RAM)525。基本输入/输出系统566(BIOS)存储在ROM 564中,它包含帮助在诸如启动期间在计算设备560内的各种元件之间传送信息的基本例程。计算设备560还可包括用于读写硬盘(未示出硬盘)的硬盘驱动器527、用于读写可移动磁盘529(例如软盘、可移动存储)的磁盘驱动器528(例如软盘驱动器)、以及用于读写诸如CD ROM或其它光学介质等可移动光盘531的光盘驱动器530。硬盘驱动器527、磁盘驱动器528和光盘驱动器530分别通过硬盘驱动器接口532、磁盘驱动器接口533和光盘驱动器接口534连接到系统总线523。这些驱动器及其相关联的计算机可读介质为计算设备560提供对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。虽然此处所描述的示例性环境使用硬盘、可移动磁盘529和可移动光盘531,但是本领域技术人员应当了解,在示例性操作环境中还可以使用可存储能由计算机访问的数据的其它类型的计算机可读介质,诸如磁带盒、闪存卡、数字视频盘、伯努利盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等等。同样,示例性环境还可包括诸如热传感器和安全或火警系统等许多类型的监视设备,以及其它信息源。
多个程序模块可存储在硬盘、磁盘529、光盘531、ROM 564或RAM 525中,包括操作系统535、一个或多个应用程序536、其它程序模块537和程序数据538。用户可通过诸如键盘540和定点设备542(例如鼠标)等输入设备将命令和信息输入到计算设备560中。其它输入设备(未示出)可包括话筒、操纵杆、游戏键盘、卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的串行端口接口546连接至处理单元521,但也可通过其它接口,诸如并行端口、游戏端口或者通用串行总线(USB)连接。监视器547或其它类型的显示设备也通过接口,诸如视频适配器548连接至系统总线523。除了监视器547之外,计算设备一般包括其它外围输出设备(未示出),诸如扬声器和打印机。图6的示例性环境还包括主机适配器555、小型计算机系统接口(SCSI)总线556和连接到SCSI总线556的外部存储设备562。
计算设备560可使用到诸如远程计算机549等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机549可以是另一个计算设备(例如个人计算机)、服务器、路由器、网络PC、对等设备或者其它常见网络节点,并且一般包括上文相对于计算设备560描述的许多或全部元件,尽管在图6中仅示出了存储器存储设备550(软盘驱动器)。图6所示的逻辑连接包括局域网(LAN)551和广域网(WAN)552。这样的连网环境在办公室、企业范围计算机网络、内联网和因特网中是很常见的。
当在LAN连网环境中使用时,计算设备560通过网络接口或适配器553连接至LAN 551。当在WAN连网环境中使用时,计算设备560可以包括调制解调器554或用于通过诸如因特网等广域网552来建立通信的其它装置。调制解调器554可以是内置或外置的,其通过串行端口接口546连接至系统总线523。在网络化环境中,相对于计算设备560描绘的程序模块或者其部分可存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的并且可使用在计算机之间建立通信链路的其它手段。
尽管可以想象,结合人类参与的安全数据存储与检索的众多实施例尤其适用于计算机化的系统,但本文并不旨在将本发明限于这些实施例。相反,此处使用的术语“计算机系统”旨在包含能够存储和处理信息和/或能够使用所存储的信息来控制设备本身的行为或执行的任何及所有设备,而不管这些设备本质上是电子的、机械的、逻辑的还是虚拟的。
此处描述的各种技术可结合硬件或软件,或者在适当的时候以其组合来实现。因而,用于实现提供结合人类参与的安全数据存储与检索的功能的方法和装置或者其某些方面或部分,可以采取包含在诸如软盘、CD-ROM、硬盘驱动器或者任何其它机器可读存储介质等有形介质中的程序代码(即指令)的形式,其中当程序代码被加载到诸如计算机等机器并由其执行时,该机器成为用于提供结合人类参与的安全数据存储与检索的功能的装置。
如果需要,程序可以用汇编或者机器语言来实现。在任何情况下,语言可以是编译或解释语言,并且与硬件实现相结合。用于实现结合人类参与的安全数据存储与检索的方法和装置还可以经由以通过某种传输介质传输的程序代码的形式体现的通信来实现,传输介质诸如通过电线或电缆、通过光纤或者通过任何其它传输形式,其中当程序代码由诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户机计算机等机器接收、加载并执行时。当在通用处理器上实现时,程序代码与处理器相结合以提供一种用于调用结合人类参与的安全数据存储与检索的功能的独特装置。另外,与结合人类参与的安全数据存储与检索一起使用的任何存储技术总是可以是硬件和软件的组合。
尽管已经结合各附图的示例实施例描述了结合人类参与的安全数据存储与检索,但要理解,可以使用其它类似的实施例,或者可以对所述实施例进行修改和添加,以执行结合人类参与的安全数据存储与检索的相同功能而不背离本发明。因此,此处所描述的结合人类参与的安全数据存储与检索不应限于任何单个实施例,而是应当根据所附权利要求书的广度和范围来解释。

Claims (20)

1.一种结合人类参与的计算机相关的安全方法,所述方法包括:
接收对存储在存储介质中的数据的请求;
响应于所述请求,提供谜题,其中人类参与旨在获得所述谜题的解答;
接收所述谜题的所提出的解答;
确定所提出的解答是否正确;以及
如果所提出的解答正确,则允许访问存储在所述存储介质中的所述数据。
2.如权利要求1所述的方法,其特征在于,还包括,如果提供所述谜题与接收所提出的解答之间的时间量大于预定的时间量,则不允许访问所述数据。
3.如权利要求1所述的方法,其特征在于,还包括:
在接收到所提出的解答之前,请求第一秘密;
接收所述第一秘密;
在接收到所述对数据的请求之后,请求第二秘密;
接收所述第二秘密;
将所述第一秘密与所述第二秘密相比较;以及
如果所述第一秘密不匹配所述第二秘密,则不允许访问所述数据。
4.如权利要求1所述的方法,其特征在于:
所述谜题旨在可视地呈现;以及
所述谜题的解答旨在通过观察所述谜题的可视呈现来获得。
5.如权利要求1所述的方法,其特征在于:
所述谜题旨在可听地呈现;以及
所述谜题的解答旨在通过观察所述谜题的音频呈现来获得。
6.如权利要求1所述的方法,其特征在于,还包括从可插入谜题生成程序的库中获得所述谜题。
7.如权利要求1所述的方法,其特征在于,还包括:
用第一密钥加密所述数据;
用第二密钥加密所述第一密钥;
在所述存储介质中存储加密的数据和加密的第一密钥;以及
如果所提出的解答正确,则:
用所述第二密钥解密所述加密的第一密钥;以及
提供经解密的第一密钥。
8.一种用于实现结合人类参与的计算机相关的安全的系统,所述系统包括:
输入/输出部分,其被配置成:
接收对存储在存储器部分中的数据的请求;
响应于所述请求,提供谜题,其中人类参与旨在获得所述谜题的解答;以及
接收所述谜题的所提出的解答;
处理部分,其被配置成:
确定所提出的解答是否正确;以及
如果所提出的解答正确,则允许访问存储在所述存储器部分中的所述数据;以及
所述存储器部分被配置成存储所述数据。
9.如权利要求8所述的系统,其特征在于,所述处理部分还被配置成,如果提供所述谜题与接收所提出的解答之间的时间量大于预定的时间量,则不允许访问所述数据。
10.如权利要求8所述的系统,其特征在于:
所述处理部分还被配置成:
在接收到所提出的解答之前,请求第一秘密;
在接收到所述对数据的请求之后,请求第二秘密;
将所述第一秘密与所述第二秘密相比较;以及
如果所述第一秘密不匹配所述第二秘密,则不允许访问所述数据;以及
所述输入/输出部分还被配置成:
接收所述第一秘密;以及
接收所述第二秘密。
11.如权利要求8所述的系统,其特征在于:
所述谜题旨在可视地呈现;以及
所述谜题的解答旨在通过观察所述谜题的可视呈现来获得。
12.如权利要求8所述的系统,其特征在于:
所述谜题旨在可听地呈现;以及
所述谜题的解答旨在通过观察所述谜题的音频呈现来获得。
13.如权利要求8所述的系统,所述处理部分还被配置成从可插入谜题生成程序的库中获得所述谜题。
14.如权利要求8所述的系统,其特征在于:
所述处理部分还被配置成:
用第一密钥加密所述数据;
用第二密钥加密所述第一密钥;
在所述存储器部分中存储加密数据和加密的第一密钥;以及
如果所提出的解答正确,则用所述第二密钥解密所述加密的第一密钥;以及
所述输入/输出部分还被配置成提供经解密的第一密钥。
15.一种在其上存储计算机可执行指令的计算机可读介质,所述计算机可执行指令用于通过执行下列步骤来执行结合人类参与的计算机相关安全:
接收对存储在存储介质中的数据的请求;
响应于所述请求,从可插入谜题生成程序的库中获得谜题;
提供所述谜题,其中人类参与旨在获得所述谜题的解答;
接收所述谜题的所提出的解答;
确定所提出的解答是否正确;以及
如果所提出的解答正确,则允许访问存储在所述存储介质中的所述数据。
16.如权利要求15所述的计算机可读介质,其特征在于,还包括,如果提供所述谜题与接收所提出的解答之间的时间量大于预定的时间量,则不允许访问所述数据。
17.如权利要求15所述的计算机可读介质,其特征在于,还包括:
在接收到所提出的解答之前,请求第一秘密;
接收所述第一秘密;
在接收到所述对数据的请求之后,请求第二秘密;
接收所述第二秘密;
将所述第一秘密与所述第二秘密相比较;以及
如果所述第一秘密不匹配所述第二秘密,则不允许访问所述数据。
18.如权利要求15所述的计算机可读介质,其特征在于:
所述谜题旨在可视地呈现;以及
所述谜题的解答旨在通过观察所述谜题的可视呈现来获得。
19.如权利要求15所述的计算机可读介质,其特征在于:
所述谜题旨在可听地呈现;以及
所述谜题的解答旨在通过观察所述谜题的音频呈现来获得。
20.如权利要求15所述的计算机可读介质,其特征在于,还包括:
用第一密钥加密所述数据;
用第二密钥加密所述第一密钥;
在所述存储介质中存储加密数据和加密的第一密钥;以及
如果所提出的解答正确,则:
用所述第二密钥解密所述加密的第一密钥;以及
提供经解密的第一密钥。
CN200880009414A 2007-03-23 2008-02-28 结合人类参与的安全数据存储与检索 Pending CN101641702A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/690,685 US8683549B2 (en) 2007-03-23 2007-03-23 Secure data storage and retrieval incorporating human participation
US11/690,685 2007-03-23

Publications (1)

Publication Number Publication Date
CN101641702A true CN101641702A (zh) 2010-02-03

Family

ID=39788896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880009414A Pending CN101641702A (zh) 2007-03-23 2008-02-28 结合人类参与的安全数据存储与检索

Country Status (4)

Country Link
US (1) US8683549B2 (zh)
EP (1) EP2130159B1 (zh)
CN (1) CN101641702A (zh)
WO (1) WO2008118602A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850819A (zh) * 2017-02-17 2017-06-13 深圳市中博睿存信息技术有限公司 一种提高对象存储安全性的方法及系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132255B2 (en) * 2008-06-16 2012-03-06 Intel Corporation Generating a challenge response image including a recognizable image
US8688940B2 (en) * 2008-12-18 2014-04-01 Sandisk Technologies Inc. Method for using a CAPTCHA challenge to protect a removable mobile flash memory storage device
US8671058B1 (en) 2009-08-07 2014-03-11 Gary Isaacs Methods and systems for generating completely automated public tests to tell computers and humans apart (CAPTCHA)
US9830599B1 (en) * 2010-12-21 2017-11-28 EMC IP Holding Company LLC Human interaction detection
CA2836387C (en) * 2011-05-20 2018-09-11 Bae Systems Plc Supervised data transfer
US20130290733A1 (en) * 2012-04-26 2013-10-31 Appsense Limited Systems and methods for caching security information
US20130290734A1 (en) * 2012-04-26 2013-10-31 Appsense Limited Systems and methods for caching security information
EP2974118B1 (en) * 2013-03-15 2019-11-27 Robert Bosch GmbH System and method for mitigation of denial of service attacks in networked computing systems
US11483150B2 (en) 2020-06-01 2022-10-25 Salesforce.Com, Inc. Private key cache in secure enclave

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249584A (zh) * 1998-09-01 2000-04-05 曼德波特有限公司 以加密的方式广播数据信号的系统
US20040146164A1 (en) * 2003-01-27 2004-07-29 International Business Machines Corporation Encrypting data for access by multiple users
US20060287963A1 (en) * 2005-06-20 2006-12-21 Microsoft Corporation Secure online transactions using a captcha image as a watermark

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5679075A (en) * 1995-11-06 1997-10-21 Beanstalk Entertainment Enterprises Interactive multi-media game system and method
US5841870A (en) 1996-11-12 1998-11-24 Cheyenne Property Trust Dynamic classes of service for an international cryptography framework
US5921548A (en) * 1997-01-09 1999-07-13 Goldberg; Melvin L. Geometric and cryptographic puzzle
US5940507A (en) * 1997-02-11 1999-08-17 Connected Corporation Secure file archive through encryption key management
US6209102B1 (en) 1999-02-12 2001-03-27 Arcot Systems, Inc. Method and apparatus for secure entry of access codes in a computer environment
US6944765B1 (en) * 1999-12-21 2005-09-13 Qualcomm, Inc. Method of authentication anonymous users while reducing potential for “middleman” fraud
US6790138B1 (en) * 2000-05-12 2004-09-14 Martin Erlichman System and method for providing and scoring an interactive puzzle
US20040236953A1 (en) 2001-05-15 2004-11-25 Olivier Merenne Method and device for transmitting an electronic message
US7266699B2 (en) * 2001-08-30 2007-09-04 Application Security, Inc. Cryptographic infrastructure for encrypting a database
US7688975B2 (en) * 2001-10-26 2010-03-30 Authenex, Inc. Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
AU2003243187A1 (en) * 2002-05-02 2003-11-17 Shieldip, Inc. Method and apparatus for protecting information and privacy
US7234157B2 (en) * 2002-06-27 2007-06-19 Lenovo Singapore Pte Ltd Remote authentication caching on a trusted client or gateway system
US7139916B2 (en) * 2002-06-28 2006-11-21 Ebay, Inc. Method and system for monitoring user interaction with a computer
DE60317498T2 (de) * 2003-07-23 2008-11-06 Eisst Ltd. Verfahren und System zur Schlüsseldistribution mit einem Authentifizierungschritt und einem Schlüsseldistributionsschritt unter Verwendung von KEK (key encryption key)
US7725395B2 (en) * 2003-09-19 2010-05-25 Microsoft Corp. System and method for devising a human interactive proof that determines whether a remote client is a human or a computer program
US20050193208A1 (en) * 2004-02-26 2005-09-01 Charrette Edmond E.Iii User authentication
US7505946B2 (en) * 2004-03-31 2009-03-17 Microsoft Corporation High performance content alteration architecture and techniques
US20060026246A1 (en) 2004-07-08 2006-02-02 Fukuhara Keith T System and method for authorizing delivery of E-mail and reducing spam
US7711120B2 (en) * 2004-07-29 2010-05-04 Infoassure, Inc. Cryptographic key management
JP2006107274A (ja) * 2004-10-07 2006-04-20 Matsushita Electric Ind Co Ltd ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム
EP1815309A2 (en) * 2004-11-19 2007-08-08 Triad Biometrics, LLC Methods and systems for use in biomeiric authentication and/or identification
JP2006180110A (ja) * 2004-12-21 2006-07-06 Nec Corp データ送信システム、データ送信方法、データ送信サーバ、データ受信端末、およびデータ送信プログラム
US20070142106A1 (en) * 2005-12-16 2007-06-21 Mattel, Inc. Progressive puzzle
US20070156592A1 (en) * 2005-12-22 2007-07-05 Reality Enhancement Pty Ltd Secure authentication method and system
US7844829B2 (en) * 2006-01-18 2010-11-30 Sybase, Inc. Secured database system with built-in antivirus protection
US7721107B2 (en) * 2006-02-10 2010-05-18 Palo Alto Research Center Incorporated Physical token for supporting verification of human presence in an online environment
US7552467B2 (en) * 2006-04-24 2009-06-23 Jeffrey Dean Lindsay Security systems for protecting an asset
US8108683B2 (en) * 2006-08-10 2012-01-31 International Business Machines Corporation Mitigating dictionary attacks on password-protected local storage
US7646921B2 (en) * 2006-09-11 2010-01-12 Google Inc. High resolution replication of document based on shape clustering
US7697758B2 (en) * 2006-09-11 2010-04-13 Google Inc. Shape clustering and cluster-level manual identification in post optical character recognition processing
US8175394B2 (en) * 2006-09-08 2012-05-08 Google Inc. Shape clustering in post optical character recognition processing
US7650035B2 (en) * 2006-09-11 2010-01-19 Google Inc. Optical character recognition based on shape clustering and multiple optical character recognition processes
KR200439714Y1 (ko) * 2007-02-16 2008-04-29 김종만 난이도 조절이 가능한 퍼즐 조립체
US8352598B2 (en) * 2007-11-27 2013-01-08 Inha-Industry Partnership Institute Method of providing completely automated public turing test to tell computer and human apart based on image
US8339360B2 (en) * 2010-06-02 2012-12-25 International Business Machines Corporation Flexible display security CAPTCHA bends

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249584A (zh) * 1998-09-01 2000-04-05 曼德波特有限公司 以加密的方式广播数据信号的系统
US20040146164A1 (en) * 2003-01-27 2004-07-29 International Business Machines Corporation Encrypting data for access by multiple users
US20060287963A1 (en) * 2005-06-20 2006-12-21 Microsoft Corporation Secure online transactions using a captcha image as a watermark

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金海坤,杜文杰,沙俐敏: "基于CAPTCHA的中文安全机制的研究", 《计算机工程与设计》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850819A (zh) * 2017-02-17 2017-06-13 深圳市中博睿存信息技术有限公司 一种提高对象存储安全性的方法及系统

Also Published As

Publication number Publication date
EP2130159A1 (en) 2009-12-09
US20080320554A1 (en) 2008-12-25
WO2008118602A1 (en) 2008-10-02
US8683549B2 (en) 2014-03-25
EP2130159B1 (en) 2019-06-19
EP2130159A4 (en) 2017-05-10

Similar Documents

Publication Publication Date Title
CN101641702A (zh) 结合人类参与的安全数据存储与检索
CN101241527B (zh) 用于普通验证的系统和方法
US10469253B2 (en) Methods and apparatus for migrating keys
CN1985466B (zh) 使用分发cd按签署组向设备传递直接证据私钥的方法
JP5365512B2 (ja) ソフトウェアicカードシステム、管理サーバ、端末、サービス提供サーバ、サービス提供方法及びプログラム
CN109075976A (zh) 取决于密钥认证的证书发布
EP2251810B1 (en) Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
JP4597784B2 (ja) データ処理装置
EP3984161B1 (en) Cryptographic key generation using external entropy generation
CN101114326A (zh) 用于计算机装置验证的系统和方法
CN102208001A (zh) 硬件支持的虚拟化密码服务
KR20150052261A (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
US11924333B2 (en) Secure and robust decentralized ledger based data management
EP3395004B1 (en) A method for encrypting data and a method for decrypting data
JPH09179768A (ja) ファイル暗号化システム及びファイル復号化システム
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
US20230362018A1 (en) System and Method for Secure Internet Communications
JP2021166028A (ja) Nftアクセス制限システムおよびnftアクセス制限プログラム
WO2022132718A1 (en) Technologies for trust protocol with immutable chain storage and invocation tracking
CN113193954A (zh) 一种密钥管理方法
JP4657706B2 (ja) 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
KR20210015534A (ko) 보안키 관리 방법 및 보안키 관리 서버
JP2007156516A (ja) アクセス制御装置、アクセス制御プログラムおよびアクセス制御方法
US20220239489A1 (en) Identity verification program, identity verification method, user terminal, and user authentication program
JP7041650B2 (ja) 秘密鍵を再製するためのシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100203