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

基于对称密钥加密保存和检索数据制造技术

技术编号:3527024 阅读:142 留言:0更新日期:2012-04-11 18:40
依据某些方面,从一个调用程序中接收数据。使用一个对称密码,以仅仅允许一个或多个目标程序能够从密文中获得数据的方式,生成包含该数据的密文。依据其它方面,从一个调用程序中接收一个位串。检查调用程序的标识符,以确定调用程序是否被允许访问在位串的密文中加密的数据。还验证数据的完整性,并且使用一个对称密钥解密数据。只有当调用程序被允许访问数据以及数据的完整性被成功地验证时,才向调用程序返回数据。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

这个专利技术涉及保存和检索数据,尤其是涉及基于对称密钥加密来保存和检索数据。
技术介绍
在计算机上保护数据以便使数据仅仅向适当当事人公开对用户来说就变得重要了。用户想要保护的数据类型变化很大,诸如工作相关的或者个人机密文件、银行帐户号码、信用卡号、社会保险号等。另外,对某些第三方来说,在用户的计算机上保护数据免受不正确的使用或者访问也同样重要。例如,信用卡发行者希望信用卡号被保护以便使它们不会向装载到计算机中的恶意程序或者当事人公开,音乐公司希望保护歌曲以便它们不能被复制,电影工作室希望保护电影以便它们不能被复制等等。一种解决保护在计算机上的数据的方案是抛弃通用计算设备而使用专用阻止簒改的盒子来传送、储存和显示保护内容。然而,这个解决方案不是所期望的,因为它阻止它的用户扩展他们的计算机(例如,用户不能在这样的阻止篡改的盒子上安装附加的软件组件和/或硬件组件)。因此,提供一种允许在通用计算设备上保护数据的方法将是有利的。概述在此处描述了基于对称密钥加密来保存和检索数据。依据一个方面,从一个调用程序中检索数据。以一种仅仅允许一个或者多个目标程序能够从密文中获得该数据的方式,使用一个对称密码,来产生包含该数据的密文。依据另一个方面,从一个调用程序中检索位串。检查该调用程序的标识符以确定该调用程序是否被允许访问以该位串密文方式所加密的数据。还验证该数据的完整性,以及使用一个对称密钥解密该数据。只有该调用程序被允许访问该数据而且该数据的完整性被成功验证时才把该数据返回到调用程序。附图简要说明在整个文件中使用了相同的数字以表示类似的元件和/或特征。附图说明图1说明了一个示范性的访问控制模型。图2显示了一个使用四个不同分层的访问控制环境示例。图3给出了一个用于实现Seal操作的示范性处理过程的流程图。图4给出了一个用于实现UnSeal操作的示范性处理过程的流程图。图5给出了一个用于实现Store操作的示范性处理过程的流程图。图6给出了一个用于实现Seal操作的示范性处理过程的流程图。图7给出了一个用于实现Quote操作的示范性处理过程的流程图。图8给出了一个用于实现Verify操作的示范性处理过程的流程图。图9给出了一个用于实现Seal操作的示范性处理过程的流程图。图10给出了一个用于实现PKSeal操作的示范性处理过程的流程图。图11给出了一个用于实现GenSeal操作的示范性处理过程的流程图。图12说明了一个通用计算机环境,其能够被用于实现在此所描述的技术。详细说明图1说明了一个示范性的访问控制模型100。委托人102能够请求访问一个受保护的资源。由防护装置104接收该请求,其中防护装置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显示了一个使用四个不同分层的访问控制环境示例。在一个实现过程中,层l1是一个硬件或者安全核心层,层l2是一个基本输入/输出系统(BIOS)层,层l3是一个操作系统(OS)层,而层l4是一个应用层。在图2的环境示例中,最低层(层l1)保护一个根资源。中间层(层l2和l3)中的程序起到可请求访问从下一个较低层起的委托人的作用,而同时起到可保护下一个较高层中的委托人的作用。中间层因此能够为在较高层中的委托人增加功能。举例来说,假定程序120希望检索由防护装置126保护的根资源128。程序120起到一个从模块122请求访问根资源128的委托人的作用,其中模块122起到资源防护装置的作用。如果模块122具有资源128的拷贝(例如,先前从防护装置126中所获得的以响应先前的层l4中的程序120或者其它程序对该资源的请求,或者当模块122在计算设备中被初始化和加载时),则模块122检查程序120是否被允许检索该资源。如果程序120被允许检索资源,则模块122返回资源给程序120。然而,如果模块122不具有资源128的拷贝,则模块122起到一个从模块124请求访问根资源的委托人的作用,其中模块124起到该资源防护装置的作用。如果模块124具有资源128的拷贝(例如,先前从防护装置126中所获得的以响应先前的层l3中的模块122或者其它模块对该资源的请求,或者当模块124在计算设备中被初始化和加载时),则模块124检查模块122是否被允许检索该资源。如果模块122被允许检索该资源,则模块124返回资源给模块122。如果程序120被允许检索资源,则模块122返回资源给程序120本文档来自技高网...

【技术保护点】
一种在一计算设备中实现的方法,该方法包含:从一个调用程序中接收数据;以及使用对称密码生成包含该数据的密文,其中密文是以仅仅允许一个或多个目标程序能够从密文中获得数据的方式生成的。

【技术特征摘要】
...

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

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

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