提供一必要级别的安全性给能够连接至不同计算环境的计算机的方法及系统转让专利

申请号 : CN200480028676.6

文献号 : CN1864385B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏珊·玛莉·柯欧翰杰罗·法兰西斯·麦布雷尔提尚恩·派翠克·穆蓝杰西卡·穆里罗强尼·孟翰·谢

申请人 : 联想(新加坡)私人有限公司

摘要 :

提供一必要级别的安全性给能够连接至不同计算环境的一计算机的方法,此方法包含:在一计算环境中,监视此计算机与一网络之间连接的类型(402);在跨越此网络而传送数据前,判断数据(408)的安全性级别(406);当此网络的此连接缺少此数据的安全性级别所需的一安全性控制(410)时,储存此数据于一缓冲器,而非跨越此网络传送此数据(416);以及当此计算机连接至一改变的计算环境时,从此缓冲器传送此数据(412),其中此改变的计算环境具有一新连接的类型,此新连接具有此数据所需的安全性控制。

权利要求 :

1.一种提供一必要级别的安全性给能够连接至不同计算环境的一计算机的方法,所述计算环境为一群具有可获得相近级别的数据传输安全性的计算机,该方法包括:在当前计算环境中,监视该计算机与一网络之间连接的类型;

在跨越该网络传送一数据前,判断数据安全性级别;

当至该网络的该连接缺少判断该数据安全性级别所需的安全性控制时,储存该数据于一缓冲器中,而非跨越该网络传送该数据;以及当该计算机连接至一改变的计算环境时,从该缓冲器传送该数据,其中该改变的计算环境具有一新连接的类型,该新连接具有该数据所需的安全性控制。

2.如权利要求1所述的方法,其中,监视连接的类型包括:周期性地判断该计算机与该网络之间该连接的类型。

3.如权利要求1所述的方法,其中,监视连接的类型包括:事件驱动地判断该计算机与该网络之间该连接的类型。

4.如权利要求3所述的方法,其中,数据安全性级别的判断导致一判断,该判断关于传送的数据需要起码的安全性级别,且对应该判断进行事件驱动地判断该连接的类型。

5.如权利要求1-3中的任一项所述的方法,其中,在跨越当前网络传送一数据前先判断数据安全性级别,包括:从嵌入在该数据中的一标示元素中,读取该数据安全性级别。

6.如权利要求1-3任一项所述的方法,其中,在跨越当前网络传送一数据前先判断数据安全性级别,包括:从一网络讯息中一报头中的元数据中,读取该数据安全性级别。

7.如权利要求1-3任一项所述的方法,更包括:当至该网络的该连接缺少该数据所需的安全性控制时,返还一非严重错误至一发送程序。

8.如权利要求7所述的方法,更包括:该发送程序通知一使用者该数据将被存放在一安全缓冲器中,直到该计算机连接至一改变的计算环境,其 中该改变的计算环境具有一新连接的类型,该新连接具有该数据所需的安全性控制。

9.如权利要求7所述的方法,更包括:该发送程序将选项提示一使用者以建立用于传输该数据的一安全通道。

10.一种提供一必要级别的安全性给能够连接至不同计算环境的计算机的方法,所述计算环境为一群具有可获得相近级别的数据传输安全性的计算机,该方法包括:在第一计算环境中,连接该计算机至一网络;

为将被跨越该网络传送的数据,设定一安全性级别;

指示发送程序跨越该网络传送该数据;

接收一指示该第一计算环境的安全性控制缺少该被设定的安全性级别所需的一安全性控制的指示;

在第二计算环境中,连接该计算机至该网络,其中该第二计算环境具有被设定的安全性级别所需的该安全性控制;以及接收一指示数据已被跨越该网络而传送的指示。

11.如权利要求10所述的方法,进一步包括:

当该计算机在该第二计算环境连接至该网络时,判断该第二计算环境具有被设定的安全性级别所需的该安全性控制;以及一旦判断该第二计算环境具有被设定的安全性级别所需的该安全性控制时,自动地跨越该网络而传送该数据。

12.如权利要求10或11所述的方法,进一步包括:

接收一指示该第二计算环境具有被设定的安全性级别所需的该安全性控制的指示;以及再一次指示该发送程序跨越该网络而传送该数据。

13.一种提供一必要级别的安全性给能够连接至不同计算环境的一计算机的系统,所述计算环境为一群具有可获得相近级别的数据传输安全性的计算机,该系统包括:用于在一当前计算环境中,监视该计算机与一网络之间连接的类型的装置; 用于在跨越该网络而传送一数据前,判断该数据的安全性级别的装置;

用于当至该网络的该连接缺少该判断的数据安全性级别所需的一安全性控制时,储存该数据于一缓冲器中,而非跨越该网络而传送该数据的装置;以及用于当该计算机连接至一改变的计算环境时,从该缓冲器传送该数据的装置,其中该改变的计算环境具有一新连接的类型,该新连接具有该数据所需的该安全性控制。

14.如权利要求13所述的系统,其中,该监视该计算机与一网络之间连接的类型的装置包括:一周期性地判断该计算机与该网络之间连接的类型的装置。

15.如权利要求13所述的系统,其中,该监视该计算机与一网络之间连接的类型的装置包括:一事件驱动地判断该计算机与该网络之间连接的类型的装置。

16.如权利要求15所述的系统,其中,该判断该数据的安全性级别的装置的操作导致一判断,该判断关于传送的数据需要起码的安全性级别,而对应该判断,该事件驱动地判断该计算机与该网络之间连接的类型的装置被操作。

17.如权利要求13-15任一项所述的系统,其中,该判断该数据的安全性级别的装置进一步包括:一从嵌入在该数据中的一标示元素中读取该数据安全性级别的装置。

18.如权利要求13-15任一项所述的系统,其中,该判断该数据的安全性级别的装置更包括:一从一网络讯息中一报头中的元数据中读取该数据安全性级别的装置。

19.如权利要求13-15任一项所述的系统,更包括:一当该网络的该连接缺少该数据所需的一安全性控制时,返还一非严重错误至一发送程序的装置。

20.如权利要求19所述的系统,更包括:一用于该发送程序的,通知一使用者该数据将被存放在一安全缓冲器,直到该计算机连接至一改变的计算环境的装置,其中该改变的计算环境具有一新连接的类型,该新连接具有 该数据所需的该安全性控制。

21.如权利要求20所述的系统,更包括:一用于该发送程序的,将选项提示一使用者以产生一用于该数据的传输的一安全通道的装置。

22.一种提供一必要级别的安全性给能够连接至不同计算环境的一计算机的系统,所述计算环境为一群具有可获得相近级别的数据传输安全性的计算机,该系统包括:用于在一第一计算环境中连接该计算机至一网络的装置;

用于为将被跨越该网络而传送的一数据,设定一数据安全性级别的装置;

用于指示一发送程序而跨越该网络而传送该数据的装置;以及用于接收一指示该第一计算环境的安全性控制缺少该数据安全性级别所需的一安全性控制的指示的装置;

用于在一第二计算环境中连接该计算机至该网络的装置,其中该第二计算环境具有被设定的该数据安全性级别所需的该安全性控制;以及用于接收一指示该数据已被跨越该网络而传送的指示的装置。

23.如权利要求22所述的系统,更包括:

用于当该计算机在该第二计算环境连接至该网络时,判断该第二计算环境具有被设定的该数据安全性级别所需的该安全性控制的装置;以及用于一旦判断该第二计算环境具有被设定的该数据安全性级别所需的该安全性控制时,自动地跨越该网络而传送该数据的装置。

24.如权利要求22或23所述的系统,更包括:

用于接收一指示该第二计算环境具有被设定的该数据安全性级别所需的该安全性控制的指示的装置;以及用于再一次指示该发送程序跨越该网络传送该数据的装置。

说明书 :

提供一必要级别的安全性给能够连接至不同计算环境的计

算机的方法及系统

技术领域

[0001] 本发明关于数据处理,更特别的是,关于一种提供一必要级别的安全性给能够连接至不同计算环境的计算机的方法及系统。
[0002] 背景技术
[0003] 在移动计算(mobile computing)的领域中,无线路由器(router)或无线桥接器(access point、或称为热点(hot spot))的快速成长使可携式计算机使用者能够在移动时进行他们的工作。咖啡店、饭店、酒吧、书店、餐厅、机场等等,现在都具有热点。而在许多饭店房间中都可以连上网络。然而,此种行动计算可能产生安全性危机,无论通过无线连接或是一随机现场连接,皆可能导致使用者与因特网间的连接不安全,或是具有一未知的安全级别。使用者也许不小心以电子邮件、实时讯息、WWW(HTTP)通讯或其它网络通讯的方式传送机密数据,而被有心人截取。因此,供移动计算改善数据传输安全性的方法与系统的需求与日俱增。
[0004] 发明内容
[0005] 本发明提出一种提供一必要级别的安全性给能够连接至不同计算环境的一计算机的方法及系统,所述计算环境为一群具有可获得相近级别的数据传输安全性的计算机。在实施例中,在一当前计算环境中,监视此计算机与一网络之间连接的类型。监视此连接的类型可通过周期性地判断此计算机与此网络之间此连接的类型、或是以事件驱动(event-driven)方式判断此计算机与此网络之间此连接的类型来实现。事件驱动判断可在安装有实施本发明的程序的计算机电源开启、此程序被启动时进行。选择性地,当一安全性级别被判断为欲传送的数据的最起码所需要程度的安全性,则响应此判断,而进行事件驱动地判断此连接类型。
[0006] 实施例中包含,在跨越此网络而传送一数据前,先判断一数据安全性级别。在跨越此网络而传送一数据前,判断一数据安全性级别的实施,可通过从嵌入在此数据中的一标示元素(markup element)中,读取此数据安全性级别,或是通过从一网络讯息中一报头中的元数据(meta-data)中,读取此数据安全性级别。
[0007] 实施例中包含,当此网络的此连接缺少此数据安全性级别所需的一安全性控制时,储存此数据于一缓冲器,而非跨越此网络而传送此数据。此实施例亦包含,当此计算机连接至一改变的计算环境时,从此缓冲器传送此数据,其中此改变的计算环境具有一新连接的类型,此新连接具有此数据所需的此安全性控制。其它实施例包含,当此网络的此连接缺少此数据所需的一安全性控制时,返还一非严重错误至发送程序。此实施例通常又包含,此发送程序的通知使用者,此数据将被存放在一安全缓冲器,直到此计算机连接至一改变的计算环境,其中此改变的计算环境具有一新连接的类型,此新连接具有此数据所需的此安全性控制。额外的实施例包含,发送程序将选项提示一使用者以产生一供此数据的传输的一安全通道(secure tunnel)。
[0008] 本发明的上述以及其它的目的、特征、以及优点,将配合下列实施例的描述与附图而更加清楚。在附图中,类似编号一般代表本发明实施例中类似的部分。

