用于认证程序型文件的方法

文档序号:6650023阅读:119来源:国知局
专利名称:用于认证程序型文件的方法
技术领域
本发明是关于用于认证程序型文件的方法,确认网络环境中流通使用的文件的安全,特别是关于防止一未经认证的程序型文件在连接该网络环境的使用者计算机上开启执行。
由于网络环境的发达及大量的使用,无论是因特网的网络环境,抑或局域网的网络环境,无数个文件皆经由网络环境达成传送及接收,因此发展出许多用以确保从网络环境中所接收到的文件安全性的公知技术,其中用于服务器计算机的防火墙技术为典型的代表。防火墙公知技术可以过滤出由未经核准网站所传来的文件,并且作安全隔离不同网络的连接限制,然而仍无法防止通过防火墙的经核准网站所传来的文件,其最终被使用者计算机开启使用,若这个文件的内容存有破坏性程序代码,或是存有错误(bug)程序代码,在此情况,公知防火墙公知技术是无法过滤检出这个文件,而且在使用者计算机亦无安全的机制用以防止这个文件的开启使用。
本发明目的是在网络环境的服务器计算机及使用者计算机上,可以一起防止未经认证文件的流通使用,以达成在因特网的网络环境,抑或在局域网的网络环境中安全使用文件的需求。
为达到本发明上述目的,本发明提供一种用于认证程序型文件的方法,其实施于一网络环境,该网络环境包含复数个使用者计算机及一个提供该复数个使用者计算机伺服服务的服务器计算机,该方法包括下列步骤建立一认证数据库,其中该认证数据库至少包含复数个认证文件记录,该认证文件记录至少具有一个文件类型为程序型文件的文件名称字段、一个文件版本字段、及一个依据该文件的内容所计算得出的查验码字段;复制该认证数据库至该服务器计算机及该复数个使用者计算机;依据复制于该服务器计算机的认证数据库,分析经由该网络环境进入/送出于该服务器计算机的复数个文件是否安全,其中该分析步骤实施于该服务器计算机内;依据复制于该使用者计算机的认证数据库,查验该使用者计算机所开启的文件是否安全,其中该查验步骤实施于该使用者计算机内。
下面结合附图对本发明详细说明。


