CN100449503C - 用于为计算系统提供可配置防火墙的框架 - Google Patents

用于为计算系统提供可配置防火墙的框架 Download PDF

Info

Publication number
CN100449503C
CN100449503C CNB200480041732XA CN200480041732A CN100449503C CN 100449503 C CN100449503 C CN 100449503C CN B200480041732X A CNB200480041732X A CN B200480041732XA CN 200480041732 A CN200480041732 A CN 200480041732A CN 100449503 C CN100449503 C CN 100449503C
Authority
CN
China
Prior art keywords
java
applet
fire wall
compliant
controll block
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.)
Active
Application number
CNB200480041732XA
Other languages
English (en)
Other versions
CN1918549A (zh
Inventor
M·K·萨尔茨
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1918549A publication Critical patent/CN1918549A/zh
Application granted granted Critical
Publication of CN100449503C publication Critical patent/CN100449503C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

公开了一种用于计算系统的可配置防火墙。该可配置防火墙提供了防火墙控制块,该防火墙控制块可用作实施并控制计算环境中的各个组件之间的访问权限的机构。因此,该防火墙控制块可用于判定计算环境中的一个组件(例如,小应用程序)是否可以访问另一个组件。由此允许灵活的环境,其中可以采用使得可以允许每个小应用程序访问所需的其它小应用程序集合的方式来配置防火墙边界。另外,可以采用各种适合于不同系统要求(例如,处理速度、存储器)的技术来实施控制块。因此,该可配置防火墙可用于为各种计算系统、尤其是那些在相对有限的处理能力下运行和/或提供高度专门化的功能的计算系统(如智能卡)实施安全性。

Description

用于为计算系统提供可配置防火墙的框架
技术领域
一般来说,本发明涉及计算系统,更具体地说,本发明涉及用于提供安全计算系统的技术。
背景技术
不同于典型的桌面型电脑,其它计算设备是可移动的,高度专用于特定应用,在相对较小的存储器和/或处理限制下运行。举例来说,智能卡代表一种可高度专用于特定应用(如证券)的移动计算设备。智能卡还是这样一种计算环境的一个实例,其中它可提供的存储器和处理能力的大小通常没有桌面型(如个人计算机)环境中那样大。因此,智能卡可以提供一个很好的实例,下文将对它进行论述。
智能卡是在大约二十年前提出的,当时它采用用于存储关键信息的存储卡形式(如电话卡)。但是,现在的智能卡要比最初提出时的智能卡复杂得多。现在,智能卡可以具有嵌入式集成电路(IC)。智能卡例如可以是包括嵌入式集成电路(IC)的塑料卡。智能卡可以和信用卡类似。而且,它可用于高度敏感的应用(例如,银行业、证券)。因此,许多团体已经作出广泛努力来开发安全智能卡。
智能卡技术是由国际标准化组织(ISO)和国际电工委员会(IEC)的第一联合技术委员会(JTC1)规定和控制的行业标准。在1987年提出且在2003年最近更新的国际标准系列ISO/IEC 7816规定了智能卡的各个方面,包括物理特性、物理接点、电子信号和传输协议、命令、安全架构、应用标识符和公共数据元素。
在一些使用领域中,智能卡只是仅仅提供受保护的非易失性存储器的存储卡。但是,更先进的智能卡具有微处理器和存储器,它们可用于进行安全处理和存储。智能卡可以在没有电池的情况下运行(即,只有在与读卡器相连时才变得主动)。当相连时,在执行复位序列后,智能卡保持被动,以便等待从客户机(主机)应用程序接收命令请求。智能卡可以是接触型或非接触型。顾名思义,接触型智能卡采用通过读卡器和智能卡的8-引线接点之间的物理接触进行通信的方式来工作,而非接触型智能卡则通过射频信号进行通信,其范围通常小于2英尺。非接触型智能卡的无线电通信所基于的技术与商店中用于防盗和追踪库存的射频ID(RFID)标签类似。图1示出了接触型和非接触型智能卡。图1A和图1B分别示出了接触型智能卡和非接触型智能卡。
考虑到现今移动设备很普及,所以需要开发更适合它们的编程环境。其中,这些编程环境应当安全。
发明内容
如上所述,考虑到移动设备很普及,所以需要开发更适合它们的编程环境。这些编程环境通常在相对有限的资源(处理能力和/或存储器)下运行和/或提供高度专门化的功能。
作为一种与平台无关的编程环境,其中,JavaTM技术十分适合这样的环境。JavaTM是一种十分适合在分布式环境(如因特网)中使用的编程语言。它经过设计具有C++语言的“观感”,但是它的使用要比C++简单,并且加强了面向对象的编程模型。JavaTM可用于创建可在单个计算机上运行或者可分布在网络中的服务器和客户机中的完整应用程序。它还可用于建造用作网页的一部分的小的应用程序模块或小应用程序。小应用程序使得网页用户可以与网页互动。
JavaTM平台包括Java CardTM技术。Java CardTM技术使JavaTM编程平台适合用在那些环境高度专门化和/或在相对于例如桌面型计算环境更严格的存储器和/或处理限制下运行的智能卡和其它移动设备上。Java Smart CardsTM可用于许多不同的领域。它们可用于增加对要求高安全等级的信息系统的验证和安全访问。存储在Java SmartCardsTM中的信息便于携带。通过Java CardTM技术,可以在紧密但安全的介质中携带有价值的敏感的个人信息,如病史、信用卡号或电子现金余额等。
还存在不同于智能卡形式的Java CardTM技术,如智能按钮和USB令牌(如图1C和图1D所示)。与智能卡类似,智能按钮和USB令牌也可用于例如验证用户或携带敏感信息。智能按钮可包括电池,并且通常是基于接触的,而USB令牌可直接插入PC的USB端口中,而无需接触或非接触型阅读器。在任一情况下,这些其它形式都可提供与智能卡相同的编程能力,并且具有防篡改性。
除了由JavaTM编程环境提供的保护外,JavaTM卡技术还提供应用程序(或小应用程序)防火墙作为增加的运行时加强保护。该防火墙基本上将JavaTM卡平台划分成多个独立的受保护对象空间(或“内容”)。换句话说,该防火墙在一个内容和另一个内容之间提供了边界。在该环境中,独立的受保护空间(或内容)可能不能相互访问。
应注意,通常将多个小应用程序一起打包在称为JavaTM包的包中。还应注意,单个JavaTM包中的所有小应用程序共享相同的内容。这意味着,在相同包内的小应用程序之间没有防火墙。而且,防火墙边界取决于打包小应用程序的方式。这意味着,不可能根据个别小应用程序来规定防火墙边界。可将该防火墙实施称为基于包的防火墙环境。
在基于包的防火墙环境中,要想允许不在相同包内的小应用程序相互访问,就需要相对复杂的技术。举例来说,必须为可由其它小应用程序访问的小应用程序实施可共用接口(例如,JCSystem.getAppletShareableInterfaceObject()方法)。因此,第一小应用程序可请求访问第二小应用程序的可共用接口。然后,代表第一小应用程序,JavaTM卡运行时环境(JCRE)可以通过调用一种方法(例如,getAppletShareableInterfaceObject()方法)来向第二小应用程序请求访问它的可共用接口。如果第二小应用程序允许访问,那么第一小应用程序必须获得第二小应用程序的引用。
鉴于上述情形,用于提供安全计算环境的备选技术将有用。为了实现本发明的这些和其它目的,公开了用于提供可配置防火墙的框架。该可配置防火墙提供了控制块,该控制块可用作实施并控制计算环境中的各个组件之间的访问权限的机构。因此,该防火墙控制块可用于判定计算环境中的一个组件是否可以访问另一个组件。
举例来说,根据本发明的一个实施例,可以为JavaTM卡计算环境中的每个JavaTM应用程序(或小应用程序)提供一个控制块。由此允许灵活的环境,其中可以为每个单独小应用程序选择性地配置和规定防火墙边界。这提供了灵活的环境,其中可以采用使得可以允许每个小应用程序访问所需的小应用程序集合或反之的方式来规定防火墙边界。
另外,还将说明,可以采用各种适合于不同系统要求(例如,处理速度、存储器)的技术来实施防火墙控制块。因此,该可配置防火墙可用于为各种计算系统,尤其是那些在相对有限的处理能力下运行和/或提供高度专门化功能的计算系统(如智能卡)实施安全性。还将说明,多种形式的防火墙控制块可使用各种技术来实施安全性。本发明的其它方面提供了可用于使用各种防火墙控制块来实施安全性的技术。
本发明可以有多种实施方式,包括系统、装置、方法或计算机可读介质。下文将论述本发明的几个实施例。
作为一种计算环境,本发明的一个实施例包括操作系统、在该操作系统上运行的虚拟机、在该虚拟机上运行的第一和第二应用程序。另外,在该计算环境中提供了防火墙控制块。
防火墙控制块规定了第一应用程序相对于第二应用程序的访问权限,而且还规定了第二应用程序相对于该第一应用程序的访问权限。例如,可为移动设备实施该防火墙控制块。举例来说,可以使用根据本发明一个实施例的防火墙控制块来实施JavaTM智能卡。
又一个实施例可以实施为一种用于为JavaTM顺应性(compliant)计算环境提供安全性的方法。JavaTM顺应性计算环境包括JavaTM虚拟机和多个在该JavaTM虚拟机上运行的JavaTM顺应性小应用程序。首先,接收来自第一JavaTM顺应性小应用程序的请求。该请求是访问第二JavaTM顺应性小应用程序的请求。接着,读取与第二JavaTM顺应性小应用程序相关联的防火墙控制块。此后,根据该防火墙控制块判定是否应当允许第一JavaTM顺应性小应用程序访问该第二JavaTM顺应性小应用程序。下文将论述,该判定可以根据各种不同的标准进行。因此,只有经判定应当允许访问时才同意第一JavaTM顺应性小应用程序的访问。类似地,可以实施包括计算机程序代码的计算机可读介质。
附图说明
结合附图,通过以下详细描述,将能很容易地理解本发明,附图中类似的附图标记表示类似的结构元件,并且在附图中:
图1A、1B、1C和1D示出了移动计算设备。
图2示出了根据本发明一个实施例的示范性计算环境。
图3A-3F示出了根据本发明的几个实施例的防火墙控制块。
图4示出了可为Java小应用程序实施的简化防火墙控制块。
图5示出了根据本发明一个实施例的用于在JavaTM卡环境中提供防火墙的方法。
具体实施方式
如背景技术中所述,考虑到移动设备很普及,所以需要开发更适合它们的编程环境。这些编程环境通常在相对有限的资源(处理能力和/或存储器)下运行和/或提供高度专门化的功能。
作为一种与平台无关的编程环境,其中,JavaTM技术十分适合这样的环境。JavaTM是一种十分适合在分布式环境(如因特网)中使用的编程语言。它经过设计具有C++语言的“观感”,但是它的使用要比C++简单,并且加强了面向对象的编程模型。JavaTM可用于创建可在单个计算机上运行或者可分布在网络中的服务器和客户机中的完整应用程序。它还可用于建造用作网页的一部分的小的应用程序模块或小应用程序。小应用程序使得网页用户可以与网页互动。
JavaTM平台包括Java CardTM技术。Java CardTM技术使JavaTM编程平台适合用在那些环境高度专门化和/或在相对于例如桌面型计算环境更严格的存储器和/或处理限制下运行的智能卡和其它移动设备上。Java Smart CardsTM可用于许多不同的领域。它们可用于增加对要求高安全等级的信息系统的验证和安全访问。存储在Java SmartCardsTM中的信息便于携带。通过Java CardTM技术,可以在紧密但安全的介质中携带有价值的敏感的个人信息,如病史、信用卡号或电子现金余额等。
还存在不同于智能卡形式的Java CardTM技术,如智能按钮和USB令牌(如图1C和图1D所示)。和智能卡几乎一样,这些智能按钮和USB令牌也可用于例如验证用户或携带敏感信息。智能按钮包括电池,并且基于接触,而USB令牌则可直接插入PC的USB端口中,无需接触或非接触型阅读器。两者都提供了与智能卡相同的编程能力,并且具有防篡改性。
除了由JavaTM编程环境提供的保护外,Java CardTM技术还提供应用程序(或小应用程序)防火墙作为增加的运行时加强保护。该防火墙基本上将Java CardTM平台划分成多个独立的受保护对象空间(或“内容”)。换句话说,该防火墙在一个内容和另一个内容之间提供了边界。在该环境中,独立的受保护空间(或内容)可能不能相互访问。
应注意,通常将多个小应用程序一起打包在称为JavaTM包的包中。还应注意,单个JavaTM包中的所有小应用程序共享相同的内容。这意味着,在相同包内的小应用程序之间没有防火墙。而且,防火墙边界取决于打包小应用程序的方式。这意味着,不可能以每个小应用程序为基础来规定防火墙边界。可将该防火墙实施称为基于包的防火墙环境。
在基于包的防火墙环境中,要想允许不在相同包内的小应用程序相互访问,就需要相对复杂的技术。举例来说,必须为一个可由其它小应用程序访问的小应用程序实施可共用接口(例如,JCSystem.getAppletShareableInterfaceObject()方法)。因此,第一小应用程序可请求访问第二小应用程序的可共用接口。然后,代表第一小应用程序,Java卡运行时环境(JCRE)可以通过调用一种方法(例如,getShareableInterfaceObject()方法)来向第二小应用程序请求访问它的可共用接口。如果第二小应用程序允许访问,那么第一小应用程序必须获得第二小应用程序的引用。
鉴于上述情形,用于提供安全计算环境的备选技术将有用。为了实现本发明的这些和其它目的,公开了用于提供可配置防火墙的框架。该可配置防火墙提供了防火墙控制块,该防火墙控制块可用作实施并控制计算环境中的各个组件之间的访问权限的机构。因此,该防火墙控制块可用于根据防火墙控制块中规定的访问权限来判定计算环境中的一个组件是否可以访问另一个组件。
举例来说,根据本发明的一个实施例,可以为Java CardTM计算环境中的每个JavaTM应用程序(或小应用程序)提供一个控制块。由此允许采用使得可以允许每个小应用程序访问所需的小应用程序集合的方式来在每个小应用程序周围配置防火墙边界。另外,还将说明,可以采用各种适合于不同系统要求(例如,处理速度、存储器)的技术来实施防火墙控制块。因此,该可配置防火墙可用于为各种计算系统、尤其是那些在相对有限的处理能力下运行和/或提供高度专门化的功能的计算系统(如智能卡)实施安全性。还将说明,多种形式的防火墙控制块可以相互协作或相互组合地用于实施安全性。本发明的其它方面提供了可用于使用各种防火墙控制块来实施安全性的技术。
下面参照图1-5来论述本发明的实施例。但是,本领域的技术人员将容易地明白,本文针对这些附图给出的详细描述只是为了解释说明的目的,因为本发明的延伸范围超过这些有限的实施例。
图2示出了根据本发明一个实施例的示范性计算环境200。该计算环境200包括卡侧202、阅读器侧204和后端应用程序和系统206。
在所述实施例中,将卡侧202实施为提供多应用环境的JavaCardTM平台202。如图2所示,多个Java CardTM应用程序(或小应用程序)A、B、C、D、E、F和G可驻存在Java CardTM平台202(或Java CardTM)上。这些Java CardTM应用程序(或小应用程序)由Java卡运行时环境(JCRE)208支持。Java卡运行时环境(JCRE)208包括Java CardTM框架、应用程序编程接口(API)和安全设施210。Java卡运行时环境(JCRE)208在由卡操作系统(OS)214支持的JavaTM虚拟机212上运行。Java CardTM小应用程序A、B、C、D、E、F、G和H可在载入时例示化,并且在切断电源时仍有效。因此,卡小应用程序以与服务器类似的方式运转,并且保持被动。换句话说,在对卡平台202加电后,小应用程序在被选中之前一直保持不运行,选中时可进行初始化。
阅读器侧204包括主应用程序220和卡接受设备(CAD)224。例如,主应用程序220可驻存在桌面型电脑或诸如PC、电子付款终端、蜂窝电话或证券子系统等的终端上。在任一情况下,主应用程序220都可便于后端应用程序和系统206与Java CardTM小应用程序A、B、C、D、E、F和G之间的通信。卡接受设备(CAD)224可以是例如位于主应用程序220和Java CardTM平台202之间的接口设备。另外,卡接受设备(CAD)224可以为卡供电和/或便于与卡侧202进行电或(射频)RF通信。例如,CAD 224可以是使用串行端口附设到桌面型电脑的读卡器,或者它可以集成到诸如饭店或加油站的电子付款终端之类的终端中。还应注意,CAD 224可以例如将来自主应用程序220的应用程序协议数据单元(APDU)命令转送给JavaCardTM平台202。应用程序协议数据单元(APDU)还可用于将来自Java CardTM平台202的响应转送给主应用程序220。
因此,阅读器侧204允许Java CardTM平台202的用户访问由主应用程序220和/或后端应用程序和系统206提供的服务。后端应用程序和系统206提供支持JavaTM小应用程序A、B、C、D、E、F和G的服务。例如,后端应用程序206可以提供到电子付款系统的连通性。因此,后端应用程序和系统206可以提供例如对信用卡和/或其它付款信息的访问。
将明白,Java卡运行时环境(JCRE 208)可以为JavaTM小应用程序A、B、C、D、E、F和G提供防火墙保护。而且,由该运行时环境(JCRE 208)提供的防火墙保护可以进行配置。这意味着,其中,不必根据包含一或多个JavaTM小应用程序的包边界来规定防火墙保护。换句话说,不必根据包230、232和234来规定防火墙保护。可以使用防火墙控制块来配置防火墙保护,下文将进一步说明防火墙控制块(例如,参见图3),但是将首先进一步说明可配置的防火墙。
如图2所示,包230包含JavaTM小应用程序A和B。类似地,包232包含JavaTM小应用程序C和D。包234包含JavaTM小应用程序E、F和G。但是,可以单独为每个JavaTM小应用程序规定防火墙边界。换句话说,对于JavaTM小应用程序A、B、C、D、E、F和G中的每个JavaTM小应用程序来说,可以规定与包含该JavaTM小应用程序的包无关的防火墙边界。举例来说,可以通过防火墙边界部分240来同意包230中的JavaTM小应用程序A访问包232中的JavaTM小应用程序C。但是,当包230中的JavaTM小应用程序B试图访问包232中的JavaTM小应用程序C时,防火墙部分240可拒绝JavaTM小应用程序B的访问。
为了进一步说明,图2还示出了JavaTM小应用程序D周围的防火墙边界部分242。例如,防火墙边界部分242可以拒绝包括包含在同一包232中的JavaTM小应用程序C在内的所有其它JavaTM小应用程序的访问。但是,应注意,JavaTM小应用程序D能够访问其它小应用程序(如JavaTM小应用程序B)。还应注意,防火墙可用于实施库,不管是否存在包边界,该库都可由一个或多个选定的JavaTM小应用程序和/或包访问。举例来说,可以将JavaTM小应用程序E和F实施为库250。库250可以由JavaTM小应用程序A、B、C和D中的任何一个JavaTM小应用程序访问。
如上所述,可以使用防火墙控制块来实施防火墙边界。根据本发明的一个方面,可以为每个JavaTM小应用程序和/或JavaTM包规定该防火墙控制块。防火墙控制块可用于判定是否应当同意一个JavaTM小应用程序访问另一个JavaTM小应用程序和/或JavaTM包。
图3A示出了根据本发明一个实施例的防火墙控制块300。防火墙控制块300包括防火墙控制值302和防火墙控制指示符304。防火墙控制值302提供访问权限定义。防火墙控制指示符304指示应如何解释这些定义以便判定一个组件是否应当访问另一个组件。
例如,防火墙控制值302可用于为JavaTM小应用程序定义防火墙访问值。换句话说,控制值302可以为第一JavaTM小应用程序和/或包定义访问权限。然后,防火墙控制指示符304可用于判定其它JavaTM小应用程序是否可以访问该第一JavaTM小应用程序和/或JavaTM包。将了解,例如,可以将防火墙控制值302和304均实施为字节数组(即,一个或多个字节的数组)。图3B示出了防火墙控制块310的实施例。防火墙控制块310包括表示为M字节数组的防火墙控制值。N字节数组表示防火墙控制指示符。应注意,N通常小于M(即,防火墙控制指示符通常需要较少的字节)。
为了进一步说明,图4示出了分别为图2中的小应用程序A、B、C、D、E、F和G实施的简化防火墙控制块A、B、C、D、E、F和G。因此,例如,防火墙控制块A可用于判定JavaTM小应用程序A可以访问哪些JavaTM小应用程序。另外,防火墙控制块A还可用于判定另一个小应用程序是否可以访问JavaTM小应用程序A。如图4所示,防火墙控制块A包括防火墙控制值402和防火墙控制指示符404。防火墙控制值402表示为一系列数值(例如,字节值{1,2,3,4,5,6})。
防火墙控制值402({1,2,3,4,5,6})可用于判定JavaTM小应用程序A是否可以访问例如JavaTM小应用程序C。为了作出该判定,可以使用防火墙控制块C的防火墙控制指示符408。防火墙控制指示符408指示值{3}。例如,可将这个指示符值解释为允许那些与防火墙控制块C的防火墙控制值406({1,2,3,7,8,9})中的前三个值匹配的JavaTM小应用程序(或包)的访问。
这意味着,可将防火墙控制值402({1,2,3,4,5,6})中的前三个值和防火墙控制值406({1,2,3,7,8,9})中的前三个值进行比较。应注意,防火墙控制值402({1,2,3,4,5,6})中的前三个值和防火墙控制值406({1,2,3,7,8,9})中的前三个值相匹配。因此,可同意小应用程序A访问小应用程序C。
另一方面,小应用程序C不可访问小应用程序A,因为防火墙控制指示符404({4})指示防火墙控制值406({1,2,3,7,8,9})中的前四个值应当与防火墙控制值402({1,2,3,4,5,6})中的前四个值相匹配。但是,第四个值并不匹配(即,7不等于4)。因此,拒绝小应用程序C访问小应用程序A。
类似地,不同意JavaTM小应用程序B访问JavaTM小应用程序C,因为防火墙控制值410({1,9,4,3,5,6})中的第二个值(或第三个值)与防火墙控制值406({1,2,3,7,8,9})中的第二个值(或第三个值)不匹配。防火墙控制块D的防火墙控制指示符412指示值{40}。例如,该值{40}可指示其它JavaTM小应用程序都不可访问JavaTM小应用程序D(例如,只有Java CardTM管理系统可以访问JavaTM小应用程序D)。但是,JavaTM小应用程序D能够访问其它JavaTM小应用程序(如JavaTM小应用程序B)。另一方面,分别为JavaTM小应用程序E和F提供的防火墙控制指示符414和416可指示值{1},例如,可将该值{1}解释为允许第一个防火墙控制值等于该值{1}的所有JavaTM小应用程序(例如,小应用程序A、B、C、D和G)的访问。因此,例如,小应用程序E和F可代表可提供给其它选定的小应用程序的库。
图3C示出了根据本发明另一个实施例的控制块320。如图3C所示,可将防火墙控制值302实施为字节数组,而使用单个字节来实施防火墙控制指示符304。
还应注意,根据本发明的其它实施例,可以使用另外的单个字节来实施防火墙控制块。可将该单个字节添加到通常已经可用的数据中。为了进行说明,图3D示出了根据本发明另一个实施例的防火墙内容实施例330。防火墙内容实施例330包括内容标识(ID)332和应用标识符数据(AID),它们通常是在Java CardTM环境中提供的。除了这两个外,还提供了AID的字节指示符336。AID的字节指示符336的使用方式可以与防火墙控制指示符(例如,如图4中所示的404、408)类似,而应用标识符数据(AID)可用作防火墙控制值(例如,图4中的402、406)。
将了解,与现有Java CardTM环境类似,可根据ISO 7816标准来定义应用标识符数据(AID)。ISO 7816是描述宽范围的用于建造智能卡系统的技术的多部分标准。ISO 7816-5定义了将用于唯一标识卡应用(以及卡文件系统中的某些种类的文件)的AID(应用标识符)数据格式。Java CardTM平台使用该AID数据格式来标识小应用程序和包。AID由国际标准化组织(ISO)管理,因此它们可用作唯一标识符。
如图3E所示,Java CardTM平台所用的AID格式可以是字节数组,将该字节数组解释为两个不同片断。第一片断是称为RID(资源标识符)的5字节值。第二片断是称为PIX(独家标识符扩展)的可变长度值。PIX的长度可以是从0到11个字节。因此,AID的总长可以是从5到16个字节。ISO控制着将RID分配给各个公司,其中每个公司从ISO获得它自己的唯一RID。各公司使用它们自己的RID来管理为AID分配PIX。在JavaTM平台中,使用Unicode字符串和基于因特网域名的命名机制来唯一地标识包。在Java CardTM平台中,可以使用AID来标识包和小应用程序。因此,安装在Java CardTM技术允许设备上的每个小应用程序都具有唯一的AID。这个AID以类似于包AID的方式构造而成。它通常是那个小应用程序的小应用程序供应商的RID和PIX的串联。
图3F示出了根据本发明又一个实施例的防火墙控制块350的一个实施例。例如,防火墙控制块350可代表图3D中的控制块330的一个实施例。在任一情况下,与现有Java CardTM环境类似,使用字节数组来表示AID,并且使用短值来表示通常用于表示内容(或对象空间)的内容ID。将了解,将AID字节指示符实施为单个字节值。因此,控制块350可适用于那些无需将用于防火墙实施的开销减到最少的情形。然而,可以采用如上所述的类似方式,将AID字节指示符用作防火墙控制指示符,并将AID用作防火墙控制值。
图3G示出了根据本发明再一个实施例的控制块360。在所述实施例中,使用表示RID值的单字节数组来实施控制块360。这意味着,只使用RID值来判定JavaTM小应用程序(或包)是否可以访问另一个JavaTM小应用程序(或包)。举例来说,如果RID值匹配,那么可以同意访问。RID值通常是在Java CardTM环境中提供的。因此,可以在无需大量开销用于存储并处理防火墙控制块信息的情况下实施控制块360。与RID值类似,AID值也可用于实施防火墙控制块。
基于上文,应明白,本发明设想许多不同的防火墙控制块实施例。这些实施例中的一个或多个实施例可适合于特定的系统要求(例如,存储器存储、速度等)。例如,图3G中的控制块360可适合于那些应当将指派给防火墙的存储器和开销减到最少的环境。
还应注意,各种实施例可进行组合。举例来说,图3H示出了根据本发明另一个实施例的控制块370。例如,控制块370可表示控制块320和350的组合。在所描述的实施例中,提供了AID、防火墙控制值和防火墙控制指示符。下文将说明,控制块370提供了使用各种技术在JavaTM卡环境中实施可配置防火墙的灵活性。另外,控制块370可用作用于说明这些技术中的一些技术的有用工具。
因此,图5示出了根据本发明一个实施例的用于在JavaTM卡环境中提供防火墙的方法500。例如,方法500可与图3H中的控制块370结合使用,其中在图3H的控制块370中提供了AID、防火墙控制值和防火墙控制指示符。首先,在操作502,读取第一JavaTM小应用程序的第一字节码指令。接着,在操作504,作出第一JavaTM小应用程序的该字节码是否正在尝试访问另一个(或第二)JavaTM小应用程序中的对象的判定。如果在操作504中判定第一JavaTM小应用程序的该字节码没有在尝试访问第二JavaTM小应用程序中的对象,那么方法500进行至操作506,在操作506,判定是否已经到达最后一个字节码指令。如果经判定已经到达最后一个字节码指令,那么方法500结束。但是,如果在操作506判定尚未到达最后一个字节码指令,那么方法500进行至操作508,在操作508,读取第一JavaTM小应用程序的下一个字节码指令。此后,方法500进行至操作504,在操作504,判定第一JavaTM小应用程序的该字节码是否正在尝试访问第二JavaTM小应用程序中的对象。
如果在操作504判定第一JavaTM小应用程序的该字节码正在尝试访问第二JavaTM小应用程序中的对象,那么方法500进行至操作510,在操作510,读取第二JavaTM小应用程序的防火墙控制指示符。因此,在操作512,作出第二JavaTM小应用程序的防火墙控制指示符是否等于第一值(例如,0x80)的判定。如果在操作512判定第二JavaTM小应用程序的防火墙控制指示符等于第一值,那么方法500进行至操作514,在操作514,可以绕过控制块防火墙保护(例如,可以根据包边界提供防火墙保护)。方法500在操作514之后结束。但是,如果在操作512判定第二JavaTM小应用程序的防火墙控制指示符不等于第一值,那么方法500进行至操作516,在操作516,判定第二JavaTM小应用程序的防火墙控制指示符是否等于第二值。该第二值可指示应比较第一和第二JavaTM小应用程序的PIX值(例如,参见图3E)是否匹配。因此,如果第二JavaTM小应用程序的防火墙控制指示符等于第二值,那么在操作518,可以比较第一和第二小应用程序的PIX值。此后,方法500进行至操作520,在操作520,判定这些值是否匹配。如果这些值不匹配,那么方法500进行至操作522,在操作522,拒绝访问。另外,在操作524,输出错误(例如,可以发出“Java.lang.SecurityException”)。方法500在操作524之后结束。
另一方面,如果在操作520判定存在匹配,那么方法500进行至操作526,在操作526,同意第一JavaTM小应用程序访问第二JavaTM小应用程序。将了解,可以在无需实施可共用接口的情况下提供该访问。在一个实施例中,通过调用一种方法来提供第二小应用程序的引用。例如,该方法可以是实施为JavaTM卡管理(或系统)环境的一部分的相对简单的获取引用方法(例如,getAppletReference()方法)。本领域的技术人员将了解,还可以为该获取引用方法提供伙伴方法。例如,该伙伴方法可以是实施为JavaTM小应用程序类的方法。
继续参照图5,如果在操作516判定第二JavaTM小应用程序的防火墙控制指示符不等于第二值,那么方法500进行至操作528,在操作528,判定第二JavaTM小应用程序的防火墙控制指示符是否等于第三值。如果第二JavaTM小应用程序的防火墙控制指示符等于第三值,那么方法500进行至操作530,在操作530,比较第一和第二小应用程序的AID(例如,参见图3E)值。此后,方法500以如上所述的类似方式进行至操作520。
但是,如果在操作528判定第二JavaTM小应用程序的防火墙控制指示符不等于第三值,那么方法500进行至操作532,在操作532,判定它是否等于第四值。该第四值可指示访问只留给Java CardTM管理。因此,如果第二JavaTM小应用程序的防火墙控制指示符等于第四值,那么方法500进行至操作534,在操作534,判定是否正在JavaCardTM管理内容下执行该字节码(例如,内容ID是否是Java CardTM管理的内容ID)。取决于该判定,方法500可以采用如上所述的类似方式,要么进行至步骤522,在步骤522拒绝访问,要么进行至步骤526,在步骤526同意访问。
最后,如果在操作532判定第二JavaTM小应用程序的防火墙控制指示符不等于第四值,那么方法500进行至操作536,在操作536,解释该防火墙控制指示符。举例来说,可以采用与如图4所述类似的方式来解释该防火墙控制指示符,其中根据该防火墙控制指示符的值来比较分别分配给第一和第二小应用程序的防火墙控制值的一个或多个字节。在任一情况下,根据该解释,在操作538,确定适当的控制值,并比较它们的匹配性。因此,方法500进行至操作520,在操作520,判定这些值之间是否匹配。方法500以如上所述的类似方式进行,在操作526同意访问,或者在操作522拒绝访问。在操作524,输出错误,或者在操作526,允许第一JavaTM小应用程序访问第二JavaTM小应用程序,此后方法500结束。
通过书面描述,本发明的许多特征和优点显而易见,因此,所附权利要求要覆盖本发明的所有这些特征和优点。另外,因为本领域的技术人员将能很容易地想到许多修改和变化,所以不希望将本发明限制在所示和所述的确切构造和操作。因此,可将所有合适的修改和等价物再分类为落在本发明的范围内。

Claims (20)

1.一种计算系统,包括:
操作系统;
在所述操作系统上运行的虚拟机;
在所述虚拟机上运行的第一应用程序;
在所述虚拟机上运行的第二应用程序;
为所述第一应用程序而实施的第一防火墙控制块;以及
为所述第二应用程序而实施的第二防火墙控制块;
其中所述第一防火墙控制块和所述第二防火墙控制块共同规定了所述第一应用程序相对于所述第二应用程序的访问权限,而且还共同规定了所述第二应用程序相对于所述第一应用程序的访问权限。
2.如权利要求1所述的计算系统,其特征在于,所述第一防火墙控制块和为所述计算系统中的任何其他应用程序而实施的任何其他防火墙控制块共同规定了所述第一应用程序相对于所述计算环境中的任何其它应用程序的访问权限,而且还共同规定了所述任何其它应用程序相对于所述第一应用程序的访问权限。
3.如权利要求2所述的计算系统,其特征在于,所述第一防火墙控制块包括防火墙控制值和防火墙控制指示符。
4.如权利要求3所述的计算系统,
其中所述防火墙控制值是由一个或多个字节表示的访问权限控制值,并且
其中所述防火墙控制值是由一个或多个字节表示的指示符值,所述一个或多个字节指示应当如何相对于其它应用程序的访问权限解释所述防火墙控制值。
5.如权利要求3所述的计算系统,
其中所述计算系统是JavaTM顺应性计算环境,
其中所述第一和第二应用程序是JavaTM顺应性小应用程序,以及
其中所述防火墙控制值包括资源标识符。
6.如权利要求3所述的计算系统,
其中所述计算系统是JavaTM顺应性计算环境,
其中所述第一和第二应用程序是JavaTM顺应性小应用程序,以及
其中所述防火墙控制块包括应用标识符。
7.如权利要求3所述的计算系统,
其中所述计算系统是JavaTM卡顺应性计算环境,以及
其中所述第一防火墙控制块被实施在运行时环境中。
8.一种移动计算设备,包括:
操作系统;
在所述操作系统上运行的JavaTM顺应性虚拟机;
在所述JavaTM顺应性虚拟机上运行的第一JavaTM顺应性小应用程序;
在所述JavaTM顺应性虚拟机上运行的JavaTM顺应性小应用程序;
为所述第一JavaTM顺应性小应用程序而实施的第一防火墙控制块;以及
为在所述JavaTM顺应性虚拟机上运行的至少一个其他JavaTM顺应性小应用程序而实施的至少一个其他防火墙控制块;
其中所述第一防火墙控制块和所述至少一个其他防火墙控制块共同规定了所述第一JavaTM顺应性小应用程序相对于所述至少一个其它JavaTM顺应性小应用程序的访问权限,而且还共同规定了所述至少一个其它JavaTM顺应性小应用程序相对于所述第一JavaTM顺应性小应用程序的访问权限。
9.如权利要求8所述的移动计算设备,其特征在于,所述移动设备是JavaTM顺应性智能卡。
10.如权利要求9所述的移动计算设备,其特征在于,所述第一防火墙控制块包括防火墙控制值和防火墙控制指示符。
11.如权利要求9所述的移动计算设备,
其中所述防火墙控制值是由一个或多个字节表示的访问权限控制值,以及
其中所述防火墙控制值是由一个或多个字节表示的指示符值,所述一个或多个字节指示应当如何相对于其它应用程序的访问权限解释所述防火墙控制值。
12.如权利要求9所述的移动计算设备,其特征在于,所述第一防火墙控制块包括资源标识符。
13.如权利要求9所述的移动计算设备,其特征在于,所述第一防火墙控制块包括独家标识符扩展。
14.如权利要求9所述的移动计算设备,其特征在于,为每个JavaTM顺应性小应用程序规定防火墙控制块。
15.一种用于为JavaTM顺应性计算环境提供安全性的方法,所述JavaTM顺应性计算环境包括JavaTM虚拟机和多个在所述JavaTM虚拟机上运行的JavaTM顺应性小应用程序,所述方法包括:
接收来自在JavaTM虚拟机上运行的第一JavaTM顺应性小应用程序的访问第二JavaTM顺应性小应用程序的请求;
读取与所述第二JavaTM顺应性小应用程序相关联的防火墙控制块;
根据所述防火墙控制块判定是否应当允许所述第一JavaTM顺应性小应用程序访问所述第二JavaTM顺应性小应用程序;以及
当所述判定步骤判定应当允许访问时,允许所述第一JavaTM顺应性小应用程序访问所述第二JavaTM顺应性小应用程序。
16.如权利要求15所述的方法,其特征在于,所述方法还包括:
当所述判定步骤判定应当允许访问时,向所述第一JavaTM顺应性小应用程序提供关于所述第二JavaTM顺应性小应用程序的引用。
17.如权利要求15所述的方法,其特征在于,所述提供引用的步骤包括:
调用经实施的第一方法,所述第一方法实施为JavaTM管理环境的一部分;以及
调用第二方法,由于所述调用第二方法而将所述第二方法实施为小应用程序类。
18.如权利要求15所述的方法,其特征在于,所述判定是否应当允许所述第一JavaTM顺应性小应用程序访问所述第二JavaTM顺应性小应用程序的判定步骤包括:
读取防火墙控制值;以及
读取防火墙控制指示符。
19.如权利要求15所述的方法,其特征在于,所述判定是否应当允许所述第一JavaTM顺应性小应用程序访问所述第二JavaTM顺应性小应用程序的判定步骤包括:
读取与所述第一JavaTM顺应性小应用程序相关联的第一独家标识符扩展;
读取与所述第二JavaTM顺应性小应用程序相关联的第二独家标识符扩展;
判定所述第一独家标识符扩展是否与所述第二独家标识符扩展匹配;以及
只有当所述判定步骤判定所述第一独家标识符扩展与所述第二独家标识符扩展匹配时才允许访问。
20.如权利要求15所述的方法,其特征在于,所述判定是否应当允许所述第一JavaTM顺应性小应用程序访问所述第二JavaTM顺应性小应用程序的判定步骤包括:
读取与所述第一JavaTM顺应性小应用程序相关联的第一应用标识符;
读取与所述第二JavaTM顺应性小应用程序相关联的第二应用标识符;
判定所述第一应用标识符是否与所述第二应用标识符匹配;以及
只有当所述判定步骤判定所述第一应用标识符与所述第二应用标识符匹配时才允许访问。
CNB200480041732XA 2003-12-22 2004-12-09 用于为计算系统提供可配置防火墙的框架 Active CN100449503C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/743,929 2003-12-22
US10/743,929 US7543331B2 (en) 2003-12-22 2003-12-22 Framework for providing a configurable firewall for computing systems

Publications (2)

Publication Number Publication Date
CN1918549A CN1918549A (zh) 2007-02-21
CN100449503C true CN100449503C (zh) 2009-01-07

Family

ID=34678717

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200480041732XA Active CN100449503C (zh) 2003-12-22 2004-12-09 用于为计算系统提供可配置防火墙的框架

Country Status (5)

Country Link
US (2) US7543331B2 (zh)
EP (1) EP1697845A4 (zh)
JP (2) JP4850073B2 (zh)
CN (1) CN100449503C (zh)
WO (1) WO2005066786A1 (zh)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953671B2 (en) 1999-08-31 2011-05-31 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US7889052B2 (en) 2001-07-10 2011-02-15 Xatra Fund Mx, Llc Authorizing payment subsequent to RF transactions
US7725427B2 (en) 2001-05-25 2010-05-25 Fred Bishop Recurrent billing maintenance with radio frequency payment devices
US8001054B1 (en) 2001-07-10 2011-08-16 American Express Travel Related Services Company, Inc. System and method for generating an unpredictable number using a seeded algorithm
US7668750B2 (en) 2001-07-10 2010-02-23 David S Bonalle Securing RF transactions using a transactions counter
US7705732B2 (en) 2001-07-10 2010-04-27 Fred Bishop Authenticating an RF transaction using a transaction counter
US7735725B1 (en) 2001-07-10 2010-06-15 Fred Bishop Processing an RF transaction using a routing number
US7360689B2 (en) 2001-07-10 2008-04-22 American Express Travel Related Services Company, Inc. Method and system for proffering multiple biometrics for use with a FOB
US7303120B2 (en) * 2001-07-10 2007-12-04 American Express Travel Related Services Company, Inc. System for biometric security using a FOB
US9454752B2 (en) 2001-07-10 2016-09-27 Chartoleaux Kg Limited Liability Company Reload protocol at a transaction processing entity
US8548927B2 (en) 2001-07-10 2013-10-01 Xatra Fund Mx, Llc Biometric registration for facilitating an RF transaction
US9031880B2 (en) 2001-07-10 2015-05-12 Iii Holdings 1, Llc Systems and methods for non-traditional payment using biometric data
US8294552B2 (en) 2001-07-10 2012-10-23 Xatra Fund Mx, Llc Facial scan biometrics on a payment device
US8279042B2 (en) 2001-07-10 2012-10-02 Xatra Fund Mx, Llc Iris scan biometrics on a payment device
US20040236699A1 (en) 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for hand geometry recognition biometrics on a fob
US7249112B2 (en) 2002-07-09 2007-07-24 American Express Travel Related Services Company, Inc. System and method for assigning a funding source for a radio frequency identification device
US9024719B1 (en) 2001-07-10 2015-05-05 Xatra Fund Mx, Llc RF transaction system and method for storing user personal data
US6805287B2 (en) 2002-09-12 2004-10-19 American Express Travel Related Services Company, Inc. System and method for converting a stored value card to a credit card
US7191288B2 (en) * 2004-02-24 2007-03-13 Sun Microsystems, Inc. Method and apparatus for providing an application on a smart card
US7140549B2 (en) * 2004-02-24 2006-11-28 Sun Microsystems, Inc. Method and apparatus for selecting a desired application on a smart card
US7165727B2 (en) * 2004-02-24 2007-01-23 Sun Microsystems, Inc. Method and apparatus for installing an application onto a smart card
US7374099B2 (en) * 2004-02-24 2008-05-20 Sun Microsystems, Inc. Method and apparatus for processing an application identifier from a smart card
BRPI0510378B1 (pt) 2004-04-30 2018-12-11 Blackberry Ltd Método de manusear transferências de dados em um dispositivo móvel , mídia lida porcomputador e aparelho de transferência de dados
US20060047698A1 (en) * 2004-06-03 2006-03-02 Casting Workbook Services Inc. Method and system for creating, tracking, casting and reporting on moving image projects
US7318550B2 (en) 2004-07-01 2008-01-15 American Express Travel Related Services Company, Inc. Biometric safeguard method for use with a smartcard
US20060000893A1 (en) * 2004-07-01 2006-01-05 American Express Travel Related Services Company, Inc. Method for biometric security using a smartcard-reader
DE102004059391C5 (de) * 2004-12-09 2012-01-12 Jörg Eberwein Krypto-Wireless-Tag
US7232073B1 (en) 2004-12-21 2007-06-19 Sun Microsystems, Inc. Smart card with multiple applications
US7719708B2 (en) * 2005-06-01 2010-05-18 Sharp Laboratories Of America, Inc. Secured release method and system for transmitting and imaging a print job in which a security attribute in the print job header will prevent acceptance of subsequent data packets until a user performs authentication on the imaging device
US20070017969A1 (en) * 2005-07-14 2007-01-25 Wilson James B Iii Identification card
JP4867482B2 (ja) * 2006-06-06 2012-02-01 富士ゼロックス株式会社 制御プログラムおよび通信システム
EP1971101B1 (en) * 2007-03-12 2018-11-21 Nokia Solutions and Networks GmbH & Co. KG A method , a device for configuring at least one firewall and a system comprising such device
US8024790B2 (en) * 2007-04-11 2011-09-20 Trend Micro Incorporated Portable secured computing environment for performing online confidential transactions in untrusted computers
US7913299B2 (en) * 2007-12-21 2011-03-22 International Business Machines Corporation Systems, methods and computer program products for firewall use of certified binaries
US8479006B2 (en) * 2008-06-20 2013-07-02 Microsoft Corporation Digitally signing documents using identity context information
CN101452397B (zh) * 2008-11-27 2012-08-22 上海交通大学 虚拟化环境中的强制访问控制方法及装置
CN101964068A (zh) * 2009-07-22 2011-02-02 深圳市江波龙电子有限公司 一种sd卡及其数据访问控制方法
JP5258059B2 (ja) * 2009-08-27 2013-08-07 Necカシオモバイルコミュニケーションズ株式会社 通信端末装置、および、プログラム
US8335921B2 (en) 2010-12-17 2012-12-18 Google, Inc. Writing application data to a secure element
US8807440B1 (en) 2010-12-17 2014-08-19 Google Inc. Routing secure element payment requests to an alternate application
US8352749B2 (en) 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US8479294B1 (en) 2011-02-15 2013-07-02 Trend Micro Incorporated Anti-malware scan management in high-availability virtualization environments
JP5807677B2 (ja) * 2011-05-24 2015-11-10 日本電気株式会社 情報処理システム、アクセス権管理方法、情報処理装置およびその制御方法と制御プログラム
US8171525B1 (en) 2011-09-15 2012-05-01 Google Inc. Enabling users to select between secure service providers using a central trusted service manager
US8255687B1 (en) 2011-09-15 2012-08-28 Google Inc. Enabling users to select between secure service providers using a key escrow service
US8313036B1 (en) 2011-09-16 2012-11-20 Google Inc. Secure application directory
US9161226B2 (en) 2011-10-17 2015-10-13 Blackberry Limited Associating services to perimeters
US9613219B2 (en) 2011-11-10 2017-04-04 Blackberry Limited Managing cross perimeter access
EP2592578A1 (en) * 2011-11-10 2013-05-15 Research In Motion Limited Managing cross perimeter access
US8799227B2 (en) 2011-11-11 2014-08-05 Blackberry Limited Presenting metadata from multiple perimeters
US8484732B1 (en) 2012-02-01 2013-07-09 Trend Micro Incorporated Protecting computers against virtual machine exploits
US8966632B1 (en) 2012-02-17 2015-02-24 Trend Micro Incorporated In-the-cloud sandbox for inspecting mobile applications for malicious content
US8385553B1 (en) 2012-02-28 2013-02-26 Google Inc. Portable secure element
US8429409B1 (en) 2012-04-06 2013-04-23 Google Inc. Secure reset of personal and service provider information on mobile devices
US9369466B2 (en) 2012-06-21 2016-06-14 Blackberry Limited Managing use of network resources
CN103093142B (zh) * 2012-12-26 2015-07-22 飞天诚信科技股份有限公司 一种Java卡对象访问的控制方法
US9378065B2 (en) 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
US9721086B2 (en) 2013-03-15 2017-08-01 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US10075384B2 (en) 2013-03-15 2018-09-11 Advanced Elemental Technologies, Inc. Purposeful computing
US9444912B1 (en) 2013-05-21 2016-09-13 Trend Micro Incorporated Virtual mobile infrastructure for mobile devices
US9225799B1 (en) 2013-05-21 2015-12-29 Trend Micro Incorporated Client-side rendering for virtual mobile infrastructure
US9300720B1 (en) 2013-05-21 2016-03-29 Trend Micro Incorporated Systems and methods for providing user inputs to remote mobile operating systems
US9049169B1 (en) 2013-05-30 2015-06-02 Trend Micro Incorporated Mobile email protection for private computer networks
GB2517493A (en) * 2013-08-23 2015-02-25 Advanced Risc Mach Ltd Handling access attributes for data accesses
US9507617B1 (en) 2013-12-02 2016-11-29 Trend Micro Incorporated Inter-virtual machine communication using pseudo devices
WO2015102131A1 (ko) * 2014-01-03 2015-07-09 주식회사 케이티 입력장치를 갖는 무선식별 태그
JP6282204B2 (ja) 2014-09-12 2018-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュアサイト内のネットワークへのアクセス監視システム、方法
US10592710B1 (en) * 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CN111147428B (zh) * 2018-11-06 2022-04-26 中国电信股份有限公司 访问控制方法、系统、安全单元se访问插件装置和终端
EP3825881B1 (en) * 2019-11-21 2021-12-29 IDEMIA France Managing personalisation in a device implementing a java card environment
US11544373B2 (en) * 2020-12-18 2023-01-03 Huawei Technologies Co., Ltd. Method and system for application security
WO2023225078A1 (en) 2022-05-20 2023-11-23 Advanced Elemental Technologies, Inc. Systems and methods for a connected computing resource and event/activity identification information infrastructure using near existential or existential biometric identification of humans

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180871A (zh) * 1996-10-21 1998-05-06 国际商业机器公司 从外部通过防火墙访问计算机资源

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1516795A (en) * 1922-07-14 1924-11-25 Schwarting Louise Limb support for operating tables
US1721221A (en) * 1926-04-14 1929-07-16 Jauregui Pedro Surgical arm chair
US5092552A (en) * 1982-10-04 1992-03-03 Wang Laboratories, Inc. Ergonomic equipment arm
US4997054A (en) * 1989-04-14 1991-03-05 J. I. Case Company Adjustable wrist rest
JP4145365B2 (ja) * 1994-08-03 2008-09-03 株式会社野村総合研究所 ファイルアクセス制御装置
JP3688830B2 (ja) 1995-11-30 2005-08-31 株式会社東芝 パケット転送方法及びパケット処理装置
US5751813A (en) 1996-04-29 1998-05-12 Motorola, Inc. Use of an encryption server for encrypting messages
US6047376A (en) 1996-10-18 2000-04-04 Toshiba Information Systems (Japan) Corporation Client-server system, server access authentication method, memory medium stores server-access authentication programs, and issuance device which issues the memory medium contents
US6678822B1 (en) 1997-09-25 2004-01-13 International Business Machines Corporation Method and apparatus for securely transporting an information container from a trusted environment to an unrestricted environment
US6056162A (en) * 1997-10-31 2000-05-02 Spectronics Corporation Self-contained service tool for adding fluorescent leak detection dye into systems operating with pressurized fluids
CA2228687A1 (en) 1998-02-04 1999-08-04 Brett Howard Secured virtual private networks
US6000916A (en) * 1998-02-06 1999-12-14 Optimize Technologies, Inc. Pump head quick connect assembly
US6317838B1 (en) 1998-04-29 2001-11-13 Bull S.A. Method and architecture to provide a secured remote access to private resources
US6092202A (en) 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
US20040154027A1 (en) * 1998-10-14 2004-08-05 Jean-Jacques Vandewalle Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server
US6256690B1 (en) 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card
US6526506B1 (en) 1999-02-25 2003-02-25 Telxon Corporation Multi-level encryption access point for wireless network
US6542993B1 (en) 1999-03-12 2003-04-01 Lucent Technologies Inc. Security management system and method
GB2348568A (en) 1999-03-31 2000-10-04 Ibm Enabling conformance to legislative requirements for mobile devices
US7127605B1 (en) * 1999-05-10 2006-10-24 Axalto, Inc. Secure sharing of application methods on a microcontroller
US7620980B1 (en) * 1999-07-21 2009-11-17 Sun Microsystems, Inc. Secure data broker
US20010007146A1 (en) 1999-12-23 2001-07-05 Uwe Hansmann Method for providing a set of software components
JP4548758B2 (ja) * 2000-09-05 2010-09-22 大日本印刷株式会社 共有アクセス管理機能を備えた携帯可能な情報処理装置
JP2002189633A (ja) * 2000-12-21 2002-07-05 Nec Corp 仮想空間のメモリ保護方法及び装置
US7380008B2 (en) * 2000-12-22 2008-05-27 Oracle International Corporation Proxy system
US6619747B2 (en) * 2001-04-25 2003-09-16 Kam Ko Torso and forearm supporting device for chairs and workstands
US7392546B2 (en) * 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US6896183B2 (en) 2001-08-03 2005-05-24 Dai Nippon Printing Co., Ltd. Multi-application IC card
US6704959B2 (en) * 2001-08-13 2004-03-16 Peter Schuerch Adjustable position limb support for surgical tables
JP3927411B2 (ja) * 2001-12-27 2007-06-06 大日本印刷株式会社 Icカードプログラム及びicカード
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US7240830B2 (en) * 2002-02-15 2007-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Layered SIM card and security function
US6786461B1 (en) * 2003-07-30 2004-09-07 Horng Sheng Lih Enterprise Co., Ltd. Computer armrest

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180871A (zh) * 1996-10-21 1998-05-06 国际商业机器公司 从外部通过防火墙访问计算机资源

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Java Card TM 2.1 Runtime Environment (JCRE) sPECIFICATION. Sun Microsystems,Inc.,6-3-6-14. 1999
Java Card TM 2.1 Runtime Environment (JCRE) sPECIFICATION. Sun Microsystems,Inc.,6-3-6-14. 1999 *

Also Published As

Publication number Publication date
EP1697845A4 (en) 2008-04-23
US7543331B2 (en) 2009-06-02
JP2007515732A (ja) 2007-06-14
US20050138354A1 (en) 2005-06-23
EP1697845A1 (en) 2006-09-06
JP2011150709A (ja) 2011-08-04
US20050149926A1 (en) 2005-07-07
US7503064B2 (en) 2009-03-10
JP5323873B2 (ja) 2013-10-23
WO2005066786A1 (en) 2005-07-21
JP4850073B2 (ja) 2012-01-11
CN1918549A (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
CN100449503C (zh) 用于为计算系统提供可配置防火墙的框架
CN100590590C (zh) 包括便携式数据处理单元的数据交换系统
EP0666550B1 (en) Data exchange system comprising portable data processing units
US7185110B2 (en) Data exchange system comprising portable data processing units
CN100365650C (zh) 用于非接触ic卡的通信系统和通信方法
CN101896916A (zh) 在安全环境和非安全环境之间的交互
EP2048591B1 (en) Method for communication, communication device and secure processor
CN104012122A (zh) 用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体
US6769620B2 (en) IC card reader with improved man-machined interface
CA2732203A1 (en) Authorization system with a card and a reader
CN102542226A (zh) 一种应用终端访问智能卡的安全访问实现方法
EP0488720B1 (en) A portable electronic device and a method for processing data therefor
JP2003203056A (ja) ユーザクライアントサーバシステム
Qabs et al. Design and implementation of a smart card simulator
CN1953372A (zh) 一种智能密钥设备及其与主机信息交互的方法
CN101765854B (zh) 用于恢复mifare存储器的移动通信设备和方法
Oldenburg et al. Smartcard-based multi user security concept for mobile devices
Corcoran et al. An open middleware for smart cards

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant