智能卡应用程序管理系统及其方法

文档序号:7920435阅读:162来源:国知局
专利名称:智能卡应用程序管理系统及其方法
技术领域
本发明涉及智能卡,具体涉及智能卡应用程序管理系统及其方法。
背景技术
智能卡(Smart Card)是一种带有微处理器和存储器等微型集成电路芯片的、具有标准规格的卡片。作为一种安全加密和身份识别的工具,智能卡的应用范围越来越广,随之而来的是围绕智能卡的相关技术也迅速发展起来。例如,为了适应大容量智能卡的发展,欧洲电信标准化协会定义了用于智能卡和终端之间通信的USB接口 ,利用该接口和相关的通信协议,智能卡可以与台式计算机、膝上型计算机等终端进行通信,从而解决了智能卡与终端之间的通信问题。 然而,这种快速通信接口 (例如,USB2. 0、匪C等)及相应通信协议(例如TCP/IP、BIP)的使用,使现在流行于计算机和互联网的各种病毒有机会进入智能卡,使智能卡的安全性受到威胁。 另外,伴随着各种平台和规范的实施,智能卡已经可以提供对线程的支持并可以运行小服务程序(Servlet),从而可以作为网络服务器对外界提供网络服务。随着智能卡容量的不断增加以及硬件处理能力的提高,已经能在智能卡上运行一些通用的多用户多任务的操作系统,例如嵌入式Li皿x、 Windows CE、Windows Mobile等操作系统。这种通用性操作系统的引入极大地推动了智能卡应用程序的开发,并帮助智能卡应用到更多的领域中。
然而,这也给智能卡带来了安全性问题,因为通用性的操作系统更容易被人们所了解,因而更容易受到木马和病毒的攻击。而智能卡作为一种安全信息的存储载体,通常所保存的都是重要且机密的信息,因而,如何确保智能卡不被各种木马和病毒破坏就成为一项很重要的任务。 遗憾的是,当前并没有一套有效的解决方案能确保智能卡与外界通信的安全和自身操作系统的安全运行。

发明内容
鉴于上述现有技术的缺陷,本发明提供一种智能卡应用程序管理系统及其方法。
利用该系统和方法,可以确保智能卡与外界通信的安全和自身操作系统的安全运行。进一
步地,利用本发明的系统和方法可以全程检测和监控各类应用程序在智能卡上的下载、安
装、运行、更新以及卸载等各个环节,从而有效地保证智能卡系统的安全性。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序管理系统,包
括 程序下载器,用于从应用程序载体下载新应用程序的打包文件、所述打包文件的
摘要信息和所述摘要信息的数字签名; 加解密单元,用于进行加/解密处理;以及 程序认证单元,用于基于所述下载的摘要信息、所述下载的数字签名以及从第三
9方安全认证中心获取的所述新应用程序的提供商的公钥,在所述加解密单元的协助下确定所述下载的打包文件是否是安全的, 其中,当所述程序认证单元的确定结果为肯定时,所述程序下载器存储所述下载的打包文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序管理方法,包括步骤 从应用程序载体下载新应用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的数字签名; 基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所述新应用程序的提供商的公钥,确定所述下载的打包文件是否是安全的;以及
当确定结果为肯定时,存储所述下载的打包文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序下载装置,包括 程序下载器,用于从应用程序载体下载新应用程序的打包文件、所述打包文件的
摘要信息和所述摘要信息的数字签名; 加解密单元,用于进行加/解密处理;以及 程序认证单元,用于基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所述新应用程序的提供商的公钥,在所述加解密单元的协助下确定所述下载的打包文件是否是安全的, 其中,当所述程序认证单元的确定结果为肯定时,所述程序下载器存储所述下载的打包文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序安装装置,包括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件;以及 程序安装器,用于当被指示安装已下载到所述智能卡的新应用程序时,将对所述
新应用程序的打包文件进行解包得到的所述新应用程序的各个文件注册到所述文件注册
单元中并在所述文件存储单元中存储所述新应用程序的各个文件,以及计算所述新应用程
序的各个文件中的可执行类文件的摘要信息并存储在所述摘要信息存储单元中。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序加载装置,包
括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件;以及 程序加载器,用于当被指示加载应用程序时,检查在所述文件注册单元中是否已经注册有所述被指示加载的应用程序的文件信息,以及当检查结果为肯定时,从所述文件存储单元中加载所述被指示加载的应用程序的文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序卸载装置,包括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息;
文件存储单元,用于存储已安装的应用程序的文件;以及 程序卸载器,用于当被指示卸载应用程序时,删除在所述文件注册单元中注册的所述被指示卸载的应用程序的各个文件的信息、在所述摘要信息存储单元中存储的所述被指示卸载的应用程序的可执行文件的摘要信息以及在所述文件存储单元存储的所述被指示卸载的应用程序的各个文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序更新装置,包括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件; 程序更新器,用于当被指示更新已安装在所述智能卡上的应用程序时,下载所述被指示更新的应用程序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的数字签名, 加解密单元,用于进行加/解密处理;以及 程序认证单元,用于基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所述被指示更新的应用程序的提供商的公钥,在所述加解密单元的协助下确定所述下载的更新打包文件是否是安全的, 其中,当所述程序认证单元的确定结果为肯定时,所述程序更新器基于对所述更新打包文件进行解包得到的文件,更新所述文件注册单元、所述摘要信息存储单元和所述文件存储单元。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序下载方法,包括步骤 从应用程序载体下载新应用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的数字签名; 基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所述新应用程序的提供商的公钥,确定所述下载的打包文件是否是安全的;以及
当确定结果为肯定时,存储所述下载的打包文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序安装方法,包括 当被指示安装已经下载到所述智能卡的新应用程序时,对所述新应用程序的打包文件进行解包处理以得到所述新应用程序的各个文件;
注册所述新应用程序的各个文件的信息; 计算所述新应用程序的各个文件中的可执行类文件的摘要信息;
存储所述计算的可执行类文件的摘要信息;以及
存储所述新应用程序的各个文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序加载方法,包
11括 当被指示加载应用程序时,检查在预先注册的已安装在所述智能卡上的应用程序
的文件的信息中是否已经注册有所述被指示加载的应用程序的文件信息;以及 当检查结果为肯定时,从预先存储的已安装在所述智能卡上的应用程序的文件中
加载所述被指示加载的应用程序的文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序卸载方法,其 中,还包括 当被指示卸载应用程序时,从预先注册的已安装在所述智能卡上的应用程序的文 件的信息中删除所述被指示卸载的应用程序的各个文件的信息; 从预先存储的已安装在所述智能卡上的应用程序的可执行类文件的摘要信息中 删除所述被指示卸载的应用程序的可执行文件的摘要信息;以及 从预先存储的已安装在所述智能卡上的应用程序的文件中删除所述被指示卸载 的应用程序的各个文件。 为了实现本发明的目的,按照本发明的一种用于智能卡的应用程序更新方法,包 括 当被指示更新应用程序时,从所述应用程序载体中下载所述被指示更新的应用程
序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的数字签名; 基于所述下载的摘要信息和数字签名以及从所述第三方安全认证中心获取的被
指示更新应用程序的提供商的公钥,确定所述下载的更新打包文件是否是安全的; 当确定结果为肯定时,对所述下载的更新打包文件进行解包处理以得到所述被指
示更新应用程序的各个文件;以及 基于所述被指示更新应用程序的各个文件,更新预先注册的已安装在所述智能卡 上的应用程序的文件的信息、预先存储的已安装在所述智能卡上的应用程序的可执行类文 件的摘要信息和预先存储的已安装在所述智能卡上的应用程序的文件。