图1为显示本发明方法实施在一网络环境的范例。
图2为显示本发明方法的流程图。
图3为显示本发明的认证数据库具体实施例。
图4为显示一DEMO.EXE范例的程序代码。
图5为显示本发明实施于服务器计算机的分析步骤流程图。
图6为显示服务器计算机于执行本发明时主存储器的状态图。
图7为显示本发明实施于使用者计算机的查验步骤流程图。
图8为显示使用者计算机在执行本发明时主存储器的状态图。
图中10服务器计算机 80认证数据库20、21、22、23使用者计算机 100、200认证文件记录30网络连接线 102、202文件版本字段40认证数据库的步骤 103、203查验码字段50复制认证数据库的步骤 104、204供应者字段70查验步骤如图1所显示,为本发明方法实施在一网络环境的范例。图1的网络连接线30连接服务器计算机10,及复数个使用者计算机20、使用者计算机21、使用者计算机22、使用者计算机23。其中服务器计算机10可以是具有FTP、MAIL、HTTP等伺服服务组合的服务器计算机,或者仅具有其中一个的FTP、MAIL、HTTP服务器计算机等,或者为Microsoft的视窗操作系统,诸如Windows NT4.0,Windows 200,或者安装上Proxy的WindowsNT4.0,Windows 2000等,或者是为Microsoft或Unix或Linus或LotusNotes文件服务器计算机。服务器计算机10的硬件平台可以利用商业上提供的伺服工作站计算机。其中复数个使用者计算机20-23利用网络连接线30及上述各类的伺服服务,接收服务器计算机10所传来的文件。
如图2所显示的本发明方法的流程图。在图2的建立一认证数据库的步骤40,由于本发明主要是针对程序型文件作认证的处理,这些程序型文件在具体形态上的文件名称的扩展名,习惯上皆以.EXE、.COM、.DOC、.JAVA及.WSH为扩展名名称,因此应用本发明的系统管理者,将准许对于图1的网络环境内流通使用的复数个程序型文件建立一认证数据库。如图3所显示的认证数据库的具体实施例,图3的认证数据库80至少包含复数个认证文件记录100、200,每个认证文件记录100、200至少具有一个文件类型为程序型文件的文件名称字段101、201,及一个文件版本字段102、202,及一个依据文件的内容所计算得出的查验码字段103、203,并且认证数据库80进一步包含一个供应者字段104、204。图3的认证文件记录100可以说明一个WINWORD.EXE的文件名称,其为8.0版本,查验码是“25061166”,其为“ABC”公司的产品。
上述本发明建立一认证数据库的步骤40,其中一个依据该文件的内容所计算得出的查验码字段的具体实施例,其使用的计算手段说明如下图4为在微软公司视窗操作系统中可执行的DEMO.EXE文件范例,其以十六进位(Hex)的数值表示DEMO.EXE的目的二进制文件(object binaryfile)。首先由地址00及地址01的内容“4D5A”,可以得知其为“.EXE”文件的格式,接着由地址80起算之后的第28个的地址,其连续4个地址内容为“00001145”,因此可得知DEMO.EXE程序代码的执行进入地址(address of entry point)长度为“00001145”。然后由地址80起算之后的第F8个的地址,亦即为地址178,由地址178起算之后28个的长度,其为“text”区的内容资料,由“.text”区起算的地址08处所得到的4位元资料为“00000280”,此即为“.text”区的资料的虚拟大小(virtualsize),指在记忆体中的大小。同理,可求得其他各区,如“.bss”、“.rdada”、“.data”...各区的虚拟地址及大小,因为“00001145”(address of entrypoint)大于“00001000”而且小于“00001280”(由“00001000”+“00000280”得出)因此可推知程序入口位于“.text”区。再由这个“.text”区,可以得到DEMO.EXE程序代码的入口(entry point)及程序代码的长度,由地址178起起算之后10个的地址,其内容为“00000400”,得到程序代码的长度为400,由地址178起起算之后14个的地址,其内容为“00000400”,得到程序代码的起始地址为“00004000”。再由起始地址400起算之后400个长度至地址7FF为止,介于地址400及地址7FF的内容,本发明的上述计算手段在具体实施例是使用MD5(message digest version 5)计算技术,经MD5计算400个长度的程序代码内容得到一特定值“C50E97FEA12345C57691B47A9F5E32B1”,这个特定值可以使用为DEMO.EXE的查验码。其中上述的MD5计算手段,其目的是用以说明产生认证程序型文件的查验码具体范例,其可以用其它不同的计算手段,例如循环冗余码检验CRC(cyclic redundancy check)计算、检验和(checksum)计算等作为实施例。上述扩展名为“.EXE“的DEMO.EXE及关于本发明的其它文件类型为程序型文件是为具有扩展名为“.COM”、“.DOC”、“.JAVA”、及“.WSH”,其文件格式皆可由公开的相关的SDK(systemdevelopment kit)之类的手册中获得了解。关于上述MD5的技术可以从Internet RFCs 1319-1321资料中获得了解。
图2的复制认证数据库的步骤50,其主要是将经由上述认证数据库的步骤40所产生的认证数据库,其在如图1所示的网络环境,服务器计算机10及使用者计算机20-23皆有一个相同内容的认证数据库。
图2的分析步骤60及查验步骤70分别在服务器计算机10及各个的使用者计算机20-23中执行。首先说明实施于服务器计算机10内的分析步骤60,如图5所显示的本发明实施于服务器计算机的分析步骤流程图。图5的识别步骤61识别进入/送出于服务器计算机10的复数个文件,其是否属于文件类型为程序型文件,其中识别的具体实施可以利用上述的SDK手册所提供的关于处理文件系统的应用程序接口API(Application ProgramInterface)呼叫(call),则可以得到文件所有的资料,例如文件的文件名称、版本、哪个公司的产品,亦可利用上述的API呼叫,将文件读入,来计算出文件的查验码。步骤62为文件不是程序型文件,则认可文件为安全。步骤63为文件是为程序型文件,则对比文件的名称及版本是否相同于复制于服务器计算机的认证数据库的其中一个认证文件记录的文件名称字段及文件版本字段,若对比相同时,则进入步骤64,否则进入步骤67。步骤64为相同的文件名称及版本时,使用相同于建立一认证数据库的步骤40的计算手段。步骤65为依据文件的内容所计算得出的查验码,其是否相同于复制于服务器计算机的认证数据库的其中一个认证文件记录的查验码字段,若文件的查验码相同,则进入步骤66认可文件为安全,否则进入步骤67认可文件为不安全,并通知警告信息给该服务器计算机。其中上述认可文件为不安全时,其具体实施例可以直接将文件删除或移置到服务器计算机的局域储存装置(local storage device),同时可显示警告信息于服务器计算机的屏幕(图未显示)上。如图5所示的本发明的分析步骤,其具体实施方式
可为一程序代码,如图6所显示的服务器计算机10在执行本发明时,其主存储器的状态图,图6的主存储器内包含有操作系统、API应用程序接口、分析步骤程序代码与读入至主存储器的认证数据库、及文件系统驱动程序。当服务器计算机10的类似如硬盘的储存装置(图未显示)进入/送出复数个文件时,其整个进入/送出文件的处理,中间过程必须通过主存储器的分析步骤程序代码,因此具体达成于服务器计算机10认证程序型文件的目的。
接着说明图2的实施于使用者计算机20-24内的查验步骤7,如图7所显示的本发明实施于使用者计算机的查验步骤流程图。图7的识别步骤71,是识别使用者计算机开启的文件,其是否属于文件类型为程序型文件,若为程序型文件则进入步骤73,否则进入步骤72。其中使用者计算机的识别手段,其具体实施手段的说明,如上述实施于服务器计算机中识别步骤的具体实施手段说明。步骤72为文件不是程序型文件,则认可文件为安全。步骤73为文件是程序型文件,则对比文件的名称及版本是否相同于复制于使用者计算机的认证数据库的其中一个认证文件记录的文件名称字段及文件版本字段,若为相同的文件名称及版本时,则进入步骤74,否则进入步骤77。步骤74为使用相同于建立一认证数据库的步骤40的计算步骤。步骤75为依据文件的内容所计算得出的查验码,其是否相同于复制于使用者计算机的认证数据库的其中一个认证文件记录的查验码字段,若文件的查验码相同,则进入步骤76认可文件为安全,准许文件开启执行,否则进入步骤77认可文件为不安全,并禁止使用者计算机执行该文件。上述步骤73及步骤75的用于认证的对比手段,其均相同于上述实施于服务器计算机中对比步骤的具体实施手段说明。图2的实施于使用者计算机20-24内的查验步骤70,其需要进一步作说明的是上述使用者计算机所开启的文件,其具体实施上可以为存放于服务器计算机10内的文件,或者是先前经由服务器计算机10下载至使用者计算机的文件。图8为显示使用者计算机于执行本发明时主存储器的状态图。图8的主存储器内包含有操作系统、API应用程序接口、查验步骤程序代码与读入至主存储器的认证数据库、及文件系统驱动程序。当使用者计算机开启文件时,所开启的文件可以是服务器计算机内的文件,或是使用者计算机的文件,开启中间过程必须通过主存储器的查验步骤程序代码,因此具体达成使用者计算机认证程序型文件的目的。
虽然本发明已以一较佳实施例公开如上,然而其并非用以限定本发明,任何熟悉此项技术者,在不脱离本发明的精神和范围内,应当可以作各种的更动与润饰,因此本发明的保护范围应当视后附的权利要求所界定的保护范围为准。
权利要求
1.一种用于认证程序型文件的方法,其实施于一包含复数个使用者计算机及一个给该复数个使用者计算机提供伺服服务的服务器计算机的网络环境,该方法包括下列步骤建立一认证数据库,其中该认证数据库至少包含复数个认证文件记录,该认证文件记录至少具有一个文件类型为程序型文件的文件名称字段、一个文件版本字段、及一个依据该文件的内容所计算得出的查验码字段;复制该认证数据库至该服务器计算机及该复数个使用者计算机;依据复制于该服务器计算机的认证数据库,分析经由该网络环境进入/送出于该服务器计算机的复数个文件是否安全,其中该分析步骤实施于该服务器计算机内;依据复制于该使用者计算机的认证数据库,查验该使用者计算机所开启的文件是否安全,其中该查验步骤实施于该使用者计算机内。
2.如权利要求1所述的方法,其中实施于该服务器计算机内的分析步骤,包括下列步骤识别进入/送出于该服务器计算机的复数个文件,其是否属于文件类型为程序型文件;若该文件经识别后不是程序型文件,则认可该文件为安全;若该文件经识别后为程序型文件,则对比该文件的名称及版本是否相同于复制于该服务器计算机的认证数据库的其中一个认证文件记录的文件名称字段及文件版本字段;若对比相同时,则使用相同于该建立一认证数据库步骤的计算步骤,依据该文件的内容所计算得出的查验码,其是否相同于复制于该服务器计算机的认证数据库的其中一个认证文件记录的查验码字段,若该文件的查验码相同,则认可该文件为安全,否则认可该文件为不安全,并通知警告信息给该服务器计算机;若对比不相同时,则认可该文件为不安全,并通知警告信息给该服务器计算机。
3.如权利要求1所述的方法,其中实施于该使用者计算机内的查验步骤,包括下列步骤识别该使用者计算机开启的文件,其是否属于文件类型为程序型文件;若该文件经识别后不是程序型文件,则认可该文件为安全;若该文件经识别后是程序型文件,则对比该文件的名称及版本是否相同于复制于该使用者计算机的认证数据库的其中一个认证文件记录的文件名称字段及文件版本字段;若对比相同时,则使用相同于该建立一认证数据库步骤的计算步骤,依据该文件的内容所计算得出的查验码,其是否相同于复制于该使用者计算机的认证数据库的其中一个认证文件记录的查验码字段,若该文件的查验码相同,则认可该文件为安全,否则认可该文件为不安全,并禁止该使用者计算机执行该文件;若对比不相同时,则认可该文件为不安全,并禁止该使用者计算机执行该文件。
4.如权利要求1所述的方法,其中该文件类型为程序型文件的情況为该文件的文件名具有扩展名为“.EXE”、“.COM”、“.DOC”、“.JAVA”、及“.WSH”等其中一种。
5.如权利要求1所述的方法,其中该认证文件记录进一步包含一个文件类型为程序型文件的供应者字段。
6.如权利要求1所述的方法,其中该建立一认证数据库的步骤是依据该文件的内容所计算得出的查验码字段,该计算步骤为MD5。
7.如权利要求1所述的方法,其中该建立一认证数据库的步骤是依据该文件的内容所计算得出的查验码字段,该计算步骤为循环冗余码检验。
8..如权利要求1所述的方法,其中该建立一认证数据库的步骤是依据该文件的内容所计算得出的查验码字段,该计算步骤为检验和。
9.如权利要求1所述的方法,其中该网络环境为局域网网络。
10.如权利要求1所述的方法,其中该网络环境为因特网网络。
11.如权利要求1所述的方法,其中给该复数个使用者计算机提供伺服服务的服务器计算机为FTP服务器计算机。
12.如权利要求1所述的方法,其中给该复数个使用者计算机提供伺服服务的服务器计算机为MAIL服务器计算机。
13.如权利要求1所述的方法,其中给该复数个使用者计算机提供伺服服务的服务器计算机为HTTP服务器计算机。
14.如权利要求1所述的方法,其中给该复数个使用者计算机提供伺服服务的服务器计算机为具有FTP、MAIL、HTTP等伺服服务组合的服务器计算机。
15.如权利要求1所述的方法,其中给该复数个使用者计算机提供伺服服务的服务器计算机为Microsoft或Unix或Linus或Lotus Notes文件服务器计算机。
全文摘要
本发明是一种用于认证程序型文件的方法,包括下列步骤:建立包含复数个认证文件记录的认证数据库,认证文件记录至少具有一个文件类型为程序型文件的文件名称字段、一个文件版本字段及一个依据该文件的内容所计算得出的查验码字段;复制认证数据库至服务器计算机及复数个使用者计算机;依据认证数据库,分析经由该网络环境进入/送出该服务器计算机的复数个文件是否安全,查验该使用者计算机所开启的文件是否安全。
文档编号G06F17/30GK1363894SQ0110060
公开日2002年8月14日 申请日期2001年1月9日 优先权日2001年1月9日
发明者罗添章 申请人:网安国际股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1