机密信息泄露防止系统、机密信息泄露防止方法及机密信息泄露防止程序的制作方法

文档序号:6351833阅读:129来源:国知局
专利名称:机密信息泄露防止系统、机密信息泄露防止方法及机密信息泄露防止程序的制作方法
技术领域
本发明涉及一种用于防止机密信息泄露的技术,以及更具体地,涉及一种用于使用多级别安全机制防止机密信息泄露的技术。
背景技术
多级别安全系统(MLS)是已知的,其将载明安全级别的标签分配给访问主体和目标,并基于所分配标签控制对访问目标的访问。这种多级别安全系统向应用程序分配例如表示“公共”或“机密”的标签,从而控制从应用程序至文件夹等的访问。在专利文档I和专利文档2中描述了将这种多级别安全系统应用于网络系统的技术。专利文档I (专利公开JP-A-2004-220120)公开了一种网络系统,其中,当将示出了机密级别的标签分配给客户端终端中的文件且客户端终端向外发送带标签文件时,网关服务器上的发送管理程序检查文件的标签,以及当机密级别是非机密时,向组织外部的网络发送文件。专利文档2 (专利公开JP-A-2000-174807)公开了一种配置,其中,计算机系统包括操作系统内核,用于支持多级别访问控制安全机制创建对象访问分组。
·
[专利文档I]专利公开 JP-A-2003-173284[专利文档2]专利公开 JP-A-2000-174807当通过应用在前述专利文档I和专利文档2中描述的配置来引入多级别安全系统时,因为在客户端终端中,再度需要用于将标签分配给IP分组的配置,所以存在如下问题 有必要修改现有系统中的操作系统、程序提供网络服务等。

发明内容
因此,本发明的目的在于,提供一种方案,用于提供网络兼容的多级别安全系统, 而不用必须修改现有系统的操作系统等。本发明是一种机密信息泄露防止系统,其中,客户端和服务器被配置为能够经由网络彼此进行通信。客户端包括网络访问控制单元,用于基于向应用程序分配的安全级别来控制从应用程序向服务器发送的网络访问请求;以及第一认证单元,用于与服务器执行认证处理,认证处理用于认证已安装了网络访问控制单元。服务器包括第二认证单元,用于与客户端执行所述认证处理,以及当所述认证处理成功时,许可从客户端发送的网络访问请求。此外,本发明是一种机密信息泄露防止系统中的机密信息泄露防止方法,其中,客户端和服务器被配置为能够经由网络彼此进行通信。客户端执行以下步骤控制步骤,基于向应用程序分配的安全级别来控制从应用程序向服务器发送的网络访问请求;以及第一认证步骤,与服务器执行认证处理,所述认证处理用于认证已安装了用于执行控制步骤的网络访问控制程序。服务器执行以下步骤第二认证步骤,与客户端执行所述认证处理,以及许可步骤,当所述认证处理成功时,许可从客户端发送的网络访问请求。此外,本发明是一种程序,使得被配置为能够经由网络与服务器进行通信的客户端执行以下步骤,所述步骤包括控制步骤,基于向应用程序分配的安全级别来控制从应用程序向服务器发送的网络访问请求;以及第一认证步骤,与服务器执行认证处理,所述认证处理用于认证已安装了用于执行控制步骤的网络访问控制程序。以及所述程序使得服务器执行以下步骤第二认证步骤,与客户端执行所述认证处理,以及许可步骤,当所述认证处理成功时,许可从客户端发送的网络访问请求。此外,本发明也是一种存储前述程序的计算机可读存储介质。可以通过诸如CD-ROM或其它光盘、磁盘或半导体存储器之类的各种记录介质将本发明的程序安装或加载到计算机中,或者经由通信网络等将本发明的程序下载到计算机中。应注意,本说明书中所使用的术语“单元”等并非只涉及物理单元,还包括如下情形由软件实现这种单元的功能。此外,可以通过两个或更多个物理单元实现一个单元的功能,以及可以通过一个物理单元实现两个或更多个单元的功能。根据本发明,能够提供一种网络兼容的多级别安全系统,而不用必须修改现有系统的操作系统等。


图I是示出了根据第一实施例的机密信息泄露防止系统的示意性配置的图。 图2是示出了根据第一实施例的机密信息泄露防止系统的硬件配置的示例的图。图3是示出了标签分配列表的示例的图。图4是示出了服务器信息存储单元的数据结构的示例的图。图5是示出了访问控制规则存储单元的数据结构的示例的图。图6是示出了装配网络监视单元的示例的图。图7是示出了需要认证的服务器列表的数据结构的示例的图。图8是示出了已认证客户端列表的示例的图。图9是示出了机密信息泄露防止处理的流程的示例的流程图。图10是示出了认证处理的流程的示例的流程图。图11是示出了根据第二实施例的机密信息泄露防止系统的示意性配置的图。
具体实施例方式现在参考

本发明的实施例。应注意,给予相同元件相同参考数字,并省略相同元件的冗余说明。[系统配置]图I是示出了客户端/服务器系统的示意性配置的框图,其中所述客户端/服务器系统应用根据本实施例的机密信息泄露防止系统。该系统包括客户端100和服务器200, 以及客户端100和服务器200经由网络N互连。对于客户端100,可以应用通用计算机,如图2所示,通用计算机包括如下硬件作为用于控制客户端100的处理和操作的控制单元的CPU 10、诸如ROM 11或RAM 12之类的存储器、用于存储各种信息的外部存储装置(HDD) 13、通信接口 14、输入接口 15、诸如显示器之类的输出接口 16、和用于连接前述部件的总线。ROM IURAM 12或外部存储装置13有时也简称为存储装置。由于CPU 10执行在存储器或外部存储装置13中存储的预定程序, 所以客户端100可以用作稍后描述的各种功能实现单元,比如标签分配单元102、网络访问控制单元106和认证单元107。应注意,尽管图I示出了一个客户端100,但是多个客户端 100可以与服务器200相连,并可以根据设计适当地设置客户端100的数目。此外,尽管图 I示出了一个服务器200,但是多个服务器200可以与客户端100相连,并可以根据设计适当地设置服务器200的数目。客户端100包括通信单元101、标签分配单元102、应用程序103 (公共应用程序 103a,机密应用程序103b)、服务器信息存储单元104、访问控制规则存储单元105、网络访问控制单元106和认证单元107。通信单元101被配置为经由网络N与服务器200和未示出的其它设备进行通信, 并输入/输出信息,以及通信单元101也称作通信部件。例如,通信单元101包括现有通信模块,比如网络接口卡(NIC)或TCP/IP驱动器。标签分配单元102被配置为能够向应用程序103分配示出了安全级别的信息(在下文中,称作“标签”),以及标签分配单元102也称作作标签分配部件。此外,标签分配单元102被配置为能够在预定存储区域中存储列表(标签分配列表),其中所述列表将应用程序 103与向该应用程序103分配的标签相关联。对于标签,例如,可以分配两种标签,低安全的“公共”和高安全的“机密”,但是标签的内容不限于此,且可以根据设计进行适当设置。图3示出了标签分配列表的数据结构的示例,以及存储了用于唯一标识应用程序的进程ID(进程号)、应用程序名称与向应用程序分配的标签之间的对应性。此外,当标签分配单元102从网络访问控制单元106接收到与向预定应用程序分配的标签相关的查询时,标签分配单元102被配置为能够从标签分配列表读取向该应用程序分配的标签,且告知标签。此外,在阻止客户端100中的信息从机密应用程序103b分发至公共应用程序103a时,也可以使用由标签分配单元102分配的标签。应用程序103 (公共应用程序103a和机密应用程序103b)是存储在外部存储装置13等中的应用程序软件,并通过CPU 10执行应用程序软件来向用户提供预定功能。对于应用程序103,不存在特殊限制,而是例如可以应用包括编辑器(具有编制文档功能)或浏览器(具有信息读取功能)的现有软件,以及在该实施例中,根据标签内容区分应用程序 103。在该实施例中,例如,将应用程序103区分为应用程序(公共应用程序103a)和应用程序(机密应用程序)103b,其中,向公共应用程序103a分配了公共标签,向机密应用程序 103b分配了机密标签。服务器信息存储单元104是存储装置,其将应用程序103的访问目标与和分配给访问目标的标签相关的服务器信息(也称为访问目标管理信息)相关联,并进行存储,以及服务器信息存储单元104包括作为数据库的功能,并且服务器信息存储单元104也称作服务器信息存储部件。当服务器信息存储单元104从网络访问控制单元106接收预定请求 (包括用于指定访问目标的信息)时,服务器信息存储单元104被配置为从服务器 信息搜索向该访问目标分配的标签,并向网络访问控制单元106告知搜索结果。此外,对于向访问目标分配的标签而言,可以分配两种标签“公共”和“机密”,但是并非限于此,可以根据设计适当地设置其它标签。
图4示出了服务器信息存储单元104的数据结构的示例。如该图所示,服务器信息存储单元104存储服务器/文件夹信息,以及当访问目标是服务器A的机密文件夹(服务器A/秘密文件夹)时,将“机密”分配给标签,当访问目标是服务器A的公共文件夹(服务器A/公共文件夹B)时,将“公共”分配给标签。应注意,服务器信息存储单元104的数据结构不限于此,例如,可以使用IP地址代替服务器名称,作为能够唯一标识服务器的信息。 此外,当安全级别是“机密”和“公共”两个级别时,能够仅指定机密文件夹,而认为所有其它文件夹是公共文件夹。访问控制规则存储单元105是存储装置,存储用于限制应用程序103对访问目标进行访问的信息(访问控制规则),以及访问控制规则存储单元105也称作访问控制规则存储部件。尽管对于访问控制规则存储单元105,不存在特殊限制,但是例如,对于每个应用程序,相应访问目标与针对这些访问目标的访问控制的内容是相关联的,并进行了存储。可以根据访问的类型或性质适当地设置和改变控制的内容。图5示出了访问控制规则存储单元的数据结构的示例。如该图所示,对于机密应用程序,分别将“许可访问”与机密文件夹相关联,以及将“仅许可读”与公共文件夹相关联,并对其进行设置。同时,对于公共应用程序,分别将“禁止访问”与机密文件夹相关联,以及将“许可访问”与公共文件夹相关联,并对其进行设置。网络访问控制单元106包括网络监视单元106a(在下文中,称作“监视单元”),用于监视经由通信单元101执行的网络通信,和访问控制单元106b,用于执行对应用程序的访问控制,以及网络访问控制单元106也称作网络访问控制部件。网络访问控制单元106 可以例如是存储在外部存储装置13等中的程序(网络访问控制程序),并通过CPU 10执行程序来提供如下功能监视网络通信或者执行对应用程序的访问控制。 监视单元106a用于监视由应用程序103实施的所有网络访问,以及监视单元106a 也称作监视部件。可以通过应用诸如TDI (传输驱动器接口)驱动器或NDIS(网络驱动器接口规范)驱动器之类的过滤驱动器的常规技术,来实现监视单元106a。图6是示出了装配监视单元106a的示例的图。访问控制单元106b被配置为能够在监视单元106a检测到由应用程序103实施的网络访问时执行对应用程序的访问控制,以及访问控制单元106b也称作访问控制部件。具体地,访问控制单元106b从所检测访问提取用于标识应用程序的应用程序标识信息(例如,进程ID)或者用于标识访问目标的访问目标信息(例如,文件名称),并从标签分配单元102获取基于进程ID的应用程序的标签。此外,访问控制单元106b从服务器信息存储单元104获取基于访问目标信息的访问目标(例如,文件夹)的标签。随后,访问控制单元 106b通过如下步骤执行对应用程序103的访问控制基于所获得的应用程序103的标签和文件夹204的标签,从访问控制规则存储单元105查阅访问控制规则。此外,访问控制单元106b被配置为在预定存储区域中存储由认证单元202安装的服务器的列表(需要认证的服务器的列表),并通过查阅需要认证的服务器的列表来确定是否需要认证。图7是示出了需要认证的服务器的列表的数据结构的示例的图。尽管在需要认证的服务器的列表的结构上不存在特殊限制,但是,例如,存储IP地址或DNS名称,作为能够唯一识别服务器的信息。此外,访问控制单元106b在预定存储区域中存储认证密钥,用于验证如下内容安装了网络访问控制单元106。预定密钥与由服务器200的认证单元202持有的认证密钥相同。认证单元107用于认证在客户端100中安装了网络访问控制单元106,以及认证单元107被配置为能够与服务器200执行认证处理,且认证单元107也称作认证部件。认证单元107使用由网络访问控制单元106持有的认证密钥并与服务器200的认证单元202 进行通信,从而执行认证处理。认证单元107向网络访问控制单元106告知认证处理结果。 尽管在认证处理的方法方面不存在特殊限制,但是作为一个示例,在此执行了根据询问响应系统的认证处理。稍后将说明认证处理的细节。此外,认证单元107被配置为能够确定是否网络访问控制单元106在操作中。尽管在确定网络控制单元106是否在操作中的方式上不存在特殊限制,但是例如,从操作系统获取正在进行的进程的列表,并确认在所获得的进程列表中是否包括网络访问控制单元的进程ID。服务器200包括通信单元201、认证单元202、服务器应用程序203和文件夹 204(公共文件夹204a、机密文件夹204b)。对于服务器200,可以应用通用服务器或计算机,所述通用服务器或计算机包括如下硬件用于控制服务器200的处理和操作的CPU、诸如ROM或RAM之类的存储器、用于存储各种信息的外部存储装置、通信接口、I/O接口和用于连接前述部件的总线。应注意,服务器/计算机的硬件配置与参考图2进行说明的客户端100的硬件配置相同,省略其说明。通信单元201被配置为经由网络N与客户端100和未示出的其它设备通信,并输入/输出信息,以及通信单元20 1也称作通信部件。例如,通信单元201包括现有通信模块, 比如网络接口卡(NIC)或TCP/IP驱动器。认证单元202被配置为能够与客户端100执行认证处理,以认证在客户端100中安装了网络访问控制单元106,以及认证单元202也称作认证部件。具体地,认证单元202 持有与由客户端100的网络访问控制单元106持有的认证密钥相同的密钥,以及认证单元 202被配置为使用该认证密钥与客户端的认证单元107进行通信,并执行认证处理。此外,认证单元202被配置为创建认证成功的客户端列表(已认证客户端列表)。 图8是示出了已认证客户端列表的配置的示例的图。尽管在已认证客户端列表的数据配置上不存在特殊限制,但是如图所示,存储客户端的IP地址,作为用于唯一标识已认证客户端的标识信息。当客户端的认证成功时,认证单元202将该客户端添加到已认证客户端列表中。应注意,在图8中,通过将作为已认证客户端的客户端的可用小时(剩余可用小时) 与IP地址相关联,来存储客户端的可用小时。稍后将说明剩余可用小时。此外,认证单元202被配置为监视对服务器应用程序203的网络访问,以及在检测到网络访问时,认证单元202确定在已认证客户端列表中是否包括执行该网络访问的客户端,并基于确定结果决定是否许可该网络访问。具体地,当在已认证客户端列表中包括了执行网络访问的客户端时,认证单元202许可该网络访问,以及当在已认证客户端列表中没有包括执行网络访问的客户端时,禁止该网络访问。服务器应用程序203是用于提供网络服务的程序,存储在外部存储装置等中,并由CPU执行。尽管不存在特殊限制,但是例如,利用FTP或CIFS加载的现有程序与其相对应。
文件夹204用于存储要成为访问目标的数据,文件夹204也称作目录。通过分配的标签区分文件夹204,在本实施例中,作为一个示例,将文件夹204区分为分配了公共标签的文件夹(公共文件夹)204a和分配了机密标签的文件夹(机密文件夹)204b。换句话说,在公共文件夹中存储了公共信息,以及在机密文件夹中存储了机密信息。应注意,标签的内容不限于此,并且可以根据设计适当地设计标签的内容。在服务器信息存储单元104 中存储文件夹204与标签的对应关系(图4)。其次,网络N是一种线路,用于发送并接收客户端100与服务器200之间的信息。 网络N是例如因特网,专用线路、分组通信网络、电话线路、LAN、内联网或其它通信线路、或者前述线路的组合,并且网络N可以是有线的或无线的。[机密信息泄露防止处理的流程]
现在参考图9说明根据本实施例的机密信息泄露防止处理。应注意,在不会造成处理内容上的任何矛盾的程度上,可以任意改变图9和图10所示相应处理步骤的顺序,或者可以并行地执行相应处理步骤。此外,可以在相应处理步骤之间添加其它步骤。此外,为了便利,可以通过将指示为一个步骤的步骤分离为多个步骤来执行。同时,为了便利,指示为多个步骤的步骤可以被理解为一个步骤。作为前提,例如,假定网络访问控制单元106的监视单元106a在预定时刻(比如, 当打开电源时)启动监视所有网络通信。例如,由控制单元(CPU)执行的应用程序103 (103a和103b)根据用户操作的指令启动对指定网络上的访问目标的访问(步骤SI)。网络访问控制单元106的监视单元106a钩住(hook)由应用程序103(103a或 103b)实施的网络访问(也称作网络访问事件)(步骤S2)。随后,网络访问控制单元106的访问控制单元106b从所钩住的访问获取例如进程号,作为用于标识应用程序的应用程序信息,并基于前述进程号向标签分配单元102查询正尝试执行网络访问的应用程序103(103a或103b)的标签(步骤S3)。标签分配单元102从标签分配列表(参考图3)搜索向应用程序103 (103a或103b) 分配的标签,并向访问控制单元106b告知搜索结果(步骤S4)。当访问控制单元106b从标签分配单元102获得应用程序103的标签时,访问控制单元106b从所钩住的访问获取用于标识访问目的地的访问目的地信息,并基于访问目的地信息向服务器信息存储单元104查询向访问目的地的文件夹204 (204a或204b)分配的标签。例如,当网络访问是文件共享时,可以获取访问目的地的服务器名称和文件夹名称, 作为访问目的地信息。服务器信息存储单元104从内部存储数据库(参考图4)搜索由访问目的地信息进行标识的文件夹的标签,并向访问控制单元106b告知搜索结果(步骤S6)。当访问控制单元106b获得应用程序103 (103a或103b)的标签和访问目的地的标签时,访问控制单元106b查阅在访问控制规则存储单元105中存储的访问控制规则(参见图5),并确定是否许可由应用程序实施的网络访问(步骤S7)。例如,如图5所示,当应用程序是机密标签,且访问目的地的文件夹也是机密标签时,许可访问。此外,当应用程序是公共标签,且访问目的地文件夹也是公共标签时,许可访问。当应用程序是公共标签,而访问目的地的文件夹是机密标签时,禁止访问。此外,当应用程序是机密标签,而访问目的地的文件夹是公共标签时,仅许可进行读。当许可访问(包括部分许可)时,访问控制单元106b通过以下方式确定是否需要与服务器200进行认证确定例如是否在需要认证的服务器的列表(参见图7)中包括访问目的地。当访问控制单元106b确定在需要认证的服务器的列表中包括访问目的地时,访问控制单元106b确定需要认证,并向认证单元107请求进行认证(步骤S7)。同时,当在需要认证的服务器的列表中没有包括访问目的地时,访问控制单元106b确定不需要进行认证, 并许可网络访问(步骤S10)。应注意,在步骤S7中,当禁止访问时,访问控制单元106b结束处理,而不用确定是否在需要认证的服务器的列表(参见图7)中包括访问目的地。当访问控制单元106b发起认证请求时,认证单元107与服务侧认证单元202执行认证处理,用于认证是否已经安装了网络访问控制单元106且是否网络访问控制单元106 正在运行。稍后将对关于认证处理的细节进行描述。当客户端100侧认证单元107与服务器200侧认证单元202之间的与是否已经安装了网络访问控制单元106且是否网络访问控制单元106正在运行相关的认证成功时,月艮务器200侧认证单元202将客户端100添加到已认证客户端列表中(步骤S8)。此外,客户端100侧认证单元107向访问控制单元106b告知认证成功,以及访问控制单元106b在被告知时许可网络访问,且应用程序103与服务器200的服务器应用程序 203进行网络通信(步骤S10)。在从应用程序103接收到访问(连接请求)时,服务器侧认证单元202确认是否已经对客户端100进行了认证,以及如果已经对客户端100进行了认证,则许可来自应用程序 103的访问,并执行所钩住的事件(步骤Sll)。同时,如果步骤S8中的认证以失败结束,则认证单元202确定还没有对客户端进行认证,并禁止来自应用程序103的访问(步骤Sll)。具体地,服务器侧认证单元202监视从应用程序至服务器应用程序203的网络访问,以及在钩住(检测到)访问时,确认是否在已认证客户端列表(参见图8)中包括客户端,当包括客户端时,许可通信,以及在没有包括客户端时,禁止通信(丢弃分组)。例如,当使用IP执行通信时,当已认证客户端列表中包括源IP地址时,许可通信,以及当没有包括源IP地址时,禁止通信。当服务器侧认证单元202从没有安装网络访问控制单元106的客户端接收访问时,因为在已认证客户端列表中没有登记客户端100,所以由于没有对客户端100进行认证而禁止来自该应用程序103的访问。当从应用了常规技术的客户端接收访问请求(包括应用程序的标签)时,服务器200也可以根据基于常规技术的标签处理该访问。[认证处理的流程]现在将参考图10详细地说明步骤S8的认证处理。应注意,在该实施例中,说明了基于询问响应系统执行相互认证的情况,但是认证方法不限于此,可以根据设计和其它原因适当地采纳其它认证方法。首先,客户端100侧认证单元107产生第一询问代码,并向服务器侧认证单元202 发送所产生的第一询问代码。可以例如使用随机数产生第一询问代码(步骤S20)。
当服务器200侧认证单元202接收到第一询问代码时,服务器200侧认证单元202 使用服务器200中存储的密钥,并根据第一询问代码产生第一响应代码(步骤S21)。例如, 可以通过如下步骤获得第一响应代码使用诸如SHAl或MD5之类的散列函数,且对密钥和第一询问代码进行转换。随后,认证单元202产生第二询问代码(步骤S22)。可以例如通过使用随机数产生第二询问代码。认证单元202向客户端100侧认证单元107发送所产生的第一响应代码和所产生的第二询问代码(步骤S23)。客户端100侧认证单元107从网络访问控制单元106获取密钥(步骤S24)。此外,客户端100侧认证单元107根据S20中产生的第一询问代码和从网络访问控制单元106获得的密钥产生正确的第一响应代码(步骤S25)。客户端100侧认证单元107将S25中产生的正确第一响应代码与从服务器200侧认证单元202接收的第一响应代码相比较,并确认是否两个第一响应代码彼此一致(步骤 S26)。如果两个第一响应代码不一致,则因为认证失败,所以客户端100侧认证单元107 结束处理(未示出)。如果两个第一响应代码彼此一致,则响应于从服务器200侧认证单元 202接收的第二询问代码,客户端100侧认证单元107通过使用从网络访问控制单元106获得的密钥产生第二响应代码(步骤S27)。认证单元107可以通过例如如下方式获得第二响应代码使用诸如SHAl或MD5之类的散列函数,并对密钥和第二询问代码进行 转换。随后,认证单元107从操作系统获取正在进行的进程的列表,且通过以下方式确定是否网络访问控制单元106正在操作基于网络访问控制单元106的进程ID确定在进程列表中是否包括网络访问控制单元106 (步骤S28)。当步骤S28中的确定结果是肯定的时,认证单元107向服务器200侧认证单元202 发送步骤27中产生的第二响应代码。同时,当步骤S28中的确定结果是否定的时,因为认证失败,所以认证单元107结束处理(未示出)。当服务器200侧认证单元202接收到第二响应代码时,服务器200侧认证单元202 根据步骤S22中产生的第二询问代码和密钥产生正确的第二响应代码(步骤S30)。服务器200侧认证单元202将所产生的正确第二响应代码与从客户端100侧认证单元107接收的第一响应代码相比较,并确认正确的第二响应代码与第一响应代码是否彼此一致(步骤S31).当正确的第二响应代码与第一响应代码不一致时,因为认证失败,所以认证单元 202结束处理(未示出)。当正确的第二响应代码与第一响应代码彼此一致时,则认证单元 202确定认证成功,并将客户端100添加到已认证客户端列表中。例如,当使用IP进行通信时,可以在已认证客户端列表(参见图8)中记录标识信息(例如,IP地址、DNS名称、机器名称),用于唯一标识客户端100 (步骤S32)。根据前述第一实施例,因为在客户端100与服务器200之间对客户端100中的网络访问控制单元106的安装和操作进行了认证,所以能够保证在客户端100侧上执行访问控制。因此,不再需要在客户端100侧将标签添加到分组中,从而能够提供网络兼容多级别安全系统,而无须修改操作等。此外,根据第一实施例,客户端100的网络访问控制单元106持有密钥,以及在认证时,从网络访问控制单元106向认证单元107传送密钥。因此,服务器200能够更可靠地对在客户端100中安装了网络访问控制单元106进行认证。
此外,根据第一实施例,因为在认证处理中,客户端100的认证单元107要确认在操作系统的进程列表中是否包括网络访问控制单元106,所以能够确认客户端100的网络访问控制单元106是否正在操作。[第一实施例的修改示例]在前述说明中,仅服务器200侧认证单元202持有已认证客户端列表,但是客户端 100侧认证单元107也可以持有用已认证服务器200的IP地址和名称进行记录的已认证服务器列表。在前述 情况下,可以省略认证过程而高速地进行至已认证服务器的通信。此外,已认证客户端列表还可以存储如图8所示的认证的剩余可用小时。在前述情况下,服务器200侧认证单元202可以按照预定定时(例如,每秒)扣除可用小时,并且当可用小时变为O时,认证单元202可以从列表中删除该条目。此外,在可用小时变为O之前,也可以再一次执行认证处理,从而重置认证的可用小时。在前述情况下,因为周期性地执行认证,所以能够防止合法客户端100和服务器200被欺骗性客户端或服务器代替。此外,除了记录IP地址和名称之外,认证单元202的已认证客户端列表和认证单元107的已认证服务器列表也可以记录由客户端100的应用程序103使用的端口号。此外, 当结束应用程序103并断开网络连接时,可以基于端口号从已认证客户端列表或已认证服务器列表中删除条目。在这种操作的情况下,因为仅当应用程序103通信时才执行重新认证,所以能够避免不期望的重新认证。此外,虽然在前述说明中,说明了使用两种标签“公共”和“机密”的情况,但是也可以使用两种或更多种标签。例如,也可以分配四种标签,比如“机密”、“顶级秘密”、“秘密”、 或“未分类”。在前述情况下,对于普通多级别安全系统而言,网络访问控制单元106禁止从具有低安全级别标签的应用程序103或文件夹204向具有高安全级别标签的应用程序103 或文件夹204发送信息。此外,在前述说明中,虽然说明了如下情况图9的SlO中的网络访问控制单元 106许可所钩住的应用程序103的网络访问,但是也可以根据标签执行诸如加密和记录之类的处理。根据这种配置,能够提供一种能够根据安全级别控制安全功能的系统。此外,在前述说明中,虽然说明了如下情况网络访问控制单元106控制对文件夹 204的读和写,但是网络访问控制的内容不限于此。例如,在由应用程序实施的网络访问并非是对文件夹进行读或写而是发送或接收email的情况下,网络访问控制单元106可以控制针对该email地址发送和接收email。此外,网络访问控制单元106也可以控制至服务器 200的进程的通信。此外,配置还可以是,为每个用户定义数据库,用于存储网络访问控制单元106的需要认证的服务器的列表和服务器信息存储单元104的文件夹的标签信息,并且由登陆用户切换需要认证的服务器的列表或数据库。根据该操作,可以执行根据用户的访问控制。此外,在认证处理期间,客户端100的认证单元107和服务器200侧认证单元202 也可以在预定时刻确认网络访问控制单元106还没有被伪造等。尽管在确认方法上不存在特殊限制,但是例如,在图10中的步骤S29,认证单元107向服务器200侧认证单元202发送网络访问控制单元106的执行二进制散列值。服务器200侧认证单元202将从认证单元 107接收的散列值与预先持有的网络访问控制单元106的执行二进制散列值相比较,并确定是否散列值彼此一致。如果散列值一致,则认证单元202确认网络访问控制单元106没有被伪造。同时,如果散列值不一致,则认证单元202确定网络访问控制单元106已经被伪造,并且因为认证以失败结束而结束处理。此外,在前述说明中,说明了如下情况访问控制单元106b持有需要认证的服务器的列表,且通过查阅所述需要认证的服务器的列表来确定认证必要性,确定认证必要性的方法不限于此。例如,访问控制单元106b也可以通过使用由服务器信息存储单元104持有的服务器/文件夹信息(参见图4)来确定认证必要性。具体地,访问控制单元106b从服务器信息存储单元104获取访问目的地服务器的服务器/文件夹信息,以及如果在所获得的文件夹信息中包括机密文件夹,则由于服务器持有机密文件夹而确定需要对该服务器进行认证。
此外,在前述说明中,说明了如下情况认证单元107通过密钥确认网络访问控制单元106的安装且通过进程列表确认网络访问控制单元106的操作,认证单元107可以仅确认网络访问控制单元106的安装。具体地,认证单元107可以在执行图10的步骤S27的处理之后省略步骤S28中的处理,然后执行步骤S29的处理。根据前述配置,可以以更快的速度执行认证处理。[第二实施例]现在,将参考图11说明第二实施例。省略与第一实施例相同部分的说明。如图11 所示,第二实施例与第一实施例的不同之处在于,客户端100还包括设置接收单元110,服务器200还包括设置接收单元210,以及设置发送服务器300包括设置发送单元301。设置发送服务器300的设置发送单元301被配置为相应地且内部地存储对服务器信息存储单元104的数据库进行存储的服务器信息、网络访问控制单元106的需要认证的服务器的列表和网络访问控制单元106的认证密钥,并向客户端100的设置接收单元110 发送服务器信息、需要认证的服务器的列表和密钥。此外,设置发送单元301被配置为向服务器200的设置接收单元210发送认证密钥。当客户端100的设置接收单元110接收到服务器信息、需要认证的服务器的列表和密钥时,设置接收单元110相应地更新服务器信息存储单元104的数据库中存储的服务器信息、网络访问控制单元106的需要认证的服务器的列表和认证密钥。此外,当服务器 200的设置接收单元210接收到认证密钥时,设置接收单元210更新由认证单元202持有的密钥。根据第二实施例,可以远程相应地更新服务器信息存储单元104中存储的服务器信息、网络访问控制单元106的需要认证的服务器的列表和认证密钥。特别地,当存在多个客户端100和服务器200时,管理可以流水线化。本申请涉及并要求享有2010年I月19日提交的No. 2010-9124的日本专利申请的优先权,在此并入其全部公开以供参考。以上参考实施例说明了本发明,但是本发明不限于前述实施例。本领域技术人员可以在本发明的范围内对本发明的配置和细节进行多种修改。根据本发明的机密信息泄露防止系统、机密信息泄露防止方法和机密信息泄露防止程序适于提供一种网络兼容多级别安全系统,而不必修改现有系统的操作系统等。10…CPU,11…ROM,12…RAM,13…外部存储装置,14…通信接口,15…输入接口, 16…输出接口,100…客户端,101…通信单元,102…标签分配单元,103…应用程序,103a…公共应用程序,103b…机密应用程序,104…服务器信息存储单元,105…访问控制规则存储单元,106…网络访问控制单元,106a…监视单元,106b…访问控制单 元,107…认证单元, 110…设置接收单元,200…服务器,201…通信单元,202…认证单元,203...服务器应用程序,204…文件夹,204a…公共文件夹,204b…机密文件夹,210…设置接收单元,300…设置发送服务器,301…设置发送单元,N…网络
权利要求
1.一种机密信息泄露防止系统,其中,客户端和服务器被配置为能够经由网络彼此进行通信, 其中,客户端包括 网络访问控制单元,用于基于向应用程序分配的安全级别来控制从应用程序向服务器发送的网络访问请求; 第一认证单元,用于与服务器执行认证处理,所述认证处理用于认证已安装了网络访问控制单元,以及其中服务器包括 第二认证单元,用于与客户端执行所述认证处理,以及当所述认证处理成功时,许可从客户端发送的网络访问请求。
2.根据权利要求I所述的机密信息泄露防止系统, 其中,第一认证单元通过使用由网络访问控制单元持有的密钥来与第二认证单元执行所述认证处理。
3.根据权利要求I所述的机密信息泄露防止系统, 其中,第一认证单元包括 第一发送单元,用于向服务器发送通过使用第一随机数而产生的第一询问代码;第一接收单元,用于接收从服务器发送的第一响应代码和第二询问代码,第一响应代码基于第一询问代码; 第一响应代码产生单元,用于基于由网络访问控制单元持有的第一密钥和所产生的第一询问代码产生第一响应代码; 第一确定单元,用于确定由第一接收单元接收的第一响应代码与由第一响应代码产生单元产生的第一响应代码是否彼此一致;以及 第二发送单元,用于当第一确定单元得到的确定结果是肯定的时,向服务器发送根据第一接收单元接收的第二询问代码而产生的第二响应代码, 其中,第二认证单元包括 第三发送单元,用于向客户端发送通过使用由第二认证单元持有的第二密钥而根据从客户端发送的第一询问代码产生的第一响应代码,和通过使用第二随机数产生的第二询问代码; 第二接收单元,用于接收从客户端发送的基于第二询问代码的第二响应代码; 第二响应代码产生单元,用于基于第二密钥和所产生的第二询问代码产生第二响应代码;以及 第二确定单元,用于确定从客户端发送的第二响应代码与通过第二响应代码产生单元产生的第二响应代码是否彼此一致,且在确定结果是肯定的时,确定所述认证处理是成功的。
4.根据权利要求I至3中任一项所述的机密信息泄露防止系统, 其中,在网络访问控制单元正在操作的条件下,第一认证单元与服务器执行所述认证处理。
5.根据权利要求4所述的机密信息泄露防止系统, 其中,第一认证单元从操作系统获取正在进行的进程的列表,以确认在所获得的进程列表中是否包括网络访问控制単元,从而确定网络访问控制单元是否正在操作。
6.一种机密信息泄露防止系统中的机密信息泄露防止方法,其中,客户端和服务器被配置为能够经由网络彼此进行通信, 其中,客户端执行以下步骤 控制步骤,基于向应用程序分配的安全级别来控制从应用程序向服务器发送的网络访问请求;以及 第一认证步骤,与服务器执行认证处理,所述认证处理用于认证已安装了用于执行控制步骤的网络访问控制程序, 其中,服务器执行以下步骤 第二认证步骤,与客户端执行所述认证处理,以及 许可步骤,当所述认证处理成功吋,许可从客户端发送的网络访问请求。
7.ー种程序,使得被配置为能够经由网络与服务器进行通信的客户端执行以下步骤 控制步骤,基于向应用程序分配的安全级别来控制从应用程序向服务器发送的网络访问请求;以及 第一认证步骤,与服务器执行认证处理,所述认证处理用于认证已安装了用于执行控制步骤的网络访问控制程序,以及 所述程序使得服务器执行以下步骤 第二认证步骤,与客户端执行所述认证处理,以及 许可步骤,当所述认证处理成功吋,许可从客户端发送的网络访问请求。
全文摘要
提供了一种机密信息泄露防止系统,其中,客户端(100)和服务器(200)能够经由网络彼此进行通信。客户端(100)包括网络访问控制单元(106),用于基于向该应用程序分配的安全级别来控制从应用程序向服务器(200)发送的网络访问请求;以及第一认证单元(107),用于执行服务器(200)与客户端(100)之间的认证处理,已认证是否安装了网络访问控制单元(106)。服务器(200)包括第二认证单元(202),用于执行服务器(200)与客户端(100)之间的认证处理,以及当认证处理成功时,许可从客户端发送的网络访问请求。
文档编号G06F21/55GK102713926SQ201080061850
公开日2012年10月3日 申请日期2010年12月6日 优先权日2010年1月19日
发明者佐佐木贵之 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1