CN101080695B - 允许安全使用程序模块的方法与设备 - Google Patents

允许安全使用程序模块的方法与设备 Download PDF

Info

Publication number
CN101080695B
CN101080695B CN2005800433469A CN200580043346A CN101080695B CN 101080695 B CN101080695 B CN 101080695B CN 2005800433469 A CN2005800433469 A CN 2005800433469A CN 200580043346 A CN200580043346 A CN 200580043346A CN 101080695 B CN101080695 B CN 101080695B
Authority
CN
China
Prior art keywords
program module
recognition device
module
identifier
recognition
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.)
Expired - Fee Related
Application number
CN2005800433469A
Other languages
English (en)
Other versions
CN101080695A (zh
Inventor
A·克里斯滕森
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.)
Sony Mobile Communications AB
Original Assignee
Sony Ericsson Mobile Communications AB
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 Sony Ericsson Mobile Communications AB filed Critical Sony Ericsson Mobile Communications AB
Publication of CN101080695A publication Critical patent/CN101080695A/zh
Application granted granted Critical
Publication of CN101080695B publication Critical patent/CN101080695B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

一种允许使用应用程序的程序模块的方法与电子设备。该方法包括获取包含至少一个程序模块和与该程序模块相关联的识别装置的数据内容。该电子设备包括识别多个程序接口模块的识别数据。该方法进一步包括确定所述识别装置是否至少部分与识别数据关联。

Description

允许安全使用程序模块的方法与设备
技术领域
本发明涉及允许使用应用程序的至少一个程序模块的方法与电子设备。 
背景技术
用于电子设备的软件可分为系统软件和应用软件。系统软件可与该设备的硬件交互作用。系统软件经常在底层执行。系统软件包括如操作系统、编译器以及为管理计算机资源的公用程序。应用软件或应用程序可包括如数据库程序、文字处理器、电子制表软件、游戏、电话本或日历等。应用程序可运行于系统软件的顶层之上,因为通常没有操作系统和系统公用程序它无法运行。 
许多便携式电子设备,如便携式无线电通信设备、移动无线电终端、移动电话、寻呼机、通信装置、电子组织器、个人数字助理(PDA)或智能电话等,使用系统软件或平台作为硬件与应用程序之间的接口。此类平台之一是MIDP(移动信息设备概要文件)。MIDP提供便携式电子设备所需要的核心应用功能作为标准化的 
Figure S05843346920070619D000011
运行环境和一组 
Figure S05843346920070619D000012
APl(应用程序接口)。APl是应用程序可与系统软件进行通信的方法的定义。 
当便携式电子设备的用户想运行一个应用时,他可以浏览应用列表。一旦选中某一应用,该便携式电子设备会确认允许运行应用或该应用程序打算使用的APl。应用程序可存储于便携式电子设备内或在提出请求时下载。 
MIDP规范对在便携式电子设备中怎样发现、安装、更新以及删除应用进行定义。在允许便携式电子设备如由MIDP 2.0所定义那样运行APl的许可方案中,应用程序被分配给一个预定义的、可信安全域,该域具有为允许使用某些受保护的APl的静态安全策略。这些许可方案仅应用于由MIDP 2.0规范所定义的受保护的程序模块。为取得对这些受保护的APl的优先访问,必须在便携式电子设备上所定义的可信安全域中对应用进行签署(sign),并且必须使用可信的PKI(公开密匙体系)安全标准恰当签署。可信的(PKI签署的)应用必须在安装时声明当它被执行时打算使用什么样的受保护的API。它仅能声明它将使用在静态安全策略中所定义的受保护的API,否则,不应安装该应用。
与MIDP一起使用的Java 
Figure 314733DEST_PATH_G19269299150131000D000011
编程语言也可用于提供由电子设备的制造商负责开发的专有应用。这种应用例如可包括电话本、文件管理器、日历、组织器等,它们是每一制造商或某一类型的便携式电子设备专用的。在开发专有应用时,可能需要或希望定义使用专有API,该专有API是在开发时未在系统软件的可信安全域中定义的。然而,也可期望该专有API具有安全保护性。如上所述,MIDP仅对在可信安全域中所定义的API提供安全性。当安装应用时因为授权许可使用某一API,所以在安装期间在便携式电子设备上一定要存在安全策略。这样,应用未获信任的但又期望为之提供安全性的专有API非常不便,因为该专有API必须由MIDP规范指定以获取安全方案的优先权。增加一个未指定的API会影响MIDP规范。而且,很难对已进入市场的电话的安全策略进行修改。一旦程序模块已经被给与安全标准的优先权,则更新API同样地困难。 
EP-A-1289326涉及保证软件下载到某设备的安全性,该设备使用一块为存储安全密匙和使用该安全密匙进行运算的智能卡。使用智能卡运算的结果被传送到该设备去与由该设备在所下载的软件上执行的运算进行比较,以便用于验证所下载的软件。如此,密匙和涉及该安全密匙的运算的安全性受到保护。优选地,存储于智能卡中的根安全密匙可使用通信系统消息发送协议进行更新。 
XP-002960062公开了Java编程以及更特别地将Java Bean纳入JAR文件中。在JAR中,包括一个识别JAR中Bean的清单文件。 
已有的MIDP许可架构也适于未获信任的应用,如游戏和简单的应用。可是,当它对经由API暴露的平台功能施加细粒度的访问控制时,则既不能很好地作用也不能很好地定标(scale)。 
发明内容
本发明的目的是为增加使用应用程序的电子设备的灵活性。 
根据本发明的第一方面,该目的可由一种允许使用应用程序的程序模块的方法实现。该方法包括获取包括至少一个程序模块和与该程序模块相关联的识别装置的数据内容。该电子设备包括识别多个程序 接口模块的识别数据。该方法进一步包括确定识别装置是否至少部分与识别数据关联。 
如果识别装置至少部分与识别数据关联,则可安装或执行所获取的程序模块。 
可确定识别装置的至少一个标识符是否对应于识别数据的任意一个标识符。 
识别装置可包括至少一个唯一地识别数据内容的特定程序模块的标识符,该特定程序模块是程序接口模块。另外可选或附加,识别装置包括至少一个唯一地识别至少一个程序接口模块的标识符,该程序接口模块与作为应用程序模块的程序模块一起使用。 
识别装置可以是唯一的标识符的一个列表。每一个唯一的标识符可以与所获取的数据内容的特定程序模块相关联,识别数据可以包括识别一个程序接口模块的至少一个唯一的标识符。确定步骤可以包括确定识别装置的任意一个唯一的标识符是否对应于识别数据的任何唯一的标识符。 
识别装置可以是单一标识符,该标识符的值取决于每一个所获取的程序模块的标识符。识别数据可包括多个值,它们每一个取决于多个程序接口模块的标识符。确定步骤可包括确定该单一标识符是否对应于识别数据的任意一个值。 
根据本发明的第二方面,该目的可由一个允许使用应用程序的程序模块的电子设备实现。该电子设备包括一个控制器,其用于获取包含至少一个程序模块和与该程序模块关联的识别装置的数据内容。该电子设备包括识别多个程序接口模块的识别数据。配置该控制器使得确定识别装置是否至少部分地与识别数据关联。 
如果识别装置与识别数据至少部分地关联,则可配置控制器使得安装或执行所获取的程序模块。进而,可配置控制器使得确定识别装置的至少一个标识符是否对应于识别数据的任意一个标识符。 
识别装置可包括至少一个唯一地识别数据内容的特定程序模块的标识符,该程序模块为一个程序接口模块。另外可选或者附加,识别装置可以包括至少一个标识符,该标识符唯一地识别至少一个程序接口模块,其要与作为应用程序模块的程序模块一起使用。 
识别装置可以是唯一的标识符的一个列表,每一个唯一的标识符与所获取的数据内容的一个特定程序模块相关联。识别数据可包括至少一个识别程序接口模块的唯一的标识符。可配置控制器使得确定识别装置的任意一个唯一的标识符是否对应于识别数据的任意一个唯一的标识符。 
识别装置可以是单一标识符,该标识符的值取决于每一个所获取的程序模块的标识符。识别数据可包括多个值,其每个值取决于多个程序接口模块的标识符。可配置控制器使确定单一标识符是否对应于识别数据的任意一个值。 
该电子设备可以是计算机、便携式无线电通信设备、移动无线电终端、寻呼机、通信装置、电子组织器、个人数字助理(PDA)、手持设备、智能电话或移动电话。 
根据本发明的第三方面,数据内容的生成可依照一种为生成包括应用程序的至少一个程序模块的数据内容的方法来实现。该方法包括将程序模块并入数据内容,和将与所并入的程序模块相关联的识别装置并入数据内容。 
此外,可获取至少一个与要并入数据内容的每一个程序模块相关联的唯一标识符。然后,可将每一个唯一的标识符并入数据内容。另外可选或者附加,基于与被并入数据内容的多个程序模块相关联的唯一的标识符,可生成单一识别装置。如此,可将单一识别装置并入数据内容。 
根据本发明的第四方面,一种生成数据内容的装置可生成包括应用程序的至少一个程序模块的数据内容。该装置包括一个用于将程序模块并入数据内容的控制器。配置该控制器使将与所并入的程序模块相关联的识别装置并入数据内容。 
可配置该控制器使获取至少一个要与并入数据内容的每一个程序模块相关联的唯一的标识符。此外,可配置控制器使将每一个唯一的标识符并入数据内容。另外可选或者附加,可配置控制器使得基于与被并入数据内容的多个程序模块相关联的唯一的标识符而生成单一识别装置,并将该单一识别装置并入数据内容。 
根据本发明的第五方面,当具有计算机性能的电子设备运行计算机程序代码单元时,包括所述计算机程序代码单元的计算机程序产品可执行该允许使用应用程序的程序模块的方法。 
根据本发明的第六方面,当具有计算机性能的电子设备运行计算机程序代码单元时,包括所述计算机程序代码单元的计算机程序产品可执行该生成数据内容的方法。 
根据本发明的第七方面,数据内容可包括至少一个程序模块和与该程序模块相关联的识别装置。 
该识别装置可以是至少一个识别每一个程序模块的唯一的标识符。另外可选或者附加,识别装置可以是多个唯一的标识符,其中每一个唯一的标识符可与被包括在数据内容中的一个特定的程序模块相 关联。该数据内容可以是JAR文件。 
本发明的另外的实施例在从属权利要求中定义。 
本发明的一个优点是消除对集中化安全策略的需求以及对所获取的程序模块的认可可在程序模块的部署时进行,因为程序模块可在没有声明它将仅使用可信的程序接口模块情况下进行安装。此外,专有程序模块可与安全策略一起使用而不影响它们要在其上实施的平台的规范,这是它的一个优点。 
应当强调,本说明书中所提及的术语“包括”用来说明所述特征、整体、步骤或组成部分等的存在,但并不排除其它一个或更多特征、整体、步骤、组成部分或其组等的存在或附加。 
附图说明
本发明的另外的目的、特征以及优点将在以下对本发明的几个实施例的描述中展现,其中将参考附图对实施例的各方面进行详细描述,其中: 
图1是与服务器连接的一个电子设备的示意图; 
图2是图1中的电子设备的框图; 
图3是生成程序模块与关联的识别装置的一个装置的框图; 
图4是生成包括程序模块与关联的识别装置的数据内容的一种方法的流程图;和 
图5是为下载和允许访问具有关联的识别装置的程序模块的一种方法的流程图。 
具体实施方式
图1说明通过无线通信网络的基站4与第一服务器2和第二服务器3连接的一个电子设备1。在该实施例中,电子设备1是一部移动电话。在其它实施例中,该电子设备是计算机、便携式无线电通信设备、移动无线电终端、移动电话、寻呼机、通信装置、电子组织器、个人数字助理(PDA)、智能电话、手持设备或安排用来下载应用程序的程序模块的其它任何电子设备,这一点将在下面进行描述。而且,在其它实施例中,电子设备1通过基于有线方式的网络,例如广域网(WAN)、局域网(LAN)或公共交换电信网(PSTN),与第一服务器2和第二服务器3相连接。程序模块可通过几种途径下载或访问。在制造过程中程序模块可预加载、但是不需要安装到电子设备1。或者 可选,从外部或内部电子设备,如服务器、个人计算机、附件设施、另一个便携通信设备、插入读卡器的存储卡等,下载或访问该程序模块。电子设备1可例如通过电缆、或无线连接如近程无线电链接或IR(红外)链接的连接与外部/内部设备相连接。 
电子设备1包括一个输入/输出接口10(图2),通过该接口用户可与电子设备1进行交互作用。输入/输出接口10可包括例如显示屏11、键板12、操纵杆13、传声器14、以及扬声器15。 
例如从服务器2和3可下载数据内容到电子设备1。该数据内容可包括用于在电子设备1上运行的应用的一个或几个程序模块和用于识别每一个程序模块的识别装置。或者可选,该识别装置识别诸如应用程序接口(API)的程序接口模块,当应用该运行时程序模块计划使用该程序接口模块。程序模块可以是一个可执行软件程序,诸如游戏、电话本、文件浏览器等的应用程序模块。在这种情况,识别装置识别(多个)应用接口模块,这些应用接口模块被应用程序模块的内容计划用于与系统软件进行通信。或者可选,该程序模块是诸如API的应用接口模块。在这种情况,每一个识别装置识别合并入数据内容的特定的程序接口模块。另外,程序模块可以是可执行的程序指令的任意一段,并且可能需要要被执行的程序支持,诸如 
Figure S05843346920070619D000061
引擎。 
下载或访问程序模块之后,可确定电子设备1是否包括与数据内容的识别装置至少部分关联的识别数据。如果确实如此,则在电子设备1中可以使用该程序模块。所存储的识别数据例如可识别允许电子设备1使用的程序接口模块。如果数据内容的程序模块是一个应用程序模块,则可以决定在电子设备1中是否定义或者识别应用程序模块计划使用的程序接口模块。如果该程序模块是一个程序接口模块,则可确定该程序接口模块是否可在电子设备1中使用。 
图2说明电子设备1的各种组成部分。这些组成部分有输入/输出接口10、例如由中央处理单元(CPU)实现的控制器20、发送器/接收器(Tx/Rx)单元30以及存储器40。 
可配置发送器/接收器单元30使依照诸如GSM(全球移动通信系统)、PDC(个人数字蜂窝网络)、3GDP(第三代合作伙伴项目)或者CDMA2000(码分多址)网络在内的远程通信标准,与基站4进行无线通信。在其它实施例中,发送器/接收器单元30包括调制解调器或 网卡以访问信息网络如互联网。在再其它的实施例中,发送器/接收器单元30包括近程收发机,例如无线电或IR收发机。发送器/接收器单元30也可包括附件连接器以连接到电缆。 
存储器40可包括各种类型的存储器,例如永久性存储器、非永久性存储器、ROM(只读存储器)、RAM(随机访问存储器)、快闪存储器、存储卡等,上述存储器共同用存储器40表示。 
用户可选择或启动在显示器11上显示的例如在列表中作为可选择的图标或菜单的各种应用或应用程序。这些应用包括例如电话本、文件管理器、游戏、文件浏览器、相机应用、互联网浏览器与/或屏幕保护程序。这些应用可由诸如 
Figure S05843346920070619D000071
之类的面向对象的编程语言实现。每一个应用可借助应用程序模块实现,它们可以在存储器40中存储、或下载、或在应用启动时从其它设备访问。应用程序模块可使用程序接口模块或组成部分,诸如 
Figure S05843346920070619D000072
API或组成部分,与系统软件进行通信。 
电子设备1也包括平台或系统软件50,诸如 
Figure S05843346920070619D000073
或 
Figure S05843346920070619D000074
操作系统或使用密码签名的程序模块的任何其它平台,可通过下载或预装获取这类软件。系统软件50被包括在存储器40中。应用程序在系统软件50中或由系统软件50运行。为了具有附属于应用的集中化安全策略,可能需要在系统软件50的特定可信安全域中签署。第一域51是一个可信域(TD),其中仅应用如可信API之类的可信应用程序模块的应用签署。当安装在TDS1中签署的应用时,检查系统软件50是否允许使用应用表明将计划使用的每一个程序接口模块。如果确实如此,则应用程序可被授权访问在存储器中存在的或在需要时可从服务器2、3下载的程序接口模块。 
为获取应用程序模块,可从第一服务器2获取应用内容信息。该应用内容信息可包括要获取的数据内容的描述、数据内容的制造者、数据内容的数量、加密签名、证书以及要获取的数据内容的存储器地址。应用内容信息例如可以是在电子设备1中 
Figure S05843346920070619D000075
应用管理器可解释的 
Figure S05843346920070619D000076
JAD(Java应用描述符)文件。使用加密的签名和证书以证实应用是由可信来源所提供。该证书可基于PKI(公开密匙体系)。对应的密匙或证书存储于电子设备1中。 
当已授权批准下载包括应用程序模块的数据内容时,电子设备可 从内容信息中所提供的存储器地址下载应用程序模块。由存储器地址指出的存储器位置例如可以是第二服务器3或是在电子设备1中的一个存储器位置。然而,应用内容信息和包括应用程序模块的数据内容可以在同一存储器位置提供,例如在服务器2或3中之一。数据内容例如可以是 
Figure S05843346920070619D000081
JAD(Java应用档案文件)文件。当数据内容已下载完成,应用可直接运行应用程序模块,因为在TDS1中签署时已经批准这些应用程序模块。在TD51中签署的应用的过程基于本领域熟练的技术人员所知过程之上。在TD51中签署的应用例如是游戏、电话本、文件浏览器、互联网浏览器、相机应用等等。 
依照另一实施例,应用内容信息与数据内容可打包在一起,例如可以在如ZIP文件之类的单一文件中提供。然后应用内容信息与数据内容可通过任何适宜的方式传送给电子设备,诸如通过下载或在电子设备1的制造期间预先存储等。 
在已获取包括应用内容信息的文件时,可以验证证书和证书链。然而,直到获取包括数据内容的文件后,才可对该文件的签名进行验证。包括数据内容的文件的签名可以在包括应用内容信息的文件中提供。为验证签名,需要通过如下载之类的方式获取包括数据内容的文件。然后基于所获取的文件的内容确定校验和或散列数据。通过例如依照加密运算的方式对比校验和与在包括应用内容信息的文件中所提供的签名,然后可对校验和进行验证。如此,在应用程序可在特定安全域中签署之前,或在可确定包括数据内容的文件在签名后是否已被修改以及包括应用内容信息的文件中是否包括了签名之前,可能需要获取包括应用内容信息的文件与包括内容数据的文件两者。 
依照一个实施例,电子设备1包括至少一个第二安全域——制造商域(MD)52。MD52的安全级别可由制造商设置。如此,对电子设备1的制造商与/或类型/版本是可以在MD52中签署的特定性的专有应用。在MD52中签署的应用的程序模块,例如应用程序模块与程序接口模块,不需由系统软件50信任和指定。然而,可仍然应用安全策略,这将在下面进行描述。 
电子设备1可包括任意数量的安全域。如此,电子设备1可包括一个或几个可信域,以及一个或几个制造商域。特定的安全证书的提供者指定供特定的应用使用的安全域。如此,在不同安全域可使用不 同的程序接口模块。依靠使用不同程序接口模块的允许方案,特定的应用程序因此可在第一安全域而不是另一个安全域中运行。 
首先,描述为生成在MD52中签署的应用的程序模块的一个实施例。 
图3说明用于生成可被唯一识别的程序模块的装置。该装置可包括如计算机之类的电子装置60,具有如CPU 61的控制器61、存储器62、通信单元63。通过电子装置60,包括程序模块和关联的识别装置的数据内容可被生成并在第二服务器3上存储。同样,可生成包括上述信息的内容信息并将其在第一服务器2上存储。每一个程序模块可包括应用程序模块与/或程序接口模块。相关联的识别装置可包括一个或几个唯一的标识符,用于识别应用程序计划使用的一个或几个程序接口模块。或者可选,该识别方法识别一个或几个在数据内容中包括的程序接口模块。 
图4说明一种为生成包括程序模块与识别装置的数据内容的方法的实施例。在步骤100中,生成或获取程序模块。该程序模块例如可以从服务器下载或存储于存储器62中。在步骤101中,获取与每一个程序模块相关联的唯一的标识符。或者可选,可以给一组程序模块指定一个唯一的标识符,然后该唯一的标识符识别组中每一个程序模块。每一个唯一的标识符例如可以由UUID(通用唯一标识符)或GUID(全局唯一标识符)提供,这类标识符每一个都是128位数字,可以指定给任何对象且保证唯一性。任何全局唯一标识符可提供唯一的标识符。在程序模块被生成时,该唯一的标识符可以已经被指定。在步骤102中,产生为识别程序模块的识别装置。如果给每一个程序模块指定一个唯一的标识符,则识别装置可以是每一个程序模块的唯一的标识符的一个列表,该列表可作为如ZIP类型的一个文件被包括在数据内容中。该列表可以是一个ACL(访问控制列表)。唯一的标识符可以识别程序模块的内容计划使用的程序模块接口。或者可选,该唯一的标识符识别程序模块本身。 
在一个实施例中,数据内容包括单一唯一的标识符,其中识别装置是可能使用PKI密匙签名的单一标识符。如果每一个可能的程序模块组有它自己的单一唯一的标识符,则一旦获知该标识符就会知道被包括在该组中的程序模块。 
识别装置也可以是与一个或几个唯一的标识符相关联的标识符。基于该唯一的标识符或每一个唯一的标识符,例如可生成校验和或加密值。如此,可甚至进一步增加安全性。 
可使用PKI密匙对数据内容的识别装置进行签名。如果识别装置被签名,则对应的密匙存储于应当使用与该识别装置相关联的程序模块的电子设备中。如此,每一个具有公共密匙的电子设备可使用与用PKI密匙签名的识别装置相关联的内容数据。如此,制造商可确定哪些类型的电子设备或特定类型电子设备的哪个版本通过将公开密匙并入特定电子设备而可使用该数据内容。这是一个优点,因为可将程序模块专门用于特定类型或版本的电子设备。这一点在使用根据本发明的方法更新存储于电子设备1中的应用程序时会有用。 
当已经生成用于特定应用的程序模块及其相关联的识别装置时,在步骤103中它们被并入数据内容。如果数据内容是 
Figure S05843346920070619D000101
JAR文件,则该识别装置可作为JAR文件中的独立文件来提供。最终,数据内容被传送至服务器3并可存储于其上。另外,可生成应用内容信息,如 
Figure S05843346920070619D000102
JAD文件,并存储在服务器2中。 
最后,在步骤104中,数据内容被传送至服务器,程序终止。 
电子设备1包括识别程序模块的识别数据。该识别数据可识别允许电子设备1存取或使用的程序模块,例如特定的程序接口模块。识别数据另外可选或者附加识别在电子设备1中存储的程序模块,诸如特定的应用程序模块或者程序接口模块。通过加密的签名可同意或保护对识别数据的操作。识别数据的签名者决定应当在哪个安全域,例如在MD52中,提供识别数据,从而设置所需安全级别。识别允许电子设备使用的多个程序模块的识别数据可存储于电子设备1中,例如在存储器40中。如此,电子设备1包括识别每一个被允许使用或访问的程序模块的单元。 
图5说明一个允许使用所获取的程序模块的方法的实施例,这些程序模块可能已经被下载或已被访问并且在MD52中签署。包括程序模块的数据内容例如可能已经响应更新存储于存储器40中的程序模块的请求而被下载。或者可选,程序模块必须在每次启动与其互相关联的应用时被下载,因而响应应用的启动而下载该程序模块。应用例如可以由用户启动或者可选地不牵涉用户而由系统软件50启动。下 载也可以响应来自电子设备1的操作员或制造商的请求被启动,经由与电子设备5连接的网络传送该请求。 
在根据图5所示的方法中,假定任一启动过程已经被执行,例如上述有关下载和验证应用内容信息的启动过程。在每一实施例中启动过程不是必需的;数据内容不需任何启动过程就可下载。 
在第一步骤200中,数据内容被获取,例如如果存储器40中不存在该数据内容则从第二服务器3下载到电子设备1。然后在步骤201中,请求访问某一程序模块,或者安装或执行该程序模块。 
在步骤202中,确定所下载的数据内容的识别装置是否与存储于电子设备1中的识别数据至少部分关联。基于所获取的数据内容的识别装置和存储于电子设备1中的识别数据,可确定该关联。 
步骤202可被执行以便确定电子设备1是否允许访问被请求的程序模块本身,或者确定由可以是应用程序模块的程序模块所定义的一个或几个程序接口模块是否可以访问关联的程序接口模块。该请求可以由应用程序启动。或者可选地,一个是否允许电子设备1使用每一个被下载的程序模块或者由识别装置定义的每一个程序接口模块的确定过程将响应数据内容的成功下载而自动执行。如果步骤202的答案为“是”,则程序前进到步骤203,其中允许应用执行或安装与识别装置关联的程序模块。然后程序前进到步骤205。如果步骤202的答案为“否”,则程序前进到步骤204。在步骤204中,应用被拒绝许可使用/安装/执行所请求的程序模块。然后程序前进到步骤205。 
在步骤205中,确定任何访问已下载程序模块的请求是否待处理。如果步骤205的答案为“是”,则程序返回到步骤202。如果步骤205的答案为“否”,则程序终止。 
通过使用图5所示的方法,提供一项由电子设备1的制造商建立的安全策略。特定电子设备的各种版本可以有不同的许可方案。而且,消除对集中化安全策略的需求。因此,在任何时候制造商都能开发和允许使用新的专有程序模块而不牵涉到系统软件50。 
在安装数据内容的程序模块时,或者在执行程序模块时如果它是一个应用程序模块,则可以提供识别装置是否与所存储的识别数据相关联的确定。如果在步骤202中确定识别装置与识别数据不关联或仅部分关联,则可以采取下述步骤: 
-拒绝某个或所有的程序模块的执行或安装。如果识别装置的一个特定的唯一的标识符没有识别数据的相关联的唯一的标识符,则该特定程序模块的执行或安装可被拒绝; 
-如果程序模块是一个应用程序模块,并且识别装置识别一个或几个程序接口模块,但识别数据不包括一个或几个可用的相关程序接口模块的标识符,则可在应用程序模块的安装或执行进行前获取缺少的程序接口模块。缺少的程序接口模块可像上述讨论的方法那样获取批准。独立的识别数据可包括可被获取的程序接口模块的标识符; 
-即使识别装置和识别数据不完全关联,也可进行程序模块的安装或执行。应用程序模块可以在无需一个计划要使用但却没有被识别数据所识别的确定的程序接口模块的情况下起作用。 
如果该应用用 
Figure S05843346920070619D000121
来实现,则可提供对 
Figure S05843346920070619D000122
API灵活的、细粒度的访问控制。另外,如果系统软件50是MIDP2.0,则不必修改已有的MIDP的 
Figure S05843346920070619D000123
安全框架,因为根据本发明的方法和MIDP安全方案互相补充。根据本发明的方法完全地适应于MIDP2.0,不会受对MIDP2.0标准的进一步的补充所影响。该方法也可以用于下载和允许访问 API以外的程序模块,例如同样是由唯一的标识符识别的COM(组件对象模型)组件。因此,该方法可用于控制COM接口的安装和使用,例如通过 API.该方法也可用于披露制造商通过IDL(接口描述语言)所定义的 
Figure S05843346920070619D000126
API作为 
Figure S05843346920070619D000127
接口。 
确定所下载的识别装置是否与任何所存储的识别数据相关联的步骤可以通过确定所下载的识别装置是否与所存储的识别数据对应而提供。例如如果识别装置和识别数据都是唯一的标识符的一个列表,则识别装置可以对应于识别数据。如果识别装置的每一个唯一的标识符对应于或等于识别装置的一个唯一的标识符,则取得一致性。如果识别装置的至少一个唯一的标识符对应于识别数据的一个唯一的标识符,则识别装置可以与识别数据相关联。精确的一致性可能是需要的。而且,如果识别装置被签署,则在其与所存储的任一识别装置比较之前,必须使用存储于电子设备中的密匙对之进行校验。 
如果所下载的识别装置包括多个标识符,它们中每一个唯一识别所获取的数据内容的一个特定的程序模块,则每一个所下载的标识符可以与存储于电子设备1中的标识符的一个列表进行比较。所存储的 标识符标识电子设备1可使用的或已存储于电子设备1中的程序模块。这允许容易地实现识别装置。为提高安全性,可对每一个唯一的标识符加密,其中在与所存储的识别数据进行比较前需要对所下载的标识符解密。 
或者可选地,所下载的识别装置是单一的标识符,它的值取决于每一个所下载的程序模块。相应地,至少一个所存储的识别数据的值取决于其值为单一标识符的多个程序模块。如此,确定允许电子设备1使用所获取的程序模块的决定过程,可以由确定单一的识别装置是否对应于所存储的识别数据的任意值的过程来执行。如果确实如此,则允许电子设备使用每一个与单一识别装置相关联的下载的程序模块。这能成为一个优点,因为减少了需要处理的标识符。 
单一标识符可取决于每一个所下载的程序模块或该程序模块计划要使用的程序接口模块的唯一标识符,所存储的识别数据可取决于多个程序模块的唯一的标识符。单一标识符可以是一个分配给一组标识符的UUID。或者可选地,单一标识符可基于它识别的每一个程序模块的唯一的标识符而生成。校验和例如可以基于被包括在数据内容之中的多个唯一的标识符而生成,并作为单一标识符来提供。相应的校验和于是为允许电子设备1使用/已存储的程序模块组而提供。 
如果使用单一的标识符,则不需要执行图5所示方法的所有步骤,例如步骤201。另外,如果所有下载的程序模块被允许/拒绝使用于单一步骤中,则步骤205不是必需的。 
图4所示的方法可由计算机60实现,例如通过提供可由控制器61运行的软件代码单元。该软件代码单元可存储于存储器62中。 
图5所示的方法可由电子设备实现,例如通过提供可由控制器20运行的软件代码单元。该软件代码单元可存储于存储器40中。 
上面参考特定的实施例,已对当前发明进行了描述。然而,上述之外的其它实施例同样可能在本发明的范围之内。通过硬件或软件执行本方法的上述之外的不同的方法步骤可在本发明的范围内提供。本发明的不同的特征和步骤可结合为上述之外的其它组合。本发明仅由所附权利要求限制。 

