CN101802833A - 向在应用执行环境中运行的应用提供本地存储服务 - Google Patents
向在应用执行环境中运行的应用提供本地存储服务 Download PDFInfo
- Publication number
- CN101802833A CN101802833A CN200880107289A CN200880107289A CN101802833A CN 101802833 A CN101802833 A CN 101802833A CN 200880107289 A CN200880107289 A CN 200880107289A CN 200880107289 A CN200880107289 A CN 200880107289A CN 101802833 A CN101802833 A CN 101802833A
- Authority
- CN
- China
- Prior art keywords
- identifier
- execution environment
- application
- application execution
- request
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 82
- 150000001875 compounds Chemical class 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000009434 installation Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
包括介质编码的计算机程序产品的方法、系统和装置,用于向在应用执行环境中运行的应用提供本地存储服务。在一个方面中,方法包括从应用中的一个接收请求,其中该请求触发信息的本地存储;基于标识符获得加密密钥,该标识符包括对应于应用执行环境的第一标识符、对应于一个应用的第二标识符和对应于计算装置的第三标识符;使用加密密钥加密信息;以及将经加密的信息存储在计算装置中。
Description
技术领域
本发明涉及向应用提供本地存储服务。可以使用各种方法保护或加密电子数据。
背景技术
已经采用密码技术来保护个人数据、机密信息并且用于控制电子数据的分发和使用。使用各种数字权限管理(DRM)实现保护某些形式的电子数据,尤其是电子媒体文件。DRM可以允许数字媒体内容的拥有者控制哪个人和/或哪个设备可以访问数字媒体文件。DRM的某些实现允许数字媒体内容的拥有者控制可以访问媒体文件的时间范围和/或控制可以打开文件的次数。
发明内容
本说明书描述了涉及向在应用执行环境中运行的应用提供本地存储服务的技术。
总体上,在本说明书中描述的主题的一个或多个方面可以以用于向在计算装置上的应用执行环境中运行的应用提供本地存储服务的一个或多个方法来实现,所述方法包括:从应用之一接收请求,其中所述请求触发信息的本地存储;基于标识符获得加密密钥,所述标识符包括对应于所述应用执行环境的第一标识符、对应于所述一个应用的第二标识符和对应于所述计算装置的第三标识符;使用所述加密密钥对所述信息进行加密;以及将已加密的信息存储在所述计算装置中。其他实施方式包括相应的系统、装置和计算机程序产品。
这些和其他的实施方式可以可选地包括以下特征中的一个或多个。所述方法可以包括使用(k,n)阈值秘密共享机制获取所述第三标识符。所述方法可以包括接收所述信息的安全级别指示,并且其中所述获得包括基于标识符获得所述加密密钥,所述标识符包括所述第一标识符、所述第二标识符、所述第三标识符、对应于所述安全级别指示的第四标识符以及对应于所述一个应用的当前用户的第五标识符。而且所述应用执行环境可以包括跨操作系统(OS)应用执行环境,并且接收所述安全级别指示包括从请求者接收存储所述信息的请求,其中所述安全级别指示对应于作为所述应用或所述跨OS应用执行环境之一的所述请求者。
获得所述加密密钥可以包括使用所述标识符作为输入生成复合密钥。所述方法可以包括通过将密码散列函数应用于构成所述一个应用的至少一部分的程序代码,来动态地生成所述第二标识符。所述标识符可以包括加密密钥,并且生成所述复合密钥包括合并所述加密密钥以形成所述复合密钥。
可以实施本说明书所描述主题的特定实施方式以实现以下优势中的一个或多个。应用执行环境可以向在所述应用执行环境中运行的应用提供本地存储服务,其中对将本地存储的信息进行加密,从而使已加密信息与所述应用执行环境、在所述应用执行环境中运行的特定应用以及其上安装了所述应用执行环境的计算装置绑定。因此,即使当应用在同一计算装置上的同一应用执行环境中运行时,也可以限制其对每个其他本地存储高速缓存的访问。
此外,已加密信息可以与应用的当前用户和与针对本地信息存储的请求相关联的安全级别绑定。因此,应用执行环境可以向在该应用执行环境之上运行的所有应用提供本地存储,其中本地存储的信息可以绑定到(1)该应用执行环境(即,需要该应用执行环境访问该信息)、(2)该应用(即,仅触发信息存储的应用可以对其进行访问)、(3)计算装置(即,信息不能被复制到另一计算机并且仍旧可被访问)、(4)当前用户(即,如果不同的用户登录,则在同一计算机上运行的同一应用不能访问该信息)以及(5)安全级别(例如,可以将代表该应用的所存储的某些信息看作高度机密,并且绝不允许跨越应用执行环境和应用之间的安全边界)。
如上所述,可以对信息的加密提供篡改检测和/或防篡改。通过对信息进行加密,可以使恶意用户更加难以读取和/或修改信息。例如,恶意用户将很难找到许可密钥、口令或已加密文件中的其他信息。恶意用户可能也很难修改已加密数据,例如很难通过改变过期日期来延长数字许可的持续时间。如果篡改、修改或损坏了已加密文件,则可以检测到此类改变。例如,文件可以包含数字签名、校验和或可以用于在没有使用加密过程的情况下检测文件是否被改动的其他数据。
可以更密切地控制对电子文件的控制以改进数字许可协议的实施。例如,可以许可数字媒体文件(例如,音乐、视频、铃声)仅由特定设备上的特定用户使用,从而防止由其他用户或在其他设备上对该媒体进行未授权的分发或呈现。可以将对电子文件的访问约束为特定机器上的一个或多个特定用户,从而保护数字文件的完整性。例如,包含机密信息的文件可以被复制到另一设备,但是即使已经损坏了授权用户的口令信息也无法在该设备上打开该文件。这里描述的方法还可以用于保护数字文件的完整性免受已修改硬件的攻击。在某些情况中,用户可以修改现有的硬件平台来获得对数字文件的未授权访问或特权。例如,此类用户可以获得文件的合法副本,并且继而试图通过修改回放装置(例如,重新设置内部时钟、添加电路以超越保护限制或假冒另一用户)来超越超时或回放限制。本文档中描述的方法可以用于检测对硬件平台的改动并且防止对文件的访问。
本发明一个或多个实施方式的细节记载在附图和下面的描述中。本发明的其他特征、方面和优势将从描述、附图和权利要求书中变得易见。
附图说明
图1示出了向在应用执行环境中运行的应用提供本地存储服务的示例计算装置。
图2示出了向在应用执行环境中运行的应用提供本地存储服务的示例过程。
图3示出了示例媒体内容递送系统。
图4示出了向在应用执行环境中运行的应用提供本地存储服务的另一示例过程。
具体实施方式
图1示出了向在应用执行环境中运行的应用提供本地存储服务的示例计算装置100。通常,本地存储服务存储的数据可以由取决于多个标识符组合的一个或多个密码密钥保证安全。在知道数据可能是安全的或不安全之前,需要知道某些或所有标识符。
计算装置100包括硬件,诸如计算机可读介质105(例如,硬盘、存储器、闪存)、处理器模块110和一个或多个接口设备115(例如,显示器、键盘、鼠标)。计算装置100还包括软件和/或固件,诸如应用执行环境(AEE)120以及一个或多个应用,诸如应用“1”125至应用“n”127。在某些实现中,应用执行环境120可以是计算装置100的操作系统。因此,应用执行环境120可以是低层软件,其处理对硬件的接口,并且在没有应用程序运行时向用户呈现默认接口。
在某些实现中,应用执行环境120可以是在计算装置100的操作系统内运行的程序。例如,应用执行环境120可以是可从加利福尼亚州的San Jose的Adobe系统公司获得的IntegratedRuntime(AIRTM)环境,或者支持诸如应用“1”125的应用执行的其他软件平台。
诸如电子文件或其他数据之类的信息130的集合需要保存在安全本地存储中的计算装置100中。信息130将作为已加密信息135的集合存储在计算机可读介质105中。使用根据标识符集合获得的一个或多个密钥对信息130进行加密。例如,一个此类标识符可以是对应于用户140的用户ID 145。在某些实现中,用户ID 145可以是口令、登录标识、计量生物学数据、个人标识号(PIN)、硬件安全密钥(例如,“软件狗”、“智能”卡)或这些的组合和/或可以用于标识用户140的其他信息。在某些实现中,可以生成用户ID 145并且将其存储在第一次请求用户ID 145的计算装置100上。
还基于应用ID 150、应用执行环境ID 155和计算装置ID 160来保证信息130的安全。应用ID 150是唯一地标识应用“1”125的信息。在某些实现中,应用ID 150可以从以下数据导出:作为应用“1”125一部分的数据(例如,硬编码数据)、注册表项、由应用“1”125在运行时生成的值、通过安装应用“1”125的安装程序生成的值,通过应用“1”125的散列(例如,安全散列算法(SHA))或校验和的值生成的值、或通过可以用于标识应用“1”125的其他数据生成的值。在某些实现中,应用ID 150可以标识应用“1”125、应用“1”125和应用“1”125的版本、给予应用“1”125的一个或多个实例的许可、应用“1”125的单独安装(例如,安装时生成的随机数)或可以用于标识应用“1”125的其他数据。在某些实现中,应用ID 150可以嵌入在应用“1”125的代码内,并且可以对其进行混淆处理,以防止通过静态或动态分析来透露应用ID 150。
应用执行环境ID 155是可以用于标识应用执行环境120的数据。在某些实现中,应用执行环境ID 155可以从以下数据导出:作为应用执行环境120一部分的数据(例如,硬编码数据)、注册表项、由应用执行环境120在运行时生成的值、通过安装应用执行环境120的安装程序生成的值,通过应用执行环境120的散列(例如,SHA)或校验和值生成的值、或通过可以用于标识应用执行环境120的其他数据生成的值。在某些实现中,应用执行环境ID 155可以标识应用执行环境120、应用执行环境120和应用执行环境120的版本、给予应用执行环境120的一个或多个实例的许可、应用执行环境120的单独安装(例如,安装时生成的随机值)或可以用于标识应用执行环境120的其他数据。在某些实现中,应用执行环境ID 155可以嵌入在应用执行环境120的代码内,并且可以对其进行混淆处理,以防止通过静态或动态分析来透露应用执行环境ID 155。
计算装置ID 160标识计算装置100。例如,计算装置ID 160可以是由处理器模块110提供的系列号、由计算机可读介质105提供的标识符、硬件安全密钥(例如,“软件狗”)、网络介质访问控制(MAC)地址或其组合和/或可以用于标识计算装置100的其他数据。
用户ID 145、应用ID 150、应用执行环境ID 155和计算装置ID160可以用于标识或形成安全密钥170。安全密钥170在加密过程中用于保证信息130的安全,并且将其作为已加密信息135存储在计算机可读介质105中。可以在包括在应用执行环境120中的加密引擎中完整地或部分地执行该加密过程。而且,当出现合适的标识符时,已加密信息135仅可通过应用执行环境120访问。
上面的描述包括用户ID 145的使用,然而,在某些实现中,不需要用户ID 145。例如,蜂窝电话、个人数字助理(PDA)、机顶盒或可能不对用户进行标识的其他设备(例如,设备可以不具有登录过程)。因此,在某些实现中,安全密钥170可以从应用“1”ID150、应用执行环境ID 155和计算装置ID 160导出。
图2示出了向在应用执行环境中运行的应用提供本地存储服务的示例过程200。可以从需要信息的本地存储的应用中的一个接收210请求。应用(例如,图1的应用125)运行在应用执行环境中,并且该请求可以针对信息的本地存储,或者该请求可以针对某些其他服务,这些服务导致需要信息的本地存储。例如,在后一情况中,来自于应用的请求可以使应用执行环境(例如,图1的应用执行环境120)产生其自己的针对本地存储服务的请求,从而支持应用的请求。
基于所需的标识符获得220密钥。基于请求应用的标识、应用在其上运行的应用执行环境的标识和运行应用执行环境的计算装置的标识来定位或导出密钥。在某些实现中,还可以基于用户的标识来定位或导出密钥。例如,用户可以登录到计算装置上,并且用户的登录信息可以用于提供标识信息以在加密过程中使用。在某些实现中,也可以基于安全级别指示符定位或导出密钥。例如,如果本地存储请求时由应用相对于应用执行环境做出的,则加密密钥可能不同。
使用加密密钥对信息进行加密230。各种对称或非对称加密方法可以用于加密信息。例如,可以使用AES(先进加密标准)、RSA(Rives,Shamir,Adleman)、Diffie-Hellman、PGP(良好隐私)或其他密码技术对信息进行加密。在某些示例中,可以使用计算装置中提供的操作系统工具、操作系统的扩展或可用于加密数据的其他计算机代码来部分地执行加密。
已加密信息存储240在计算装置中。已加密信息可以存储在硬盘、易失性和/或非易失性存储器或其他数据存储介质上。可以出于很多不同的原因存储已加密信息,并且通常,应用执行环境提供的存储工具可以出于很多不同的目的而由应用使用。然而,现在将在数字权限管理的上下文中描述详细示例。
图3示出了示例媒体内容递送系统。该系统包括计算装置300。在某些实现中,计算装置300可以是图1的计算装置100。计算装置300包括硬件,诸如计算机可读介质305(例如,硬盘、存储器、闪存)、处理器模块310和一个或多个接口设备315(例如,显示器,键盘、鼠标)。计算装置300还包括软件和/或固件,诸如操作系统(OS)317、跨OS应用执行环境320和媒体播放器应用325。
跨OS应用执行环境320是在计算装置300的操作系统317内运行的程序。例如,跨OS应用执行环境320可以是可从加利福尼亚州的San Jose的Adobe系统公司获得的AIRTM运行时环境,或者支持跨越多个操作系统上来执行和/或解译应用的其他软件平台。
对计算机可读介质305的访问可以以各种方式提供。例如,跨OS应用执行环境320可以访问由OS 317提供的文件存储API。跨OS应用执行环境320可以使用由在OS 317上运行的其他应用提供的第一存储特征。
媒体播放器应用325和/或跨OS应用执行环境320可以请求将信息330加密,并且作为已加密信息335来存储。安全密钥370可以通过用户ID 345、媒体播放器ID 350、安全级别ID 352、跨OS应用执行环境ID 355和计算装置ID 360的组合形成。然后,该安全密钥370可以用于在将信息330作为已加密信息335存储之前对其进行加密。
信息330可以由媒体播放器380或媒体播放应用325提供。例如,信息330可以是通过网络390(例如,局域网、因特网、蜂窝电话网、有线或卫星电视网)从媒体服务器380接收的媒体内容(例如,音频和视频数据)、内容使用权限数据、内容加密信息(例如,针对将由媒体服务器380递送的内容的加密密钥)或这些的组合。备选地,信息330可以由媒体播放器应用325生成,诸如描述来自于服务器380的哪个媒体内容已经被显示以便用户340查看的审核记录。
可以使用根据标识符集合获得的、包括加密密钥370在内的一个或多个密钥对某些或全部信息330进行加密。加密密钥370可以包括ID 345-360中的一个、一些或全部。可以对ID 345-360的子集进行组合、异或(XOR)、散列或其他方式的整合,以形成加密密钥370作为复合安全密钥。例如,ID 345-360中的一个可以使用ID345-360中的另一个作为加密密钥来加密,并且可以使用ID 345-360的又一个作为加密密钥来加密结果,以此类推,直到最终结果是密钥370。备选地,可以基于ID 345-360从多个可用密钥中选择加密密钥370并且获取加密密钥370。例如,包括加密密钥370在内的多个可用密钥可以被嵌入在跨OS应用执行环境320的代码内,并且可以对其进行混淆处理以防止通过静态或动态分析来透露该密钥。
在某些实现中,可以由跨OS应用执行环境320对信息330进行存储、加密以及解密。如上所述,可以代表跨OS应用执行环境320本身或代表媒体播放器应用325来完成该操作。跨OS应用执行环境320可以对用于支持提供给媒体播放器应用325的其他服务的数据执行加密操作(例如,由媒体服务器380提供的加密密钥的本地加密和高速缓存)。媒体播放器应用325可以通过向跨OS应用执行环境320发送请求来实现对其所拥有数据的存储、加密和解密,因此,跨OS应用执行环境320可以根据请求而存储、加密或解密应用的数据。
用户ID 345是对应于用户340的标识符,诸如上述用户ID 145。在某些实现中,用户ID 345可以从OS 317获取。应用ID 350是唯一标识媒体播放器应用325的标识符,诸如上述应用ID 150。应用ID 350的使用可以防止已加密数据335由除媒体播放器应用325之外的应用读取。例如,另一媒体播放器应用(不同于媒体播放器应用325)将具有不同于应用ID 350的应用ID,并且当与ID 345、352、355和360组合时,不同的应用ID将形成不同于安全密钥370的新的安全密钥。由于新的安全密钥和安全密钥370不匹配,所以已加密信息335不能由除媒体播放器应用325之外的应用读取,即使其他应用也是媒体播放器应用并且所有其他ID都是相同的。
安全级别ID 352是可以用于标识与本地存储服务的请求者相关联的安全级别的标识符。例如,可以为应用(例如,媒体播放器应用325)赋予与跨OS应用执行环境320不同的安全级别。在某些实现中,可以从编译的计算机代码执行跨OS应用执行环境320,而在跨OS应用执行环境320上运行的应用(例如,媒体播放器应用325)可以是已解译的应用。在某些实现中,形成应用(例如,媒体播放器应用325)的代码可能比形成跨OS应用执行环境320的代码较不安全。在该示例中,跨OS应用执行环境320可能较不易被恶意用户攻击(例如,“黑客攻击”),并且因此可以被赋予高于媒体播放器应用325的安全级别。而且,在很多实现中,由于被保证安全的数据的特性(例如,跨OS应用执行环境320可以本地高速缓存数据,该数据如果被损害,则将受到更大关注),跨OS应用执行环境320可以被赋予高于运行于其上的应用的安全级别。
跨OS应用执行环境ID 355是可以用于标识跨OS应用执行环境320的数据,诸如如上所述的应用执行环境ID 155。因此,跨OS应用执行环境ID 355可以从以下数据导出:作为跨OS应用执行环境320一部分的数据(例如,硬编码数据)、注册表项、由跨OS应用执行环境320在运行时生成的值、通过安装跨OS应用执行环境320的安装程序生成的值,通过跨OS应用执行环境320的散列(例如,SHA)或校验和值生成的值,或通过可以用于标识跨OS应用执行环境320的其他数据生成的值。在某些实现中,跨OS应用执行环境ID355可以标识跨OS应用执行环境320、跨OS应用执行环境320和其版本、给予跨OS应用执行环境320的一个或多个实例的许可、跨OS应用执行环境320的单独安装(例如,安装时生成的随机值)或可以用于标识跨OS应用执行环境320的其他数据。
计算装置ID 360是可以标识计算装置300的标识符,诸如上述的计算装置ID 160。当使用计算装置ID 360用于获得安全密钥370时,已加密信息335无法被复制到另一计算设备并且无法在该设备上读取。例如,计算装置300可以由计算装置ID 360唯一标识,并且计算装置ID 360可以与ID 345、350、353和/或355组合以形成用于加密和/或解密已加密信息335的安全密钥370。如果将已加密信息335复制到另一计算设备,则其他计算设备将引起不同的计算设备ID和安全密钥,并且不同的安全密钥不能用于访问已加密信息335。
在某些实现中,计算装置300可能面临改变。例如,处理器模块310可以替换为更快的版本,视频卡可能需要替换或,可能对硬盘驱动器进行升级以提供增大的存储容量。通过修改计算装置300,计算装置ID 360可以改变并且防止对已加密信息335的访问,即使在应该允许此类访问时也如此。因此,在某些实现中,计算装置ID360可以链接到组成计算装置300的多个组件,其中可以改变那些组件中的某些而不导致计算装置被视作新的计算装置。例如,可以使用(k,n)阈值秘密共享机制来存储计算装置ID 360。通过使用(k,n)机制,可以在保持计算装置ID 360不改变并且仍旧可恢复的情况下以某些方式修改计算装置300。
例如,计算装置300可以对对应于计算装置300的独立组件的十个独立属性(例如,针对处理器模块310、主板标识符、硬盘驱动器系列号、MAC地址等的属性)进行访问。只要十个组件属性中的七个或更多保持不变,(k,n)阈值秘密共享机制便可以产生用于计算装置ID 360的相同值。但是,例如,如果十个组件属性中保持不变的属性少于七个,则(k,n)机制可以将计算装置300标识为不同的计算装置。虽然将(k,n)机制描述为使用“7”和“10”的值,但是k和n的值可以是满足“k小于或等于n”的任何值。
计算装置ID 360可以是随机生成的值,继而使用(k,n)阈值秘密共享机制对其进行保护。对于n中的k,其中k是必须匹配的最小数量的设备属性,并且n是用于设备绑定的设备属性的数量,可以计算n个秘密共享。继而可以利用从DeviceAttribute[i]导出的密钥对SecretShare[i]进行加密(例如,利用DeviceAttribute[i]的散列进行加密),并且可以存储已加密秘密共享用于以后的访问。当在之后的时间中从装置获取n个属性中的每个时,每个属性可以用于解密其自己的共享,继而,该共享与其他共享合并以恢复计算装置ID 360。
在该情况中,需要的设备属性的数量等于k,从而恢复计算装置ID 360。如果多于n减k个属性改变,则计算装置ID 360不能被恢复(即,没有足够的秘密共享可以被解密),并且计算装置300将被视作不同设备。当一个或多个设备属性改变时,可以重新共享计算装置ID 360,将(k,n)机制中的新共享指派给每个设备标识符。在其他实现中,可以将设备属性与和安全密钥370或已加密信息335一同存储的值进行比较。
图4示出了向在应用执行环境(例如,图1的应用执行环境120或图3的跨OS应用执行环境320)中运行的应用提供本地存储服务的另一示例过程400。可以从需要信息的本地存储的应用中的一个接收410请求,并且可以接收410用于信息的安全级别指示。这可以涉及接收单个请求,使安全级别信息与其关联;或者这可以涉及接收两个请求。
例如,应用可以是媒体播放器应用325,其用于播放来自于媒体服务器380的媒体文件。媒体播放器应用325请求通过跨OS应用执行环境320访问媒体文件时,跨OS应用执行环境320可以从媒体播放器380请求媒体文件和相应的解密密钥。可以将此类信息视作高度关键/机密,并且因此不允许跨越跨OS应用执行环境320和媒体播放器应用320之间的安全边界(例如,媒体播放器应用320可以在计算装置上的安全沙盒中操作,并且对其访问由媒体播放器380提供的解密密钥是不信任的)。跨OS应用执行环境320可能希望本地高速缓存解密密钥以便以后使用,在该情况中,跨OS应用执行环境320可以如上所述生成本地存储服务的内部请求。在该情况中,接收两个请求:来自于媒体播放器应用325的用于访问媒体文件的第一请求,以及来自于跨OS应用执行环境320的用于本地存储服务的第二请求。第二请求可以具有根据请求者的特性导出的相关联的安全级别(例如,该第二请求可以通过跨OS应用执行环境320而不是通过媒体播放器应用325可访问的API做出的请求)。
然后,在本地高速缓存的并且保证安全的媒体文件解密密钥可以用于(在使用密钥370对该密钥解密之后)解密媒体文件(例如,流失传输媒体内容),并且可以将已解密媒体帧提供给媒体播放器应用325。在媒体内容播放时,媒体播放器应用325可以记录信息。例如,媒体播放器应用325可以生成审核记录,该记录描述了用户与媒体文件交互的各个方面(例如,媒体文件已经播放了多少次、以及播放了哪部分,是否向用户播放了相关联的广告以及播放了多少次等)。此类信息可以与媒体播放器380同步,但是在某些情况中,该信息可能需要以安全的方式进行本地高速缓存。例如,当计算装置300离线时,可以安全地本地高速缓存审核记录,并且该本地高速缓存的数据可以在以后当网络390再次变得可用时与媒体播放器380进行同步。因此,媒体播放器应用325可以请求跨OS应用执行环境320代表媒体播放器应用325存储信息330(由应用325生成)。在该情况中,接收单个请求(如在图4的上下文中描述的):针对本地存储服务的来自媒体播放器应用325的请求。该请求可以具有从请求者的特性导出的相关联的安全级别(例如,可以通过不是跨OS应用执行环境320的应用使用的可访问API做出的请求)。
因此,安全级别指示在接收的、针对本地存储服务的请求的特性中可以是隐含的。在其他实现中,可以明确分配安全级别,并且可以针对应用执行环境和应用两者提供不同的安全级别,包括针对同一应用的潜在不同的安全级别。例如,在某些实现中,媒体播放器应用325可以使用不同的安全级别ID 352存储不同的信息集合。
可以获取420应用执行环境ID。如上所述,应用执行环境ID可以从以下数据导出:应用执行环境中的数据、应用执行环境代码的散列(例如,SHA)或校验和、安装期间存储的值、或可以用于标识应用执行环境的某些其他值。
可以针对应用生成应用ID。例如,应用ID可以通过将密码散列函数(例如,SHA)应用于做出请求的应用而在接收410请求时动态生成。该密码散列函数可以应用于应用的所有程序代码或应用于其一个或多个部分。
可以获得440计算装置ID,以标识应用正在其中运行的计算装置。可以通过散列或以其他方式合并与计算装置的各个组件相关联的属性集合,来生成计算装置ID。例如,某些处理器模块包括可以电子读取的唯一系列号,并且很多网络接口卡包括全局唯一的MAC地址。计算装置组件的这些和各种其他属性可以用于生成计算装置ID。备选地,如上所述,可以使用(k,n)阈值秘密共享机制从存储设备获取计算装置ID。
可以通过使用用户的ID来访问之前存储在本地存储设备中的密钥或其他数据(例如,上述一个或多个标识符)来确认450用户ID。例如,应用执行环境可以对计算装置的操作系统提供的本地存储加密接口做出请求,以确定是否可以使用用户的ID获取密钥或其他数据。例如,在计算装置运行操作系统(可从华盛顿州的Redmond的Microsoft公司获得)时,可以使用数据保护应用编程接口(DPAPI),而在计算装置运行Apple MACX平台(可从加利福尼亚州的Cupertino的Apple公司获得)时,可以使用Keychain服务。如果可以以此方式成功访问密钥或其他数据,则用户的标识可以隐含地被确认。
安全级别ID、应用执行环境ID、应用ID、计算装置ID和用户ID可以用于生成460加密密钥。在某些实现中,加密密钥可以是标识符的串联或其他组合。在某些实现中,加密密钥可以是散列或从标识符生成的其他代码。
可以使用加密密钥对信息进行加密470。例如,加密密钥可以在PGP、AES或其他加密过程中使用。在另一示例中,可以将加密密钥提供给可由OS提供或以其他方式可获得的加密算法,以执行对信息的加密。例如,应用执行环境可以访问OS开放的API,并且使用那些API来执行各种加密过程。应用执行环境可以使用的API示例包括但不限于DPAPI和Keychain服务。
在某些实现中,应用执行环境可以针对在该应用执行环境上运行的应用执行加密函数,从而增加安全密钥和/或已加密信息的安全性。例如,通过在应用执行环境中执行加密函数,安全密钥、密码代码或其他敏感信息可以不向在该应用执行环境上运行的应用开放,因为这些应用可能比应用执行环境更容易被篡改。
一旦对信息进行了加密,则已加密信息可以存储480在计算设备中。已加密数据可以存储在易失性或非易失性存储器中,或存储在硬盘、光盘或某些其他形式的计算机可读介质上。而且,如果请求的标识符就位,则已加密信息可用于通过应用执行环境的解密和访问。
本说明书中描述的主题和功能性操作的实施方式可以以数字电子电路或以计算机软件、固件或硬件来实现,其包括在本说明书中公开的结构和它们的结构性等同物,或一个或多个结构及等同物的组合。本说明书中描述的主题的实施方式可以实现为一个或多个计算机程序产品,即,包含在计算机可读介质上的一个或多个计算机程序指令模块,以便由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基片、存储器设备、实现计算机可读的传播信号的物质的合成物或一个或多个以上内容的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,示例性地包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,该装置可以包括创建用于所述计算机程序的执行环境的代码,例如,组成处理器固件、协议栈、数据库管理系统、操作系统或一个或多个以上内容的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,这些信号生成以对信息进行编码从而传输到合适的接收机装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言撰写,包括编译语言或解译语言,并且其可以以任何形式进行部署,包括作为单独的程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元。计算机程序不必对应于文件系统中的文件。程序可以存储在保持其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、存储在专用于所述程序的单个文件中或多个协作文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以便在位于一个地点或分布于多个地点处以及通过通信网络互连的一个或多个计算机上执行。
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,从而通过对输入数据进行操作并且生成数据来执行功能。过程和逻辑流还可以由专用逻辑电路执行,并且装置也可以实现为过程和逻辑流,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
通过示例的方式,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何一个或多个任何种类的数字计算机的处理器。通常,处理器将从只读存储器或随机访问存储器或两者接收指令和数据。计算机的必备元件是用于执行指令的处理器或用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据或向其传送数据或接收以及传送数据以便存储数据,大容量存储设备例如磁性、磁光盘或光盘。然而,计算机不是必须具有此类设备。而且,计算机可以嵌入到另一设备中,举几个例子,另一设备例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收机。适于存储计算机程序指令和数据的计算机可读介质包括所有新形势的非易失性存储器、介质和存储器设备,示例性地包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或与其合并。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以实现在计算机上,该计算机具有显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息;以及键盘和指示设备,例如鼠标或轨迹球,用户可以通过其向接收机提供输入。其他种类的设备也可以用于提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈,例如,可视的反馈、可听的反馈或可触摸的反馈;并且可以接收任何形式的用户输入,包括听觉的、话音或触觉输入。
本说明书中描述的主题的实施方式可以实现在计算系统中,该计算系统包括后端组件例如作为数据服务器,或包括中间件组件例如应用服务器,或包括前端组件,例如具有图形用户界面或通过其用户可以与本说明书中描述的主题的实施方式进行交互的Web浏览器的客户端计算机,或一个或多个此类后端、中间件或前端组件的任何组合。该系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的实力包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此是远程的并且通常通过通信网络进行交互。客户端和服务器的关系借助于运行在各个计算机上的以及彼此具有客户端-服务器关系的计算机程序实现。
虽然本说明书包含了很多具体细节,但是不应将此视作对本发明范围或所要求保护的内容的限制,而是应将其视作对本发明特定实施方式专有特征的描述。在本说明中,在独立实施方式的上下文中描述的某些特征还可以在单个实施方式中组合实现。相反,在单个实施方式的上下文中描述的各种特征也可以在多个实施方式中独立地实现或以任何合适的子组合实现。而且,尽管可以在上面将特征描述为在某些组合中有效,以及甚至最初如此要求,但是来自于要求保护的组合的一个或多个特征在某些情况中可以从组合中去除,并且所要求保护的组合可以涉及子组合或子组合的变形。
类似地,虽然以特定顺序在附图中描述了操作,但是不应将此理解为要求以所示的特定顺序或以连续的顺序执行此类操作,或执行所有示出的操作来获得所希望的结果。在某些环境中,多任务和并行处理可能是有优势的。而且,不应将在上述实施方式中各种系统组件的分离理解为在所有实施方式中都需要此类分离,而是应该理解通常可以将所述程序组件和系统一起集成在单个软件产品中或封装到多个软件产品中。
因此,已经描述了本发明的特点实施方式。其他实施方式处于以下权利要求书的范围内。例如,权利要求书中记载的动作可以以不同的顺序执行并仍旧获得所希望的结果。而且,在某些实现中,可以从可信任服务器下载所需的标识符的部分。例如,在安装或激活过程期间或甚至在加密/解密过程期间,可以从可信任服务器下载ID 345-360的部分,因为这可能有助于防止数据被篡改或公开。此外,基于所需标识符获得加密密钥可以涉及获得多个加密密钥(例如,针对五个所需标识符中每个的一个密钥),并且可以使用多个密钥对将保证安全的信息进行多次加密(例如,顺序地使用五个密钥进行五次)。
Claims (24)
1.一种用于向在计算装置上的应用执行环境中运行的应用提供本地存储服务的计算机实现的方法,所述方法包括:
从所述应用中的一个应用接收请求,其中所述请求触发信息的本地存储;
基于标识符来获得加密密钥,所述标识符包括对应于所述应用执行环境的第一标识符、对应于所述一个应用的第二标识符和对应于所述计算装置的第三标识符;
使用所述加密密钥对所述信息进行加密;以及
将已加密信息存储在所述计算装置中。
2.根据权利要求1所述的方法,包括使用(k,n)阈值秘密共享机制来获取所述第三标识符。
3.根据权利要求1所述的方法,包括接收所述信息的安全级别指示,以及其中所述获得包括基于所述标识符获得所述加密密钥,所述标识符包括所述第一标识符、所述第二标识符、所述第三标识符、对应于所述安全级别指示的第四标识符以及对应于所述一个应用的当前用户的第五标识符。
4.根据权利要求3所述的方法,其中所述应用执行环境包括跨操作系统(OS)应用执行环境,并且接收所述安全级别指示包括从请求者接收存储所述信息的请求,其中所述安全级别指示对应于所述请求者,所述请求者是所述应用或所述跨OS应用执行环境之一。
5.根据权利要求3所述的方法,其中获得所述加密密钥包括使用所述标识符作为输入来生成复合密钥。
6.根据权利要求5所述的方法,包括通过将密码散列函数应用于构成所述一个应用的至少一部分的程序代码,来动态地生成所述第二标识符。
7.根据权利要求5所述的方法,其中所述标识符包括加密密钥,并且生成所述复合密钥包括合并所述加密密钥以形成所述复合密钥。
8.一种编码在计算机可读介质上的计算机程序产品,其可用于使得数据处理装置执行向在计算装置上的应用执行环境中运行的应用提供本地存储服务的操作,所述操作包括:
从所述应用中的一个应用接收请求,其中所述请求触发信息的本地存储;
基于标识符来获得加密密钥,所述标识符包括对应于所述应用执行环境的第一标识符、对应于所述一个应用的第二标识符和对应于所述计算装置的第三标识符;
使用所述加密密钥对所述信息进行加密;以及
将已加密的信息存储在所述计算装置中。
9.根据权利要求8所述的计算机程序产品,所述操作包括使用(k,n)阈值秘密共享机制来获取所述第三标识符。
10.根据权利要求8所述的计算机程序产品,包括接收所述信息的安全级别指示,以及其中所述获得包括基于所述标识符获得所述加密密钥,所述标识符包括所述第一标识符、所述第二标识符、所述第三标识符、对应于所述安全级别指示的第四标识符以及对应于所述一个应用的当前用户的第五标识符。
11.根据权利要求10所述的计算机程序产品,其中所述应用执行环境包括跨操作系统(OS)应用执行环境,并且接收所述安全级别指示包括从请求者接收存储所述信息的请求,其中所述安全级别指示对应于所述请求者,所述请求者是所述应用或所述跨OS应用执行环境之一。
12.根据权利要求10所述的计算机程序产品,其中获得所述加密密钥包括使用所述标识符作为输入来生成复合密钥。
13.根据权利要求12所述的计算机程序产品,所述操作包括通过将密码散列函数应用于构成所述一个应用的至少一部分的程序代码,来动态地生成所述第二标识符。
14.根据权利要求12所述的计算机程序产品,其中所述标识符包括加密密钥,并且生成所述复合密钥包括合并所述加密密钥以形成所述复合密钥。
15.一种系统,包括:
计算装置,包括计算机可读介质、用户接口设备和处理器;
所述计算机可读介质对计算机程序产品进行编码,所述计算机程序产品可操作以使得所述处理器执行向在计算装置上的应用执行环境中运行的应用提供本地存储服务的操作,所述操作包括:
从所述应用中的一个应用接收请求,其中所述请求触发信息的本地存储;
基于标识符来获得加密密钥,所述标识符包括对应于所述应用执行环境的第一标识符、对应于所述一个应用的第二标识符和对应于所述计算装置的第三标识符;
使用所述加密密钥对所述信息进行加密;以及
将已加密信息存储在所述计算装置中。
16.根据权利要求15所述的系统,所述操作包括使用(k,n)阈值秘密共享机制来获取所述第三标识符。
17.根据权利要求15所述的系统,所述操作包括接收所述信息的安全级别指示,以及其中所述获得包括基于所述标识符获得所述加密密钥,所述标识符包括所述第一标识符、所述第二标识符、所述第三标识符、对应于所述安全级别指示的第四标识符以及对应于所述一个应用的当前用户的第五标识符。
18.根据权利要求17所述的系统,其中所述应用执行环境包括跨操作系统(OS)应用执行环境,并且接收所述安全级别指示包括从请求者接收存储所述信息的请求,其中所述安全级别指示对应于所述请求者,所述请求者是所述应用或所述跨OS应用执行环境之一。
19.根据权利要求18所述的系统,进一步包括数据通信网络和媒体服务器。
20.根据权利要求19所述的系统,其中来自于所述一个应用的所述请求是针对来自于所述媒体服务器的已加密媒体内容的请求,并且来自于所述请求者的所述请求是来自于所述跨OS应用执行环境的、针对存储接收自所述媒体服务器的内容密钥的请求。
21.根据权利要求19所述的系统,其中来自于所述一个应用的所述请求是来自于所述请求者的请求,其是针对存储描述所述媒体内容使用的信息的请求。
22.根据权利要求17所述的系统,其中获得所述加密密钥包括使用所述标识符作为输入来生成复合密钥。
23.根据权利要求22所述的系统,所述操作包括通过将密码散列函数应用于构成所述一个应用的至少一部分的程序代码,来动态地生成所述第二标识符。
24.根据权利要求22所述的系统,其中所述标识符包括加密密钥,并且生成所述复合密钥包括合并所述加密密钥以形成所述复合密钥。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/863,189 US8160247B2 (en) | 2007-09-27 | 2007-09-27 | Providing local storage service to applications that run in an application execution environment |
US11/863,189 | 2007-09-27 | ||
PCT/US2008/077408 WO2009042617A1 (en) | 2007-09-27 | 2008-09-23 | Providing local storage service to applications that run in an application execution environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101802833A true CN101802833A (zh) | 2010-08-11 |
CN101802833B CN101802833B (zh) | 2016-01-20 |
Family
ID=40163005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880107289.XA Active CN101802833B (zh) | 2007-09-27 | 2008-09-23 | 向在应用执行环境中运行的应用提供本地存储服务 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8160247B2 (zh) |
CN (1) | CN101802833B (zh) |
WO (1) | WO2009042617A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951706A (zh) * | 2014-03-27 | 2015-09-30 | 意法半导体(R&D)有限公司 | 用于存储内容的方法和装置 |
CN105183495A (zh) * | 2014-05-29 | 2015-12-23 | 黑莓有限公司 | 跨操作系统域来协调活动视图 |
WO2016112799A1 (zh) * | 2015-01-16 | 2016-07-21 | 阿里巴巴集团控股有限公司 | 一种文件处理方法和装置 |
CN106104557A (zh) * | 2014-03-20 | 2016-11-09 | 甲骨文国际公司 | 用于从绑定到设备上的应用的主密钥获取秘密的系统与方法 |
CN108369613A (zh) * | 2015-12-14 | 2018-08-03 | 皇家飞利浦有限公司 | 计算设备和方法 |
CN109063469A (zh) * | 2013-03-14 | 2018-12-21 | 英特尔公司 | 基于信任级别和其他属性对web内容进行的差异化的容器化与执行 |
CN109992954A (zh) * | 2017-12-29 | 2019-07-09 | 航天信息股份有限公司 | 一种在应用程序中标识唯一ios设备的方法和系统 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009109884A1 (en) * | 2008-03-05 | 2009-09-11 | Koninklijke Philips Electronics N.V. | Cryptographic system |
FR2931336B1 (fr) * | 2008-05-19 | 2011-02-11 | Eads Secure Networks | Procedes et dispositifs d'emission et d'authentification de messages pour garantir l'authenticite d'un systeme |
US8019732B2 (en) | 2008-08-08 | 2011-09-13 | Amazon Technologies, Inc. | Managing access of multiple executing programs to non-local block data storage |
KR101277149B1 (ko) * | 2008-11-06 | 2013-06-20 | 삼성전자주식회사 | 사용자 데이터 암호화 방법 및 장치 |
US8572093B2 (en) * | 2009-01-13 | 2013-10-29 | Emc Corporation | System and method for providing a license description syntax in a software due diligence system |
JP5676477B2 (ja) * | 2009-01-19 | 2015-02-25 | コーニンクレッカ フィリップス エヌ ヴェ | プライバシー保護のためのデュアルスクリプトエンジンをもつブラウザ |
US8510552B2 (en) | 2010-04-07 | 2013-08-13 | Apple Inc. | System and method for file-level data protection |
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 |
US8925109B2 (en) * | 2010-07-30 | 2014-12-30 | Adobe Systems Incorporated | Client-side player file and content license verification |
GB2491914A (en) * | 2011-06-08 | 2012-12-19 | Inst Information Industry | Method of operating a heterogeneous computer system |
US10404615B2 (en) | 2012-02-14 | 2019-09-03 | Airwatch, Llc | Controlling distribution of resources on a network |
US9680763B2 (en) | 2012-02-14 | 2017-06-13 | Airwatch, Llc | Controlling distribution of resources in a network |
US8862892B2 (en) * | 2012-07-31 | 2014-10-14 | Adobe Systems Incorporated | System and method for detecting a security compromise on a device |
US9619653B2 (en) | 2012-07-31 | 2017-04-11 | Adobe Systems Incorporated | System and method for detecting a security compromise on a device |
US20140130037A1 (en) * | 2012-11-08 | 2014-05-08 | Gigaspaces Technologies Ltd. | Computer application playlist and player |
US10440132B2 (en) * | 2013-03-11 | 2019-10-08 | Amazon Technologies, Inc. | Tracking application usage in a computing environment |
US20140280955A1 (en) | 2013-03-14 | 2014-09-18 | Sky Socket, Llc | Controlling Electronically Communicated Resources |
US9401915B2 (en) * | 2013-03-15 | 2016-07-26 | Airwatch Llc | Secondary device as key for authorizing access to resources |
US9424421B2 (en) | 2013-05-03 | 2016-08-23 | Visa International Service Association | Security engine for a secure operating environment |
US10380352B2 (en) * | 2014-02-04 | 2019-08-13 | International Business Machines Corporation | Document security in enterprise content management systems |
KR102204247B1 (ko) * | 2014-02-19 | 2021-01-18 | 삼성전자 주식회사 | 전자 장치의 생체 정보 처리 방법 및 장치 |
US9639687B2 (en) | 2014-11-18 | 2017-05-02 | Cloudfare, Inc. | Multiply-encrypting data requiring multiple keys for decryption |
US9584964B2 (en) | 2014-12-22 | 2017-02-28 | Airwatch Llc | Enforcement of proximity based policies |
US9413754B2 (en) | 2014-12-23 | 2016-08-09 | Airwatch Llc | Authenticator device facilitating file security |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421000A (zh) * | 2000-03-31 | 2003-05-28 | 英特尔公司 | 生成用在隔离执行环境中的密钥层组 |
CN1530790A (zh) * | 2003-03-03 | 2004-09-22 | 将软件包绑定到对允许硬件改变的计算机系统的简明硬件标识 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3688099B2 (ja) * | 1997-07-22 | 2005-08-24 | 富士通株式会社 | 電子情報配布方法及び記録媒体 |
US6148407A (en) * | 1997-09-30 | 2000-11-14 | Intel Corporation | Method and apparatus for producing computer platform fingerprints |
US7313814B2 (en) * | 2003-04-01 | 2007-12-25 | Microsoft Corporation | Scalable, error resilient DRM for scalable media |
US7373509B2 (en) * | 2003-12-31 | 2008-05-13 | Intel Corporation | Multi-authentication for a computing device connecting to a network |
US7715565B2 (en) * | 2004-07-29 | 2010-05-11 | Infoassure, Inc. | Information-centric security |
EP1637957A1 (en) * | 2004-09-21 | 2006-03-22 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for accessing protected data |
KR100601706B1 (ko) * | 2004-10-15 | 2006-07-18 | 삼성전자주식회사 | Drm 시스템에 있어서 시스템 키를 공유하고 생성하는방법 및 장치 |
EP1746524A1 (de) * | 2005-07-22 | 2007-01-24 | Fujitsu Siemens Computers GmbH | Verfahren zum Erstellen einer verschlüsselten Sicherungsdatei und Verfahren zum Wiederherstellen von Daten aus dieser Sicherungsdatei bei einem Pocket-PC |
-
2007
- 2007-09-27 US US11/863,189 patent/US8160247B2/en not_active Expired - Fee Related
-
2008
- 2008-09-23 CN CN200880107289.XA patent/CN101802833B/zh active Active
- 2008-09-23 WO PCT/US2008/077408 patent/WO2009042617A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421000A (zh) * | 2000-03-31 | 2003-05-28 | 英特尔公司 | 生成用在隔离执行环境中的密钥层组 |
CN1530790A (zh) * | 2003-03-03 | 2004-09-22 | 将软件包绑定到对允许硬件改变的计算机系统的简明硬件标识 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063469A (zh) * | 2013-03-14 | 2018-12-21 | 英特尔公司 | 基于信任级别和其他属性对web内容进行的差异化的容器化与执行 |
US11811772B2 (en) | 2013-03-14 | 2023-11-07 | Intel Corporation | Differentiated containerization and execution of web content based on trust level and other attributes |
CN106104557A (zh) * | 2014-03-20 | 2016-11-09 | 甲骨文国际公司 | 用于从绑定到设备上的应用的主密钥获取秘密的系统与方法 |
CN106104557B (zh) * | 2014-03-20 | 2019-06-14 | 甲骨文国际公司 | 用于从绑定到设备上的应用的主密钥获取秘密的系统与方法 |
CN104951706A (zh) * | 2014-03-27 | 2015-09-30 | 意法半导体(R&D)有限公司 | 用于存储内容的方法和装置 |
CN104951706B (zh) * | 2014-03-27 | 2019-01-11 | 意法半导体(R&D)有限公司 | 用于存储内容的方法和装置 |
US10594483B2 (en) | 2014-03-27 | 2020-03-17 | Stmicroelectronics (Research And Development) Limited | Methods and apparatus for storing content |
CN105183495A (zh) * | 2014-05-29 | 2015-12-23 | 黑莓有限公司 | 跨操作系统域来协调活动视图 |
CN105183495B (zh) * | 2014-05-29 | 2018-06-29 | 黑莓有限公司 | 跨操作系统域来协调活动视图 |
WO2016112799A1 (zh) * | 2015-01-16 | 2016-07-21 | 阿里巴巴集团控股有限公司 | 一种文件处理方法和装置 |
CN108369613A (zh) * | 2015-12-14 | 2018-08-03 | 皇家飞利浦有限公司 | 计算设备和方法 |
CN109992954A (zh) * | 2017-12-29 | 2019-07-09 | 航天信息股份有限公司 | 一种在应用程序中标识唯一ios设备的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US8160247B2 (en) | 2012-04-17 |
US20090086964A1 (en) | 2009-04-02 |
CN101802833B (zh) | 2016-01-20 |
WO2009042617A1 (en) | 2009-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101802833B (zh) | 向在应用执行环境中运行的应用提供本地存储服务 | |
EP3583740B1 (en) | Data owner restricted secure key distribution | |
CN102271037B (zh) | 基于在线密钥的密钥保护装置 | |
EP1686504B1 (en) | Flexible licensing architecture in content rights management systems | |
US7051211B1 (en) | Secure software distribution and installation | |
US6801999B1 (en) | Passive and active software objects containing bore resistant watermarking | |
JP5314016B2 (ja) | 情報処理装置、暗号鍵の管理方法、コンピュータプログラム及び集積回路 | |
CN100517297C (zh) | 使用证书撤销列表进行数字权限管理的方法和设备 | |
EP1630998A1 (en) | User terminal for receiving license | |
US20140047558A1 (en) | System and method for providing access of digital contents to offline drm users | |
WO2004006075A1 (ja) | 開放型汎用耐攻撃cpu及びその応用システム | |
KR20080065661A (ko) | 파일 시스템으로의 접근을 제어하기 위한 방법, 파일시스템에 사용하기 위한 관련 시스템, sim 카드 및컴퓨터 프로그램 제품 | |
JP3580333B2 (ja) | 暗号認証機能の装備方法 | |
JP6146476B2 (ja) | 情報処理装置及び情報処理方法 | |
EP1837789A2 (en) | Method and apparatus for temporarily accessing content using temporary license | |
US20030217280A1 (en) | Software watermarking for anti-tamper protection | |
KR20060030164A (ko) | 동영상 데이터 보호를 위한 공유키 풀 기반의 drm 시스템 | |
US20190044709A1 (en) | Incorporating software date information into a key exchange protocol to reduce software tampering | |
US20140047557A1 (en) | Providing access of digital contents to online drm users | |
Nützel et al. | How to increase the security of Digital Rights Management systems without affecting consumer’s security | |
Dhanasekaran et al. | Payment security mechanism of intelligent mobile terminal | |
He-qun et al. | Protecting mobile agents’ data using trusted computing technology | |
Abbadi | Digital asset protection in personal private networks | |
Wang et al. | A Trust Usage Control Approach for Media Player Based on Intel SGX | |
Nihitha et al. | Multivariate Solutions for Digital Rights Management Using Hardware and Software Methods-Survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |