在二个单元之间通信的方法以及使用该方法的终端的制作方法

文档序号:6375088阅读:191来源:国知局
专利名称:在二个单元之间通信的方法以及使用该方法的终端的制作方法
技术领域
本发明涉及允许网络浏览类型行为和给用户提供安装应用程序可能性的计算机终端。
背景技术
上述的终端尤其可以是使用无线应用协议(WAP)的电话、办公计算机、便携式计算机或者个人数字助理(PDA)。它们共同具有被连接到数字数据网的共用的特征,在许多实际的情况下,该数字数据网络是一个按照IP协议(“网际协议”)工作的网络,尤其是因特网。
在“闭路的”终端(例如,小型电视机)的情况下,在该终端上现行的应用程序是已知的,并且在该终端的使用期限期间不能被改变。
终端的开放指的是给用户提供便利去安装和经常下载新的应用程序,该应用程序是由该终端自己运行。结合这种便利性的“开放”终端的例子是·下载应用程序的电话,例如,Java MIDP类型(“移动信息设备简述”,Sun微系统公司);·带有脚本功能的浏览器,例如,WMLScript类型(参见“WAPWMLScript语言规范说明”,版本1.1,WAP论坛,2001年11月),或者ECMAScript类型(也被称为JavaScript,参见“ECMAScript语言规范说明”,标准ECMA-262,第三版,1999年12月),或者接受applets(Java的程序)的浏览器;·在诸如PalmOS、WindowsCE、Symbian等等的操作系统之下工作的大多数的PDA;·办公室用的或者便携式计算机。
“半开放”终端是其中某些功能不是由用户安装或下载的应用程序可直接访问的开放终端。例如,在一个只有ECMAScript是“开放”的终端中,下载的应用程序不能实现该网络所有的功能(例如,传输IP数据分组,其不符合大多数的公共传输协议,即TCP(“传输控制协议”)或者UDP(“用户数据报协议”)。这些功能通过间接受控方式是可以被实现的。例如,ECMAScript功能可以通过HTTP(“WWW服务程序所用的协议”)下令加载一个页面,但是其是以受控的方式使用该网络。
在“半开放”终端中,同时存在·被认为是可“信任”的应用程序,例如,因为它们已经被终端生产商在出厂时已安装好,或者由于通过诸如应用程序的电子签名等等方法获得的保证;·以及可以由用户本人随意决定而安装在该终端上其他的应用程序,但是其不具有与该信任应用程序相同的权利。
另一方面,“完全开放”的终端是其中所有的功能是可以通过下载的应用程序可实现的开放终端。终端的开放概念主要依赖于其出现的环境。例如,OSI模型的不同的层(链路/网络/会话/传输/等等)可以具有不同的开放程度。
在这里,焦点在于可以从服务器远程监控的功能上,也就是说,网络功能。由于这个原因,终端的“半开放”特征通常表示为信任应用程序可实现的,而非信任应用程序不可实现远程监控的执行权利(例如,在不同于HTTP的IP网络上传输请求的权利)。这允许服务器在其接收的请求中辨别那些来源于信任应用程序的请求,和来源于其他应用程序的请求。尤其可以从来源于在该终端中从开始运行的应用程序的请求中辨别来源于下载的应用程序的请求。
在开放终端中,必须考虑到程序可以以相对用户虚假的方式(特洛伊木马程序)表现的可能性。因此,对服务器而言没有什么可以保证该请求实际上是来源于用户,而不是来源于该网络中已经模仿用户的允诺的程序。这个风险破坏该服务器可能在其从客户接收的数据中所具有的信任。如果特洛伊木马程序具有代替该用户去发送请求的便利,通过发给服务器的请求反映用户的动作是不合理的。
因此,在下文中将描述在终端上的应用程序之间的区别·信任应用程序该服务器准备生成这些应用程序不是特洛伊木马的假设。例如,WAP电话的WAP浏览程序可以构成一个信任应用程序。另一个例子可以是具有下载签名的Java MIDP应用程序;·非信任应用程序该服务器认为这些应用程序可能是特洛伊木马。例如,在终端上没有下载签名的Java MIDP应用程序可能就是非信任应用程序。
对该特洛伊木马程序的风险的常规反应是限制非信任应用程序的性能。
半开放终端的帧(frames)的传输限制通常以非常严格的方式实施。只有系统应用程序(由该终端的操作系提供统)被授权去发送某些帧。
因此,由下载的应用程序(有或者没有信任)去发送帧给服务器变为是不可能的,尽管该应用程序由于发送的帧内容(例如发送标记数据),或者由于该应用程序的特征(例如与其内容有关的签名)而具有从另一个数据源获得服务器的信任的方法。

发明内容
本发明的一个目的是提供在“信任”应用程序和“非信任”应用程序之间发送新型请求的性能差别,其灵活的用于该应用程序,并且仍然可以是由接收服务器识别的。信任的概念可以依赖于各种标准(签名、交换机的类型、应用程序已经从中下载的URL等等)。
因此,本发明提出了一种通过远程通信网络在第一单元和第二单元之间通信的方法,其中第一单元包括分别地属于第一家庭和第二家庭的应用程序,该第二家庭具有先天的比第一家庭更低的可信度。按照本发明的一个方面,来源于通过网络发送给第二单元的第二家庭的应用程序的每个请求,被迫包括一个与应用程序的第二家庭结合的标记。按照本发明的另一个方面,来源于通过网络发送给第二单元的第二家庭的应用程序的每个请求,被迫排除一个与第一家庭有关的标记,所述标记被包括在至少某些通过网络发送的该请求中,并且来源于第一家庭的应用程序。本发明还提出了一个包括使用上述的方法的装置作为第一单元的通信终端。
该方法允许某些特定的(“信任”)应用程序在第一单元中运行,为引起第二单元,通常是远程服务器,而传输该帧,该帧带有其可靠来源的保证。用于第二家庭(或者对称地其划上线条)的先天的非信任应用程序的该标记的强制的内含物在传输的过程中,从那些由信任应用程序发送的帧中辨别由这些先天的非信任应用程序发送的帧。这允许该服务器在其具有可接受的请求之间挑选出可信任的,其余的则会被排除。
施加的标记必须是完全“无懈可击的”,也就是,其通过处理最低的层(例如TCP连接请求),对于先天的非信任应用程序去在某个等级(例如HTTP请求功能)上缩短进行的检查不一定是可能的。
在根据本方法的一个实施例中,包括在经网络发送的并且来源于第二家庭的应用程序的请求中的该标记,被迫包括一个第二家庭的所述应用程序的特征和/或来源的指示。这个指示例如由与标记的应用程序的签名验证有关的,或与经由该网络下载的应用程序的下载地址有关的数据组成。其可以用于远程单元,评价其在该应用程序中可以是否具有信任,该先天的应用程序可能被该第一单元设想为仅仅是非信任应用程序。
由于该方法,尽管在这些下载性能(终端的“开放”)中本身具有一定的风险,支持应用程序下载的终端可以充分信任地与服务器交换数据。因此,本方法对特洛伊木马提供简单且行之有效的保护措施。


图1为使用本发明的系统的示意图。
具体实施例方式
下面参考附图,本发明的其他的特点和优势将在非限制性的实施例中进行描述,其中该单个的图是使用本发明的系统的示意图。
尝试允许诸如服务器1的远程单元以安全和灵活的方式,在通过远程通信网络R从半开放终端2接收的请求中以获得信任。一方面,这个终端主机运行应用程序3,例如网页浏览程序,另一方面,先天的非信任应用程序4,尤其是该终端用户已经通过网络R下载的应用程序。
该先天的非信任应用程序4被约束为它们可以经网络R发送的帧或者请求,在该示意图中,其是通过形成为该资源6的一部分的控制层5表示的,该终端2配备有的资源6用于访问该网络。
该控制层5通过先天的非信任应用程序4发送的该帧来验证某些属性是满足的。如果这些属性被满足,该控制层允许该帧过去。否则,其可以不让它们传送给该网络R,并且通知其该应用程序4已经传送它们,或者修改该帧以符合先天的非信任应用程序的需求。在后者的情况下,从服务器1的观点来看,该帧失去其可信性,从而不用使用它。
前述的限制是指在从某些应用程序经网络R发送的请求中特定的标记的存在或者不存在。
在本发明的第一个实施例中,该控制层5将来源于先天的非信任应用程序4的请求强加到包括一个与应用程序的这个家庭有关的标记。信任应用程序3可以使用功能,其允许绕过该控制层5并且发送无标记的请求。另一方面,供访问该网络的该资源6没有设置在先天的非信任应用程序4的控制下的这些功能。
在说明该第一个实施例的一个例子中,该终端2(例如,移动电话)具有一Java虚拟机,其可以对应于在附图中的该模块6。该虚拟机可用于运行由Sun微系统公司制造的以Java程序设计语言编写的下载的应用程序。所有的Java语言指令是由该虚拟机执行的,其在某些检查之后调用该系统功能。在半开放的环境下,因为没有该系统功能未检查的调用,该Java应用程序是明显地。这个终端2仅仅能够下载Java程序代码,用户不能安装其他类型的应用程序。
然后,该先天的非信任应用程序4被以Java语言编写。
在这个例子中,发动用于经该网络R与终端2互换的该协议是HTTP协议(RFC 1945(“请求注解”),1996年5月由IETF(“Internet工程任务组”)出版),TCP(RFC 793,IETF,1981年9月)和IP(RFC 791,IETF,1981年9月)。
该服务主要是由HTTP服务器1执行的,该HTTP服务器1存储属于该用户的内容。其本身必须满足该请求(例如,请求删除所有的文件)事实上是来自该用户,而不是来自恶意的Java程序的事实。这个服务器当然只是一个例子,因为任何其他的服务器也可以采用这种技术(电子商务、文献发行、消息报文等等)。
该标记可以被包括在该HTTP请求的“用户代理商”标题字段中(参见前述的RFC 1945的章节10.15)。其由特定的字符串组成,诸如“非信任应用程序VM Java 1.2”,其表示目前的该请求并非来源于先天的信任应用程序。这个字符串可能已经存在于由该应用程序4产生的请求中,而在这样的情况下,该虚拟机6的控制层5仅仅地验证其存在。否则,这个层5插入,从而使得该请求被正确地标记。
应用于该虚拟机6的标记的无懈可击,其是因为通过该网络R发送包含所述特定的字符串的HTTP请求的先天的非信任应用程序4是不可能的事实而产生的。尤其是,该应用程序4不可能通过连接到比HTTP更低的协议层,尤其是该TCP插座访问该网络R。该标记是直接地在虚拟机6中实现的,其中该先天的非信任应用程序必须运行,并且其没有办法避免。
因此,服务器1可以从其接收到的请求之中挑选那些来源于先天的非信任应用程序4的请求,和那些来源于信任应用程序3,诸如网浏览程序的请求。
有些应用程序是仅仅对于某些站点而言是信任应用程序。例如,Javaapplet通常对于已经从其中下载的站点而言是是信任applet,对于其他的站点则不是。因此,在发送给这些下载站点的请求中该标记不一定是必要的。换句话说,该虚拟机6可以在来源于这样一个applet的请求上施加一个标记,并且发送给一个除其下载站点以外的站点,以及保留applet能够自由在applet发送给其信源站点的请求中包括或者排除该标记。另外,不管其目的地,将该标记施加在所有的由这样一个applet发送的请求上也是可能的。
对非信任请求的做标记的备选方案或者补充可以是除了这些请求。例如,对于从给定服务器下载的非信任应用程序,直接送往不同的服务器的请求可能被排除。借助于该标记给该信源服务器的请求将仍然是可能的。
在一个有益的实施例中,该标记必须通过一个先天的非信任应用程序4的特征和/或来源的指示补充,其已经来源于该先天的非信任应用程序4。
这个先天的非信任应用程序4可以被标记。来源于其中的请求将被标上信头的记号,该信头包含以下可能建立远程服务器对这个应用程序的信任成分的至少一个·该应用程序的签约者的证书,或者该证书的摘要;·作为该应用程序的签约者的证书的来源的验证链的证书,或者该证书的摘要;·为了这个目的特别地包括在该应用程序的程序代码中的一个字符串;·以动态的方式识别该应用程序的可变元素。
在通过证书标记的Java应用程序的情况下,本发明的这样一个实施例尤其是可适用的。
在这种情况下,在传送该请求之前,该虚拟机6必须验证该Java应用程序的签名。在实际情况下,这种验证是在运行该应用程序4之前被执行。
因而,该标记可以由在HTTP信头中特定的字符串的相加组成,例如“由<C>标记的应用程序的信任内容”,这里的<C>是该应用程序的签约者证书的值,或者后者的摘要。这个信头通过其出现表示该请求直接地来自于用户,并且已经由已知出处的软件程序生成。
以这样的方式,如果该服务器1在与证书<C>有关的专用密钥的持有者中设置其信任,该服务器确信在这个特定的信头中标记的该请求真正地对应于该用户实际的允诺。该做标记的要求指的是该应用程序除真正签约者以外不能对该服务器要求签约者的权限。
在下载Java applets的情况下,该虚拟机6能够识别该应用程序的下载地址。因此,其可以将来源于这样一个applet的请求强加一个先天的非信任请求,其包括下载地址或者与该地址有关的数据。
在本发明的另一个实施例中,该标记的语法被颠倒控制层5迫使来源于先天的非信任应用程序4的请求排除对信任应用程序3特定的标记。
为了显现它本身是用于服务器1的信任应用程序,应用程序3包括一个发送给该服务器1的请求中的标记。控制层5确保这个标记是来源于先天的非信任应用程序4的每个请求所没有的,该非信任字符能够根据先前地按照该请求的目的地站点而被判断。如果该标记存在于来源于先天的非信任应用程序4的请求中,该请求不被这样发送该标记被控制层5消除,并且后者可以或者可以不必经网络R发送“去标记的”请求,和可以或者可以不必通知该应用程序4。
用作该标记语法的约定必须自然地为该终端和服务器所共用,并且在传输数据之前为两者所知。
权利要求
1.通过远程通信网络(R)在第一单元(2)和第二单元(1)之间通信的方法,其中第一单元包括分别地属于第一家庭和第二家庭的应用程序(3,4),第二家庭具有先天的比第一家庭更低的可信度,其特征在于来源于经网络发送给第二单元的第二家庭的应用程序(4)的每个请求被迫包括一个与应用程序的第二家庭有关的标记。
2.根据权利要求1所述的方法,其特征在于,所述的标记被包括在经网络(R)发送的每个请求中,并且来源于第二家庭(4)的应用程序。
3.根据权利要求1或2所述的方法,其特征在于,包括在经网络(R)发送的并且来源于第二家庭的应用程序(4)的请求中的该标记,被迫包括一个第二家庭的所述应用程序的特征和/或来源的指示。
4.根据权利要求3所述的方法,其特征在于,第二家庭的所述应用程序(4)被标记,该标记包括在来源于其中的请求中,其被迫包括与签名验证有关的数据。
5.根据权利要求3或者4所述的方法,其特征在于,第二家庭的所述应用程序(4)已经被经由网络(R)从下载地址下载,该标记包括在来源于其中的请求中,其被迫包括与该应用程序的下载地址有关的数据。
6.经由远程通信网络(R)在第一单元(2)和第二单元(1)之间通信的方法,其中第一单元包括分别地属于第一家庭和第二家庭的应用程序(3,4),第二家庭具有先天的比第一家庭更低的可信度,其特征在于来源于经网络发送给第二单元的第二家庭的应用程序(4)的每个请求被迫排除一个与第一家庭有关的标记,所述标记被包括在经网络发送的该请求的至少某些请求中,并且来源于第一家庭的应用程序(3)。
7.根据前述任一权利要求所述的方法,其特征在于,所述的第二单元(1)检查该标记是否存在于一个经网络(R)从第一单元(2)接收的请求中,以评价所述请求的可信度。
8.根据权利要求7所述的方法,其特征在于,当该标记存在于所述请求的时候,第二单元(1)还检查包括在这个标记中的数据,以评价所述请求的可信度。
9.根据权利要求8所述的方法,其特征在于,由第二单元(1)检查的所述数据包括与作为该请求的来源的应用程序的签名的验证有关的数据。
10.根据权利要求8所述的方法,其特征在于,由第二单元(1)检查的所述数据包括与作为该请求的来源的应用程序的下载地址有关的数据。
11.根据前述任一权利要求所述的方法,其特征在于,所述的请求包括HTTP请求,并且该标记被插入在该HTTP请求的信头中。
12.根据前述任一权利要求所述的方法,其特征在于,与该标记有关的需求是由属于虚拟机(6)的软件层(5)控制的,借助于该虚拟机(6),第一单元(2)被提供,第二家庭的应用程序(4)能够仅仅经由虚拟机和所述软件层访问该网络(R)。
13.根据权利要求12所述的方法,其特征在于,所述的虚拟机(6)是Java虚拟机。
14.一种通信终端(2),包括根据前述任一权利要求所述的方法的装置,作为一第一单元。
全文摘要
一第一单元(2),包括分别地属于应用程序的第一和第二家庭的应用程序(3,4)。该第二家庭具有先天的比第一家庭更低的可信度。来源于第二家庭的应用程序(4),且通过设置于第二单元的网络(R)发送给的每个请求,包括一个与应用程序的第二家庭有关的标记,或者不包括一个与第一家庭有关的标记,所述与第一家庭有关的标记被包括在网络上发送,并且来源于该第一家庭的应用程序(3)的请求的至少一些中。
文档编号G06F21/31GK1729670SQ200380106756
公开日2006年2月1日 申请日期2003年10月27日 优先权日2002年12月18日
发明者伯努瓦·德布尔塞提, 曼努埃尔·格吕松, 季米特里·穆顿 申请人:法国电信
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1