Claims (24)

1.一种允许在电子设备(1)中使用应用程序的程序模块的方法,其中每个程序模块包括应用程序模块或由应用程序使用来与所述电子设备中的系统软件进行通信的程序接口模块,所述方法包括:
获取(200)包括至少一个程序模块和用于唯一识别与该程序模块相关联的、一个或多个程序接口模块的识别装置的数据内容;
提供存储在所述电子设备(1)中的识别数据用于识别允许所述电子设备使用的多个程序接口模块;以及
确定(202)识别装置是否至少部分与该识别数据关联。
2.根据权利要求1所述的方法,包括:
如果识别装置至少部分与该识别数据关联,则安装或执行所获取的程序模块。
3.根据权利要求1或2所述的方法,其中,确定步骤包括确定识别装置的至少一个标识符是否对应于识别数据的任意一个标识符。
4.根据权利要求1或2所述的方法,其中,识别装置包括至少一个标识符,该标识符唯一识别数据内容的特定程序模块,所述特定程序模块是程序接口模块。
5.根据权利要求1或2所述的方法,其中,识别装置包括至少一个标识符,该标识符唯一识别至少一个与作为应用程序模块的程序模块一起使用的程序接口模块。
6.根据权利要求1或2所述的方法,其中,识别装置是唯一标识符的列表,每一个唯一标识符与所获取的数据内容的特定程序模块相关联,识别数据包括至少一个用于识别程序接口模块的唯一标识符,确定步骤包括:
确定识别装置的任意一个唯一标识符是否对应于识别数据的任意一个唯一标识符。
7.根据权利要求1或2所述的方法,其中,识别装置是单一标识符,该单一标识符的值取决于每一个所获取的程序模块的标识符,识别数据包括多个值,每个值取决于多个程序接口模块的标识符,确定步骤包括:
确定单一标识符是否对应于识别数据的任意一个值。
8.一种允许在电子设备(1)中使用应用程序的程序模块的设备,其中每个程序模块包括应用程序模块或由应用程序使用来与所述电子设备中的系统软件进行通信的程序接口模块,所述设备包括:
用于获取包含至少一个程序模块和用于唯一识别与该程序模块关联的、一个或多个程序接口模块的识别装置的数据内容的部件;
用于提供存储在所述电子设备(1)中的识别数据用于识别允许所述电子设备使用的多个程序接口模块的部件;以及
用于确定识别装置是否至少部分与识别数据关联的部件。
9.根据权利要求8所述的设备,还包括用于如果识别装置至少部分与识别数据关联则安装或执行所获取的程序模块的部件。
10.根据权利要求8或9所述的设备,还包括用于确定识别装置的至少一个标识符是否对应于识别数据的任意一个标识符的部件。
11.根据权利要求8或9所述的设备,其中,识别装置包括至少一个标识符,其唯一识别数据内容的特定程序模块,所述特定程序模块是程序接口模块。
12.根据权利要求8或9所述的设备,其中,识别装置包括至少一个标识符,该标识符唯一识别至少一个要与作为应用程序模块的程序模块一起使用的程序接口模块。
13.根据权利要求8或9所述的设备,其中,识别装置是唯一标识符的列表,每一个唯一标识符与所获取的数据内容的特定程序模块相关联,识别数据包括至少一个用于识别程序接口模块的唯一标识符,所述设备还包括用于确定识别装置的任意一个唯一标识符是否对应于识别数据的任一唯一标识符的部件。
14.根据权利要求8或9所述的设备,其中,识别装置是单一标识符,该单一标识符的值取决于每一个所获取的程序模块的标识符,识别数据包括多个值,每个值取决于用于多个程序接口模块的标识符,所述设备还包括用于确定该单一标识符是否对应于识别数据的任意一个值的部件。
15.根据权利要求9所述的设备,其中,该电子设备是计算机、便携式无线电通信设备、移动无线电终端、寻呼机、通信装置、电子组织器、个人数字助理、手持设备或智能电话。
16.根据权利要求8或9所述的设备,其中,该电子设备是移动电话(1)。
17.一种用于生成包括将要在电子设备(1)中执行的应用程序的至少一个应用程序模块的数据内容的方法,所述方法包括:
将应用程序模块并入(103)数据内容,
其特征在于,
将与所并入的应用程序模块相关联的识别装置并入(103)数据内容,其中所述识别装置唯一识别由应用程序模块将要使用来与所述电子设备(1)中的系统软件进行通信的、一个或多个程序接口模块。
18.根据权利要求17所述的方法,包括:
获取(101)与每一个应用程序模块相关联的至少一个唯一标识符以便并入数据内容。
19.根据权利要求18所述的方法,包括:
将每一个唯一标识符并入数据内容。
20.根据权利要求17所述的方法,包括:
基于与被并入数据内容的多个应用程序模块相关联的唯一标识符,生成单一识别装置,和
将该单一识别装置并入数据内容。
21.一种用于生成包括将要在电子设备(1)中执行的应用程序的至少一个应用程序模块的数据内容的设备(60),所述设备包括:
用于将应用程序模块并入数据内容的部件,
其特征在于,所述设备还包括:
用于将与所并入的应用程序模块相关联的识别装置并入数据内容的部件,其中所述识别装置唯一识别由应用程序模块将要使用来与所述电子设备(1)中的系统软件进行通信的、一个或多个程序接口模块。
22.根据权利要求21所述的设备,还包括用于获取与每一个应用程序模块相关联的至少一个唯一标识符以便并入数据内容的部件。
23.根据权利要求22所述的设备,还包括用于将每一个唯一标识符并入数据内容的部件。
24.根据权利要求23所述的设备,还包括:
用于基于与被并入数据内容的多个应用程序模块相关联的唯一标识符生成单一识别装置的部件,和
用于将该单一识别装置并入数据内容的部件。
CN2005800433469A 2004-12-15 2005-12-05 允许安全使用程序模块的方法与设备 Expired - Fee Related CN101080695B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP04029661A EP1672486A1 (en) 2004-12-15 2004-12-15 Method and device for permitting secure use of program modules
EP04029661.8 2004-12-15
US63795504P 2004-12-21 2004-12-21
US60/637,955 2004-12-21
PCT/EP2005/056455 WO2006063946A1 (en) 2004-12-15 2005-12-05 Method and device for permitting secure use of program modules

