CN101694687B - 代码签字***及方法 - Google Patents
代码签字***及方法 Download PDFInfo
- Publication number
- CN101694687B CN101694687B CN200910207911.0A CN200910207911A CN101694687B CN 101694687 B CN101694687 B CN 101694687B CN 200910207911 A CN200910207911 A CN 200910207911A CN 101694687 B CN101694687 B CN 101694687B
- Authority
- CN
- China
- Prior art keywords
- software application
- api
- digital signature
- signature
- equipment
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000007246 mechanism Effects 0.000 claims description 27
- 230000035945 sensitivity Effects 0.000 claims description 18
- 238000013475 authorization Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 47
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 241000700605 Viruses Species 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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/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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
-
- 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/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/067—Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Circuits Of Receivers In General (AREA)
- Electrotherapy Devices (AREA)
- Plural Heterocyclic Compounds (AREA)
- Container Filling Or Packaging Operations (AREA)
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。
附图说明
图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 (12)
1.一种控制访问移动设备上的敏感的应用编程接口API的方法,所述方法包括:
在要求访问敏感的API的移动设备上装载软件应用程序;
确定软件应用程序是否包括数字签字;
验证数字签字的有效性,其中,根据验证的数字签字的有效性由软件应用程序访问敏感的API;以及
如果数字签字不是有效的,则拒绝软件应用程序访问敏感的API;
其中,所述确定软件应用程序是否包括数字签字包括:
产生软件应用程序的杂乱信号来获得产生的杂乱信号;
将公用密钥应用到包括在软件应用程序中的数字签字,以获得恢复的杂乱信号,其中,公用密钥对应于与产生了所述数字签字的代码签字授权机构相关联的专用密钥;和
将产生的杂乱信号与恢复的杂乱信号进行比较。
2.根据权利要求1所述的方法,还包括:
如果数字签字不是有效的,则从移动设备删除软件应用程序。
3.根据权利要求1所述的方法,还包括:
如果数字签字是有效的,则授权软件应用程序访问敏感的API。
4.根据权利要求1所述的方法,其中,
所述软件应用程序包括多个数字签字;
所述多个数字签字包括对应不同的敏感的API的数字签字。
5.根据权利要求1所述的方法,其中,
所述软件应用程序包括多个数字签字;
所述多个数字签字包括与不同类型的移动设备关联的数字签字。
6.根据权利要求4或5所述的方法,其中,
每个数字签字由各个对应的软件应用程序签字授权机构产生。
7.根据权利要求6所述的方法,其中,
对应的软件应用程序签字授权机构通过将与软件应用程序签字授权机构关联的各个专用密钥应用到软件应用程序的杂乱信号来产生每个数字签字。
8.根据权利要求1所述的方法,其中,确定软件应用程序是否包括数字签字还包括:
确定软件应用程序是否包括真实的全球签字。
9.根据权利要求1所述的方法,其中,软件应用程序包括下述之一:
更新的软件应用程序;
指令;
指令变元***;
程序库。
10.根据权利要求1所述的方法,还包括:
如果软件应用程序试图访问至少一个敏感的API,则显示消息。
11.根据权利要求1所述的方法,还包括:
接收批准或拒绝软件应用程序访问至少一个敏感的API的用户命令。
12.一种执行权利要求1-11的方法的设备。
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 |
---|---|
CN101694687A CN101694687A (zh) | 2010-04-14 |
CN101694687B true CN101694687B (zh) | 2017-04-12 |
Family
ID=27398521
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910207912.5A Expired - Lifetime CN101694688B (zh) | 2000-09-21 | 2001-09-20 | 代码签字***及方法 |
CNB018192009A Expired - Lifetime CN100573402C (zh) | 2000-09-21 | 2001-09-20 | 代码签字***及方法 |
CN200910207911.0A Expired - Lifetime CN101694687B (zh) | 2000-09-21 | 2001-09-20 | 代码签字***及方法 |
CN200910209311.8A Expired - Lifetime CN101714201B (zh) | 2000-09-21 | 2001-09-20 | 代码签字***及方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910207912.5A Expired - Lifetime CN101694688B (zh) | 2000-09-21 | 2001-09-20 | 代码签字***及方法 |
CNB018192009A Expired - Lifetime CN100573402C (zh) | 2000-09-21 | 2001-09-20 | 代码签字***及方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910209311.8A Expired - Lifetime CN101714201B (zh) | 2000-09-21 | 2001-09-20 | 代码签字***及方法 |
Country Status (11)
Country | Link |
---|---|
US (8) | US8489868B2 (zh) |
EP (8) | EP2284644B1 (zh) |
CN (4) | CN101694688B (zh) |
AT (4) | ATE479930T1 (zh) |
AU (1) | AU2001293563A1 (zh) |
BR (1) | BRPI0114066B1 (zh) |
CA (3) | CA2422917C (zh) |
DE (3) | DE60142991D1 (zh) |
ES (6) | ES2253426T5 (zh) |
HK (7) | HK1055629A1 (zh) |
WO (1) | WO2002025409A2 (zh) |
Families Citing this family (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002025409A2 (en) | 2000-09-21 | 2002-03-28 | Research In Motion Limited | Software code signing system and method |
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 |
US7802087B2 (en) | 2003-03-10 | 2010-09-21 | Igt | Universal method for submitting gaming machine source code software to a game certification laboratory |
CA2724141A1 (en) | 2003-03-10 | 2004-09-23 | Mudalla Technology, Inc. | Dynamic configuration of a gaming system |
US7600251B2 (en) | 2003-03-10 | 2009-10-06 | Igt | Universal peer-to-peer game download |
US7337330B2 (en) | 2003-03-10 | 2008-02-26 | Cyberview Technology, Inc. | Universal game download system for legacy gaming machines |
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 |
WO2005071515A1 (en) * | 2004-01-22 | 2005-08-04 | Koninklijke Philips Electronics 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 |
WO2006054128A1 (en) * | 2004-11-22 | 2006-05-26 | 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 |
DE102005030590B4 (de) * | 2005-06-30 | 2011-03-24 | Advanced Micro Devices, Inc., Sunnyvale | Sicheres Patchsystem |
WO2007005140A1 (en) * | 2005-06-30 | 2007-01-11 | Advanced Micro Devices, Inc. | Secure patch system |
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 |
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 |
US20070074033A1 (en) * | 2005-09-29 | 2007-03-29 | Research In Motion Limited | Account management in a system and method for providing code signing services |
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 |
US7797545B2 (en) | 2005-09-29 | 2010-09-14 | Research In Motion Limited | System and method for registering entities for 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 |
WO2007097439A1 (ja) * | 2006-02-21 | 2007-08-30 | Nec Corporation | プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム |
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 |
US8842836B2 (en) * | 2007-11-26 | 2014-09-23 | Koolspan, Inc. | System for and method of cryptographic provisioning |
US8364978B2 (en) * | 2007-11-26 | 2013-01-29 | Koolspan, Inc. | System for and method of auto-registration with cryptographic modules |
US9223938B2 (en) * | 2007-12-31 | 2015-12-29 | Google Technology Holdings LLC | Location bound secure domains |
WO2009097350A1 (en) * | 2008-01-29 | 2009-08-06 | Palm, Inc. | Secure application signing |
EP2252957A1 (en) * | 2008-03-04 | 2010-11-24 | 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 |
EP2404428B1 (en) | 2009-03-06 | 2017-11-15 | 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 |
US8533811B2 (en) * | 2010-01-20 | 2013-09-10 | Microsoft Corporation | Developer phone registration |
US9264448B2 (en) * | 2010-01-20 | 2016-02-16 | Blackberry Limited | Apparatus, and an associated method, for facilitating secure operations of a wireless device |
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 |
US20120090021A1 (en) * | 2010-10-12 | 2012-04-12 | Ansca, Inc. | Platform Specific Application Building |
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 |
CN108259413B (zh) * | 2016-12-28 | 2021-06-01 | 华为技术有限公司 | 一种获取证书、鉴权的方法及网络设备 |
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 |
US12008146B2 (en) * | 2021-03-31 | 2024-06-11 | 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085321A (en) * | 1998-08-14 | 2000-07-04 | Omnipoint Corporation | Unique digital signature |
Family Cites Families (81)
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 |
NZ329891A (en) * | 1994-01-13 | 2000-01-28 | Certco Llc | Method of upgrading firmware of trusted device using embedded key |
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 |
US5844986A (en) | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US6023509A (en) * | 1996-09-30 | 2000-02-08 | Intel Corporation | Digital signature purpose encoding |
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 |
EP1004992A3 (en) * | 1997-03-24 | 2001-12-05 | 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 |
US6233683B1 (en) * | 1997-03-24 | 2001-05-15 | 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 |
EP0983541B1 (en) * | 1997-05-29 | 2003-08-06 | 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 |
EP1040630B1 (en) * | 1997-12-19 | 2004-11-03 | 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 |
DE69911174T2 (de) | 1998-02-03 | 2004-07-01 | Mondex International 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 |
ATE306096T1 (de) * | 1999-08-31 | 2005-10-15 | Swisscom Ag | Mobiler roboter und steuerverfahren für einen mobilen roboter |
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 |
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 |
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 |
US6766353B1 (en) * | 2000-07-11 | 2004-07-20 | Motorola, Inc. | Method for authenticating a JAVA archive (JAR) for portable devices |
US6721809B1 (en) | 2000-08-21 | 2004-04-13 | Oracle International Corporation | Method and apparatus for configuring extensible application programming interfaces |
EP1314294B1 (en) * | 2000-08-25 | 2005-10-19 | Research In Motion Limited | System and method for implementing an enhanced transport layer security protocol |
WO2002025409A2 (en) | 2000-09-21 | 2002-03-28 | Research In Motion Limited | Software code signing system and method |
US7295836B2 (en) * | 2001-03-09 | 2007-11-13 | Research In Motion Limited | Advanced voice and data operations in a mobile data communication device |
CA2450601C (en) * | 2001-06-12 | 2012-10-16 | Research In Motion Limited | System and method for compressing secure e-mail for exchange with a mobile data communication device |
CA2717229A1 (en) * | 2001-06-12 | 2002-12-19 | Research In Motion Limited | Certificate management and transfer system and method |
ATE375686T1 (de) * | 2001-07-12 | 2007-10-15 | Research In Motion Ltd | System und verfahren zum datenzugriff für ein mobiles telekommunikationsendgerät |
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 |
CN103178963A (zh) * | 2001-07-16 | 2013-06-26 | 捷讯研究有限公司 | 用于在移动通信设备上支持多证书授权的***和方法 |
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 |
CA2464361C (en) * | 2001-10-25 | 2010-09-14 | 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ファイル生成装置 |
CN102301127B (zh) | 2008-12-02 | 2014-03-26 | 维斯塔斯风力***有限公司 | 安装风轮机的方法、风轮机机舱和运输风轮机元件的方法 |
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 |
-
2001
- 2001-09-20 WO PCT/CA2001/001344 patent/WO2002025409A2/en active IP Right Grant
- 2001-09-20 US US10/381,219 patent/US8489868B2/en active Active
- 2001-09-20 ES ES01973901T patent/ES2253426T5/es not_active Expired - Lifetime
- 2001-09-20 EP EP10183655.9A patent/EP2284644B1/en not_active Expired - Lifetime
- 2001-09-20 AT AT05024662T patent/ATE479930T1/de not_active IP Right Cessation
- 2001-09-20 EP EP05024662A patent/EP1626325B1/en not_active Expired - Lifetime
- 2001-09-20 EP EP01973901A patent/EP1320795B2/en not_active Expired - Lifetime
- 2001-09-20 EP EP10186194.6A patent/EP2306259B1/en not_active Expired - Lifetime
- 2001-09-20 CN CN200910207912.5A patent/CN101694688B/zh not_active Expired - Lifetime
- 2001-09-20 DE DE60142991T patent/DE60142991D1/de not_active Expired - Lifetime
- 2001-09-20 CN CNB018192009A patent/CN100573402C/zh not_active Expired - Lifetime
- 2001-09-20 CA CA2422917A patent/CA2422917C/en not_active Expired - Lifetime
- 2001-09-20 CN CN200910207911.0A patent/CN101694687B/zh not_active Expired - Lifetime
- 2001-09-20 ES ES10186194.6T patent/ES2545791T3/es not_active Expired - Lifetime
- 2001-09-20 ES ES05024661T patent/ES2385565T3/es not_active Expired - Lifetime
- 2001-09-20 ES ES05024662T patent/ES2352556T3/es not_active Expired - Lifetime
- 2001-09-20 CA CA2923740A patent/CA2923740C/en not_active Expired - Lifetime
- 2001-09-20 AT AT05024661T patent/ATE553426T1/de active
- 2001-09-20 BR BRPI0114066A patent/BRPI0114066B1/pt active IP Right Grant
- 2001-09-20 AT AT01973901T patent/ATE310271T1/de not_active IP Right Cessation
- 2001-09-20 EP EP05024663A patent/EP1626326B1/en not_active Expired - Lifetime
- 2001-09-20 DE DE60142992T patent/DE60142992D1/de not_active Expired - Lifetime
- 2001-09-20 ES ES05024663T patent/ES2360005T3/es not_active Expired - Lifetime
- 2001-09-20 EP EP10186296.9A patent/EP2306260B1/en not_active Expired - Lifetime
- 2001-09-20 DE DE60115072T patent/DE60115072T3/de not_active Expired - Lifetime
- 2001-09-20 EP EP05024661A patent/EP1626324B1/en not_active Expired - Lifetime
- 2001-09-20 AU AU2001293563A patent/AU2001293563A1/en not_active Abandoned
- 2001-09-20 AT AT05024663T patent/ATE479931T1/de not_active IP Right Cessation
- 2001-09-20 ES ES10186296.9T patent/ES2465967T3/es not_active Expired - Lifetime
- 2001-09-20 CA CA3006733A patent/CA3006733A1/en not_active Abandoned
- 2001-09-20 EP EP10183997.5A patent/EP2278429B1/en not_active Expired - Lifetime
- 2001-09-20 CN CN200910209311.8A patent/CN101714201B/zh not_active Expired - Lifetime
-
2003
- 2003-09-12 HK HK03106586A patent/HK1055629A1/xx not_active IP Right Cessation
-
2006
- 2006-07-18 HK HK06108035.4A patent/HK1091665A1/xx not_active IP Right Cessation
- 2006-07-18 HK HK06108037.2A patent/HK1091667A1/xx not_active IP Right Cessation
- 2006-07-18 HK HK11108558.4A patent/HK1154427A1/zh not_active IP Right Cessation
- 2006-07-18 HK HK06108036.3A patent/HK1091666A1/xx not_active IP Right Cessation
- 2006-07-18 HK HK11110554.4A patent/HK1156409A1/xx not_active IP Right Cessation
-
2011
- 2011-07-26 HK HK11107793.1A patent/HK1153829A1/zh not_active IP Right Cessation
-
2012
- 2012-03-06 US US13/413,173 patent/US20120179917A1/en active Granted
-
2013
- 2013-01-30 US US13/754,162 patent/US8984278B2/en not_active Expired - Fee Related
-
2014
- 2014-08-14 US US14/459,785 patent/US9507920B2/en not_active Expired - Lifetime
-
2016
- 2016-11-28 US US15/361,993 patent/US9922175B2/en not_active Expired - Fee Related
-
2018
- 2018-03-19 US US15/925,284 patent/US10032007B1/en not_active Expired - Fee Related
- 2018-07-17 US US16/037,412 patent/US10437967B2/en not_active Expired - Fee Related
-
2019
- 2019-08-16 US US16/543,201 patent/US11030278B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085321A (en) * | 1998-08-14 | 2000-07-04 | Omnipoint Corporation | Unique digital signature |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101694687B (zh) | 代码签字***及方法 | |
EP1776799B1 (en) | Enhanced security using service provider authentication | |
CN1748191B (zh) | 由物主控制电子设备的***和方法 | |
JP4874288B2 (ja) | モバイル機器およびユーザー・モジュールへのデータの格納およびアクセス | |
CN100489767C (zh) | 通信设备 | |
US7437563B2 (en) | Software integrity test | |
US7818815B2 (en) | Communication device | |
CN106453263A (zh) | 一种手机号码绑定app的方法及*** | |
CN101981886B (zh) | 涉及通信设备的方法和装置 |
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20170412 |
|
CX01 | Expiry of patent term |