附图说明

[0009] 图1显示一数据传输架构,其中可实施本发明多个实施例;
[0010] 图2显示一自动计算机的方块图,此自动计算机包含一本发明实施例中所用的计算机;
[0011] 图3显示本发明实施例中的一数据传输协议堆栈;
[0012] 图4显示本发明实施例中的一电子邮件客户端的数据输入画面;
[0013] 图5为本发明一实施例方法的流程图,其用于提供一必要级别的安全性给能够连接至不同计算环境的一计算机;
[0014] 图6显示根据IPsec协议的安全通道的功能框图;
[0015] 图7为本发明另一实施例方法的流程图,其用于提供一必要级别的安全性给能够连接至不同计算环境的一计算机。

具体实施方式

[0016] 在本说明书的叙述中,本发明所提出为提供一必要级别的安全性给能够连接至不同计算环境的计算机的方法。然而,本领域的普通技术人员应可知, 根据所揭示的方法操作,而含有适当的程序化装置的任何计算机系统,将在本发明的范畴之内。适当的程序化装置包含任何使一计算机系统执行本发明方法的步骤的装置,举例来说,包含具有与计算机存储器连接的算术逻辑电路和处理单元的系统,该系统具有在计算机存储器中存储的功能,此计算机存储器含有电子电路,以供储存数据与程序指令、与供一处理单元执行的本发明方法的程序化步骤。
[0017] 本发明亦可实施于一计算机程序产品,例如一磁盘片或是其它记录媒体,与任何适当的数据处理系统一同使用。一计算机程序产品的实施可通过任何机器可读取信息的记录媒体而实施,例如磁性媒体,光学媒体,或其它适合的媒体。本领域的普通技术人员可知,任何具有适当的程序化装置的计算机系统,将能够执行实施于一程序产品中的本发明方法的步骤。本领域的普通技术人员亦可知,虽然本说明书中的实施例大多在于设置且执行于计算机硬件中的软件,然而,其它在固件或是硬件上的实施,亦在本发明所欲涵盖的范围内。
[0018] 首先从图1开始,将配合附图进一步说明提供一必要级别的安全性给能够连接至不同计算环境的一计算机的方法、系统、与产品。在一实施例中,提供一必要级别的安全性给能够连接至不同计算环境的一计算机的实施,一般通过在一当前计算环境中,监视此计算机与一网络之间连接的类型;在跨越此网络传送一数据前,先判断一数据安全性级别;以及当此网络的此连接缺少此数据安全性级别所需的一安全性控制时,储存此数据于一缓冲器,而非跨越此网络而传送此数据而实施。之后当此计算机连接至一改变的计算环境时,从此缓冲器传送此数据至目的地,其中此改变的计算环境具有一新连接的类型,此新连接具有此数据所需的此安全性控制。
[0019] 一计算环境为一群具有可获得相近级别的数据传输安全性的计算机。图1描述了一数据传输的架构,其中可含有本发明的多个实施例。特别的是,图1显示两个计算环境的实施例。计算环境132含有笔记本电脑130与个人数字助理(PDA)106,此笔记本电脑130与此个人数字助理(PDA)106分别利用有线连接124与未加密无线连接114,经由一无线路由器104连接至一互联网络102。
[0020] 无线路由器104为一计算机而提供为一无线接入点,一通讯集线器(hub),无线装置130与106经由此通讯集线器而连接至一有线网络102。一定程度上,一计算环境提供某种程度的无线安全性,此无线安全性一般通过例如路由器104的无线接入点而提供。支持无线接入的有线网络,举例来说,例如局域网络(LAN)104,一般含有一或多个无线接入点(未显示于图1)。
[0021] 一互联网络(internet,首字未大写)系以路由器连接的网络的任何组合。在此说明书中,因特网(Internet,首字大写)指现有的利用多种协议连接的数以百万计的计算机所形成的全球网络,其中包含因特网协议(Internet Protocol,IP)作为他们网络协议堆栈的网络层。在因特网中,维持数据传输安全性非常困难,这也是本说明所欲解决的问题。也就是说,本领域的普通技术人员可知,互联网络102可为因特网,而利用低级别的安全性而连接互联网络102将会造成数据传输的显著风险。
[0022] 形成计算环境132的计算机群组具有可用的相近级别的数据传输安全性,如同虚线138对计算环境132所造成的界线,但实际上也就是没有特定级别的安全性。计算环境132的例子可包含提供无线连接的热点的咖啡店,以及提供每一房间有线网络连接的饭店。 [0023] 另一方面,计算环境134具有较高级别的安全性。计算环境134包含笔记本电脑
126、工作站112、电子邮件服务器129、与网页服务器128,全部经由局域网络(LAN)104而连接。计算环境134全部设置在公司防火墙136之后,防火墙136监视所有进出计算环境
134的数据。笔记本电脑126与工作站112皆可支持经由互联网络102与其它计算机进行通道连接(tunnelingconnection)。
[0024] 同样在计算环境134中,笔记本电脑126经由加密无线连接118而连接公司LAN104。本发明实施例中的可用的加密无线连接,包含有线对等加密(Wired Equivalent Privacy,WEP)、Wi-Fi保护访问(WPA),与其它本领域的普通技术人员所知的技术。 [0025] WEP是IEEE802.11b标准下所定义的无线局域网络的安全协议。WEP希望能提供如同有线网络连接的一安全级别。相较于无线局域网络,有线局域网络具有较高的安全性,因为有线局域网络连接受到实体结构的保护,一 般来说,部份或全部的有线局域网络设置于建筑物内,其可防止未经认证的访问。利用无线电波的无线局域网络,并未具有实体结构的保护,因此较容易受到入侵。WEP目标在于,通过加密经由无线电波从客户端传递到一接入点的数据,而提高安全性。WEP作用在开放系统互连(OPEN SYSTEMINTERCONNECTION,OSI)协议堆栈中的最低层,也就是数据链路层与实体层。
[0026] WPA是一Wi-Fi标准,也就是IEEE802.11标准,用以改善WEP的安全特性。然而,WPA是被IEEE802.11i取代的一种过渡标准。WPA通常实施于现存的供WEP的WIFI产品中硬件的软件更新,但是WPA改善WEP,经由动态密钥完整性协议(TKIP)而具有较佳的数据加密。WPA更通过可扩展认证协议(EAP)增加使用者认证与公共密钥加密而改善WEP。 [0027] 图1所示的计算环境用于解释本发明,并非作为本发明的限制。计算环境可含有服务器、客户端、路由器、与其它本领域普通技术人员熟知但没有显示于图1的装置。与此计算环境相关的网络可支持许多数据传输协议,例如SMTP、POP、HTTP、WAP、HDTP、TCP/IP,与其它本领域普通技术人员熟知的协议。图1显示了异质(heterogeneous)的计算环境,其中可实施本发明的不同实施例,而对本发明范围的架构不作为限制。
[0028] 一“计算机”为任何自动化计算机器。在本说明书中的“计算机”不只含有一般通用计算机,例如笔记本电脑、个人计算机、小型计算机、大型计算机,也含有个人数字助理、具有网络功能的手持装置、具有因特网功能的行动电话等装置。图2为自动化计算机器的方块图,根据本发明实施例,其中在计算环境中包含一计算机106。图2的计算机106含有至少一计算机处理器156或是中央处理器(CPU)以及随机存取存储器(RAM)168。一应用程序152储存在RAM168中。本发明实施例中的应用程序可包含浏览器程序、电子邮件客户端(e-mail client)程序、TCP/IP程序、以及本领域普通技术人员所熟知的应用程序。 [0029] 当类似计算机106的一计算机作为一电子邮件客户端时,应用程序152含有电子邮件客户端应用程序软件。当类似计算机106的一计算机作为一浏览器时,应用程序152含有浏览器应用程序软件。举例来说,电子邮件应用 软件包含Microsoft的OutlookTM、Qualcomm的EudoraTM、或是Lotus NotesTM。浏览器程序软件含有Microsoft的ExplorerTM、Netware的NetscapeTM、NCSA的MosaicTM。传输与网络层软件客户端,例如TCP/IP客户端,一般皆为操作系统的组件,操作系统可为Microsoft的WindowsTM、IBM的AIXTM、LinuxTM等等。一操作系统154亦储存于RAM168。用于计算机中或是本发明实施例中的操作系统包含UNIX、LinuxTM、Microsoft的NTTM、与其它本领域的普通技术人员所熟知的操作系统。根据本发明的实施例,应用软件与操作系统可通过插件程序(plug-in)、核心延伸程序(kernel extension)、或是原始码级别的修改而有所改善,或是,可选择地,全新的应用程序或是操作系统可从头发展以实施本发明。Lotus,Lotus Notes,IBM和AIX是IBM公司在美国,其它国家的注册商标。Microsoft Outlook、Internet Explorer和WindowsNT是Microsoft公司在美国,其它国家的商标,Linux为Linus Torvalds在美国,其它国家的商标。Unix为Open Group在美国,其它国家的商标。
[0030] 图2的示例计算机106包含计算机存储器166,此计算机存储器166经由一系统总线160与处理器156以及计算机其它的组件连接。计算机存储器166可实施为硬盘170、光盘172、EEPROM或是闪存174、RAM碟(未图示),或是其它本领域普通技术人员所熟知的计算机存储器。
[0031] 图2的计算机106包含通讯适配器167,此通讯适配器167与其它计算机182具有数据传输184的连接。通讯适配器实施为数据传输连接的硬件级别,经由此数据传输连接,客户端计算机与服务器彼此之间直接进行数据传输,或通过网络进行数据传输。通讯适配器可为有线拨号的调制解调器、有线LAN连接的以太网络(IEEE802.3)适配器、或是无线LAN连接的适配器。
[0032] 图2中的示例计算机含有一或多个输入/输出(I/O)接口适配器178。举例来说,计算机中的I/O接口适配器,经由软件驱动程序与计算机硬件实施为面向使用者的输入/输出,此软件驱动程序与计算机硬件控制给例如一计算机显示屏幕的显示装置180的输出,以及从例如键盘与鼠标等使用者输入装置181的输入。
[0033] 图3进一步解释本发明的软件架构。图3显示一示例数据传输协议堆栈的方块图,如同现有的此类协议堆栈的OSI标准。图3的堆栈含有一硬件层 350,一连接层352、一网络层356、一传输层358、与一应用层364。此硬件层350,此连接层352、此网络层356、与此传输层358的硬件方面一般皆视为一操作系统的组件,而其上的协议层364一般皆视为应用程序。举例来说,浏览器360与电子邮件客户端程序362即为应用软件,利用应用级别数据传输协议,例如HTTP、SMTP、POP、与其它本领域普通技术人员所熟知的传输协议。 [0034] 传输控制协议(Transmission Control Protocol、TCP)为传输层358的一范例,而网络协议(Internet Protocol、IP)为网络层356的一范例。TCP与IP在传输层与网络层被频繁地使用,使得他们一般被视为数据传输软件的组合,而一起被称为TCP/IP。较佳地,本发明一实施例中的软件方面被实施与安装为一常驻程序(daemon),此常驻程序就是在此协议堆栈的此传输层356上运作,或是作为传输层软件的改善。虽然本发明并未因此而被限制,且由于本发明的实施例可使用许多种传输层软件与许多种网络层软件,通常本发明的处理步骤实施为,改善或添加TCP或TCP/IP的软件。
[0035] 图4更进一步解释本发明的实施例。图4显示本发明实施例的电子邮件客户端程序的数据输入画面。图4的数据输入画面含有一标题列302,其显示一电子邮件文件正在编辑以及电子邮件客户端的名称(客户名称)。在实际应用上,客户名称通常为一电子邮件客户端应用程序的实际名称,例如Lotus的Notes、Microsoft的Outlook、或是Qualcomm的Eudora。
[0036] 图4的数据输入画面含有一水平菜单304,含有一般菜单选项,例如「档案」、「编辑」、「观看」等等。除了此电子邮件画面的一般菜单选项,此水平菜单304含有一选项「安全性选择(SecurityOptions)」314,意指本发明实施例的改善的安全性选择。启用此安全性选择选项314将显示一下拉式菜单312,此下拉式菜单312提供许多支持本发明实施例中安全性选择的功能。
[0037] 如图4所示,响应一使用者选择下拉式选菜单项目322,电子邮件客户端程序将至少一IP通道(IP tunnel)的一电子邮件数据的一所需级别的安全性插入此电子邮件的元数据(meta-data)中,无论是经由有线连接或是无线连接。相似地,当一使用者选择项目324时,将插入元数据,用于辨识一所需级别的安全性,此所需级别的安全性至少含有无线连接的加密。项目326除了通 道外,还需要一加密的无线连接。当连接是有线时,选择项目328需要一通道,特别是用于当一使用者在任何公司防火墙外的一饭店房间连接笔记本电脑至一以太网络端口时候时。选择项目330将对一有线连接不需通道的元数据进行编码,特别是用于,举例来说,当使用者确知计算机在一公司防火墙内进行连接。选择项目332『无安全性』,使得此发送应用程序,例如图4中的电子邮件客户端程序,不插入关于安全性的元数据,或是插入确定声明『无安全性』的元数据。『无安全性』用于许多临时的数据传输。
[0038] 图4中所例示的发送程序以一电子邮件客户端程序为代表,并非作为本发明的限制。相反地,许多电子邮件客户端程序可用于本发明的不同实施例中,包含HTTP客户端程序或是浏览器、能够上网的无线装置上的微浏览器、TCP/IP客户端程序、通道(tunneling)客户端程序例如IPsec或是PPTP、以及其它。所有这些与其它的发送程序,为本领域普通技术人员所熟知,并包含在本发明的范围中。
[0039] 图5显示本发明一实施例的流程图,用以说明提供一必要级别的安全性给能够连接至不同计算环境的一计算机的方法。图5所示的方法包含在一当前计算环境中,监视此计算机与一网络之间连接的类型(步骤402)。「连接类型」一般指称在计算环境中数据传输连接可用的安全性控制。可用的安全性控制根据标准操作系统调用(call)、服务、与数据结构而决定。举例来说,在IBM的AIX系统中,操作系统调用LSCFG、LSATTR、LSCONN、LSDEV、与LSPARENT回传指示数据传输装置状态的数据,其包含可用的安全性控制。
[0040] 监视一连接的类型(步骤402)可通过周期性地判断此计算机与此网络之间的连接类型来实现。一程序化的程序用以实施周期性地决定连接类型,举例来说,此程序可被程序化用以进行一循环:在一段时期中,睡眠、醒来以检查可用的连接类型,只要此计算机是开着的,就会一直持续。当此常驻程序或是程序被唤起以监视此连接类型或是安全级别时,可启动一应用程序接口(Application Program Interface,API)调用,例如一装置驱动ioctl()调用或是一系统调用,至一安全性函式库,要求操作系统执行安全性程序。 [0041] 监视一连接的类型(步骤402)可包含事件驱动(event-driven)地判断此计 算机与此网络之间此连接的类型。在一事件驱动地判断此连接的类型的例子中,本方法的步骤通过一软件程序而实施,而当此程序被启动时,则事件驱动地判断此连接的类型。在一例中,根据本发明实施例的一TCP/IP客户端程序系安装于一笔记本电脑,若每一次此笔记本电脑启动时皆执行此TCP/IP客户端程序,则每一次此笔记本电脑启动时皆会判断此连接类型。
[0042] 在另一实施例的事件驱动地判断连接类型中,判断一安全性级别(步骤406)将产生欲传送的数据需要起码的(at least some)安全性级别的的一判断,以及因应此判断,而进行事件驱动地判断连接类型。可能是确实普遍地,跨越一网络被传送的数据不是没有指示一所需安全性级别的元数据,就是含有确实地指示不需安全性的元数据。当不需要特别安全性级别时,则不需要决定连接类型。然而,当进行本发明的步骤的一软件程序从跨越一网络被传送的数据中读取一元数据,此元数据指示某种安全性级别为必要时,则此程序将此判断视为一事件,以响应此程序所判断的连接类型、以及供跨越一网络发送数据的可用的安全性级别。
[0043] 图5所示的方法亦包含,在跨越此网络而传送一数据前,判断数据408的一安全性级别(步骤406)。较佳地,通过从一网络讯息中一报头(header)中的元数据读取数据安全性级别,以进行在跨越现今网络而传送一数据前,判断一数据安全性级别(步骤406)。亦可通过从嵌入在数据中的标示元素(markup element)中读取数据安全性级别,以进行在跨越现今网络而传送一数据前,判断一数据安全性级别(步骤406)。
[0044] 元数据代表描述其它数据的数据。在本说明书中,这个词汇特别代表描述跨越一网络所传送数据的数据。较佳地,元数据在跨越此网络所传送数据中被提出。元数据包含,描述跨越此网络所传送的数据所需安全性级别的数据。一般来说,数据在数据传输讯息中跨越网络而被传送,此数据传输讯息具有以数据传输协议、例如HTTP、SMTP、TCP/IP等所定义的形式。数据传输讯息一般由一报头(header)与一主体(body)所构成。此报头包含多个字段,例如寄件者识别、收件者识别、来源地址、目的地地址、路径追踪数据等等。此主体一般为文字或其它包含讯息内容的数据。将元数据与一讯息主体以及其它有用的报头字段分离将是有益的。
[0045] 某些电子邮件协议,例如SMTP,支持选择性额外的可供放置元数据的报头字段。在一SMTP的例子中,所谓选择性字段在标准中被定义,包含一所需的语法:一字段名称(不可复制的标准字段名称)后跟随一分号,再跟随未结构化的文字。以下为范例:
[0046]
[0047] From:John Doe
[0048] To:Mary Smith
[0049] Subject:Saying Hello
[0050] Date:Fri,21Nov200309:55:06
[0051] Message-ID:<1234@local.machine.example>
[0052] Required-Security:wireless encrypted
[0053] Mary,
[0054] This is a message just to say“hello.”I enjoyed meeting you at the
[0055] conference last week.Let’s stay in touch.
[0056] Regards,
[0057] John
[0058]
[0059] 在此例中,前五个字段“From”、“To”、“Subject”、“Date”、“Message-ID”为标准的SMTP字段。最后一字段“Required-Security”则为一新元数据字段,指示在此电子邮件讯息中的数据的一所需安全性级别。在此例中的“Required-Security”字段设定为无线加密(wireless encrypted),意即此例中任何与传送此讯息的网络连接的无线连接皆为加密连接,也就是WEP、WPA或是其它提供数据加密的无线网络。
[0060] 另外跨越一网络而传送的数据中加入元数据的方法为在讯息主体中插入元数据。举例来说,在SMTP中,当讯息经由电子邮件服务器中继以及当讯息被目的地所接收时,可利用此方法在讯息上插入时间戳记。一范例如下所示:
[0061]
[0062] From:John Doe
[0063] To:Mary Smith
[0064] Subject:Saying Hello
[0065] Date:Fri,21Nov200309:55:06
[0066] Message-ID:<1234@local.machine.example>
[0067]
[0068] Mary,
[0069] This is a message just to say“hello.”I enjoyed meeting you at the
[0070] conference last week.Let’s stay in touch.
[0071] Regards,
[0072] John
[0073]
[0074] 辨识此电子邮件所需级别的安全性为需要无线加密的元数据元素被以<>符号所限定,且被插入至讯息主题的开端:。 [0075] 许多电子邮件系统支持HTML格式的讯息。在此例中为:
[0076]
[0077]
[0078]
[0079]
[0080] content=”wireless encrypted>
[0081]
[0082]
[0083] Mary,
[0084] This is a message just to say“hello.”I enjoyed
[0085] meeting you at the conference last week.Let’s stay in
[0086] touch.
[0087] Regards,
[0088] John
[0089]
[0090]
[0091]
[0092] 辨识此电子邮件所需级别的安全性为需要无线加密的元数据元素在HTML卷标中被描述。除了选择性的协议报头字段,在讯息主体区段中的插入,以及在HTML标签中的插入以外,其它在跨越一网络而传送的数据中加入元数据供辨识数据所需级别的安全性的方法,所有上述 的方法皆在本发明所欲涵盖的范围内。
[0093] 图5所示的方法亦包含,当此网络的此连接缺少此数据安全性级别所需的一安全性控制(参见步骤410),储存此数据于一缓冲器(步骤416),而非跨越此网络而传送此数据。图5所示的方法亦包含:当此计算机连接至一改变的计算环境时,从此缓冲器传送此数据(步骤420),其中此改变的计算环境具有一新连接的类型,此新连接具有此数据所需的此安全性控制(参见步骤412)。读者应可知此方面为本发明的主要效益所在。举例来说,在一安全计算环境(图1的134)中,一使用者初始在一笔记本电脑(图1的126)上的作业。只要使用者保持在计算环境134,则判断一连接类型的结果将为可使用加密无线连接与通道连接等。之后,使用者将将笔记本电脑携带至较不安全的计算环境132。当在此计算环境132中此笔记本电脑电源启动时,通过操作系统调用的使用,此笔记本电脑判断可用的连接类型,而发现此计算环境132并不支持加密无线连接。当使用者尝试传送在元数据中标示为需要无线传输加密的一电子邮件时,则本发明中的传输层客户端程序(通常为TCP)比较在计算环境132中可用的连接类型与在此电子邮件讯息中所辨识级别的安全性,判断在此计算环境中缺少所需安全性级别,以及缓冲此电子邮件讯息,而非将其发送。 [0094] 较佳地,图5所示的方法包含,当此网络的此连接缺少此数据所需的一安全性控制时,返还一非严重错误至一发送程序(步骤422)。较佳地,图5所示的方法亦包含此发送程序的通知给使用者430,此数据将被存放在一安全缓冲器(步骤426),直到此计算机连接至一改变的计算环境,其中此改变的计算环境具有一新连接的类型,此新连接具有此数据所需的此安全性控制。从先前段落的范例中延续,在此例中的发送程序424为一例如为Microsoft的Outlook的电子邮件客户端程序。此电子邮件客户端程序尝试开启与其SMTP服务器的连接,以发送此电子邮件讯息,但本发明实施例中的TCP客户端程序判断缺少必要安全性级别,而缓冲此电子邮件讯息,并返还一错误讯息至此调用程序、此发送程序、此电子邮件客户端程序,以告知此发送程序现在缓冲此电子邮件而稍后发送。在此例中的电子邮件客户端程序中的发送程序,依序在笔记本电脑屏幕上呈现一对话框(dialogue box)以通知使用者 此电子邮件讯息将被缓冲,直到此笔记本电脑移动至一计算环境中,此计算环境系提供此电子邮件中数据必要级别的安全性。
[0095] 较佳地,图5所示的方法亦包含:此发送程序提示一使用者430一选项以产生一供此数据的传输的一安全通道(secure tunnel)(步骤428)。『通道』为一种数据传输技术,其中一协议层经由其它协议层的网络连接发送数据。通道通过将一协议层讯息数据封装在由其它网络协议层承载的数据包中而运作。举例来说,通道协议可包含IP安全协议(IP Security Protocol,IPsec)以及点对点通道协议(point-to-point tunneling protocol,PPTP)。PPTP由PPTP论坛所发布,此论坛成员包含Ascend Communications,Microsoft,3Com/PrimaryAccess,ECI Telematics,and U.S.Robotics。IPsec为一组协议,由InternetEngineering Task Force(IETF)所发展。IPsec与PPTP皆利用加密IP讯息以及进一步将被加密的讯息封装在IP数据包中。
[0096] 图6的方块图为IPsec通道的一范例。在图6中,一普通IP数据包602成为加密数据包604。一IPsec报头606与一第二IP报头608被加入此加密数据包。之后,整个新数据包610经由数据传输协议堆栈的普通IP层、而如同一般的数据包而发送。当此数据包抵达目的地节点,则抛弃此新IP报头608与此IPsec报头606。之后此原先数据包被解密而被交给协议堆栈的IP层,如同一般的数据包被处理。举例来说,当一TCP客户端程序提示使用者430一选项用于制作一数据传输的安全通道(步骤428),而使用者接受此选项,则根据本发明实施例中的一TCP客户端程序调用一通道客户端程序,例如供实际IP数据包传输的IPsec客户端程序或是PPTP客户端程序。
[0097] 值得一提的是,利用通道的好处在于:作为安全性级别的通道可用性,独立于此计算环境可用的安全性级别。也就是说,通道是否可提供跨越一网络传送数据所需的安全性级别,取决于通道客户端程序是否可用在目的地节点上的发送计算与通道软件。举例来说,当在一咖啡店的较不安全的计算环境所提供的未加密无线连接,通道是否可使用仅取决于笔记本电脑上所安装的软件以及欲跨越网络而被发送的任何特定数据的目的地计算机上的软件,而非取决于咖啡店里无线接入点可用的安全性级别。
[0098] 图7为一流程图,显示本发明实施例的提供一必要级别的安全性给能够 连接至不同计算环境的一计算机的方法。在图7所示的方法中,一程序化以实施此方法各步骤的处理称为一常驻程序(daemon)或是一安全常驻程序(security daemon)。可选择的处理702至708表示许多唤起此安全常驻程序的方式。在图7所示的方法中,当安装此安全常驻程序的计算机被引导或是从一睡眠指令中回复时702,则唤起此安全常驻程序。亦可根据一传送数据的请求704,而事件驱动地唤起此安全常驻程序。亦可通过网络设定的改变706而唤起此常驻程序。或是当一预设时段过后708而唤起此常驻程序。
[0099] 在此常驻程序被唤起后,此常驻程序为了安全性级别而利用API调用或是系统调用712而查询一数据传输装置。在此常驻程序判断了可用的安全性级别之后,则此常驻程序执行一循环,其中先检查在一安全缓冲器中是否有任何欲被发送或欲被跨越一网络而传送的项目在等待。如果缓冲器中没有项目在等待,则此常驻程序允许此计算机或是其它程序进行其它工作。对此,此常驻程序可使用一睡眠指令,因而此常驻程序在一睡眠时间后可自动被唤起。
[0100] 在缓冲器中如果有一或多个数据项在等待被传输,则常驻程序从缓冲器中读取一项目716,而检查可用的系统安全性级别是否配合此项目所需的安全性级别。如果能够配合,则该项目被传送(步骤720),而循环回到检查在缓冲器中是否有其它项目在等待714。如果不能配合,则项目被留在此缓冲器中,而循环回到检查在缓冲器714中是否有其它项目在等待。当执行此常驻程序的计算机移动至一具有可配合的安全性级别的计算环境时,在缓冲器中所留的项目可稍后传送。
[0101] 除了以上所述,图1与图4所示更描述一范例。在此例中,一使用者在一第一计算环境中将一计算机连接至一网络。也就是说,使用者160将笔记本电脑130连接至计算环境132。在此例中,连接124为至无线路由器104的802.11b连接。无线路由器104代表一在公共场所(例如一咖啡店或是机场)的无线热点(hot spot)。
[0102] 此使用者利用笔记本电脑产生欲跨越网络102而传送的数据,且此使用者为此欲跨越网络而传送的数据指定一安全性级别。在此例中,使用者通过键入一电子邮件(如图4的画面334所示)而产生此欲被传送的数据。此使用 者通过从发送程序(如图4所示的电子邮件客户端程序)的菜单312中选择菜单项目324,以指定此安全性级别为”无线加密、无通道”。此使用者通过在电子邮件客户端程序上的“发送(Send)”按钮315,而要求发送程序跨越网络传送此数据。
[0103] 此电子邮件客户端程序监视此笔记本电脑与此网络间可取得的安全性控制,将其与数据所指定的安全性级别作比较,而在此例中,判断与此网络的连接缺少能够满足数据所指定的安全性级别,也就是”无线加密、无通道”。之后此电子邮件客户端程序缓冲此欲发出的电子邮件讯息,而此使用者收到一通知,此通知为报告此第一计算环境的安全性控制系缺少所指定安全性级别所需的安全性控制。也就是说,此使用者通过一弹出式对话框或其它方式,从电子邮件客户端程序接收在此使用者的收件箱中的一电子邮件讯息,告知无线加密无法在第一计算环境中使用,而此电子邮件讯息将被暂留,直到在一较安全的计算环境。
[0104] 使用者移动162此笔记本电脑130,且将此计算机经由一第二计算环境134连接至网络102。此第二计算环境具有所指定安全性级别所需要的安全性控制。举例来说,此第二计算环境134为全部设置在一防火墙136后的公司计算环境,此防火墙136监视所有进出计算环境134的数据传输,且含有不需一通道的无线加密安全性控制。在移动此笔记本电脑130至此第二计算环境134后,使用者收到一通知,此通知为报告此数据,也就是此范例中的电子邮件讯息,已经跨越网络而被传送。此关于数据已被传送的通知可经由一对话框,一在使用者发件箱中的讯息副本,或是其它本领域普通技术人员所公知的方式而实施。 [0105] 在此例中,当计算机连接至此第二网络,此电子邮件客户端程序可自动判断此第二计算环境具有所指定安全性级别所需要的安全性控制。当判断此第二计算环境具有所指定安全性级别所需的安全性控制时,此电子邮件客户端程序可自动地跨越此网络发送数据。可选择性的,此电子邮件客户端程序可告知此使用者此第二计算环境具有所指定安全性级别所需的安全性控制,因此使用者经由一对话框或是一电子邮件讯息而接收到一确认通知,以告知此第二计算环境具有所指定安全性级别所需的安全性控制。在此例中,使用 者可再一次要求此发送程序(在此例中为电子邮件客户端程序)跨越网络而传送此数据。 [0106] 虽然本发明以实施例揭露如上,然其并非用以限定本发明,任何本领域的普通技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求所界定的为准。