Publications (2)

Publication Number Publication Date
CN101080695A CN101080695A (zh) 2007-11-28
CN101080695B true CN101080695B (zh) 2011-11-09

Family

ID=34927781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800433469A Expired - Fee Related CN101080695B (zh) 2004-12-15 2005-12-05 允许安全使用程序模块的方法与设备

Country Status (4)

Country Link
US (1) US20110145840A1 (zh)
EP (1) EP1672486A1 (zh)
CN (1) CN101080695B (zh)
WO (1) WO2006063946A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458809B2 (en) * 2010-01-20 2013-06-04 Research In Motion Limited Apparatus, and an associated method, for facilitating secure operations of a wireless device
US8401370B2 (en) * 2010-03-09 2013-03-19 Dolby Laboratories Licensing Corporation Application tracks in audio/video containers
US9058497B2 (en) * 2010-12-23 2015-06-16 Microsoft Technology Licensing, Llc Cryptographic key management
TW201427366A (zh) 2012-12-28 2014-07-01 Ibm 企業網路中為了資料外洩保護而解密檔案的方法與資訊裝置
CN104683287A (zh) * 2013-11-26 2015-06-03 国际商业机器公司 企业网络中为了数据外泄保护而解密文件的方法与装置
CN106201842A (zh) * 2016-06-27 2016-12-07 乐视控股(北京)有限公司 一种通用举报方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1288202A (zh) * 2000-06-23 2001-03-21 林海 一种防止垃圾电子邮件的方法
EP1289326A1 (en) * 2001-08-30 2003-03-05 Motorola, Inc. Method of verifying downloaded software and corresponding device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188255B1 (en) * 1999-09-23 2007-03-06 Hewlett-Packard Development Company, L.P. Software delivery system
US6535894B1 (en) * 2000-06-01 2003-03-18 Sun Microsystems, Inc. Apparatus and method for incremental updating of archive files
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7124408B1 (en) * 2000-06-28 2006-10-17 Microsoft Corporation Binding by hash
US6754889B1 (en) * 2000-10-04 2004-06-22 Compuware Corporation Java automation, testing, and analysis
US7319948B2 (en) * 2002-05-06 2008-01-15 Sun Microsystems, Inc. Blocking access to selected APIs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1288202A (zh) * 2000-06-23 2001-03-21 林海 一种防止垃圾电子邮件的方法
EP1289326A1 (en) * 2001-08-30 2003-03-05 Motorola, Inc. Method of verifying downloaded software and corresponding device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JAR File Specification.1999,1-12. *
ORFALI R HARKEY D.Client server programming with JAVA and CORBA 2.Katherine Schowalter,1997,1-351.
ORFALI R HARKEY D.Client server programming with JAVA and CORBA 2.Katherine Schowalter,1997,1-351. *

