具有用于传递html数据的增强的性能的个人令牌的制作方法

文档序号:6476935阅读:283来源:国知局
专利名称:具有用于传递html数据的增强的性能的个人令牌的制作方法
技术领域
本发明涉及当拥有(host)用于将HTML页面传递至假想设备的Java卡 应用程序时的个人安全令牌。这样的个人令牌通常一皮称为包括web或HTML 服务器的个人令牌。
背景技术
个人令牌用于当用户访问受限的或专用资源设备(如移动电信网络、银 行设备或网络、存储秘密数据的远程服务器、或者甚至具有至其的受限的物 理访问的受保护的区域)时、认证这样的用户。
大部分已知的这种类型的设备是诸如SIM卡(用户识别模块)或信用卡 之类的IC卡,但是,其还可以是USB密钥、海量存储卡或携带某些必要的 证书的任何种类的令牌。
这些令牌典型地符合国际标准IS07816。
假想设备典型地是移动电话网络中的移动终端,但是,还可以是IT网络 (因特网或公司内部网络)中的主机PC或远程终端。
Java卡是已知从Java衍生的语言和编程系统,即,由于智能卡的减少的 性能而导致其具有简化的功能性,但是其保留了 Java的主要方面,诸如下 载.cap文件、实例化、注册、使用应用程序Ids、以及更重要地,原始Java 语言指令的选定组,这些使得Java卡保持了原始Java的面向对象的特性。Java 卡功能的智能卡或USB加密狗是众所周知的。
Java卡经常用于将HTML数据传递至主机设备,该主机设备运行HTML 引擎,该引擎读取该传递的HTML数据并且取决于该传递的数据来构建 HTML页面。所传递的HTML数据是用于描述要在HTML页面中找到的内 容(即,静态对象、动态对象、以及用于在页面中组织静态和动态对象的模 板)的足够的数据。
Java卡应用程序无线地(over-the-air )或通过有线手段(即,在工厂当 定制该令牌时,或者甚至在销售点通过使用具有某些专用连接的本地计算机和为了该目的的驱动器)被加载到安全性令牌中。
Java卡应用程序难以更新。已经存在在令牌中的一些Java卡数据经常不 可能修改,这意味着必须下载新的版本的整个应用程序,其涵盖了经^修改的 数据。这还意味着令牌必须被带回工厂或销售点,或者意味着全部应用程序 (即.cap文件的)代码的新的下载必须无线地进行,这对于操作者是长时间 的和苛求的,并且需要令牌中的困难的存储器管理。
这对于当看起来必须修改HTML页面时专用于传递HTML页面数据的应 用程序代码来说尤其成立。
例如,改变HTML页面中的对象、或者修改HTML页面的模板用于强调 特定对象而非另一对象,需要将Java卡应用程序再次下载到卡中、以及由该 卡以Java卡应用程序的修改的版本而再次解译其。

发明内容
本发明的目的是解决此问题,即,提出一种在个人令牌中的Java卡应用 程序的实施方式,其使得当涉及个人令牌时修改要被显示的HTML页面的处 理容易。
本发明通过如所附权利要求书中所述的特征来实现这样的目的。


本发明的其它方面、目标和优点将通过参考附图而进行的下列描述而呈 现,在附图中
图1呈现了根据现有技术的装载Java卡应用程序的SIM卡,
图2呈现了根据本发明的实施例的装载Java卡应用程序的SIM卡,
图3是呈现由根据本发明的同一实施例的SIM卡执行的一系列任务的图示。
具体实施例方式
如图l呈现的,对于拥有诸如游戏、电子钱包或电话簿应用程序的Java 卡应用程序,根据现有技术的SIM卡10首先利用.cap文件11下载,该.cap 文件11是已经先前在远程服务器内被编译并被转换的Java卡指令集。该.cap 文件11仍然需要解if,以i^更3皮呈现(render)为可执行的,即,该.cap文件11必须由Java卡虚拟机实例化,该Java卡虚拟机在下载之前存在于该卡中。 该.cap文件随后变为如图1中的参考符号12下面代表的被称作Java卡小应用 程序(Javacard applet)的程序。
此Java卡小应用程序12由一系列指令组成,由于所执行的实例化步骤, 所述指令现在与参数结合(couple ),所述参数也被下载到.cap文件内部,但 最初不与相应指令结合。
Java卡小应用程序12的指令描述 一旦由最终用户要求HTML页面, 要净皮传送至拥有SIM卡的移动终端的HTML数据。这样的HTML页面可以 是当最终用户开启他的移动终端时的预期显示的欢迎屏保、或者允许最终用 户从SIM卡10中实现的一些功能中进行选择的菜单。.
Java卡小应用程序中的这些HTML数据包括模板数据13,其描述HTML 页面的总体形状、以及一些对象必须在该页面中具有的位置,即,在该页面 中为静态对象或动态对象预留的每个位置。
Java卡小应用程序还包括用于建立该页面的动态对象的指令,这可以典 型地由计算产生,或者由在最终用户请求该页面时的Java卡小应用程序的特 定状态产生。
Java卡小应用程序还包括静态对象数据,即,描述在运行Java卡小应用 程序的过程中不预期改变或调整的对象的数据。 这些静态对象是图1中的参考符号14。
现在将参考图2来描述根据本发明的实施例的运行Java卡应用程序的 SIM卡。
图2的SIM卡拥有经实例化且注册了的Java卡小应用程序12 。原始的.cap 文件11被呈现在图2上,但是在实例化了 Java卡小应用程序之后,其不再 可4喿作地存在于卡10中。
Java卡小应用程序12被保存在SIM卡的存储器的一部分中,该部分通 常是专用于Java卡小应用程序的。此专用部分位于该卡的存储器的非易失性 部分内部,其通常被实现为EEPROM存储器(电可擦除可编程只读存储器)。
在图2的右侧,呈现了非易失性存储器的另一物理部分,其拥有一系列 连续文件17。这些文件中的每个是以TLV格式的,即,由三个部分组成。每 个TLV文件的第一部分为标签(Tag)部分,接下来的部分是包括长度量的 长度(Length)部分,并且TLV文件的最后部分是包括值的值(Value )部分,该值的大小确定置于TLV文件的在前的长度部分中的长度。
存储器的该部分的TLV文件通常用于在存储电信标准中列出并要求的通 信参数。
除了这样的目的之外,在这里,这些TLV文件用于存储针对Java卡小应 用程序12并且意图构建HTML页面数据的数据。Java卡小应用程序12被编 程用于在执行小应用程序12的过程期间,在TLV文件中取这些HTML数据。
这里,存储在TLV文件中的HTML数据具有两种类型。 一些TLV文件 存储HTML模板数据,即,描述页面的形状和总体构成的HTML数据。
其它TLV文件存储描述HTML静态对象的数据。
一个TLV文件描述一个才莫^1,在当前的情况下,当前在多个分别的TLV 文件中描述多个模板。此外, 一个TLV文件描述一个静态对象,在当前情况 下,当前在多个分别的TLV文件中描述多个静态对象。
在每个静态对象TLV文件中,文件的每个值部分是描述静态对象其自身 的内容的HTML字符串,每个长度部分存储HTML字符串的实际长度,并且, 每个标签部分存储静态对象其自身的标识符,该标识符用于检索被寻求的正 确的静态对象。
Java卡中的字符串是在"<,,与">"之间组成的一组字母数字式字符, 其描述视觉对象,如要被置于HTML页面中的静态对象。
文件的不同格式(从二进制到BER-TLV格式)可以被考虑用于HTML 模板和HTML静态对象的存储。BER-TLV是优选格式。标准轻量级 (lightweight)格式更通常受到偏爱。
为了检索才莫板数据和静态对象数据的目的,卡10拥有并运行参考符号为 18的API (应用程序编程接口 )。 API 18读取模板数据,解析它们,并且取 决于要对所考虑的数据进行的处理而将数据传送至移动终端或传送回至Java 卡小应用程序。
例如,当该模板包括静态数据、并且还通过标识符而识别到动态数据的 必然性时,由API18将静态数据直接传递至移动终端,而将动态数据标识符 传送至应用程序12,用于进一步处理和呈现这样的动态数据。
在图3中,表示了参考符号从A至E的步骤,它们对应于由移动终端、 Java卡小应用程序12、API 18执行的连续的任务。图3还呈现了在采集HTML 页面数据的 索到的数据。作为第一步骤A,移动终端对应用程序12进行HTTP请求。应用程序 12的代码包括专用于处理HTTP请求的部分12a。作为步骤B,此HTTP请 求处理部分12a调用API 18。作为步骤C, API 18随后读取相应的TLV数据 文件中的模板文件,这里,该模板包括包含静态字符串的静态数据,静态字 符串中的一些描述各个静态对象,但是它们还可以识别其它TLV文件中的请争 态数据,该静态数据可以描述静态对象。
模板API 18或模板引擎随后将模板文件解析为静态数据(作为步骤D ), 并且解析为识别要被创建的动态对象的动态标识符。API将静态数据直接传 递至移动终端,并且将动态标识符传递至应用程序12。
应用程序12包括模板回调模块12b,其当被模板API 18调用时产生经识 别的动态对象。这样,应用程序12实施回调接口。为了调用回调才莫块12b, 模板API 18将动态数据标识符以及HTTP请求对象传递至模板回调模块12b (作为步骤E)。
在步骤F,模板回调模块12b基于动态数据标识符并且基于HTTP请求 对象,并且在任何附加的应用程序特定的数据源的基础上,产生经识别的动 态数据。换句话说,应用程序逻辑使用从API以及其自身的源接收的信息, 以便产生动态数据。动态数据随后被自动添加至输出HTML页面。
已经在将静态对象和模板存储在未被嵌入在应用程序代码中的位置的情 况下描述了本发明。
在本发明的框架中,Java卡应用程序代码可以包括嵌入到其中的静态对 象数据,仅模板数据被存储在独立的位置中。相反,仍在本发明的框架中, Java卡应用程序可以在用于检索静态对象数据的独立的位置中取出数据,但 是将模板数据包含在应用程序代码内部。
在此可替换的实施例中,由应用程序使用的静态对象被存储在专用于这 样的字符串的一个或多个独立的文件中,并且每个字符串由例如标量的标识 符来识别。类似于先前描述的API 18的Java卡API允许小应用程序12通过 使用这样的字符串的标识符,来在以构成字符串的字节组的格式的独立的文 件中检索静态对象数据。API打开包含这样的静态字符串源的文件,并且从 自该应用程序提取的字符串的标识符获得字节组(bytearray )。
在这些不同的实施例中,优点是下列这些
构建动态HTML页面先前需要大量的字符串操作和串接。动态web页面中使用的大部分字符串实际上是静态的。描述字符串的唯一可能性是应用程序代码中的字节组。HTML页面的静态部分必须在静态字节组中被描述,并 且在Java卡应用程序中被硬编码。例如,用于构建HTML页面的静态字符串 被硬编码在应用程序源代码中,它们不能为了定制/国际化的目的而容易地被 更新。静态字符串的定制对于用于修正缺陷的实例也是有用的。除了用更新常量(updatedconstant)来重新安装新的".cap"文件之外, 也通过将不同语言的字符串硬编码在小应用程序的代码中、或者通过管理令 牌中的相同应用程序的多个版本,而实现国际化。Java卡并未提供用于串接静态字符串以构建复杂HTML页面的任何有效 的方法。因此,应用程序逻辑负责将字符串字节组与动态无素串接,以便构 建动态内容。由于在Java卡中缺乏对字节组串接的支持、并且不包含这里建 议的独立的字符串对象,导致构建动态HTML页面需要大量手动緩冲器 (buffer)操作,并且从而是非常慢的。在代码大小和性能方面,所描述的取出字符串资源的API允许将字节组 操作限制在Java卡应用程序中。此外,恒定标量标识符代替静态字节组字符 串而被用在应用程序中,这减小了代码大小并且提高了性能。可以根据客户需求而定制在独立的资源文件中包含的字符串。例如,包 含操作者名称的一个字符串可被容易地改变,而不需要修改应用程序代码。可以通过传统的远程文件管理技术来远程更新静态字符串文件,以便修 正潜在的缺陷、或者稍微更新应用程序。多个国际化资源文件可以存在于卡上,对于每国语言存在一个国际化资 源文件。Java卡应用程序可以选择适配于当前用户语言偏好的一个。也可以 作为相应文件中的所下载的静态对象的更新,而在发布后容易地部署新的语5 。由于将模板吞储在独立的文件位置中,可以通过使用本地服务而由API 内部地处理模板。这也減少在Java卡中的缓冲器操作的需要、并且提高了性 能。可以基于客户需求而容易地定制模板,而不需要改变应用程序代码。 可以通过传统的远程文件管理技术来远程更新模板,以便修正潜在的缺 陷、或者稍微更新应用程序的外观。多个4莫板可以存在于卡上,对于每国语言存在一个才莫板。Java卡应用程9序可以选择适配于当前用户语言偏好的一个。也可以作为相应文件中的所下 载的新语言才莫板,而在发布后容易地部署新的语言。
权利要求
1.一种存储位于个人令牌的存储器区域上的java卡应用程序代码的个人令牌,该个人令牌能够运行该java卡应用程序(12),以将HTML页面数据传递至外部设备,以便该外部设备在传递的HTML页面数据的基础上显示HTML页面,所述个人令牌还存储要被用作为该HTML页面的组成部分的数据,其特征在于要被用作为该HTML页面的构成部分的数据处于与该Java卡应用程序代码所位于的存储器区域独立的至少一个文件(17)中,并且,该个人令牌被编程用于当所述数据被请求用于将所述HTML页面数据传递至所述外部设备时,打开存储该HTML页面的构成部分的所述至少一个文件。
2. 如权利要求1所述的个人令牌,特征在于其包括API,所述API 响应于向所述API请求打开,打开并读取存储该构成部分的所述至少一个独 立的文件(17)的内容。
3. 如权利要求1所述的个人令牌,特征在于该HTML页面的构成部 分由要在要被呈现的HTML页面中被引入的至少一个静态对象(17)组成。
4. 如权利要求1所述的个人令牌,特征在于该HTML页面的构成部 分(17 )由HTML页面才莫板组成。
5. 如权利要求1所述的个人令牌,特征在于该HTML页面的构成部 分(17 )包括该HTML页面的模4反、以及要被引入到该HTML页面中的至少 一个静态对象两者。
6. 如结合权利要求2和4所述的个人令牌,特征在于该应用程序包括 用于传递该HTML页面的动态对象的回调模块(12b ),并且,所述API被编 程用于在每次API识别到在所读取的HTML模板中需要动态对象时,启动该 回调模块。
7. 如结合权利要求2、 5和6所述的个人令牌,特征在于该至少一个 独立的文件至少包括用于该HTML页面的所需要的动态对象的标识符,并且, 该API将存储该模板的该至少一个独立的文件解析为该至少一个静态对象和 该至少一个动态对象标识符,该API将该至少一个静态对象传送至外部呈现 设备,并且将该至少一个动态对象标识符传送至该应用程序的回调模块。
8. 如权利要求7所述的个人令牌,特征在于该API将该至少一个静 态对象传送至该外部呈现i殳备,而不将其传送至该应用程序。
9. 如权利要求1所述的个人令牌,特征在于存储该构成部分的该至少 一个文件是TLV类型文件,即,标签长度值类型文件。
10. 如权利要求4所述的个人令牌,特征在于该至少一个文件包括多 个模板,并且,该应用程序代码包括用于要被用作该HTML页面的构成部分 的正确的模板的标识符。
11. 一种用于在个人令牌中实施Java卡应用程序的方法,该Java卡应用 程序用来将HTML页面数据传递至外部呈现设备,该实施方法包括下载应用 程序代码(12)、以及要被用作该HTML页面的构成部分的数据,特征在于 该方法包括下列步骤a) 将Java卡应用程序的代码下载到该个人令牌的存储器区域上,b) 将要^^皮用作该HTML页面的构成部分的凄W居下载到至少一个文件 (17)中,该至少一个文件(17)独立于该Java卡应用程序代码被下载到的存储器区域,c) 对该个人令牌编程,用于当该应用程序请求该HTML页面的构成部 分时、打开存储该构成部分的该至少一个文件。
12.法,特征在于在不同时间,将该Java卡应用程序^码(12 )和该HTML页 面的构成部分(17)下载到该个人令牌中。
13.法,特征在于其包括步骤通过下载该HTML页面的更新的构成部分,来更 新该HTML页面的构成部分(17),而不下载已经在所述存储器区域上存储 的任何更新的Java卡应用程序代码(12 )。
全文摘要
本发明涉及一种存储位于个人令牌的存储器区域上的Java卡应用程序代码的个人令牌,该个人令牌能够运行这样的Java卡应用程序,以便将HTML页面数据传递至外部设备,用于该外部设备在这样的传递的HTML页面数据的基础上显示HTML页面,所述个人令牌还存储要被用作该HTML页面的构成部分的数据,特征在于要被用作为该HTML页面的构成部分的数据在独立于该Java卡应用程序代码所位于的存储器区域的至少一个文件中,以及,该个人令牌被编程用于当该数据被请求用于将所述HTML页面传递至所述外部设备时、打开存储该HTML页面的构成部分的所述至少一个文件。
文档编号G06F17/30GK101663664SQ200880012965
公开日2010年3月3日 申请日期2008年1月22日 优先权日2007年2月21日
发明者劳伦特·卡斯蒂略, 弗兰克·德林格, 西尔万·蔡弗 申请人:金雅拓股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1