CN101714201A - 代码签字系统及方法 - Google Patents

代码签字系统及方法 Download PDF

Info

Publication number
CN101714201A
CN101714201A CN200910209311A CN200910209311A CN101714201A CN 101714201 A CN101714201 A CN 101714201A CN 200910209311 A CN200910209311 A CN 200910209311A CN 200910209311 A CN200910209311 A CN 200910209311A CN 101714201 A CN101714201 A CN 101714201A
Authority
CN
China
Prior art keywords
signature
software application
api
digital signature
hash
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
Application number
CN200910209311A
Other languages
English (en)
Other versions
CN101714201B (zh
Inventor
戴维·P·亚切
迈克尔斯·S·布朗
赫伯特·A·利特尔
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27398521&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101714201(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN101714201A publication Critical patent/CN101714201A/zh
Application granted granted Critical
Publication of CN101714201B publication Critical patent/CN101714201B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • 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
    • H04L9/321Cryptographic 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 involving a third party or a trusted authority
    • 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • 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
    • H04L9/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Abstract

提供了一种代码签字系统和方法。代码签字系统与有数字签字的软件应用程序一起工作,并包括应用平台、应用程序编程接口(API)和虚拟机。API用来把软件应用程序与应用平台相链接。虚拟机验证数字签字的真实性,以控制软件应用程序访问API。

Description

代码签字系统及方法
有关申请的参照
本申请要求下列申请的优先权:
“代码签字系统及方法”于2000年9月21申请的美国临时申请,申请号是60/234152;“代码签字系统及方法”于2000年9月22申请的美国临时申请,申请号是60/235354;“代码签字系统及方法”于2001年2月20申请的美国临时申请,申请号是60/270663;
技术领域
本发明涉及软件应用程序的安全协议领域。更具体地说,本发明提供代码签字系统及方法,特别适用于移动通信设备的JavaTM应用程序,例如个人数字助理、蜂窝电话,无线双程通信设备(以下通称为“移动设备”或简称“设备”)。
背景技术
包括软件代码签字方案的安全协议是众所周知的,典型地,这种安全协议用来保证从互联网下载的软件应用程序的可靠性。在典型的代码签字方案中,数字签字附于识别软件开发商的软件应用程序。一旦该软件被用户下载,用户必须只根据对软件开发商信誉的了解来判断该软件应用程序的可靠性。这类代码签字方案不能保证由第三方为移动设备所写的软件应用程序适合与本地应用程序和其它资源交互作用。因为典型的代码签字协议是不安全的,且只依赖于用户的判断,有严重破坏的风险,“特洛伊木马”型软件应用程序可能被下载并安装在移动设备上。
网络工作者还需要一种系统和方法,来控制软件应用程序在移动设备上起动。
还进一步需要2.5G和3G网络,其中合作客户或网络工作者都喜欢控制在设备上发布给其顾员的软件类型。
发明内容
本发明的目的是提供代码签字系统和方法。
按照本发明的一方面,一种代码签字系统,用于与具有数字签字和签字标识的软件应用程序一起工作,其中,数字签字与签字标识相关,包括:
应用平台;
应用编程接口API,具有关联的签字标识符,设置API将软件应用程序和应用平台链接;
虚拟机,如果签字标识符对应签字标识,则为了控制软件应用程序访问API,虚拟机验证数字签字的真实性,
其中,通过将专用签字密钥应用到软件应用程序的杂乱信号产生数字签字,所述虚拟机通过产生软件应用程序的杂乱信号来获得产生的杂乱信号、并将公用签字密钥应用到数字签字中来获得恢复的杂乱信号、比较产生的杂乱信号和恢复的杂乱信号来验证数字签字的真实性。
优选地,如果数字签字不真实,则虚拟机拒绝软件应用程序访问API。
优选地,如果数字签字不真实,则虚拟机删除软件应用程序。
优选地,代码签字系统装在移动设备上。
优选地,数字签字由代码签字授权机构产生。
优选地,还包括:
多个API程序库,每个API程序库包括多个API,其中,虚拟机通过软件应用程序控制访问多个API程序库。
优选地,至少一个API程序库被分类为敏感的;
访问敏感的API程序库要求将数字签字与签字标识关联,其中,签字标识对应与敏感的API程序库关联的签字标识符;
软件应用程序包括至少一个数字签字和至少一个关联的签字标识,用于访问敏感的API程序库;
虚拟机通过验证包括在软件应用程序中的一个数字签字来授权软件应用程序访问敏感的API程序库,所述软件应用程序具有对应敏感的API程序库的签字标识符的签字标识。
优选地,敏感的API程序库还包括描述字符串,其中,当软件应用程序试图访问敏感的API时,显示描述字符串。
优选地,应用平台包括操作系统。
优选地,包括一个或多个移动设备的核心功能。
优选地,包括移动设备上的硬件。
优选地,硬件包括用户身份模块卡。
优选地,软件应用程序是用于移动设备的Java应用程序。
优选地,API与应用平台上的加密流程接口。
优选地,API与应用平台上的专用数据模块接口。
优选地,虚拟机是安装在移动设备上的Java虚拟机。
按照本发明的另一方面,一种控制在移动设备上访问敏感的应用程序编程接口的方法,包括下列步骤:
把软件应用程序装到移动设备上,所述软件应用程序要求访问具有签字标识符的敏感的应用程序编程接口API;
确定软件应用程序是否包括数字签字和签字标识;
如果签字标识不与签字标识符对应,那么拒绝软件应用程序访问敏感的API;
如果签字标识与签字标识符对应,那么验证数字签字的真实性,其中,基于数字签字的真实性的验证,由软件应用程序访问敏感的API,
其中,通过将专用签字密钥应用到软件应用程序的杂乱信号产生数字签字,其中,验证数字签字的真实性包括步骤:
在移动设备上存储对应专用签字密钥的公用签字密钥;
产生软件应用程序的杂乱信号来获得产生的杂乱信号;
将公用签字密钥应用到数字签字中来获得恢复的杂乱信号;
比较产生的杂乱信号和恢复的杂乱信号。
优选地,还包括步骤:如果签字标识不对应签字标识符,则从移动设备删除软件应用程序。
优选地,数字签字和签字标识由代码签字授权机构产生。
优选地,还包括步骤:如果数字签字不真实,则拒绝软件应用程序访问敏感的API。
优选地,还包括步骤:如果数字签字不真实,则从移动设备上删除软件应用程序。
优选地,当软件应用程序试图访问所述的敏感的API时,向用户显示描述字符串。
优选地,还包括如下步骤:显示描述字符串,所述描述字符串通知移动设备的用户软件应用程序要求访问敏感的API。
优选地,还包括步骤:从用户接收指令,准许或拒绝软件应用程序访问敏感的API。
按照本发明的另一方面,一种移动设备,包括:
应用平台,具有应用编程接口API;
虚拟机,用于验证由各个软件应用程序提供的数字签字和签字标识,以便访问API;
在软件应用程序提供的数字签字由代码签字协议验证后,虚拟机也允许软件应用程序访问至少一个API;
代码签字授权机构向要求访问至少一个API的软件应用程序提供数字签字和签字标识,通过将专用签字密钥应用到软件应用程序的杂乱信号产生数字签字,其中,提供给软件应用程序的签字标识包括仅被授权的签字标识,以便允许访问多个移动设备的第一子设备;
其中,第一数字签字和第一签字标识用于第一种类型的移动设备;
第二数字签字和第二签字标识用于第二种类型的移动设备;
与应用程序关联的第一数字签字和第一签字标识防止使用第二种类型移动设备上的API的应用程序;
与应用程序关联的第二数字签字和第二签字标识防止使用第一种类型移动设备上的API的应用程序,
其中,虚拟机通过产生软件应用程序的杂乱信号来获得产生的杂乱信号、并将公用签字密钥应用到数字签字中来获得恢复的杂乱信号、比较产生的杂乱信号和恢复的杂乱信号来验证第一数字签字或第二数字签字的真实性。
优选地,虚拟机包括验证系统和控制系统,其中,虚拟机是Java虚拟机,软件应用程序是Java应用程序。
优选地,控制系统为至少一个API的每个程序库要求一个数字签字和一个签字标识。
优选地,应用平台的API至少接入执行加密算法的加密模块、数据存储器、专用数据模型和用户接口之一。
优选地,至少一个API被分类为敏感的,敏感的API还包括描述字符串,其中,当软件应用程序试图访问敏感的API时,描述字符串被显示给用户。
优选地,第一种类型的移动设备和第二种类型的移动设备是不同类型的移动设备。
按照本发明的另一方面,一种在移动设备上控制软件开发商开发的软件应用程序访问具有签字标识符的应用程序编程接口API的方法,包括如下步骤:
从软件开发商接收软件应用程序;
确定软件应用程序是否满足至少一个标准;
如果软件应用程序满足至少一个标准,则把数字签字和签字标识添加到软件应用程序;
如果签字标识对应签字标识符,则验证添加到软件应用程序的数字签字的真实性;
如果数字签字是真实的,向软件应用程序提供到API的路径;
把数字签字和签字标识添加到软件应用程序的步骤包括产生数字签字,包括下列步骤:
计算软件应用程序的杂乱信号;
把专用签字密钥应用到软件应用程序的杂乱信号,以产生数字签字;
在移动设备上提供公用签字密钥;
在移动设备上计算软件应用程序的杂乱信号以获得计算的杂乱信号;
把公用签字密钥应用到数字签字,以获得恢复的杂乱信号;
通过比较计算的杂乱信号与恢复的杂乱信号来验证数字签字。
优选地,确定软件应用程序是否满足至少一个标准的步骤由代码签字授权机构执行。
优选地,使用安全的杂乱信号算法计算软件应用程序的杂乱信号。
优选地,进一步包括,如果数字签字不真实,则拒绝该软件应用程序访问API。
按照本发明的另一方面,一种在移动设备上控制访问具有签字标识符的敏感应用编程接口API的方法,包括步骤:
注册一个或多个可信的软件开发商,编制访问敏感的API的软件应用程序;
接收软件应用程序的杂乱信号;
确定杂乱信号是否是注册的软件开发商所发送;
产生数字签字,其中,
数字签字和签字标识被添加到软件应用程序;
如果签字标识对应签字标识符,为了控制软件应用程序访问敏感的API,移动设备验证数字签字的真实性;
产生数字签字的步骤是把专用签字密钥应用到软件应用程序的杂乱信号执行的,所述杂乱信号由注册的软件开发商所发送;
其中,移动设备执行下列附加的步骤验证数字签字的真实性:
在移动设备上提供公用签字密钥;
在移动设备上计算软件应用程序的杂乱信号,以获得计算的杂乱信号;
把公用签字密钥应用到数字签字,以获得恢复的杂乱信号;
通过比较计算的杂乱信号与恢复的杂乱信号,以确定数字签字是否真实;
如果数字签字不真实,则拒绝软件应用程序访问敏感的API。
优选地,产生数字签字的步骤由代码签字授权机构执行。
按照本发明的另一方面,一种在移动设备上限制访问应用编程接口的方法,包括如下步骤:
把具有数字签字和签字标识的软件应用程序装到要求访问一个或多个具有至少一个签字标识符的API的移动设备上;
如果签字标识对应签字标识符,则验证数字签字;
如果软件应用程序不包括真实的数字签字,则拒绝软件应用程序访问一个或多个API;
其中,如果签字标识与签字标识符对应,则验证数字签字的步骤包括:
验证与签字标识符对应的签字标识;
把公用签字密钥存储到移动设备上,该公用签字密钥对应与代码签字授权机构关联的专用签字密钥,通过将专用签字密钥应用到软件应用程序的杂乱信号产生数字签字;
产生软件应用程序的杂乱信号,以获得产生的杂乱信号;
把公用签字密钥应用到数字签字,以获得恢复的杂乱信号;
将产生的杂乱信号与恢复的杂乱信号进行比较。
优选地,数字签字和签字标识与移动设备的类型有关。
优选地,包括附加的步骤:如果软件应用程序不包括真实的数字签字,则从移动设备上消除该软件应用程序。
优选地,软件应用程序包括多个数字签字和签字标识;
多个数字签字和签字标识分别包括与各不同类型的移动设备有关的数字签字和签字标识。
优选地,每个数字签字和有关的签字标识是由各相应的代码签字授权机构产生的。
优选地,通过把与代码签字授权机构有关的各个专用签字密钥应用到软件应用程序的杂乱信号,由对应的代码签字授权机构产生每个数字签字和签字标识。
按照本发明的另一方面,一种控制软件应用程序访问具有签字标识符的应用编程接口API的方法,软件应用程序具有数字签字和签字标识,包括:
如果签字标识对应于签字标识符,则验证数字签字的真实性;
如果软件应用程序提供的数字签字是真实的,允许访问至少一个API;
软件应用程序的数字签字和签字标识由代码签字授权机构产生;
其中,通过将专用签字密钥应用到软件应用程序的杂乱信号产生数字签字;
通过产生软件应用程序的杂乱信号来获得产生的杂乱信号、并将公用签字密钥应用到数字签字中来获得恢复的杂乱信号、验证产生的杂乱信号和恢复的杂乱信号是否相同来验证数字签字。
优选地,如果软件应用程序提供的数字签字被验证,则允许访问API的程序库。
优选地,API至少接入执行加密算法的加密模块、数据存储器、专用数据模型和用户接口之一。
优选地,至少一个API被分类为敏感的,敏感的API还包括描述字符串,其中,当软件应用程序试图访问敏感的API时,向用户显示描述字符串。
优选地,API提供访问至少一个或多个移动设备的核心功能、操作系统和移动设备上的硬件。
优选地,要求软件应用程序提供全局数字签字的验证,以访问任何API。
附图说明
图1是根据本发明实施例的代码签字协议图;
图2是图1的代码签字协议的流程图;
图3是在移动设备上的代码签字系统方框图;
图3A是在一组移动设备上的代码签字系统方框图;
图4是图3和图3A代码签字系统的工作流程图;
图5是管理图3A的代码签字真实性的流程图;
图6是移动通信设备的方框图,其中可实现代码签字系统和方法。
具体实施方式
图1是本发明一个实施例的代码签字协议图。应用程序开发商12产生软件应用程序14(应用程序Y),用于要访问移动设备上一个或多个敏感的API的移动设备。软件应用程序Y14可以是Jara应用程序,它工作于安装在移动设备中的Java虚拟机。API能使软件应用程序Y与应用平台界面连接,该应用平台可包括如设备硬件、操作系统、核心软件和数据模块这样的资源。为了调用或与这些设备资源交互作用,软件应用程序Y必须访问一个或多个API,因此API可有效地“桥接”软件应用程序和有关的设备资源。在本说明和附着的权利要求中,涉及API访问应理解包括以这样方法访问API,即允许软件应用程序Y与一个或多个相应设备资源交互作用,因此,在提供访问任何API的同时,允许软件应用程序Y与有关的设备资源交互作用,而否定访问API,则防止软件应用程序与有关资源交互作用。例如,数据库API可与设备文件或数据储存系统通信,访问数据库API将提供软件应用程序Y与文件或数据存储系统之间交互作用。用户界面(UI)API可与控制器和/或控制软件通信,用于像屏幕、密钥盘、和任何其它向用户提供输出或从用户接收输入的设备部件。在移动设备中,无线电API也可作用界面提供给无线通信资源,例如发射机和接收机。同样,加密的API可提供与保密模块交互作用,后者在设备上实现保密运算。这些仅仅是可在设备上提供API的例子。设备可包括任何这些例子的API,或不同的API代替或附加到上面所述的例子中。
可取的是,任何API可分类成由移动设备制造商、或由API作者,无线网络工作者,设备拥有或操作者敏感的,或其它实体理解的,后者可由在设备软件应用程序中的病毒或病毒码影响。例如,移动设备制造商可分成对加密程序,无线通信功能或专用的数据模型(如地址薄或日历本)互作用敏感。为防备无授权情况下对这些敏感的API访问,要求应用程序开发商12从移动设备制造商获得一个或多个数字签字,或从其它按敏感分类任何API的实体中获得一个或多个数字签字,或从影响到制造商利益的代码签字授权机构或其它有意保护访问敏感的设备API的实体获得数字签字,并把签字添加到软件应用程序Y14。
在一个实例中,对每个要访问的敏感的API或包括API的程序库获得数字签字。在某些情况下,需要多个签字,这就允许服务提供商,公司或网络工作者限制某些或全部软件应用程序在特定的一组移动设备上加载或更新。在这一多签字方案中,所有API被限制和锁定,直到对软件应用程序的“全局”签字得到验证。例如,公司可能希望防止它的顾员在没有首先获得公司信息技术(IT)或计算机服务部准许的情况下,在它们的设备上运行任何软件应用程序,于是所有这些公司的移动设备可构成在软件应用程序能被执行前,至少需要全局签字,即使要访问敏感的API和程序库,根据相应数字签字的验证,作出进一步限制。
二进制可执行的软件应用程序Y的表达可与具体的移动设备类型或移动设备型号无关。软件应用程序Y14可以是一次写入任何地方可运行的二进制格式,与Java软件应用程序的情况一样。但是,可能要对每种移动设备类型或型号有数字签字,或代以对每种移动设备平台或制造商有数字签字。因此,如果软件应用程序把几种移动设备作为对象的话,软件应用程序Y14可送请几个代码签字授权机构。
软件应用程序Y14从应用程序开发商12送到代码签字授权机构16。在图1所示的实施例中,代码签字授权机构16检查软件应用程序Y14,如在下面更详细描述那样,设想代码签字授权机构16也可以或代替考虑应用软件开发商12的身份,以确定是否应对软件应用程序签字。代码签字授权机构16优先地是一个或多个来自移动设备制造商,任何敏感的API的作者的代表,或其它具有操作敏感的API知识的人(该API是软件应用程序需访问的对象)。
如果代码签字授权机构16确定软件应用程序可访问敏感的API并因而要签字,那么对软件应用程序的签字(未画出)由代码签字授权机构16产生并附加软件应用程序Y14。然后,经签字的软件应用程序Y22,包括软件应用程序Y14和数字签字,返回应用程序开发商12,数字签字优先地是一标签,它是用只有代码签字授权机构16保持的专用签字密钥18产生。例如,根据一种签字方案,用hash算法(如保密杂乱信号(hash)算法SHAI)可产生软件应用程序14的杂乱信号(hash),然后与专用的签字密钥18一起用,以建立数字签字。在某些签字方案中,专用签字密钥用于加密要签字的信息的杂乱信号(hash),例如软件应用程序Y14,而在其它方案中,专用密钥可以其它方式用于从要签字的信息或该信息的变换版本产生签字。
然后,把经签字的软件应用程序Y12发送给移动设备28或由移动设备28在无线网络24上下载,但应当理解,本发明的代码签字协议不限于在无线网上下载的软件应用程序,例如,在另一实施例中,经签字的软件应用程序Y22可通过计算机网络下载到个人计算机,并通过串联连接加载到移动设备,或可以任何其它形式从应用程序开发商12获得并加载到移动设备上。一旦经签字的软件应用程序Y22装到移动设备28上,每一数字签字,优先用公司签字密钥20,在软件应用程序Y14准许访问敏感的API程序库之前,进行验证。虽然经签字的软件应用程序Y22装在设备上,但应理解,即使在设备上可执行的软件应用程序是软件应用程序Y14。如前面所述,经签字的软件应用程序Y22包括软件应用程序Y14和一个或多个附加的数字签字(未示出)。当签字被验证时,软件应用程序Y14可在该设备上执行并访问已验证相应签字的任何API。
公用签字密钥20相应于由代码签字授权机构16保持的专用签字密钥18,并且优先与敏感的API一起安装在移动设备上。但是,公用密钥10可用设备28或可能的个人计算机系统替换从公用密钥库获得(未示出),并按需要安装在设备28上。根据签字方案的一个实施例,移动设备28计算经签字的软件应用程序Y22中的软件应用程序Y14的杂乱信号(hash),其中使用与代码签字授权机构16相同的散列算法,并用数字签字和公用签字密钥20来恢复由签字授权机构16计算的杂乱信号(hash),然后把本地算得的杂乱信号(hash)结果与从数字签字恢复的杂乱信号(hash)进行比较,如果杂乱信号(hash)相同,则签字被验证。于是,软件应用程序Y14可能在设备28上执行,并访问相应签字已被验证的敏感的API。如上所述,本发明决不限于这具体说明签字方案的例子,其它签字方案,包括公用密钥签字方案,也可结合这里描述的代码签字方法和系统使用。
图2是参考图1的上述代码签字协议的流程图30。协议从步骤32开始,在步骤34,软件开发商为需要访问敏感的API或阵列敏感的API的程序库(API程序库A)的移动设备写软件应用程序Y。如上所述,移动设备上的一些或全部API可合成敏感性一类,这样,任何软件应用程序对它的访问都需要数字签字验证,例如软件应用程序Y。在步骤36中,应用程序Y由软件开发商优先使用设备模拟器来测试,该模拟器中,数字签字验证功能已不适用。这样,软件开发商可在从代码签字授权机构获得数字签字之前调试软件应用程序Y。一旦软件应用程序Y写好并调试完毕,则可在步骤38传送给代码签字授权机构。
在步骤40和42,代码签字授权机构检查软件应用程序Y,以确定是否应允许访问敏感的API,并作出接受或拒绝该软件应用程序的决定。代码签字授权机构可应用一组准则来确定是否准许软件应用程序访问敏感的API,包括,例如软件应用程序的大小,由API访问的设备资源,软件应用程序的实用性,与其它软件应用程序的相互作用,包含病毒或其它破坏性的代码,和开发商是否有合同义务或与移动设备制造商有其它业务安排。更多管理代码签字授权机构和开发商的细节,参考图5描述如下。
如果代码签字授权机构接受软件应用程序Y,那么在步骤46,数字签字,最好是签字标识,附加到软件应用程序Y中。如上所述,数字签字可用软件应用程序Y的杂乱信号(hash)和专用签字密钥18来产生。签字标识参考图3和4描述如下。一旦数字签字和签字标识加到软件应用程序Y,得到签了字的软件应用程序,则经签字的软件应用程序在步骤48返回软件开发商。然后,软件开发商可申请把签字的软件应用程序Y装到移动设备(步骤50)上的许可证。如果代码签字授权机构拒绝软件应用程序Y,那么把拒绝说明发送给软件开发商(步骤44),软件应用程序Y将不能访问与该签字有关的任何API。
在另一个实施例中,软件开发商可提供软件应用程序Y的杂乱信号(hash)给代码签字授权机构,或以某种简化的格式提供软件应用程序Y。如果软件应用程序是Java应用程序,那么设备有关的二进制*.class文件可用于杂乱信号(hash)工作中,不过,当软件应用程序想要在特别设备或设备类型上工作时,由本申请的代理人所用的设备有关的文件,例如*.coa可代替用于杂乱信号(hash)或其它数字签字工作中。借助于只提供软件应用程序Y的杂乱信号(hash)或简化版本,软件开发商可把没有显示专有代码签字的软件应用程序给代码签字授权机构。软件应用程序Y的杂乱信号(hash)与专门的签字密钥18一起,可用来由代码签字授权机构产生数字签字。如果其它简化的软件应用程序Y的版本发送给代码签字授权机构,那么该简化的版本同样可用来产生数字签字,只要简化的方案或算法,像杂乱信号(hash)算法一样,对不同的输入产生不同的输出。这就保证了每个软件应用程序可有不同的简化版本和因此不同的签字,该签字只能在附加到产生简化版本的具体相应的软件应用程序时才能验证。因为这一实施例不能使代码签字授权机构对病毒或其它破坏性代码来充分评审软件应用程序,因此,也可要求软件开发商和代码签字授权机构之间进行登记处理。例如,代码签字授权机构可预先同意可信任的软件开发商访问一组有限的敏感的API。
在另一个实施例中,软件应用程序Y可提交给多于一个签字机构,每个签字机构可负责对特定敏感的API或特定型号的移动设备上的API或支持由软件应用程序要求的敏感的API的移动设备组的软件应用程序的签字。制造商,移动通信网络操作员,服务商,或公司用户可对使用敏感的API有签字权,用于他们特定的移动设备型号,或工作于特定网络上的移动设备,预订一个或多个具体业务,或分配到公司顾员。经签字的软件应用程序可包括软件应用程序和至少一个来自每个签字机构的附加数字签字。尽管这些签字机构在本例中能对同样软件应用程序产生签字,但不同的签字和签字验证方案可与不同的签字机构有关。
图3是移动设备62上代码签字系统60的方框图。该系统60包括虚拟机64,一组软件应用程序66-70,一组API程序库72-78,和应用平台80。应用平台80最好包括所有移动设备62上的资源,它们可由软件应用程序访问。例如,应用平台可包括设备硬件82,移动设备操作系统84,或核心软件和数据模型86。每个API程序库72-78最好包括一组API,它与应用平台中的有效资源接口,例如,一个API程序库可包括所有与日历程序和日历项数据模型接口的API。另一个API程序库可包括所有与移动设备62的传输线路和功能接口的API。再另一个API程序库可包括所有能与移动设备操作系统84执行的低级业务接口的API。此外,一组API程序库72-78既可包括阵列敏感的API 74和78的程序库,例如与保密功能的接口,也可包括可被访问而没有阵列敏感的API的程序库72和76。同样,一组软件应用程序66-70既可包括签字的软件应用程序66和70,它们要求访问一个或多个敏感的API,也可包括未签字的软件应用程序,如68。虚拟机64优先地是面向运行时环境的目标,如Sun Micro系统的J2METM(Java2平台,Micro出版),它管理移动设备62上工作的所有软件应用程序66-70,并把软件应用程序66-70链接到各API程序库72-78。
软件应用程序Y70是经签字的软件应用程序的例子,每个经签字的软件应用程序优先包括实际的软件应用程序,如包括能在应用平台80上执行的软件代码的软件应用程序Y,一个或多个签字标识94和一个或多个相应的数字签字96。在签字的软件应用程序66或70中,每一数字签字96和相应的签字标识94相应于敏感的API程序库74或78,它是软件应用程序X或软件应用程序Y要求访问的API。敏感的API程序库74或78可包括一个或多个敏感的API。在一个替换的例子中,签字的软件应用程序可包括数字签字96,用于在API程序库74或78中的每个敏感的API。签字标识94可以是唯一的整数,或某些把数字签字96与特定API程序库74或78、API、应用平台80或移动设备62的型号相连系的其它装置。
API程序库A78是阵列敏感的API的API程序库的例子。每个包括敏感的API的API程序库74和78应优先包括描述字符串88,公用签字密钥20,和签字标识符92。签字标识符92优先相应于签字的软件应用程序66或70中的签字标识,并能使虚拟机让数字签字96与API程序库74或78快速匹配。公用密钥20相应于由代码签字授权机构保持的专用签字密钥18,并用于验证数字签字96的真实性。描述字符串88可以是文本消息,当加载签字的软件应用程序时,它显示在移动设备上,或换句话说,当软件应用程序X或Y要想访问敏感的API时,它显示在移动设备上。
操作上,当签字的软件应用程序68-70(分别包括要访问敏感的API程序库74-78的软件应用程序X,Z,或Y)装到移动设备上时,虚拟机64搜索附加的、与API程序库74或78有关的数字签字96的符号。优先地,由虚拟机64借助于把API程序库74或78中的签字标识符92与签字的软件应用程序中的签字标识94相匹配而测出合适的数字签字96。如果签字的软件应用程序包括合适的数字签字96,那么,虚拟机64用公用密钥20验证其真实性,然后,一旦合适的数字签字96被测出并验证,在执行软件应用程序X或Y并访问敏感的API之前,则描述字符串88显示在移动设备上。例如,描述字符串88可显示这样的消息“应用程序Y要想访问API程序库A”,并借助向移动设备用户提供批准或否定访问敏感的API的最后控制。
图3A是在一组移动设备62E,62F和62G上的代码签字系统61的方框图。系统61包括一组移动设备,其中只有三个62E,62F和62G不于图中。还示出了签字的软件应用程序70,它包括软件应用程序Y,两个相应于签字标识94E和94F的数字签字96E和96F已加到该软件应用程序上。在作为例子的系统61中,由数字签字和标识组成的每对94E/96E和94F/96F,相应于移动设备62的型号、API程序库78或有关的平台80。如果签字标识94E和94F相应于移动设备62的不同型号,那么,当签字的软件应用程序70,它包括要访问敏感的API程序库78的、经签字的软件应用程序Y装到移动设备62E上时,虚拟机64借助于把标识94E与签字标识符92相匹配来为与API移动库78有关的数字签字96E搜索签字的软件应用程序70。同样,当签字的软件应用程序70,它包括要访问敏感的API程序库78的软件应用程序Y,装到移动设备62上时,在设备62F中的虚拟机64为与API程序库78有关的数字签字96F搜索软件应用程序70。但是,在要访问敏感的API程序库78的、经签字的软件应用程序70中的软件应用程序Y装到应用程序开发商未获得数字签字的移动设备的型号上时,图3中的设备62G,设备64G中的虚拟机64找不到附加于软件应用程序Y的数字签字,因此否定在设备62G上访问API程序库78。从前面描述应可以理解,像软件应用程序Y那样的软件应用程序可以有多个规定的设备,规定的程序库,或规定的API签字或加于其上的这些签字的组合。同样,对不同的设备构成不同的签字验证要求,例如,设备62E可要求既有全局签字,又有对任何敏感的API的附加签字,为了使该软件应用程序得以执行,软件应用程序需访问API。而设备62F可要求只有全局签字的验证,设备62G可要求只对其敏感的API签字的验证。很明显,通信系统可包括装置(未示出),在该装置上,接收的作为如70的签字的部分软件程序的软件应用程序Y可以执行而没有任何签字验证。虽然签字的软件应用程序有一个或多个附加的签字,但软件应用程序Y可能在某些设备上执行而没有首要的任何签字验证。对软件应用程序的签字最好不与它在没有实现签字验证的设备上的执行相干涉。
图4是流程图100,表示图3和图4的代码签字系统的工作。在步骤102,软件应用程序装到移动设备上,一旦软件应用程序安装完毕,该设备最好用虚拟机来确定该软件应用程序是否要访问任何阵列敏感的API的API程序库(步骤104)。如果否,那么软件应用程序与所有它所要求的API程序库连接并执行(步骤118),如果软件应用程序要访问敏感的API,那么在步骤106-116中,虚拟机验证该软件应用程序包括与任何要访问的敏感的API有关的有效数字签字。
在步骤106,虚拟机从敏感的API程序库查找公用签字密钥20和签字标识符92,签字标识符92被虚拟机在步骤108中用来确定软件应用程序是否有附加的数字签字与相应的签字标识94相应。如果没有,则软件应用程序没有被代码签字授权机构批准访问敏感的API,并最好防止软件应用程序在步骤116中执行。在另一个实例中,没有合适数字签字96的软件应用程序可以移动设备上消除,或可以否定它访问阵列敏感的API的API程序库,但可在没有访问API程序库的可能范围内执行。也可想到,当签字验证失效时,用户可以有输入提醒,供用户控制后续操作从设备中消除该软件应用程序。
如果相应于敏感的API程序库的数字签字96加到软件应用程序并由虚拟机测出,那么,虚拟机用公用密钥20来验证该数字签字96的真实性(步骤110)。这一步可用上面描述的签字验证方案或其它替换的签字方案来执行。如果数字签字96不真实,则软件应用程序最好不被执行、消除或如上所述限制访问敏感的API(参考步骤116)。如果数字签字是真实的,则描述字符串88最好在步骤112中显示,警告移动设备用户,该软件应用程序要访问敏感的API,并提示用户授权执行或安装该软件应用程序(步骤114)。当软件应用程序有多于一个签字要验证时,在112步提示用户之前,最好对每一签字重复步骤104-110。如果步骤114中的移动设备用户认可该软件应用程序,则它可被执行并连到敏感的API程序库(步骤118)。
图5是流程图,表示图3A的代码签字授权机构的管理200。在步骤210,应用程序开发商已开发了新的软件应用程序,它要在一个或多个目标设备型号或类型上执行。目标设备可包括来自不同制造商的一组设备,来自同一制造商的一组设备模型或类型,或一般具有特别签字和验证要求的任一组设备。“目标设备”一词涉及有共同签字要求的设备。例如,对执行所有软件应用程序要求全局签字的一组设备可包括目标设备。既要求全局签字又要求对敏感的API的进一步签字的设备可以是多于一个目标设备组的部分。软件应用程序可用至少一个已知的API以与设备无关的状态写成,可在至少一个有API程序库的目标设备上获得支持。最好是,被开发的软件应用程序要在几个目标设备上执行,其中每个至少有它自己的一个API程序库。
在步骤220,对一个目标设备的代码签字授权机构从开发商接收目标签字请求,目标签字请求包括软件应用程序或软件应用程序的杂乱信号(hash),开发商标识符,以及至少一个目标设备标识符,它识别请求签字的目标设备。在步骤230,签字机构查阅开发商数据库235或其它记录,以确定是否信任开发商220。这一确定可根据前面讨论的几个准则来做,例如开发商是否有合同义务或已进入设备制造商,网络工作者,服务供应商安排的某些其它类型的业务。如果开发商是可信的,则该方法在步骤240开始。但是,如果开发商不可信,则该软件应用程序被拒绝(250),并不被签字机构签字。假定开发商是可信任的,则在步骤240,签字机构借助于查询专用密钥存储器,如目标专用密钥数据库来确定它是否有相应于提交的目标标识符的目标专用密钥245,如果找到目标专用密钥,则在步骤260产生对该软件应用程序的数字签字,并且该数字签字或经签字的软件应用程序(包括附加到该软件应用程序的数字签字)返回开发商(步骤280)。但是,如果目标专用密钥在步骤240没有找到,则该软件应用程序在步骤270被拒绝,并不对该软件应用程序产生数字签字。
方便的是,如果目标签字机构接受图5方法得可兼容的实例,则为了方便管理代码签字授权机构和开发商共同体代码签字过程,可建立目标签字机构的网络,以便对多个具有毁坏码的低似然性的目标提供经签字的软件应用程序。
当软件应用程序在设备上执行时,一经发现或根据其表现怀疑软件应用程序中有任何破坏性或其它有问题的码,那么,相应的应用程序开发商与任何或全部签字机构的登记或特权可被怀疑或取消,因为数字签字提供了检查跟踪,通过它可识别有问题的软件应用程序的开发商。在这种事件中,设备者借助于配置周期性下载签字取消表通知取消。如果相应的数字签字已被取消的软件应用程序在设备上运行,那么该设备可停止任何这种软件应用程序的执行,并合理地从其本地存储器中消除。如果愿意,设备还可配置重新执行签字验证,例如周期性地或当新的取消表被下载时。
虽然由签字机构产生的数字签字与应用程序开发商的身份验证和确认该应用程序开发商已确实注册,那么数字签字优先从软件应用程序的杂乱信号(hash)或其它变换的版本产生,并成为专门的应用,这与已知的代码签字方案不同,其中允许任何来自可信的应用程序开发商或作者的软件应用程序访问API。在这里描述的代码签字系统和方法中,API的访问是逐个应用的基础上准许的,因而能比较严格地控制或限制。
图6是移动通信设备的方框图,其中可实现代码签字系统和方法。移动通信设备610最好是双程通信设备,它至少具有声音和数据通信能力。该设备优先具有与互联网上的其它计算机系统通信的能力。根据由设备提供的功能,设备可称为数据收发设备,双程寻呼机,有数据收发功能的蜂窝电话,无线互联网设备或数据通信设备(带或不带电话功能)。
在设备能用于双程通信的地方,设备将采用通信分系统611,它包括接收机612,发射机614,和有关的一个或多个嵌入的或内部的部件,天线单元616和618,本地振荡器(LO)613,和处理模块,例如数字信号处理器(DSP)620。通信领域内的业务人士知道,通信系统611的具体设计与设备要在其中工作的通信网络有关。例如,北美市场用的设备610可包括通信分系统611,它设计成在MobitexTM移动通信系统或DataTACTM移动通信系统内工作,而用于欧洲的设备610可采用通信分组无线业务(GPRS)通信分系统611。
网络访问要求也随网络919的类型而变化,例如,Mobitex和DataTAC网络中,移动设备610用与每个设备有关的唯一识别数字在网上注册,但在GPRS网络中,网络访问与设备610的用户有关。因此,GPRS设备为在GPRS网上工作要求用户识别模块(未示出)。通常称为SIM卡。没有SIM卡,GPRS设备将不能起充分的作用。本地或无网络通信功能(如果有)可以运作,但设备610不能在网络619上实行任何功能,包括通信,除了像“911”紧急呼叫那样合法地所要求的工作。
当要求的网络注册或激励过程已完成时,设备610可在网络619上发送和接收通信信号。由天线616通过通信网络619收到的信号输入接收机612,它可实行普通接收机的功能,例如信号放大,下变频,滤波,通道选择等等,以及在图6系统所示的例中的模-数变换。接收信号的模数变换允许比较复杂的通信功能,例如解调和解码可在DSP620中执行。以同样的状态处理发射信号,包括用DSP620调制和编码,并输入发射机614作数-模变换,上变频,滤波,放大和通过天线618在通信网络619上传输。
DSP620不仅处理通信信号,也为接收机和发射机提供控制,例如,作用于接收机和发射机中的通信信号的增益可通过在DSP620中实现的自动增益控制算法进行自适应控制。
设备610优先包括微处理机638,它控制整个设备的工作。通信功能,至少包括数据和声音通信,通过通信分系统611实行。微处理器638也与另外的分系统或资源,如显示器622,闪存624,随机访问存储器(RAM)626,辅助输入/输出(I/O)分系统628,串口630,密钥盘632,扬声器634,麦克风636,短距通信分系统640和任何其它的设备分系统(统称642)互作用。API,包括敏感的API,它要求在准许访问前验证一个或多个数字签字,可安装在设备610上,提供软件应用程序上图6中的任何资源的接口。
图6中所示的某些分系统执行与通信有关的功能,而其它分系统可提供“常驻的”或在设备上的功能。要说明的是,某些分系统,例如密钥盘632和显示器622,既可用于与通信有关的功能,如输入文本消息用于在通信网络上传输,也可用于常驻设备的功能,如计算器或任务表。
微处理器638所用的操作系统软件和由软件应用程序访问的合理的API,优先存入永久性存储器,如闪存624,它可替代只读存储器(ROM)或类似的存储单元(未示出)。业内人士理解,操作系统,专门的设备软件应用程序,或其中的部分,可临时装到易失性存储器(如RAM626)中。接收和发射的通信信号也可存入RAM620。
微处理器638,除了它的操作系统功能,能优先执行在设备上的软件应用程序。预定的一组应用程序控制基本的设备操作,包括至少数据和声音的通信应用程序,通常在制造期间就装在设备610上。可装在设备上的优先应用程序可以是个人信息管理(PIM)应用程序,它具有组织和管理涉及设备用户的数据项目的能力,例如,但不限于电子邮件,日历事件,语音邮件,约定和任务项。自然,在设备上一个或多个存储器是有用的,以适合PIM数据项目在设备上储存。这种PIM的应用优先具有通过无线网发送和接收数据项的能力。在一个优选实施例中,PIM数据项通过无线网络无缝连接地集成、合成和更新,以存储的或与主计算机系统有关的设备用户相应的数据项在移动设备上建立关于数据项的镜像主计算机。这对主计算机系统是移动设备用户的办公室计算机系统的情况特别有利。另外的应用软件,包括上述签字的软件应用程序,也可通过网络619,辅助I/O分系统628,串口630,短距离通信分系统640或任何其它合适的分系统642装到设备610上。设备的微处理器638可验证任何数字签字,包括“全局”设备签字和规定的API签字,这些签字在软件应用程序由微处理器638执行和/或访问任何有关的敏感的API前加到软件应用程序。安装应用程序的这种可塑性增加了设备的功能,并提供增强的在设备功能、有关通信功能或两者。例如,保密通信应用程序可使要用设备610通过保密API和保密模块(其中实现设备上的保密运算)(未示出)执行的电子商务功能和其它会计事务成为可能。
在数据通信模型中,收到的信号,如下载的文本消息或万维网页,由通信分系统处理并输入微处理器638,它进一步处理收到的信号,输出到显示器622,或输出到辅助的I/O设备628。设备610的用户也可用密钥盘632构成数据项,如电子邮件短文密钥盘632是完全的字母数字密钥或电话型的辅助密钥盘,与显示器622和合理的I/O设备628相结合。这样构成的数据项可通过通信分系统611在通信网络上传输。
对于声音通信,设备610的整体工作基本上是相同,除了收到的信号优先输出给扬声器,发射的信号由麦克风636产生之外。可替代的声音或音频I/O分系统,例如声音消息记录分系统,也可在设备610上实现。虽然声音或音频信号输出主要是通过扬声器634完成的,但显示器622也可用来提供呼叫方身份,呼叫持续时间,或其它有关信息的语音呼叫。
图6中的串口630通常是在个人数字助理(PDA)型通信设备中实现的,它可能要与用户桌面计算机(未画)同步,但是一种可选的部件。这种端口630使用户能通过外部设备或软件应用程序设置预定选项,并借助于不通过无线通信网络而提供信息或软件下载到设备610来扩展设备的能力。这种下载路径可用于把保密密钥直接加载到设备上,这种可靠和可信的连接使保密设备通信成为可能。
短距通信分系统640是另一可选的部件,它可提供设备624和不同的系统或设备间的通信,合并不需要是同类设备。例如,分系统640可包括红外设备和有关的电路及元件,或BluetoorhTM(蓝牙)通信模式,以提供与有相同能力的系统和设备通信。
这里描述的实施例是相应于权利要求中各部件的结构、系统和方法。本说明可使业内人士能制造和使用相应于权利要求中的可替代的部件。本发明预定的范围包括其它结构、系统或方法,它们与权利要求书的文字语言没有不同,并进一步包括与权利要求书中的文字语言有非实质性判别的结构、系统和方法。
例如,当在图5方法中,在步骤250拒绝软件应用程序时,签字机构可要求开发商签一合同或与设备制造商或签字机构影响其利益的其它实体建立业务关系。同样,如果在步骤270拒绝软件应用程序,对该软件应用程序签字的签字机构可授权给不同的签字机构,这种授权签字基本上可如图5所示进行,其中从信任的开发商那里收到最初请求的目标签字机构(步骤220),根据信任的开发商来自目标签字机构的利益,要求不同的签字机构对该软件应用程序签字。一旦代码签字授权机构间建立起信任关系,目标专用代码签字密钥可在代码签字授权机构间共享,以改善步骤240方法的性能,或设备可配置成从任何一个信任的签字机构签字。
此外,虽然描述了软件应用程序的上下文,但本发明的代码签字系统和方法也可用于其它设备有关的部件,包括,但不限于,指令和有关的指令变元系统,和构成与设备资源接口的程序库。这种指令和程序库可由设备制造商,设备拥有者,网络工作者,服务提供商,软件应用程序开发商等发送给移动设备。希望根据本权利要求书中描述的代码签字系统和方法,借助于在指令能在设备上执行之前,要求验证一个或多个数字签字,来控制可能影响设备工作的任何指令的执行,例如改变设备标识码或无线通信网络地址的指令。

Claims (59)

1.一种代码签字系统,用于与具有数字签字和签字标识的软件应用程序一起工作,其中,数字签字与签字标识相关,包括:
应用平台;
应用编程接口API,具有关联的签字标识符,设置API将软件应用程序和应用平台链接;
虚拟机;
其中,如果签字标识符对应签字标识,则为了控制软件应用程序访问API,虚拟机验证数字签字的真实性,
其中,通过将专用签字密钥应用到软件应用程序的杂乱信号产生数字签字,所述虚拟机通过产生软件应用程序的杂乱信号来获得产生的杂乱信号、并将公用签字密钥应用到数字签字中来获得恢复的杂乱信号、比较产生的杂乱信号和恢复的杂乱信号来验证数字签字的真实性。
2.根据权利要求1所述的代码签字系统,其特征在于如果数字签字不真实,则虚拟机拒绝软件应用程序访问API。
3.根据权利要求1所述的代码签字系统,其特征在于如果数字签字不真实,则虚拟机删除软件应用程序。
4.根据权利要求1所述的代码签字系统,其特征在于代码签字系统装在移动设备上。
5.根据权利要求1所述的代码签字系统,其特征在于数字签字由代码签字授权机构产生。
6.根据权利要求1所述的代码签字系统,其特征在于还包括:
多个API程序库,每个API程序库包括多个API,其中,虚拟机通过软件应用程序控制访问多个API程序库。
7.根据权利要求6所述的代码签字系统,其特征在于:
至少一个API程序库被分类为敏感的;
访问敏感的API程序库要求将数字签字与签字标识关联,其中,签字标识对应与敏感的API程序库关联的签字标识符;
软件应用程序包括至少一个数字签字和至少一个关联的签字标识,用于访问敏感的API程序库;
虚拟机通过验证包括在软件应用程序中的一个数字签字来授权软件应用程序访问敏感的API程序库,所述软件应用程序具有对应敏感的API程序库的签字标识符的签字标识。
8.根据权利要求4所述的代码签字系统,其特征在于API程序库还包括描述字符串,其中,当软件应用程序试图访问API时,移动设备显示描述字符串。
9.根据权利要求1所述的代码签字系统,其特征在于应用平台包括操作系统。
10.根据权利要求1所述的代码签字系统,其特征在于包括一个或多个移动设备的核心功能。
11.根据权利要求1所述的代码签字系统,其特征在于包括移动设备上的硬件。
12.根据权利要求11所述的代码签字系统,其特征在于硬件包括用户身份模块卡。
13.根据权利要求1所述的代码签字系统,其特征在于软件应用程序是用于移动设备的Java应用程序。
14.根据权利要求1所述的代码签字系统,其特征在于API与应用平台上的加密流程接口。
15.根据权利要求1所述的代码签字系统,其特征在于API与应用平台上的专用数据模块接口。
16.根据权利要求1所述的代码签字系统,其特征在于虚拟机是安装在移动设备上的Java虚拟机。
17.一种控制在移动设备上访问敏感的应用程序编程接口的方法,包括步骤:
把软件应用程序装载到移动设备上,所述软件应用程序要求访问具有签字标识符的敏感的应用程序编程接口API;
确定软件应用程序是否包括数字签字和签字标识;
如果签字标识不与签字标识符对应,那么拒绝软件应用程序访问敏感的API;
如果签字标识与签字标识符对应,那么验证数字签字的真实性,其中,基于数字签字的真实性的验证,由软件应用程序访问敏感的API,
其中,通过将专用签字密钥应用到软件应用程序的杂乱信号产生数字签字,其中,验证数字签字的真实性包括步骤:
在移动设备上存储对应专用签字密钥的公用签字密钥;
产生软件应用程序的杂乱信号来获得产生的杂乱信号;
将公用签字密钥应用到数字签字中来获得恢复的杂乱信号;
比较产生的杂乱信号和恢复的杂乱信号。
18.根据权利要求17所述的方法,其特征在于还包括步骤:如果签字标识不对应签字标识符,则从移动设备删除软件应用程序。
19.根据权利要求17所述的方法,其特征在于数字签字和签字标识由代码签字授权机构产生。
20.根据权利要求17所述的方法,其特征在于还包括步骤:
如果数字签字不真实,则拒绝软件应用程序访问敏感的API。
21.根据权利要求17所述的方法,其特征在于还包括步骤:如果数字签字不真实,则从移动设备上删除软件应用程序。
22.根据权利要求17所述的方法,其特征在于当软件应用程序试图访问至少一个API时,向用户显示描述字符串。
23.根据权利要求17所述的方法,其特征在于还包括步骤:
显示描述字符串,所述描述字符串通知移动设备的用户软件应用程序要求访问敏感的API。
24.根据权利要求17所述的方法,其特征在于还包括步骤:
从用户接收指令,准许或拒绝软件应用程序访问敏感的API。
25.一种移动设备,包括:
应用平台,具有应用编程接口API;
虚拟机,用于认证由各个软件应用程序提供的数字签字和签字标识,以便访问API;
在软件应用程序提供的数字签字由代码签字协议认证后,虚拟机也允许软件应用程序访问至少一个API;
代码签字授权机构向要求访问至少一个API的软件应用程序提供数字签字和签字标识,根据签字标识的签字方案和使用软件应用程序的杂乱信号产生用于软件应用程序的数字签字,其中,提供给软件应用程序的签字标识包括仅被授权的签字标识,以便允许访问多个移动设备的第一子设备;
其中,第一数字签字和第一签字标识用于第一种类型的移动设备;
第二数字签字和第二签字标识用于第二种类型的移动设备;
与应用程序关联的第一数字签字和第一签字标识防止使用第二种类型移动设备上的API的应用程序;
与应用程序关联的第二数字签字和第二签字标识防止使用第一种类型移动设备上的API的应用程序,
其中,虚拟机通过产生软件应用程序的杂乱信号来获得产生的杂乱信号、并将公用签字密钥应用到数字签字中来获得恢复的杂乱信号、比较产生的杂乱信号和恢复的杂乱信号来认证第一数字签字或第二数字签字的真实性。
26.根据权利要求25所述的移动设备,其特征在于虚拟机包括验证系统和控制系统,其中,虚拟机是Java虚拟机,软件应用程序是Java应用程序。
27.根据权利要求25所述的移动设备,其特征在于控制系统为至少一个API的每个程序库要求一个数字签字和一个签字标识。
28.根据权利要求25所述的移动设备,其特征在于应用平台的API至少接入执行加密算法的加密模块、数据存储器、专用数据模型和用户接口之一。
29.根据权利要求25所述的移动设备,其特征在于至少一个API还包括描述字符串,其中,当软件应用程序试图访问至少一个API时,描述字符串被显示给用户。
30.根据权利要求25所述的移动系统,其特征在于第一种类型的移动设备和第二种类型的移动设备是不同类型的移动设备。
31.一种在移动设备上控制软件开发商开发的软件应用程序访问具有签字标识符的应用程序编程接口API的方法,包括步骤:
从软件开发商接收软件应用程序;
确定软件应用程序是否满足至少一个标准;
如果软件应用程序满足至少一个标准,则把数字签字和签字标识添加到软件应用程序;
如果签字标识对应签字标识符,则验证添加到软件应用程序的数字签字的真实性;
如果数字签字是真实的,向软件应用程序提供到API的路径;
把数字签字和签字标识添加到软件应用程序的步骤包括产生数字签字,包括下列步骤:
计算软件应用程序的杂乱信号;
把专用签字密钥应用到软件应用程序的杂乱信号,以产生数字签字;
在移动设备上提供公用签字密钥;
在移动设备上计算软件应用程序的杂乱信号以获得计算的杂乱信号;
把公用签字密钥应用到数字签字,以获得恢复的杂乱信号;
通过比较计算的杂乱信号与恢复的杂乱信号来认证数字签字。
32.根据权利要求31所述的方法,其特征在于确定软件应用程序是否满足至少一个标准的步骤由代码签字授权机构执行。
33.根据权利要求32所述的方法,其特征在于使用安全的杂乱信号算法计算软件应用程序的杂乱信号。
34.根据权利要求31所述的方法,其特征在于进一步包括,如果数字签字不真实,则拒绝该软件应用程序访问API。
35.一种在移动设备上控制访问具有签字标识符的敏感应用编程接口API的方法,包括步骤:
注册一个或多个可信的软件开发商,编制访问敏感的API的软件应用程序;
接收软件应用程序的杂乱信号;
确定杂乱信号是否是注册的软件开发商所发送;
产生数字签字,其中,
数字签字和签字标识被添加到软件应用程序;
如果签字标识对应签字标识符,为了控制软件应用程序访问敏感的API,移动设备验证数字签字的真实性;
产生数字签字的步骤是把专用签字密钥应用到软件应用程序的杂乱信号执行的,所述杂乱信号由注册的软件开发商所发送;
其中,移动设备执行下列附加的步骤验证数字签字的真实性:
在移动设备上提供公用签字密钥;
在移动设备上计算软件应用程序的杂乱信号,以获得计算的杂乱信号;
把公用签字密钥应用到数字签字,以获得恢复的杂乱信号;
通过比较计算的杂乱信号与恢复的杂乱信号,以确定数字签字是否真实;
如果数字签字不真实,则拒绝软件应用程序访问敏感的API。
36.根据权利要求35所述的方法,其特征在于产生数字签字的步骤由代码签字授权机构执行。
37.一种在移动设备上限制访问应用编程接口的方法,包括步骤:
把具有数字签字和签字标识的软件应用程序装载到要求访问一个或多个具有至少一个签字标识符的API的移动设备上;
如果签字标识对应签字标识符,则认证数字签字;
如果软件应用程序不包括真实的数字签字,则拒绝软件应用程序访问一个或多个API;
其中,如果签字标识与签字标识符对应,则认证数字签字的步骤包括:
验证与签字标识符对应的签字标识;
把公用签字密钥存储到移动设备上,该公用签字密钥对应与代码签字授权机构关联的专用签字密钥,代码签字授权机构根据软件应用程序的杂乱信号产生数字签字;
产生软件应用程序的杂乱信号,以获得产生的杂乱信号;
把公用签字密钥应用到数字签字,以获得恢复的杂乱信号;
将产生的杂乱信号与恢复的杂乱信号进行比较。
38.根据权利要求37所述的方法,其特征在于数字签字和签字标识与移动设备的类型有关。
39.根据权利要求37所述的方法,其特征在于还包括步骤:
如果软件应用程序不包括真实的数字签字,则从移动设备上删除该软件应用程序。
40.根据权利要求37所述的方法,其特征在于:
软件应用程序包括多个数字签字和签字标识;
多个数字签字和签字标识分别包括与各不同类型的移动设备有关的数字签字和签字标识。
41.根据权利要求40所述的方法,其特征在于每个数字签字和有关的签字标识是由各相应的代码签字授权机构产生的。
42.根据权利要求37所述的方法,其特征在于认证数字签字的步骤包括:
如果签字标识对应至少一个签字标识符,则验证数字签字的真实性。
43.根据权利要求37所述的方法,其特征在于通过把与代码签字授权机构有关的各个专用签字密钥应用到软件应用程序的杂乱信号,由对应的代码签字授权机构产生每个数字签字和签字标识。
44.根据权利要求37所述的方法,其特征在于:
移动设备包括多个API;
至少一个API被分类为敏感的;
访问任一个API要求真实的全局签字;
访问每个敏感的API要求真实的全局签字和与签字标识关联的真实的数字签字;
认证数字签字包括;
确定软件应用程序要求访问的一个或多个API是否敏感的API;
确定软件应用程序是否包括真实的全局签字;
确定软件应用程序是否包括真实的数字签字和签字标识,其中,软件应用程序要求访问的一个或多个API包括敏感的API和软件应用程序包括真实的全局签字;
拒绝软件应用程序访问一个或多个API包括:
如果软件应用程序不包括真实的全局签字,则拒绝软件应用程序访问一个或多个API;
如果软件应用程序要求访问的一个或多个API包括敏感的API、软件应用程序包括真实的全局签字、软件应用程序不包括要求访问敏感的API的真实的数字签字和签字标识符,则拒绝软件应用程序访问敏感的API。
45.一种控制软件应用程序访问具有签字标识符的应用编程接口API的方法,包括:
如果签字标识对应于各个API的签字标识符,则认证各个软件应用程序提供的数字签字来访问API,其中,用于软件应用程序的数字签字由对应签字标识符的签字标识产生,以便访问至少一个API;
如果软件应用程序提供的数字签字是真实的,允许访问至少一个API;
软件应用程序的数字签字和签字标识由代码签字授权机构产生;
其中,通过将专用签字密钥应用到与签字标识关联的签字方案下的软件应用程序的杂乱信号产生数字签字;
通过产生软件应用程序的杂乱信号来获得产生的杂乱信号、并将公用签字密钥应用到数字签字中来获得恢复的杂乱信号、验证产生的杂乱信号和恢复的杂乱信号相同来认证数字签字。
46.根据权利要求45所述的方法,其特征在于如果软件应用程序提供的数字签字被认证,则允许访问API的程序库。
47.根据权利要求45所述的方法,其特征在于API至少接入执行加密算法的加密模块、数据存储器、专用数据模型和用户接口之一。
48.根据权利要求45所述的方法,其特征在于至少一个API还包括描述字符串,其中,当软件应用程序试图访问至少一个API时,向用户显示描述字符串。
49.根据权利要求45所述的方法,其特征在于API提供访问至少一个或多个移动设备的核心功能、操作系统和移动设备上的硬件。
50.根据权利要求45所述的方法,其特征在于要求软件应用程序提供全局数字签字的验证,以访问任何API。
51.一种在移动设备上控制访问具有签字标识符的敏感的应用程序编程接口API的方法,包括:
注册一个或多个可信的软件开发商,开发的软件访问敏感的API;
接受软件应用程序的杂乱信号;
确定杂乱信号是否由注册的软件开发商发送;
如果杂乱信号是由注册的软件开发商所发送,则使用软件应用程序的杂乱信号和对应签字标识符的签字标识产生数字签字;
其中,数字签字和签字标识被添加到软件应用程序;
如果签字标识对应签字标识符,则移动设备验证数字签字的真实性,以便控制软件应用程序访问敏感的API。
52.根据权利要求51所述的方法,其特征在于由代码签字授权机构产生数字签字。
53.根据权利要求51所述的方法,其特征在于通过将签字密钥应用到软件应用程的杂乱信号产生数字签字。
54.根据权利要求53所述的方法,其特征在于移动设备验证数字签字的真实性包括:
在移动设备上提供对应的签字密钥;
计算移动设备上的软件应用程的杂乱信号,获得计算的杂乱信号;
将对应的签字密钥应用到数字签字,获得恢复的杂乱信号;
通过比较计算的杂乱信号和恢复的杂乱信号确定数字签字是否真实;
如果数字签字不真实,则拒绝软件应用程序访问敏感的API。
55.根据权利要求51所述的方法,其特征在于提供了验证数字签字的真实性的虚拟机。
56.根据权利要求55所述的方法,其特征在于如果数字签字不真实,则虚拟机拒绝软件应用程序访问API。
57.根据权利要求55所述的方法,其特征在于如果数字签字不真实,则虚拟机删除软件应用程序。
58.根据权利要求55所述的方法,其特征在于使用专用签字密钥产生数字签字,虚拟机使用公用签字密钥验证数字签字的真实性。
59.根据权利要求58所述的方法,其特征在于:
通过将专用签字密钥应用到软件应用程的杂乱信号产生数字签字;
虚拟机通过产生软件应用程序的杂乱信号来获得产生的杂乱信号、并将公用签字密钥应用到数字签字中来获得恢复的杂乱信号、比较产生的杂乱信号和恢复的杂乱信号来验证数字签字的真实性。
CN200910209311.8A 2000-09-21 2001-09-20 代码签字系统及方法 Expired - Lifetime CN101714201B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US23415200P 2000-09-21 2000-09-21
US60/234,152 2000-09-21
US23535400P 2000-09-26 2000-09-26
US60/235,354 2000-09-26
US27066301P 2001-02-20 2001-02-20
US60/270,663 2001-02-20
CNB018192009A CN100573402C (zh) 2000-09-21 2001-09-20 代码签字系统及方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB018192009A Division CN100573402C (zh) 2000-09-21 2001-09-20 代码签字系统及方法

Publications (2)

Publication Number Publication Date
CN101714201A true CN101714201A (zh) 2010-05-26
CN101714201B CN101714201B (zh) 2016-02-03

Family

ID=27398521

Family Applications (4)

Application Number Title Priority Date Filing Date
CN200910209311.8A Expired - Lifetime CN101714201B (zh) 2000-09-21 2001-09-20 代码签字系统及方法
CN200910207912.5A Expired - Lifetime CN101694688B (zh) 2000-09-21 2001-09-20 代码签字系统及方法
CN200910207911.0A Expired - Lifetime CN101694687B (zh) 2000-09-21 2001-09-20 代码签字系统及方法
CNB018192009A Expired - Lifetime CN100573402C (zh) 2000-09-21 2001-09-20 代码签字系统及方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN200910207912.5A Expired - Lifetime CN101694688B (zh) 2000-09-21 2001-09-20 代码签字系统及方法
CN200910207911.0A Expired - Lifetime CN101694687B (zh) 2000-09-21 2001-09-20 代码签字系统及方法
CNB018192009A Expired - Lifetime CN100573402C (zh) 2000-09-21 2001-09-20 代码签字系统及方法

Country Status (11)

Country Link
US (8) US8489868B2 (zh)
EP (8) EP2306259B1 (zh)
CN (4) CN101714201B (zh)
AT (4) ATE310271T1 (zh)
AU (1) AU2001293563A1 (zh)
BR (1) BRPI0114066B1 (zh)
CA (3) CA2422917C (zh)
DE (3) DE60115072T3 (zh)
ES (6) ES2360005T3 (zh)
HK (7) HK1055629A1 (zh)
WO (1) WO2002025409A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
US8452970B2 (en) 2005-09-29 2013-05-28 Research In Motion Limited System and method for code signing
US8489868B2 (en) 2000-09-21 2013-07-16 Research In Motion Limited Software code signing system and method
WO2018120913A1 (zh) * 2016-12-28 2018-07-05 华为技术有限公司 一种获取证书、鉴权的方法及网络设备

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
JP2003337716A (ja) * 2002-05-20 2003-11-28 Ntt Docomo Inc 電子機器、データ共用方法、プログラム及び記憶媒体
FR2840134B1 (fr) * 2002-05-21 2004-08-13 France Telecom Procede de controle d'acces a des ressources cryptographiques, plate-forme informatique et module logiciel utilisables dans la mise en oeuvre du procede
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
FR2849230B1 (fr) * 2002-12-24 2005-04-22 Francois Bangui Procede et dispositif de verification de l'integrite d'une application logicielle sans cle de chiffrement/dechiffrement
US7096005B2 (en) * 2003-01-23 2006-08-22 Inventec Appliances Corp. Method of carrying out a safe remote electronic signing by cellular phone
US7565551B2 (en) * 2003-02-19 2009-07-21 Microsoft Corporation Enhancing software integrity through installation and verification
US7921302B2 (en) 2003-03-10 2011-04-05 Igt Universal game download methods and system for legacy gaming machines
US8491391B2 (en) 2003-03-10 2013-07-23 Igt Regulated gaming—agile media player for controlling games
EP1611708A4 (en) 2003-03-10 2009-12-30 Cyberview Technology Inc DYNAMIC CONFIGURATION OF A GAME SYSTEM
US7802087B2 (en) 2003-03-10 2010-09-21 Igt Universal method for submitting gaming machine source code software to a game certification laboratory
US7337330B2 (en) 2003-03-10 2008-02-26 Cyberview Technology, Inc. Universal game download system for legacy gaming machines
US7600251B2 (en) * 2003-03-10 2009-10-06 Igt Universal peer-to-peer game download
US7966493B2 (en) * 2003-11-18 2011-06-21 Oracle International Corporation Method of and system for determining if an electronic signature is necessary in order to commit a transaction to a database
US20080235810A1 (en) * 2004-01-22 2008-09-25 Koninklijke Philips Electronic, N.V. Method of Authorizing Access to Content
US20050289350A1 (en) * 2004-06-25 2005-12-29 Markus Schmidt-Karaca Method and system for secure synchronization between an enterprise system and a device
US7607011B1 (en) * 2004-07-16 2009-10-20 Rockwell Collins, Inc. System and method for multi-level security on a network
US9313214B2 (en) 2004-08-06 2016-04-12 Google Technology Holdings LLC Enhanced security using service provider authentication
GB2422919B (en) * 2004-11-02 2009-05-27 T Mobile Int Ag & Co Kg Software application security access management in mobile communication devices
EP1825342A1 (en) 2004-11-22 2007-08-29 Nokia Corporation Method and device for verifying the integrity of platform software of an electronic device
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
US20060236100A1 (en) * 2005-04-19 2006-10-19 Guruprasad Baskaran System and method for enhanced layer of security to protect a file system from malicious programs
WO2007005140A1 (en) * 2005-06-30 2007-01-11 Advanced Micro Devices, Inc. Secure patch system
DE102005030590B4 (de) * 2005-06-30 2011-03-24 Advanced Micro Devices, Inc., Sunnyvale Sicheres Patchsystem
US8838974B2 (en) * 2005-07-15 2014-09-16 The Mathworks, Inc. System and method for verifying the integrity of read-only components in deployed mixed-mode applications
US8320880B2 (en) * 2005-07-20 2012-11-27 Qualcomm Incorporated Apparatus and methods for secure architectures in wireless networks
JP2007081482A (ja) * 2005-09-09 2007-03-29 Canon Inc 端末認証方法及びその装置、プログラム
US20070074031A1 (en) * 2005-09-29 2007-03-29 Research In Motion Limited System and method for providing code signing services
US20070074033A1 (en) * 2005-09-29 2007-03-29 Research In Motion Limited Account management in a system and method for providing code signing services
US20070074032A1 (en) * 2005-09-29 2007-03-29 Research In Motion Limited Remote hash generation in a system and method for providing code signing services
US20070083378A1 (en) * 2005-10-11 2007-04-12 Microsoft Corporation Secure application programming interface
JP4854000B2 (ja) * 2005-11-02 2012-01-11 株式会社日立ソリューションズ 機密ファイル保護方法
SE530662C2 (sv) * 2005-11-09 2008-08-05 Noll Och Ett Data Ab Förfarande och anordning
EP1998269A4 (en) * 2006-02-21 2012-02-29 Nec Corp PROGRAM EXECUTION MONITORING SYSTEM, EXECUTION MONITORING METHOD, COMPUTER CONTROL PROGRAM
JP2007328770A (ja) * 2006-05-10 2007-12-20 Ricoh Co Ltd 情報処理装置、アクセス制御方法、アクセス制御プログラム、記録媒体、及び画像形成装置
US8341747B2 (en) * 2006-08-08 2012-12-25 International Business Machines Corporation Method to provide a secure virtual machine launcher
US8615801B2 (en) * 2006-08-31 2013-12-24 Microsoft Corporation Software authorization utilizing software reputation
EP2009565A1 (en) * 2007-06-28 2008-12-31 Gemplus Method for securely loading a client applet in an electronic portable device
US8364978B2 (en) * 2007-11-26 2013-01-29 Koolspan, Inc. System for and method of auto-registration with cryptographic modules
US8842836B2 (en) * 2007-11-26 2014-09-23 Koolspan, Inc. System for and method of cryptographic provisioning
US9223938B2 (en) * 2007-12-31 2015-12-29 Google Technology Holdings LLC Location bound secure domains
US20090210702A1 (en) * 2008-01-29 2009-08-20 Palm, Inc. Secure application signing
WO2009111401A1 (en) * 2008-03-04 2009-09-11 Apple Inc. Managing code entitlements for software developers in secure operating environments
US20090228704A1 (en) * 2008-03-04 2009-09-10 Apple Inc. Providing developer access in secure operating environments
WO2010100262A2 (en) * 2009-03-06 2010-09-10 Gemalto Sa A system and method for providing security in browser-based access to smart cards
US8818412B2 (en) * 2009-03-18 2014-08-26 Wavemarket, Inc. System for aggregating and disseminating location information
US20100242097A1 (en) * 2009-03-20 2010-09-23 Wavemarket, Inc. System and method for managing application program access to a protected resource residing on a mobile device
US8683554B2 (en) * 2009-03-27 2014-03-25 Wavemarket, Inc. System and method for managing third party application program access to user information via a native application program interface (API)
US8839458B2 (en) * 2009-05-12 2014-09-16 Nokia Corporation Method, apparatus, and computer program for providing application security
US20110137817A1 (en) * 2009-06-01 2011-06-09 Wavemarket, Inc. System and method for aggregating and disseminating personal data
CN102087689B (zh) * 2009-12-04 2013-04-03 北大方正集团有限公司 一种软件重用模块的保护方法及装置
AU2010335972B2 (en) 2009-12-21 2013-10-03 13079023 Canada Association Systems and methods for accessing and controlling media stored remotely
US9264448B2 (en) * 2010-01-20 2016-02-16 Blackberry Limited Apparatus, and an associated method, for facilitating secure operations of a wireless device
US8533811B2 (en) * 2010-01-20 2013-09-10 Microsoft Corporation Developer phone registration
CN102130907B (zh) * 2010-01-20 2014-05-07 微软公司 开发者电话注册
JP2012003679A (ja) * 2010-06-21 2012-01-05 Kyocera Mita Corp 画像形成装置用追加アプリケーションのセキュリティ確保方法、画像形成システム及び画像形成装置
US20120089978A1 (en) * 2010-10-12 2012-04-12 I O Interconnect, Ltd. Method for managing applications of portable devices
US20120089733A1 (en) * 2010-10-12 2012-04-12 Ansca, Inc. Managing Access to an Application
US8621591B2 (en) * 2010-10-19 2013-12-31 Symantec Corporation Software signing certificate reputation model
US8938809B2 (en) 2011-06-24 2015-01-20 Google Technology Holdings LLC Retrieval of data across multiple partitions of a storage device using digital signatures
US8745616B1 (en) * 2011-09-23 2014-06-03 Symantec Corporation Systems and methods for providing digital certificates that certify the trustworthiness of digitally signed code
US8572368B1 (en) 2011-09-23 2013-10-29 Symantec Corporation Systems and methods for generating code-specific code-signing certificates containing extended metadata
KR101430240B1 (ko) * 2011-12-19 2014-08-19 주식회사 케이티 어플리케이션 서명 장치 및 방법
US9042266B2 (en) 2011-12-21 2015-05-26 Kik Interactive, Inc. Methods and apparatus for initializing a network connection for an output device
KR101876297B1 (ko) * 2012-03-16 2018-07-10 삼성전자주식회사 전자 서명 검증 장치 및 방법
US9009705B2 (en) 2012-10-01 2015-04-14 International Business Machines Corporation Authenticated distribution of virtual machine images
EP2750065A1 (en) * 2012-12-27 2014-07-02 Telefonica S.A. Method, system and computer program product for managing operations of service terminals
US8894485B2 (en) * 2013-03-18 2014-11-25 Cadillac Jack, Inc. Electronic gaming system with ROM-based media validation
IN2013MU01235A (zh) * 2013-03-28 2015-04-10 Tata Consultancy Services Ltd
US9158932B2 (en) 2013-05-08 2015-10-13 Sap Se Modeled authorization check implemented with UI framework
US9515832B2 (en) * 2013-06-24 2016-12-06 Microsoft Technology Licensing, Llc Process authentication and resource permissions
US9385869B1 (en) * 2014-03-26 2016-07-05 Symantec Corporation Systems and methods for trusting digitally signed files in the absence of verifiable signature conditions
US20160048688A1 (en) * 2014-08-14 2016-02-18 Google Inc. Restricting System Calls using Protected Storage
US10050993B2 (en) * 2014-09-24 2018-08-14 Mcafee, Llc Non-invasive whitelisting
US9843451B2 (en) * 2014-10-30 2017-12-12 Motorola Solutions, Inc. Apparatus and method for multi-state code signing
US10303891B2 (en) * 2014-12-30 2019-05-28 Data I/O Corporation Automated manufacturing system with job packaging mechanism and method of operation thereof
US9536080B2 (en) * 2015-05-29 2017-01-03 Apple Inc. Method for validating dynamically loaded libraries using team identifiers
US10044701B2 (en) * 2016-05-24 2018-08-07 Vantiv, Llc Technologies for token-based authentication and authorization of distributed computing resources
US10419224B2 (en) * 2016-06-14 2019-09-17 International Business Machines Corporation Preventing monoculture in application distribution
SE541713C2 (en) * 2017-05-03 2019-12-03 Enigio Time Ab Method and system for registering digital documents
US11354399B2 (en) 2017-07-17 2022-06-07 Hewlett-Packard Development Company, L.P. Authentication of entitlement certificates
US20190026442A1 (en) * 2017-07-24 2019-01-24 Microsoft Technology Licensing, Llc Offline activation for application(s) installed on a computing device
CN108768664B (zh) * 2018-06-06 2020-11-03 腾讯科技(深圳)有限公司 密钥管理方法、装置、系统、存储介质和计算机设备
US10719373B1 (en) * 2018-08-23 2020-07-21 Styra, Inc. Validating policies and data in API authorization system
US11520877B2 (en) * 2018-12-12 2022-12-06 Raytheon Company Resilient multi-variant execution verification
RU2706873C1 (ru) * 2018-12-28 2019-11-21 Акционерное общество "Лаборатория Касперского" Система и способ проверки ЭЦП файла
US10897361B1 (en) * 2019-09-04 2021-01-19 Garantir LLC Automated hash validation
US11645410B2 (en) 2019-10-09 2023-05-09 Intertrust Technologies Corporation Content management systems and methods
KR102644153B1 (ko) * 2019-10-31 2024-03-07 삼성에스디에스 주식회사 데이터 보안 장치 및 방법
US11244077B2 (en) * 2020-01-31 2022-02-08 Fortanix, Inc. Securing data integrity for an application
US11431510B1 (en) * 2020-04-30 2022-08-30 Wells Fargo Bank, N.A. Code-sign white listing (CSWL)
US11003498B1 (en) 2020-08-10 2021-05-11 Coupang Corp. Computerized systems and methods for fail-safe loading of information on a user interface using a circuit breaker
US11334345B2 (en) * 2020-10-08 2022-05-17 Pelion Technology, Inc. Differential firmware update generation
US20220141029A1 (en) * 2020-10-29 2022-05-05 Microsoft Technology Licensing, Llc Using multi-factor and/or inherence-based authentication to selectively enable performance of an operation prior to or during release of code
US11057215B1 (en) 2021-01-27 2021-07-06 Garantir LLC Automated hash validation
US20220318431A1 (en) * 2021-03-31 2022-10-06 Seagate Technology Llc Code-based signatures for secure programs
US11954007B2 (en) 2022-04-20 2024-04-09 International Business Machines Corporation Tracking usage of common libraries by means of digitally signed digests thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1004992A2 (en) * 1997-03-24 2000-05-31 Visa International Service Association A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6085321A (en) * 1998-08-14 2000-07-04 Omnipoint Corporation Unique digital signature

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
KR0161361B1 (ko) 1993-04-28 1999-03-20 사또 후미오 구동 회로 장치
US5421013A (en) 1993-07-08 1995-05-30 Park City Group, Inc. Agent-based multithreading application programming interface
US6135646A (en) 1993-10-22 2000-10-24 Corporation For National Research Initiatives System for uniquely and persistently identifying, managing, and tracking digital objects
US5625690A (en) 1993-11-15 1997-04-29 Lucent Technologies Inc. Software pay per use system
WO1995019672A2 (en) * 1994-01-13 1995-07-20 Bankers Trust Company Cryptographic system and method with key escrow feature
US5724425A (en) 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5680619A (en) 1995-04-03 1997-10-21 Mfactory, Inc. Hierarchical encapsulation of instantiated objects in a multimedia authoring system
US5657378A (en) 1995-04-11 1997-08-12 M Power Corporation Digital screen phone terminal with graphical user interface
US5966714A (en) 1995-04-28 1999-10-12 Intel Corporation Method and apparatus for scaling large electronic mail databases for devices with limited storage
US5845282A (en) 1995-08-07 1998-12-01 Apple Computer, Inc. Method and apparatus for remotely accessing files from a desktop computer using a personal digital assistant
US5797089A (en) 1995-09-07 1998-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Personal communications terminal having switches which independently energize a mobile telephone and a personal digital assistant
US5978484A (en) * 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
US6253027B1 (en) * 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US6067582A (en) 1996-08-13 2000-05-23 Angel Secure Networks, Inc. System for installing information related to a software application to a remote computer over a network
US6023509A (en) * 1996-09-30 2000-02-08 Intel Corporation Digital signature purpose encoding
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5958051A (en) 1996-11-27 1999-09-28 Sun Microsystems, Inc. Implementing digital signatures for data streams and data archives
US5903882A (en) 1996-12-13 1999-05-11 Certco, Llc Reliance server for electronic transaction system
US6009176A (en) 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6005942A (en) * 1997-03-24 1999-12-21 Visa International Service Association System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6212636B1 (en) * 1997-05-01 2001-04-03 Itt Manufacturing Enterprises Method for establishing trust in a computer network via association
WO1998054633A1 (en) 1997-05-29 1998-12-03 Sun Microsystems, Inc. Method and apparatus for signing and sealing objects
US6389534B1 (en) 1997-06-30 2002-05-14 Taher Elgamal Cryptographic policy filters and policy control method and apparatus
US5940379A (en) 1997-07-23 1999-08-17 Motorola, Inc. Apparatus and method for using multiple spreading codes for data transmission in a satellite communication system
US6188995B1 (en) * 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
AU760045B2 (en) * 1997-12-19 2003-05-08 British Telecommunications Public Limited Company Data communications
US8489860B1 (en) * 1997-12-22 2013-07-16 Texas Instruments Incorporated Mobile electronic device having a host processor system capable of dynamically canging tasks performed by a coprocessor in the device
ATE249662T1 (de) 1998-02-03 2003-09-15 Mondex Int Ltd System und verfahren zur kontrolle des zugangs zu dem computercode in einer chipkarte
US6131166A (en) 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6324650B1 (en) * 1998-03-16 2001-11-27 John W.L. Ogilvie Message content protection and conditional disclosure
US20010044901A1 (en) * 1998-03-24 2001-11-22 Symantec Corporation Bubble-protected system for automatic decryption of file data on a per-use basis and automatic re-encryption
US6374357B1 (en) * 1998-04-16 2002-04-16 Microsoft Corporation System and method for regulating a network service provider's ability to host distributed applications in a distributed processing environment
US6256393B1 (en) 1998-06-23 2001-07-03 General Instrument Corporation Authorization and access control of software object residing in set-top terminals
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6230184B1 (en) 1998-10-19 2001-05-08 Sun Microsystems, Inc. Method and apparatus for automatically optimizing execution of a computer program
US6748541B1 (en) * 1999-10-05 2004-06-08 Aladdin Knowledge Systems, Ltd. User-computer interaction method for use by a population of flexibly connectable computer systems
JP4764536B2 (ja) * 1998-11-17 2011-09-07 株式会社リコー 画像計測機器
US6390374B1 (en) * 1999-01-15 2002-05-21 Todd Carper System and method for installing/de-installing an application on a smart card
US6298354B1 (en) 1999-02-19 2001-10-02 Sun Microsystems, Inc. Mechanism and process to transform a grammar-derived intermediate form to an object-oriented configuration database
US6256737B1 (en) * 1999-03-09 2001-07-03 Bionetrix Systems Corporation System, method and computer program product for allowing access to enterprise resources using biometric devices
US6223291B1 (en) * 1999-03-26 2001-04-24 Motorola, Inc. Secure wireless electronic-commerce system with digital product certificates and digital license certificates
US6574636B1 (en) * 1999-05-04 2003-06-03 Accenture Llp Method and article of manufacture for isolating data within a computer program
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US6895507B1 (en) * 1999-07-02 2005-05-17 Time Certain, Llc Method and system for determining and maintaining trust in digital data files with certifiable time
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US6526513B1 (en) * 1999-08-03 2003-02-25 International Business Machines Corporation Architecture for dynamic permissions in java
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US6289382B1 (en) * 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
ATE306096T1 (de) * 1999-08-31 2005-10-15 Swisscom Ag Mobiler roboter und steuerverfahren für einen mobilen roboter
US20050160272A1 (en) * 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US20020112078A1 (en) * 1999-12-03 2002-08-15 David Yach Virtual machine web browser
US6931546B1 (en) 2000-01-28 2005-08-16 Network Associates, Inc. System and method for providing application services with controlled access into privileged processes
US7162035B1 (en) * 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US6687837B1 (en) 2000-06-15 2004-02-03 Cisco Technology, Inc. Method and system for controlling the supply of power to a circuit card in a card shelf through an activation signal
US6981262B1 (en) * 2000-06-27 2005-12-27 Microsoft Corporation System and method for client interaction in a multi-level rights-management architecture
US6766353B1 (en) * 2000-07-11 2004-07-20 Motorola, Inc. Method for authenticating a JAVA archive (JAR) for portable devices
US6678887B1 (en) 2000-07-11 2004-01-13 Networks Associates Technology, Inc. Customizing business logic and data sources by modifying methods defined within an API
US6721809B1 (en) 2000-08-21 2004-04-13 Oracle International Corporation Method and apparatus for configuring extensible application programming interfaces
ATE307452T1 (de) * 2000-08-25 2005-11-15 Research In Motion Ltd System und verfahren zur implementierung des verbesserten transportschicht- sicherheitsprotokolls
CN101714201B (zh) 2000-09-21 2016-02-03 黑莓有限公司 代码签字系统及方法
US7295836B2 (en) * 2001-03-09 2007-11-13 Research In Motion Limited Advanced voice and data operations in a mobile data communication device
WO2002101580A1 (en) * 2001-06-12 2002-12-19 Research In Motion Limited Certificate management and transfer system and method
WO2002101605A2 (en) * 2001-06-12 2002-12-19 Research In Motion Limited System and method for compressing secure e-mail for exchange with a mobile data communication device
US7526572B2 (en) * 2001-07-12 2009-04-28 Research In Motion Limited System and method for providing remote data access for a mobile communication device
BR0211878A (pt) * 2001-07-12 2004-09-21 Research Motion Ltd Sistema e método para fornecer acesso de dados remotos e transcodificação para um dispositivo de comunicação móvel
EP1410600B1 (en) * 2001-07-16 2008-08-27 Research In Motion Limited A system and method for supporting multiple certificate authorities on a mobile communication device
CA2394503A1 (en) * 2001-07-23 2003-01-23 Research In Motion Limited System and method for pushing information to a mobile device
BRPI0211756B1 (pt) * 2001-08-06 2016-09-06 Blackberry Ltd sistema e método para processar mensagens codificadas
US20030063772A1 (en) 2001-09-06 2003-04-03 Smith Joshua R. System and method for authentication and tracking of a workpiece that includes an optically active medium
WO2003036887A1 (en) * 2001-10-25 2003-05-01 Research In Motion Limited Multiple-stage system and method for processing encoded messages
US20040166334A1 (en) 2003-02-26 2004-08-26 Shigeo Kawabata Decorative film-like material
WO2006016407A1 (ja) * 2004-08-12 2006-02-16 Fujitsu Limited Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置
US9194375B2 (en) 2008-12-02 2015-11-24 Vestas Wind Systems A/S Method for installing a wind turbine, a nacelle for a wind turbine, and method for transporting elements of a wind turbine
US20110162074A1 (en) 2009-12-31 2011-06-30 Sap Portals Israel Ltd Apparatus and method for remote processing while securing classified data
US7944079B1 (en) 2010-04-21 2011-05-17 General Electric Company Systems and methods for assembling a gearbox handling assembly for use in a wind turbine
WO2012105971A1 (en) 2011-02-02 2012-08-09 Smith Matthew K Nacelle-mounted maintenance system for wind turbines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1004992A2 (en) * 1997-03-24 2000-05-31 Visa International Service Association A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6085321A (en) * 1998-08-14 2000-07-04 Omnipoint Corporation Unique digital signature

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489868B2 (en) 2000-09-21 2013-07-16 Research In Motion Limited Software code signing system and method
US9507920B2 (en) 2000-09-21 2016-11-29 Blackberry Limited Controlling access by code
US10032007B1 (en) 2000-09-21 2018-07-24 Blackberry Limited Controlling access by code
US10437967B2 (en) 2000-09-21 2019-10-08 Blackberry Limited Code signing system and method
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
US8452970B2 (en) 2005-09-29 2013-05-28 Research In Motion Limited System and method for code signing
US9077524B2 (en) 2005-09-29 2015-07-07 Blackberry Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
WO2018120913A1 (zh) * 2016-12-28 2018-07-05 华为技术有限公司 一种获取证书、鉴权的方法及网络设备
US11451531B2 (en) 2016-12-28 2022-09-20 Huawei Technologies Co., Ltd. Certificate obtaining method, authentication method, and network device

Also Published As

Publication number Publication date
CA2923740A1 (en) 2002-03-28
EP2284644B1 (en) 2014-03-05
ATE553426T1 (de) 2012-04-15
ES2360005T3 (es) 2011-05-31
ES2352556T3 (es) 2011-02-21
US20190392115A1 (en) 2019-12-26
US20180330065A1 (en) 2018-11-15
ES2385565T3 (es) 2012-07-26
CA2422917C (en) 2016-03-29
US8984278B2 (en) 2015-03-17
EP2306260A3 (en) 2011-07-20
EP2278429A1 (en) 2011-01-26
EP1626325A3 (en) 2009-06-17
US20130145150A1 (en) 2013-06-06
EP1626324A2 (en) 2006-02-15
EP1320795A2 (en) 2003-06-25
EP2284644A1 (en) 2011-02-16
CN101694688A (zh) 2010-04-14
ES2545791T3 (es) 2015-09-15
HK1154427A1 (zh) 2012-04-20
US20150026457A1 (en) 2015-01-22
DE60142991D1 (de) 2010-10-14
US10032007B1 (en) 2018-07-24
WO2002025409A3 (en) 2002-06-13
ATE479930T1 (de) 2010-09-15
DE60115072T2 (de) 2006-07-27
US10437967B2 (en) 2019-10-08
US20040025022A1 (en) 2004-02-05
EP1626324B1 (en) 2012-04-11
EP1626326A2 (en) 2006-02-15
BRPI0114066B1 (pt) 2016-08-02
CA2923740C (en) 2018-07-10
US20170076071A1 (en) 2017-03-16
US11030278B2 (en) 2021-06-08
HK1153829A1 (zh) 2012-04-05
US20180211015A1 (en) 2018-07-26
EP1626325B1 (en) 2010-09-01
CN101694687A (zh) 2010-04-14
ES2465967T3 (es) 2014-06-09
EP2306259A3 (en) 2011-07-20
EP1626326B1 (en) 2010-09-01
US20120179917A1 (en) 2012-07-12
US9507920B2 (en) 2016-11-29
CN101694687B (zh) 2017-04-12
EP1320795B2 (en) 2009-08-26
WO2002025409A2 (en) 2002-03-28
EP1320795B1 (en) 2005-11-16
EP1626326A3 (en) 2009-06-17
DE60115072T3 (de) 2010-04-01
ES2253426T3 (es) 2006-06-01
AU2001293563A1 (en) 2002-04-02
CN101714201B (zh) 2016-02-03
ES2253426T5 (es) 2009-12-14
BR0114066A (pt) 2004-02-10
EP1626325A2 (en) 2006-02-15
EP2278429B1 (en) 2014-03-12
CN101694688B (zh) 2014-07-16
EP1626324A3 (en) 2009-06-17
CA3006733A1 (en) 2002-03-28
EP2306259A2 (en) 2011-04-06
CN1541350A (zh) 2004-10-27
EP2306259B1 (en) 2015-05-27
HK1091666A1 (en) 2007-01-26
HK1055629A1 (en) 2004-01-16
HK1091665A1 (en) 2007-01-26
ATE479931T1 (de) 2010-09-15
US8489868B2 (en) 2013-07-16
DE60142992D1 (de) 2010-10-14
HK1156409A1 (en) 2012-06-08
EP2306260A2 (en) 2011-04-06
CA2422917A1 (en) 2002-03-28
CN100573402C (zh) 2009-12-23
DE60115072D1 (de) 2005-12-22
US9922175B2 (en) 2018-03-20
HK1091667A1 (en) 2007-01-26
EP2306260B1 (en) 2014-02-26
ATE310271T1 (de) 2005-12-15

Similar Documents

Publication Publication Date Title
CN100573402C (zh) 代码签字系统及方法
US9137023B1 (en) Self-signed certificates for computer application signatures
CN100534090C (zh) 安全元件命令方法和移动终端
JP4519843B2 (ja) 無線ネットワークにおけるコンテンツ保護のための方法及び機器
CN1953375B (zh) 用于提供代码签名服务的系统和方法中的账户管理
GB2408121A (en) Secure multi-entity access to resources on mobile telephones
CN102609662A (zh) 防篡改的位置服务
EP1416353B1 (en) Communication device, program and recording media
CN101398875A (zh) 软件发行商信任扩展应用程序
EP3777082A1 (en) Trusted platform module-based prepaid access token for commercial iot online services
US7437563B2 (en) Software integrity test
CN102024124A (zh) 移动微件处理方法、装置、系统及客户端
CN101599117A (zh) 用于提供代码签名服务的系统和方法
CN110602051B (zh) 基于共识协议的信息处理方法及相关装置
CN109544131A (zh) 一种游戏商品管理方法及装置
Jansen Guidelines on cell phone and PDA security: recommendations of the National Institute of Standards and Technology
KR20060125077A (ko) 다운로드된 응용 프로그램의 변조 판단 시스템
Jensen et al. Policy expression and enforcement for handheld devices
CN117220924A (zh) 系统权限控制方法、装置及系统
CN113836521A (zh) 一种基于去中心化身份的多重身份管理方法及装置
Jansen et al. SP 800-124. Guidelines on Cell Phone and PDA Security

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Voight, Ontario, Canada

Applicant after: Blackberry Ltd.

Address before: Voight, Ontario, Canada

Applicant before: Research In Motion Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20160203

CX01 Expiry of patent term