Also Published As

Publication number Publication date
EP1672486A1 (en) 2006-06-21
CN101080695A (zh) 2007-11-28
US20110145840A1 (en) 2011-06-16
WO2006063946A1 (en) 2006-06-22

Similar Documents

Publication Publication Date Title
KR100746606B1 (ko) 보안 요소 커맨드 방법 및 이동 단말기
CA2923740C (en) Software code signing system and method
US7900048B2 (en) Method for loading an application in a device, device and smart card therefor
CN101300583B (zh) 用于可信赖移动电话的简单可伸缩和可配置安全启动
US9280653B2 (en) Security access method for automotive electronic control units
US7712126B2 (en) Method and apparatus for providing dynamic security management
CN1653460B (zh) 加载应用程序到设备中的方法,设备和设备中的智能卡
CN101073060B (zh) 用于检验软件应用的方法和设备
CN101194229B (zh) 更新数据指令的方法和设备
US20070078957A1 (en) Firmware-licensing system for binding terminal software to a specific terminal unit
US20030163685A1 (en) Method and system to allow performance of permitted activity with respect to a device
CN103677892A (zh) 在安全电子控制单元中启用特殊优先模式的授权方案
CN101080695B (zh) 允许安全使用程序模块的方法与设备
CN103679005A (zh) 启用安全电子控制单元的开发模式的方法
WO2003021991A1 (en) Method of verifying downloaded software and corresponding device
US8191150B2 (en) Method and arrangement relating to a communication device
KR20100010851A (ko) 콘텐츠 인증 시스템 및 방법
KR20110101582A (ko) 컴퓨터 시스템에서 휴대용 단말기의 불법 소프트웨어 다운로드 방지 방법 및 장치

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111109

Termination date: 20151205

EXPY Termination of patent right or utility model