见。其中
架构本发明的其他特征、目的和益处通过以下结合附图的详细描述将变得更加显而易
图1是包括根据本发明一个实施例的具有应用程序管理系统的智能卡的示意性
图2是按照本发明-图3是按照本发明-图4是按照本发明-图5是按照本发明-图6是按照本发明-图7是按照本发明-
-个实施例的应用程序管理系统的结构示意-个实施例的用于下载应用程序的方法的流程图
-个实施例的用于安装应用程序的方法的流程图
-个实施例的用于加载应用程序的方法的流程图
-个实施例的用于更新应用程序的方法的流程图
-个实施例的用于卸载应用程序的方法的流程图
以及
具体实施例方式
在下文中,将参考附图通过具体实施例对本发明进行描述,应该注意,本发明并不局限于以下所描述的实施例。 图1示出了按照本发明一个实施例的具有应用程序管理系统的智能卡的示意性 架构图。如图l所示,应用程序管理系统工作于智能卡的操作系统之上,检测和监控智能 卡上各种应用程序的下载、安装、更新、运行、使用以及卸载等。在这里,智能卡的操作系 统可以是任何类型的嵌入式操作系统,包括但不限于嵌入式Li皿x、 Windows CE、 Windows Mobile和Symbian等操作系统;智能卡上的各种应用程序可以是任何类型的应用程序,包 括但不限于直接运行于操作系统之上的本地应用程序、被本地应用程序所使用的共享库或 动态链接库等、运行于.NET框架上的.NET应用程序、运行于Java虚拟机上的Java应用程 序、运行于Java的Servlet容器中的Servlet小程序以及其它各种可能需要在特定平台上 解释执行的脚本程序文件等。 图2示出了按照本发明一个实施例的用于智能卡的应用程序管理系统的结构示 意图。如图2所示,应用程序管理系统10包括程序下载器102、程序认证单元104、加解密 单元106、程序安装器108、程序加载器110、程序更新器112、程序卸载器114、文件注册表 116、摘要信息数据库118以及文件存储单元120。其中,程序下载器102与外部的应用程序 载体20连接,以及,程序认证单元104与外部的第三方安全认证中心30连接。
—般而言,为了便于应用程序的传播,应用程序的提供商通常会将应用程序的各 个文件进行打包以得到应用程序的打包文件,该打包文件可以是诸如zip、 jar、 tar等这样 的文件格式。此外,应用程序的提供商利用诸如MD5或SHA-1等的摘要提取算法提取该打 包文件的摘要信息,以及,应用程序的提供商利用其私钥对该打包文件的摘要信息进行加 密得到一个数字签名。在这里,应用程序的打包文件、打包文件的摘要信息和摘要信息的数 字签名一起存储在应用程序载体20中。这里,应用程序载体20可以包括但不限于计算机、 互联网或其它终端等。 此外,应用程序的提供商将其公钥提供给第三方安全认证中心30,以便其他人查 取。 程序下载器102用于从应用程序载体20中下载在智能卡上没有安装的新应用程 序。 程序安装器108用于安装程序下载器102所下载的新应用程序。 程序加载器110用于在智能卡中安全地加载已安装的应用程序。 程序更新器112用于更新已安装在智能卡上的应用程序。 程序卸载器114用于安全地卸载已安装在智能卡上的应用程序。 程序认证单元104用于确定程序下载器102所下载的新应用程序或者程序更新器
112所下载的应用程序的更新是否安全,即是否来源可靠并且在传输过程中没有被篡改。 加解密单元106用于向程序认证单元104提供加解密功能。 文件注册表116作为文件注册单元用于存储安装在智能卡上的应用程序的文件 的信息。 摘要信息数据库118作为摘要信息存储单元用于保存安装在智能卡上的应用程 序的可执行文件的摘要信息。 文件存储单元120用于存储安装在智能卡上的应用程序的文件。 下面,分别结合图3-图7来描述根据本发明各个实施例的由应用程序管理系统10所执行的应用程序管理方法,包括下载新应用程序的方法、安装新应用程序的方法、加载
已安装的应用程序的方法、更新已安装的应用程序的方法、卸载已安装的应用程序的方法。
图3示出了按照本发明一个实施例的下载应用程序的方法的流程图。 如图3所示,首先,当用户欲从应用程序载体20下载一个智能卡上没有安装的新
应用程序X时,程序下载器102从应用程序载体20下载该新应用程序X的打包文件D、该
打包文件D的摘要信息Z和该摘要信息Z的数字签名S并发送给程序认证单元104 (步骤
S302)。 当收到程序下载器102下载的打包文件D、摘要信息Z和数字签名S之后,程序认 证单元104从第三方安全认证中心30获取该新应用程序X的提供商的公钥G,并把所获取 的公钥G以及所收到的打包文件D和数字签名S发送给加解密单元106 (步骤S304)。
当从程序认证单元104中收到公钥G、打包文件D和数字签名S时,加解密单元106 利用所收到的公钥G对所收到的数字签名S进行解密以获得解密的摘要信息Z1,以及,利用 诸如MD5或SHA-1等这样的摘要信息提取算法提取所收到的打包文件D的摘要信息Z2,并 把该解密的摘要信息Zl和该提取的摘要信息Z2发送给程序认证单元104 (步骤S306)。
当收到加解密单元106发送的解密的摘要信息Zl和提取的摘要信息Z2时,程序 认证单元104比较该解密的摘要信息Zl与该接收的摘要信息Z是否一致以及该提取的摘 要信息Z2与该接收的摘要信息Z是否一致(步骤S308)。 如果步骤S308的比较结果为是,即该解密的摘要信息Zl与该接收的摘要信息Z 一致并且该提取的摘要信息Z2与该接收的摘要信息Z —致,则程序认证单元104确定该新 应用程序X的打包文件D是安全的,并把确定结果返回给程序下载器102 (步骤S310)。
如果步骤S308的比较结果为否,即该解密的摘要信息Zl与该接收的摘要信息 Z不一致和/或该提取的摘要信息Z2与该接收的摘要信息Z不一致,则程序认证单元104 确定该新应用程序X的打包文件D不是安全的,并把确定结果返回给程序下载器102 (步骤 S312)。 当收到程序认证单元104发送的确定结果时,如果该确定结果表明该新应用程序
X的打包文件D不是安全的,则程序下载器102丢弃该新应用程序X的打包文件D,否则将
该新应用程序X的打包文件D存储在智能卡的存储器中(步骤S314)。 图4示出了按照本发明一个实施例的安装应用程序的方法的流程图。 如图4所示,当被指示安装所下载的新应用程序X时,该指示可以来自用户,程序
安装器108从智能卡的存储器中读取出该新应用程序X的打包文件D,并对该打包文件D进
行解包处理以得到该新应用程序X的各个文件(步骤S402)。 接着,程序安装器108将该新应用程序X的各个文件注册到文件注册表116中并 且存储该新应用程序X的各个文件在文件存储单元120中(步骤S404)。
然后,程序安装器108检索该新应用程序X中的各个文件是否为可执行类文件 (步骤S406)。在这里,可执行类文件例如可以是本地可执行程序文件、共享库文件、.NET或 Java的运行文件、Servlet程序文件或者其他解释性的脚本文件等。 程序安装器108计算所检索到的各个可执行类文件的摘要信息,并把所计算的可
执行类文件的摘要信息存储到摘要信息数据库118中(步骤S408)。 图5示出了按照本发明一个实施例的加载应用程序的方法的流程图。
如图5所示,当被指示加载已安装的应用程序A以在智能卡中运行应用程序A时, 程序加载器110检查文件注册表116中是否已经注册有应用程序A的文件的信息(步骤 S502)。 如果步骤S502的检查结果为否,则表明应用程序A被非法安装在智能卡中,程序 加载器110不从文件存储单元120中加载应用程序A的文件(步骤S504)。
如果步骤S502的检查结果为是,则程序加载器IIO利用摘要信息提取算法计算应 用程序A的可执行类文件的摘要信息(步骤S506)。 接着,程序加载器110判断所计算的应用程序A的可执行类文件的摘要信息与摘 要信息数据库118中存储的应用程序A的可执行类文件的摘要信息是否一致(步骤S508)。
如果步骤S508的判断结果为是,则程序加载器IIO从文件存储单元120中加载应 用程序A的文件(步骤S510)。 如果步骤S508的判断结果为否,则表明应用程序A在安装到智能卡中后被非法改 动过,程序加载器110不从文件存储单元120中加载应用程序A的文件(步骤S504)。
图6示出了按照本发明一个实施例的更新已安装的应用程序的方法的流程图。
如图6所示,当被指示更新已安装在智能卡上的应用程序B时,程序更新器112从 应用程序载体20下载应用程序B的更新打包文件GD、更新打包文件GD的摘要信息GZ和摘 要信息GZ的数字签名GS,并把该下载的更新打包文件GD、摘要信息GZ和数字签名GS发送 给程序认证单元104 (步骤S602)。 当收到程序更新器112发送的更新打包文件GD、摘要信息GZ和数字签名GS时, 程序认证单元104从第三方安全认证中心30获取应用程序B的提供商的公钥GG,并把该 获取的公钥GG以及所收到的更新打包文件GD和数字签名GS发送给加解密单元106 (步骤 S604)。 当从程序认证单元104中收到公钥GG、更新打包文件GD和数字签名GS时,加解 密单元106利用所收到的公钥GG对所收到的数字签名GS进行解密以获得解密的摘要信息 GZ1,以及,利用诸如MD5或SHA-1等这样的摘要信息提取算法提取所收到的更新打包文件 GD的摘要信息GZ2,并把该解密的摘要信息GZ1和该提取的摘要信息GZ2发送给程序认证 单元104(步骤S606)。 当收到加解密单元106发送的解密的摘要信息GZ1和提取的摘要信息GZ2时,程 序认证单元104比较该解密的摘要信息GZ1与该接收的摘要信息GZ是否一致以及该提取 的摘要信息GZ2与该接收的摘要信息GZ是否一致(步骤S608)。 如果步骤S608的比较结果为否,即该解密的摘要信息GZ1与该接收的摘要信息 GZ不一致和/或该提取的摘要信息GZ2与该接收的摘要信息GZ不一致,则程序认证单元 104确定该应用程序B的更新打包文件GD是不安全的,并把确定结果返回给程序更新器 112(步骤S610)。 当从程序认证单元104收到的确定结果表明该应用程序B的更新打包文件GD是 不安全的时,程序更新器112丢弃该应用程序B的更新打包文件GD,并且向用户提示警告信 息(步骤S612)。 如果步骤S608的比较结果为是,即该解密的摘要信息GZ1与该接收的摘要信息 GZ —致并且该提取的摘要信息GZ2与该接收的摘要信息GZ —致,则程序认证单元104确
15定该应用程序B的更新打包文件GD是安全的,并把确定结果返回给程序更新器112 (步骤 S614)。 当从程序认证单元104收到的确定结果表明该应用程序B的更新打包文件GD是 安全的时,程序更新器112对该应用程序B的更新打包文件GD进行解包处理以得到该应用 程序B的各个文件(步骤S616)。 程序更新器112检查该解包得到的应用程序B的各个文件中是否存在新文件,其 中,在文件注册表116中以前并没有作为该应用程序B的文件注册有该新文件的旧版本 (步骤S618)。 如果步骤S618的检查结果为是,则程序更新器112将该新文件作为应用程序B的
文件注册在在文件注册表116中,并且在文件存储单元120中保存该新文件(步骤S620)。 程序更新器112进一步检查该新文件是否是可执行类文件(步骤S622)。 如果步骤S622的进一步检查结果为是,则程序更新器112利用摘要信息提取算法
计算该新文件的摘要信息并存储在摘要信息数据118中(步骤S624)。 如果步骤S618的检查结果为否、步骤S622的进一步检查结果为否或者步骤S624
完成之后,程序更新器112检查该解包得到的应用程序B的各个文件中是否存在旧文件的
新版本,其中,在文件注册表116中以前已经作为该应用程序B的文件注册有该旧文件(步
骤S626)。 如果步骤S626的检查结果为是,则程序更新器112将该旧文件的新版本注册在在 文件注册表116中以替换该旧文件的信息,并且在文件存储单元120中将该旧文件的新版 本替换该旧文件(步骤S628)。 程序更新器112进一步检查该旧文件的新版本是否是可执行类文件(步骤S630)。
如果步骤S630的进一步检查结果为是,则程序更新器112利用摘要信息提取算法 计算该旧文件的新版本的摘要信息并存储在摘要信息数据118中以替换该旧文件的摘要 信息(步骤S632)。 如果步骤S626的检查结果为否、步骤S630的进一步检查结果为否或者步骤S632 完成之后,程序更新器112检查该解包得到的应用程序B的各个文件中是否存在删除已有 文件的指示,其中,在文件注册表116中以前已经作为该应用程序B的文件注册有该已有文 件(步骤S634)。 如果步骤S634的检查结果为是,则程序更新器112从文件注册表116中删除该已 有文件的信息,并且从文件存储单元120中删除该已有文件(步骤S636)。
程序更新器112进一步检查该已有文件是否是可执行类文件(步骤S638)。
如果步骤S638的进一步检查结果为是,则程序更新器112从摘要信息数据库118 中删除已有旧文件的摘要信息(步骤S640)。 图7示出了按照本发明一个实施例的卸载已安装的应用程序的方法的流程图。如 图7所示,当被指示卸载已安装在智能卡上的应用程序C时,程序卸载器114从文件注册表 116中删除所注册的应用程序C的各个文件的信息(步骤S702)。 程序卸载器114从摘要信息数据库118中删除所存储的应用程序C的可执行类文 件的摘要信息(步骤S704)。 程序卸载器114从文件存储单元120中删除应用程序C的各个文件(步骤S706)。
16
本领域技术人员应当理解,虽然在上面的实施例中应用程序管理系统10同时包 括了程序下载器102、程序安装器108、程序加载器110、程序更新器112和程序卸载器114, 然而,本发明并不局限于此。在本发明的其它实施例中,应用程序管理系统io可以只包括 了程序下载器102、程序安装器108、程序加载器110、程序更新器112和程序卸载器114中 的一个或多个。 本领域技术人员应当理解,在本发明上述实施例的启示下,可以得到本发明实施 例的各种变形,并且在不偏离本发明的精神或范围的情况下,本文中所定义的一般原理也 可以应用到其他实施例中。因此本发明并不局限于本文中所示的实施例,而且要求与本文 中所公开的原理和新颖特征相一致的最广的范围。
权利要求
一种用于智能卡的应用程序管理系统,包括程序下载器,用于从应用程序载体下载新应用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的数字签名;加解密单元,用于进行加/解密处理;以及程序认证单元,用于基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所述新应用程序的提供商的公钥,在所述加解密单元的协助下确定所述下载的打包文件是否是安全的,其中,当所述程序认证单元的确定结果为肯定时,所述程序下载器存储所述下载的打包文件。
2. 如权利要求l所述的应用程序管理系统,其中,所述加解密单元用于利用所述获取的公钥解密所述数字签名以得到解密的摘要信息 以及利用摘要信息提取算法计算所述下载的打包文件的摘要信息;以及所述程序认证单元用于比较所述解密的摘要信息和所述下载的摘要信息以及所述计 算的摘要信息和所述下载的摘要信息是否一致,并当比较结果为肯定时,确定所述下载的 打包文件是安全的。
3. 如权利要求l所述的应用程序管理系统,其中,当所述确定结果为否定时,所述程序下载器丢弃所述下载的打包文件。
4. 如权利要求1所述的应用程序管理系统,其中,还包括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件;以及程序安装器,用于当被指示安装所述新应用程序时,将对所述存储的打包文件进行解 包得到的所述新应用程序的各个文件注册到所述文件注册单元中并在所述文件存储单元 中存储所述新应用程序的各个文件,以及计算所述新应用程序的各个文件中的可执行类文 件的摘要信息并存储在所述摘要信息存储单元中。
5. 如权利要求4所述的应用程序管理系统,其中,还包括程序加载器,用于当被指示加载应用程序时,检查在所述文件注册单元中是否已经注 册有所述被指示加载的应用程序的文件信息,以及当检查结果为肯定时,从所述文件存储 单元中加载所述被指示加载的应用程序的文件。
6. 如权利要求5所述的应用程序管理系统,其中,当所述检查结果为肯定时,程序加载器进一步检查对所述被指示加载的应用程序的可 执行文件所提取的摘要信息是否与所述摘要信息存储单元中存储的所述被指示加载的应 用程序的所述可执行文件的摘要信息一致,并且当进一步检查结果为肯定时,从所述文件 存储单元中加载所述被指示加载的应用程序的文件。
7. 如权利要求4所述的应用程序管理系统,其中,还包括程序卸载器,用于当被指示卸载应用程序时,删除在所述文件注册单元中注册的所述 被指示卸载的应用程序的各个文件的信息、在所述摘要信息存储单元中存储的所述被指示 卸载的应用程序的可执行文件的摘要信息以及在所述文件存储单元中存储的所述被指示 卸载的应用程序的各个文件。
8. 如权利要求4所述的应用程序管理系统,其中,还包括程序更新器,用于当被指示更新已安装在所述智能卡上的应用程序时,下载所述被指 示更新的应用程序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的数字 签名,并且当在所述加解密单元的协助下所述程序认证单元基于所述下载的摘要信息和所 述下载的数字签名以及所述被指示更新的应用程序的提供商的公钥确定所述下载的更新 打包文件是安全的时,基于对所述更新打包文件进行解包得到的文件,更新所述文件注册 单元、所述摘要信息存储单元和所述文件存储单元。
9. 如权利要求8所述的应用程序管理系统,其中,当对所述更新打包文件进行解包得到的文件包含有新文件时,所述程序更新器在所述 文件注册单元中注册所述新文件的信息并且在所述文件存储单元中存储所述新文件,当对所述更新打包文件进行解包得到的文件包含有旧文件的新版本时,所述程序更新 器将所述旧文件的新版本的信息替换在所述文件注册单元中所注册的所述旧文件的信息 并且使用所述旧文件的新版本替换所述文件存储单元中的所述旧文件,当对所述更新打包文件进行解包得到的文件包含删除已有文件的指示时,所述程序更 新器从所述文件存储单元中删除所述已有文件并且从所述文件注册单元中删除所述已有 文件的信息,当所述新文件是可执行文件时,所述程序更新器在所述摘要信息存储单元中存储所述 新文件的摘要信息,当所述旧文件是可执行文件时,所述程序更新器使用所述旧文件的新版本的摘要信息 替换在所述摘要信息存储单元中存储的所述旧文件的摘要信息,以及当所述已有文件是可执行文件时,所述程序更新器从所述摘要信息存储单元中删除所 述已有文件的摘要信息。
10. —种用于智能卡的应用程序管理方法,包括步骤从应用程序载体下载新应用程序的打包文件、所述打包文件的摘要信息和所述摘要信 息的数字签名;基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所 述新应用程序的提供商的公钥,确定所述下载的打包文件是否是安全的;以及 当确定结果为肯定时,存储所述下载的打包文件。
11. 如权利要求10所述的应用程序管理方法,其中,所述确定步骤进一步包括 利用所述获取的公钥解密所述数字签名以得到解密的摘要信息; 利用摘要信息提取算法计算所述下载的打包文件的摘要信息;比较所述解密的摘要信息和所述下载的摘要信息以及所述计算的摘要信息和所述下 载的摘要信息是否一致;以及并当比较结果为肯定时,判定所述下载的打包文件是安全的。
12. 如权利要求IO所述的应用程序管理方法,其中,还包括当被指示安装所述新应用程序时,对所述存储的打包文件进行解包处理以得到所述新 应用程序的各个文件;注册所述新应用程序的各个文件的信息;计算所述新应用程序的各个文件中的可执行类文件的摘要信息;存储所述计算的可执行类文件的摘要信息;以及 存储所述新应用程序的各个文件。
13. 如权利要求12所述的应用程序管理方法,其中,还包括当被指示加载应用程序时,检查是否已经注册有所述被指示加载的应用程序的文件信 息;以及当检查结果为肯定时,从所述存储的文件中加载所述被指示加载的应用程序的文件。
14. 如权利要求13所述的应用程序管理方法,其中,还包括当所述检查结果为肯定时,提取所述被指示加载的应用程序的可执行文件的摘要信息;进一步检查所述提取的所述可执行文件的摘要信息是否与以前存储的所述可执行文 件的摘要信息一致;以及当进一步检查结果为肯定时,从所述存储的文件中加载所述被指示加载的应用程序的 文件。
15. 如权利要求12所述的应用程序管理方法,其中,还包括当被指示卸载应用程序时,从所述注册的信息中删除所述被指示卸载的应用程序的各 个文件的信息;从所述存储的摘要信息中删除所述被指示卸载的应用程序的可执行文件的摘要信息;以及从所述存储的文件中删除所述被指示卸载的应用程序的各个文件。
16. 如权利要求12所述的应用程序管理方法,其中,还包括当被指示更新应用程序时,从所述应用程序载体中下载所述被指示更新的应用程序的 更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的数字签名;基于所述下载的摘要信息和数字签名以及从所述第三方安全认证中心获取的被指示 更新应用程序的提供商的公钥,确定所述下载的更新打包文件是否是安全的;当确定结果为肯定时,对所述下载的更新打包文件进行解包处理以得到所述被指示更 新应用程序的各个文件;以及基于所述被指示更新应用程序的各个文件,更新所述注册的信息、所述存储的摘要信 息和所述存储的文件。
17. 如权利要求16所述的应用程序管理方法,其中,所述更新步骤进一步包括 当所述被指示更新应用程序的各个文件包含有新文件时,注册所述新文件的信息并且存储所述新文件;当所述被指示更新应用程序的各个文件包含有旧文件的新版本时,将所述旧文件的新 版本的信息替换在所述注册的信息中所述旧文件的信息并且使用所述旧文件的新版本替 换所述存储的文件中的所述旧文件;当所述被指示更新应用程序的各个文件包含删除已有文件的指示时,从所述存储的文 件中删除所述已有文件并且从所述注册的信息中删除所述已有文件的信息;当所述新文件是可执行文件时,存储所述新文件的摘要信息;当所述旧文件是可执行文件时,使用所述旧文件的新版本的摘要信息替换在所述存储 的摘要信息中所述旧文件的摘要信息;以及当所述已有文件是可执行文件时,从所述存储的摘要信息中删除所述已有文件的摘要信息。
18. —种用于智能卡的应用程序下载装置,包括程序下载器,用于从应用程序载体下载新应用程序的打包文件、所述打包文件的摘要 信息和所述摘要信息的数字签名;加解密单元,用于进行加/解密处理;以及程序认证单元,用于基于所述下载的摘要信息、所述下载的数字签名以及从第三方安 全认证中心获取的所述新应用程序的提供商的公钥,在所述加解密单元的协助下确定所述 下载的打包文件是否是安全的,其中,当所述程序认证单元的确定结果为肯定时,所述程序下载器存储所述下载的打 包文件。
19. 如权利要求18所述的应用程序下载装置,其中,所述加解密单元用于利用所述获取的公钥解密所述数字签名以得到解密的摘要信息 以及利用摘要信息提取算法计算所述下载的打包文件的摘要信息;以及所述程序认证单元用于比较所述解密的摘要信息和所述下载的摘要信息以及所述计 算的摘要信息和所述下载的摘要信息是否一致,并当比较结果为肯定时,确定所述下载的 打包文件是安全的。
20. —种用于智能卡的应用程序安装装置,包括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件;以及程序安装器,用于当被指示安装已下载到所述智能卡的新应用程序时,将对所述新应 用程序的打包文件进行解包得到的所述新应用程序的各个文件注册到所述文件注册单元 中并在所述文件存储单元中存储所述新应用程序的各个文件,以及计算所述新应用程序的 各个文件中的可执行类文件的摘要信息并存储在所述摘要信息存储单元中。
21. —种用于智能卡的应用程序加载装置,包括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件;以及程序加载器,用于当被指示加载应用程序时,检查在所述文件注册单元中是否已经注 册有所述被指示加载的应用程序的文件信息,以及当检查结果为肯定时,从所述文件存储 单元中加载所述被指示加载的应用程序的文件。
22. 如权利要求21所述的应用程序加载装置,其中,当所述检查结果为肯定时,所述程序加载器进一步检查对所述被指示加载的应用程序 的可执行文件所提取的摘要信息是否与所述摘要信息存储单元中存储的所述被指示加载 的应用程序的所述可执行文件的摘要信息一致,并且当进一步检查结果为肯定时,从所述 文件存储单元中加载所述被指示加载的应用程序的文件。
23. —种用于智能卡的应用程序卸载装置,包括 文件注册单元,用于注册已安装的应用程序的文件的信息;摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件;以及程序卸载器,用于当被指示卸载应用程序时,删除在所述文件注册单元中注册的所述 被指示卸载的应用程序的各个文件的信息、在所述摘要信息存储单元中存储的所述被指示 卸载的应用程序的可执行文件的摘要信息以及在所述文件存储单元存储的所述被指示卸 载的应用程序的各个文件。
24. —种用于智能卡的应用程序更新装置,包括 文件注册单元,用于注册已安装的应用程序的文件的信息; 摘要信息存储单元,用于存储已安装的应用程序的可执行类文件的摘要信息; 文件存储单元,用于存储已安装的应用程序的文件;程序更新器,用于当被指示更新已安装在所述智能卡上的应用程序时,下载所述被指 示更新的应用程序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的数字 签名,加解密单元,用于进行加/解密处理;以及程序认证单元,用于基于所述下载的摘要信息、所述下载的数字签名以及从第三方安 全认证中心获取的所述被指示更新的应用程序的提供商的公钥,在所述加解密单元的协助 下确定所述下载的更新打包文件是否是安全的,其中,当所述程序认证单元的确定结果为肯定时,所述程序更新器基于对所述更新打 包文件进行解包得到的文件,更新所述文件注册单元、所述摘要信息存储单元和所述文件 存储单元。
25. 如权利要求24所述的应用程序更新装置,其中,当对所述更新打包文件进行解包得到的文件包含有新文件时,所述程序更新器在所述 文件注册单元中注册所述新文件的信息并且在所述文件存储单元中存储所述新文件,当对所述更新打包文件进行解包得到的文件包含有旧文件的新版本时,所述程序更新 器将所述旧文件的新版本的信息替换在所述文件注册单元中所注册的所述旧文件的信息 并且在所述文件存储单元中使用所述旧文件的新版本替换所述旧文件,当对所述更新打包文件进行解包得到的文件包含删除已有文件的指示时,所述程序更 新器从所述文件存储单元中删除所述已有文件并且从所述文件注册单元中删除所述已有 文件的信息,当所述新文件是可执行文件时,所述程序更新器在所述摘要信息存储单元中存储所述 新文件的摘要信息,当所述旧文件是可执行文件时,所述程序更新器使用所述旧文件的新版本的摘要信息 替换在所述摘要信息存储单元中存储的所述旧文件的摘要信息,以及当所述已有文件是可执行文件时,所述程序更新器从所述摘要信息存储单元中删除所 述已有文件的摘要信息。
26. —种用于智能卡的应用程序下载方法,包括步骤从应用程序载体下载新应用程序的打包文件、所述打包文件的摘要信息和所述摘要信 息的数字签名;基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所述新应用程序的提供商的公钥,确定所述下载的打包文件是否是安全的;以及 当确定结果为肯定时,存储所述下载的打包文件。
27. 如权利要求26所述的应用程序下载方法,其中,所述确定步骤进一步包括 利用所述获取的公钥解密所述数字签名以得到解密的摘要信息; 利用摘要信息提取算法计算所述下载的打包文件的摘要信息;比较所述解密的摘要信息和所述下载的摘要信息以及所述计算的摘要信息和所述下 载的摘要信息是否一致;以及并当比较结果为肯定时,判定所述下载的打包文件是安全的。
28. —种用于智能卡的应用程序安装方法,包括当被指示安装已经下载到所述智能卡的新应用程序时,对所述新应用程序的打包文件 进行解包处理以得到所述新应用程序的各个文件; 注册所述新应用程序的各个文件的信息;计算所述新应用程序的各个文件中的可执行类文件的摘要信息; 存储所述计算的可执行类文件的摘要信息;以及 存储所述新应用程序的各个文件。
29. —种用于智能卡的应用程序加载方法,包括当被指示加载应用程序时,检查在预先注册的已安装在所述智能卡上的应用程序的文 件的信息中是否已经注册有所述被指示加载的应用程序的文件信息;以及当检查结果为肯定时,从预先存储的已安装在所述智能卡上的应用程序的文件中加载 所述被指示加载的应用程序的文件。
30. 如权利要求29所述的应用程序加载方法,其中,还包括当所述检查结果为肯定时,提取所述被指示加载的应用程序的可执行文件的摘要信息;进一步检查所述提取的所述可执行文件的摘要信息是否与预先存储的所述可执行文 件的摘要信息一致;以及当进一步检查结果为肯定时,从所述预先存储的已安装在所述智能卡上的应用程序的 文件中加载所述被指示加载的应用程序的文件。
31. —种用于智能卡的应用程序卸载方法,其中,还包括当被指示卸载应用程序时,从预先注册的已安装在所述智能卡上的应用程序的文件的 信息中删除所述被指示卸载的应用程序的各个文件的信息;从预先存储的已安装在所述智能卡上的应用程序的可执行类文件的摘要信息中删除 所述被指示卸载的应用程序的可执行文件的摘要信息;以及从预先存储的已安装在所述智能卡上的应用程序的文件中删除所述被指示卸载的应 用程序的各个文件。
32. —种用于智能卡的应用程序更新方法,包括当被指示更新应用程序时,从所述应用程序载体中下载所述被指示更新的应用程序的 更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的数字签名;基于所述下载的摘要信息和数字签名以及从所述第三方安全认证中心获取的被指示 更新应用程序的提供商的公钥,确定所述下载的更新打包文件是否是安全的;当确定结果为肯定时,对所述下载的更新打包文件进行解包处理以得到所述被指示更新应用程序的各个文件;以及基于所述被指示更新应用程序的各个文件,更新预先注册的已安装在所述智能卡上的应用程序的文件的信息、预先存储的已安装在所述智能卡上的应用程序的可执行类文件的摘要信息和预先存储的已安装在所述智能卡上的应用程序的文件。
33.如权利要求32所述的应用程序更新方法,其中,所述更新步骤进一步包括当所述被指示更新应用程序的各个文件包含有新文件时,注册所述新文件的信息并且存储所述新文件;当所述被指示更新应用程序的各个文件包含有旧文件的新版本时,将所述旧文件的新版本的信息替换在所述预先注册的已安装在所述智能卡上的应用程序的文件的信息中所述旧文件的信息并且使用所述旧文件的新版本替换所述预先存储的已安装在所述智能卡上的应用程序的文件中的所述旧文件;当所述被指示更新应用程序的各个文件包含删除已有文件的指示时,从所述预先存储的已安装在所述智能卡上的应用程序的文件中删除所述已有文件并且从所述预先注册的已安装在所述智能卡上的应用程序的文件的信息中删除所述已有文件的信息;当所述新文件是可执行文件时,存储所述新文件的摘要信息;当所述旧文件是可执行文件时,使用所述旧文件的新版本的摘要信息替换在所述预先存储的已安装在所述智能卡上的应用程序的可执行类文件的摘要信息中的所述旧文件的摘要信息;以及当所述已有文件是可执行文件时,从所述预先存储的已安装在所述智能卡上的应用程序的可执行类文件的摘要信息中删除所述已有文件的摘要信息。
全文摘要
本发明涉及智能卡应用程序管理系统及其方法,其中,智能卡应用程序管理系统包括程序下载器,用于从应用程序载体下载新应用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的数字签名;加解密单元,用于进行加/解密处理;以及,程序认证单元,用于基于所述下载的摘要信息、所述下载的数字签名以及从第三方安全认证中心获取的所述新应用程序的提供商的公钥,在所述加解密单元的协助下确定所述下载的打包文件是否是安全的,其中,当所述程序认证单元的确定结果为肯定时,所述程序下载器存储所述下载的打包文件。利用该系统可以确保智能卡与外界通信的安全和自身操作系统运行的安全。
文档编号H04L9/00GK101719821SQ20081016990
公开日2010年6月2日 申请日期2008年10月9日 优先权日2008年10月9日
发明者曲雨水, 李丞倍, 李相研, 罗栋元, 金亨一 申请人:爱思开电讯投资(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1