当前位置: 首页 > 专利查询>微软公司专利>正文

基于公开密钥加密的数据存储和数据检索制造技术

技术编号:3489731 阅读:129 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示了基于公开密钥加密的数据存储和数据检索。一方面,从一个调用程序获得数据。使用公开密钥加密以生成包括所述数据的密文,仅允许一个或多个目标程序能从所述密文获得所述数据。另一方面,从一个调用程序获得一个位串。检验所述调用程序的一个标识符以确定是否允许所述调用程序访问所述位串密文中的加密数据。通过使用公开密钥而使所述数据被解密,并且仅当所述调用程序被允许访问所述数据时才将所述数据返回给所述调用程序。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数据存储和数据检索,尤其涉及基于公开密钥加密的数据 存储和数据检索。
技术介绍
保护计算机上的数据,以使数据只被提供给合适的一方,这是用户所 非常关注的。用户需要保护的数据类型变化很大,例如与工作相关的或私 人的机密文件、银行账号、信用卡号码、社会保险号码等等。另外,对某些 第三方而言,防止非法使用或访问用户计算机上的数据也同样是重要的。 例如,信用卡发行者希望信用卡号能够得到保护从而不被泄漏给恶意程序 或计算机黑客,音乐公司希望其歌曲能够防止被盗版,电影制片厂希望防 止其电影被盗版等等。为保护计算机上的数据, 一种解决方案是舍弃通用计算设备而使用用 于传输、存储和显示保密内容的专用抗干扰盒,。然而,这种解决方案并 不是切实可行的,因为他阻止用户扩展他们的计算机(例如,用户不能在这种抗干扰盒上安装另外的软件组件和/或硬件组件)。因此,提供一种在 通用计算设备上对数据进行保护的途径是必要的。
技术实现思路
基于公开密钥加密的数据存储和数据检索将在下文进行说明。 一方面,从一个调用程序获得数据。使用公开密钥加密以仅仅允许一个或多个目标程序从所述密文中获得所述数据的形式产生包括该数据的密文。另一方面,从一个调用程序获得一个位串。检验所述调用程序的的标 识符以确认是否允许所述调用程序访问所述位串密文中的加密数据。只有 当所述调用程序被允许访问所述数据时,该数据才通过公开密钥被解密, 并返回到所述调用程序。附图说明相同的标记应用于整篇文件,代表相同的组件和/或特征。 图1说明 一 个典型的访问控制模型。图2表示使用四个不同等级层次的 一个访问控制环境。图3是用于执行封闭操作的 一 个典型操作的流程图。图4是用于执行开放操作的 一 个典型操作的流程图。图5是用于执行存储操作的一个典型操作的流程图。图6是用于执行封闭操作的 一 个典型操作的流程图。图7是用于执行引用操作的 一 个典型操作的流程图。图8是用于执行检验操作的 一个典型操作的流程图。图9是用于执行封闭操作的 一 个典型操作的流程图。图10是用于执行公开密钥封闭操作的 一 个典型操作的流程图。图11是用于执行通用封闭操作的 一个典型操作的流程图。图12说明可用于执行下文中的技术的一个通用计算机环境。具体实施例方式图1说明一个典型访问控制模型100。主体102能够产生访问被保护资源的一个请求。所述请求被一个防护装置104所接收,该防护装置控制对资 源106的访问。防护装置104在与所述资源和其他信息相关的访问策略的基 础上检查所述请求并决定是否授权该请求,诸如识别发布所述请求的主体 102。为更好的解释,图1中示出了一个单独的主体102、防护装置104和资 源106。然而,应该说明,访问控制模型100可包括多个主体102、多个防 护装置和104和/或多个资源106。主体102涉及请求访问保护数据的一个组件或模块。该请求可以是用 于检索被保护数据的一个请求(例如,用于检索一个密钥的一个请求), 或使用所述保护数据来执行操作的一个请求(例如,所述保护数据可以是 一个密钥,所述请求可以是通过使用所述密钥进行加密或解密的请求)。 所述主体102能以硬件、软件、韧件的形式或硬件、软件和/或韧件的组合 形式来被实现。防护装置104涉及一个组件或模块,该组件或模块控制访问所述保护 数据。防护装置104使用与所述保护数据相关的访问策略以及其它信息(例 如对请求访问所述保护数据的主体的识别)确定是否允许所述主体访问所 述保护数据。如果防护装置104确定所述请求主体被允许访问所述保护数据 ,则防护装置104以一种合适的方式响应所述请求(例如,如果所迷请求是 对所述保护数据一个请求,则所述保护数据被返回给所述主体;或者,如 果所述请求是一个与将使用所述保护数据进行加密的特定数据相关的请求 ,则防护装置104使用所述保护数据来加密所述特定数据,并且返回所述密 文(所述加密数据)到所述主体)。应该注意的是防护装置104基于所述请 求的性质来约束主体。例如,防护装置104可以允许一个特定的主体具有使 用所述保护数据签名的特定数据,但是不允许所述保护数据被返回给所述 特殊主体。防护装置104也可被表现为一个解密防护装置和/或一个服务防护装置 。服务防护装置在没有公开所述保护数据的情况下依据所述主体请求,利 用所述保护数据(例如, 一个密钥)执行某个操作(例如,加密、解密、 数字签名等)。另一方面, 一个解密防护装置将所迷保护数据披露给被授 权的请求者。应该注意的是, 一个特殊防护装置104可以同时是一个解密防护装置和一个服务防护装置。资源106可以是访问被约束的任何数据类型。例如,资源106的例子包 括密钥、银行账户、信用卡号、诸如社会保险号之类的个人信息、密码等 等。资源106实质上可以是一个计算设备以外的别的东西。例如,资源106 可以是物理存储器(例如,RAM或ROM),光盘或磁盘或磁盘机、视频卡 、声卡、智能卡等等。又譬如,资源106也可以是操作系统的抽象,例如, 进程、文件、线程、信号等等。在这里的论述中,将说明关于在 一个单独的计算设备上执行的访问控 制模型100。然而很明显所述,模型的不同部分可以在不同的计算设备上执 行。例如,主体102可以在一个计算设备上,而防护装置104和资源106可 以在其它的计算设备上。在一个计算设备上的主体和防护装置可被分类为任意数目n的多个层 次ln。图2表示一个使用四个不同层的访问控制环境。在一个实施例中,层 M步及一个硬件或保密核心层,层12涉及一个基本输入/述出系统(BIOS) 层,层13涉及一个操作系统(OS)层,层14涉及一个应用层。在图2所示的范例环境中,最低层(层h)保护根资源。在担任下一个 更高层中主体的防护装置的同时,中间层(层12和13)中的程序担任从下一 个更低层中请求访问的主体。所述中间层便可以为更高层中的主体增加功 能。例如,假设一个程序120期望检索被防护装置126所保护的根资源128 。程序120担任一个请求乂人模块122访问所述根资源128的主体,即担任所 述资源的一个防护装置。如果模块122具有所述资源128的一个副本(例如 ,响应与所述资源相关的在前请求并利用程序120或层14中的某个其他程序 从防护装置126中在前得到的或者当模块122被初始化或载入所述计算设 备中时),模块122则检查程序120是否被允许检索所述资源。如果程序120 被允许检索所述资源,则模块122返回所述资源到程序120 。但是,如果模块122没有所述资源128的副本,则模块122担任请求从 模块124访问所述根资源的 一 个主体,模块124担任所述资源的 一 个防护装置。如果模块124具有所述资源128的一个副本(例如,由模块122或者在 层13中的某个其他模块响应与所述资源相关的在前请求从防护装置126中 在前获得的或者当模块124被初始化或载入所述计算设备时),则模块124 检查模块122是否被允许检索所述资源。如果模块122被允许检索所述资源 ,则模块124返回所述资源到模块122。然而,如果模块124没有所述资源128的一个副本,则模块124担任请 求从防护装置126访问所述根资源的一个主体。防护装置12本文档来自技高网...

【技术保护点】
一种用于实现约束签名操作的方法,包括:    接收作为一个输入的待被签名的数据和一个约束密钥点,其中,所述约束密钥点被约束到所述一个或多个处理器;    根据所述约束密钥点恢复与所述约束密钥点相关的一个专用密钥;    使用所述专用密钥对所述数据生成一个数字签名;    输出所述数字签名。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:P英格兰M佩纳达
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利