本发明涉及一种磁盘处理程序管理系统与方法,更详而言之,为一种位元锁磁盘处理程序管理系统与方法,解决执行应用程序时,可能造成程序识别码(pid)于操作系统下相冲突问题。
背景技术:
随着计算机科技的发展,现代人不管在工作、学习、科研或其他应用皆采用计算机,或各种终端机为作业工具,尤其在企业、政府单位、金融机构、军事单位,均无时无刻在产生大量的电子档案。然而,在信息化时代,只要牵涉到重要的,具有无论商务、策略、军事、智慧创作等等具重大价值的电子档案,即存在因组织内部管理不慎而泄漏,或遭到外部攻击的可能,例如从组织内部非法备份、破坏电子档案,或是物理上将装有电子档案的储存设备夹带至外部,再到由外部终端机通过网络攻击或窃取,一再使得企业或组织承受利益上的损失。此外,由于现代计算机的操作系统多可容纳多组用户账号,亦或网络服务器的分享,因此在多位使用者同时共享下,就必须对各种不同机密程度的机密文件加以区分。
对于上述文件区分的方式,现时的作法通常针对组织或企业内,每一个用户的业务性质,规划分出相对的访问权限,例如特定的用户,对于特定机密文件,具有打印、预览、读取、拷贝、执行、编辑的访问权限,但对于较不相关的业务被赋予的访问权限较低,则仅能执行预览和读取,而无法拷贝、编辑,以使组织或企业内的机密文件能分开管理。因此,为达到上述目的,其中一种作法为在组织或企业的系统内引入一沙盒机制(sandbox),使能存取的机密文件、软件,或设定均被局限在操作系统提供的资源中,而不能超过,做到多个用户隔离,在它们之间提供不同程度的保护,以控制病毒、恶意软件的攻击,更重要的,能防止企业或组织机密文件由内部泄漏至外部,例如:软件公司的离职员工将原公司开发的程序代码携出至竞争公司,或是商务公司将具有机密性的业务文件带出。
传统上,某个程序发生错误(error)时,只能选择重新启动操作系统,而上述沙盒机制,对机密文件执行访问权限的管理来说,通常以操作系统中的程序识别码(processidentifier,pid),做为机密文件的访问权限管理依据。所谓的程序识别码,是大多数类unix(unix-like)操作系统的核心用于标识机密文件的一个数值,这一数值,可以作为许多函数调用的参数,以调整程序优先级、删除(kill)程序,或程序的访问权限控制之类的过程控制。
虽然程序识别码有上述优点,然而,对于某些特定的应用程序(例如microsoftexcel)来说,以程序识别码做为机密文件的权限管理,可能遭遇的困难在于,当有多个机密文件在同一个特定的应用程序下执行时,操作系统会分配予该些应用程序同样的程序识别码,这会导致所述的沙盒机制无法区分不同的机密文件系对应至何种访问权限,从而可能引起处理程序上的错误。如图1所示,其显示了用户301、应用程序303、程序识别码305、机密文件307,与程序接口309的错误的情形。其中,当实际用户301a通过执行应用程序303(例如上述的microsoftexcel)开启机密文件307中的第一文件307a与第二文件307c时,由于第一文件307a与第二文件307c均对应第一程序识别码305a,造成在沙盒机制111中,无法分辨出第一文件307a与第二文件307c对于实际用户301a的访问权限究竟为何。
因此,于现时习知技术上,上述在沙盒机制中,通过程序识别码管理机密文件的访问权限的系统与方法,仍有进一步改进的必要,以避免沙盒机制中的访问权限,对于特定应用程序可能产生错误,而使用户对于不同机密文件的访问权限无法被有效发挥,且可能影响到操作系统稳定性的缺点。
技术实现要素:
有鉴于此,本发明的目的在于提供一种位元锁磁盘处理程序管理系统与方法。
为达到上述目的,本发明采用以下技术方案:
一种位元锁磁盘处理程序管理系统,以解决通过同一个应用程序(如microsoftexcel、word、powerpoint)开启多个机密文件,会对应到同一个程序识别码(processidentifier,pid)的问题。
本发明的系统通过处理模块,分配系统组件的运算资源,与处理程序的协调。本发明的系统架构包含访问权限模块,设定位元锁磁盘的访问权限,包含写入、读取、预览、拷贝、删除,或打印等处理程序;位元锁磁盘保护模块,耦接访问权限模块,以认证位元锁磁盘对于用户的访问权限,其认证的方式,可为基于位元锁(bitlocker)的认证方式;位元锁磁盘管理模块,管理储存于位元锁磁盘中的机密文件,及位元锁磁盘的建立与数量;位元锁磁盘驱动模块,耦接上述的位元锁磁盘管理模块,驱动位元锁磁盘的运作,其中,上述的位元锁磁盘驱动模块更包含:程序识别码单元,根据访问权限模块所设定的访问权限,给予用户、应用程序,与机密文件特定的程序识别码(pid);以及,拦管单元(hook),根据程序识别码,拦截访问权限不允许的处理程序,并将访问权限允许的处理程序连接至程序接口(applicationprogramminginterface,api)。
根据本发明内容,相同应用程序的不同文件,将对应不同的程序识别码(pid),亦即,第一文件所对应的第一程序识别码,与第二文件所对应的第二程序识别码并不相同。
根据本发明内容,访问权限模块的系统架构更包含用户单元,以根据多个机密文件于同一个应用程序下执行的需要,创建所需数量的虚拟用户,使不同的机密文件可以对应不同的程序识别码,根据本发明一较佳的实施例中,上述创建虚拟用户的方式,为通过程序接口(api)执行。
根据本发明内容,访问权限模块的系统架构更包含函数公式库单元,记录特定用户、应用程序,与机密文件的程序识别码的函数公式,其中,该函数公式库单元中的函数公式格式,可为一动态链接函数公式库(dynamic-linklibrary,dll)。
一种位元锁磁盘处理程序管理方法,该方法包含下列步骤:处理模块判断应用程序执行前是否已经启动第一文件;若上列的判断为否,则程序识别码单元建立对应于第一文件的第一程序识别码;若上列的判断为真,则用户单元根据应用的需要,在实际用户的环境下,建立虚拟用户;以及,在相同的应用程序的环境下,程序识别码单元对于上述的虚拟用户,建立对应于第二文件的第二程序识别码,当关闭第二文件后,可选择在一预定时间后,删除上述的虚拟用户,或不删除虚拟用户。
根据本发明内容,上述位元锁磁盘处理程序管理方法,更包含处理模块于实际用户的环境下,启动应用程序;拦管单元(hook)拦截所有的处理程序(process)。
根据本发明内容,上述位元锁磁盘处理程序管理方法,更包含拦管单元根据访问权限,拦截第一文件中,不允许的处理程序,并将允许的处理程序,链接至程序接口。
根据本发明内容,拦管单元根据访问权限,拦截第二文件中的处理程序,待建立虚拟用户后,将允许的处理程序,链接至程序接口。
根据本发明内容,上述位元锁磁盘处理程序管理方法,更包含处理模块,在实际用户的操作系统环境下,执行访问权限允许的第一文件。
根据本发明内容,上述位元锁磁盘处理程序管理方法,更包含处理模块,通过runas程序,于虚拟用户的环境下,由应用程序执行访问权限允许的第二文件。
根据本发明内容,上述位元锁磁盘处理程序管理方法,更包含以访问权限模块设定每一个用户的访问权限,并储存于用户单元。
以上所述是用以说明本发明的目的、技术手段以及其可达成的功效,相关领域内熟悉此技术的人可以经由以下实施例的示范与伴随的图式说明及申请专利范围更清楚明了本发明。
附图说明
如下所述对本发明的详细描述与实施例的示意图,应使本发明更被充分地理解;然而,应可理解此仅限于作为理解本发明应用的参考,而非限制本发明于一特定实施例之中。
图1说明在以往的沙盒机制下,根据程序识别码(pid)来设定一用户对于应用程序,或机密文件的访问权限时,可能遭遇的问题。
图2说明位元锁磁盘处理程序管理系统的系统架构。
图3显示在本发明中,访问权限不同的数个机密文件,在实际用户的环境下如何于处理模块中执行。
图4显示在位元锁磁盘处理程序管理方法的步骤。
图5显示在位元锁磁盘处理程序管理方法的步骤流程。
符号说明
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可通过本说明书所揭示的内容轻易地了解本发明的功效性与其优点。且本发明亦可通过其他具体实施例加以运用及实施,本说明书所阐述的各项细节亦可基于不同需求而应用,且在不悖离本发明的精神下进行各种不同的修饰或变更。
在本发明的目的,在于提出一种位元锁磁盘处理程序管理系统与方法,解决以往的沙盒机制中,利用程序识别码(pid)来设定一用户对于应用程序,或机密文件的访问权限时,某些特定的应用程序在打开不同的机密文件时,会将处理程序合并入一个相同的程序识别码,且无法于该些特定的应用程序,加入修正的参数将程序识别码分开。举例来说,当在实际用户为lisa的环境下,若以excel打开两个机密文件的情况下,其程序识别码会被合并到同一个,例如2010(号码仅为举例),而不会以两个程序识别码来代表两个机密文件(如1020、1030),在沙盒机制中,此现象可能会影响到沙盒机制的稳定性,并对机密文件的保护产生可能漏洞的问题。本发明提供的解决策略,在于利用程序接口,根据开启机密文件的数量,在所应用的实际用户环境下,创建出所需数量的虚拟用户,使上述数个机密文件,利用runas程序,使其可以分别在不同的虚拟用户上执行,以使该些特定的应用程序,能依据用户的不同,对上述的机密文件赋予不同的程序识别码,从而达到使不同的机密文件,能够对应不同访问权限,并避免程序错误,达到提高系统稳定性,以及操作便利性的目的。其中,本发明的沙盒机制,为位元锁(bitlocker)。本发明具体实施的技术手段,则将详述如后。
在本发明中,所述的处理模块201,通常包含处理芯片、内存、暂存内存、显示设备、网络通讯模块、操作系统及应用程序等等,以通常已知方式相互连接,执行运算、暂存、显示及数据传输,与提供位元锁磁盘处理程序管理系统200的运作与管理协调等功能,基于以上系属通常已知架构,故在此不赘述。此外,在本发明中,所述的访问权限,包含写入、读取、预览、拷贝、删除,或打印等处理程序,而所述的用户301、应用程序303、程序识别码305、机密文件307,均可依照应用的需要,创建或执行所需的数量,例如第一程序识别码305a、第二程序识别码305c,第n识别码,或是第一文件307a、第二文件307c,第n文件等等,本领域熟知技术者于阅读本说明书后,当可轻易得到理解,于此先行叙明。
请参阅图2与图3,为达本发明的目的,本发明提出了一种位元锁磁盘处理程序管理系统200,执行本系统需通过上述的处理模块201执行,处理模块201分配系统组件的运算资源,与处理程序的协调。
本发明中,位元锁磁盘处理程序管理系统200架构包含:访问权限模块209,设定位元锁磁盘的访问权限,包含写入、读取、预览、拷贝、删除,或打印等处理程序,其中,访问权限模块209包含用户单元209a,以根据多个机密文件307于同一个应用程序303下执行的需要,利用程序接口309,创建所需数量的虚拟用户,使不同的机密文件307可以对应不同的程序识别码305;位元锁磁盘保护模块207,耦接访问权限模块209,以认证位元锁磁盘对于用户301的访问权限,其认证的方式,可为基于位元锁(bitlocker)的认证方式;位元锁磁盘管理模块203,管理储存于位元锁磁盘中的机密文件307,及位元锁磁盘的建立与数量。
在本发明中,位元锁磁盘处理程序管理系统200更包含:位元锁磁盘驱动模块205,耦接上述的位元锁磁盘管理模块203,驱动位元锁磁盘的运作,其中,上述的位元锁磁盘驱动模块205更包含:程序识别码单元205a,根据访问权限模块209所设定的访问权限,给予用户301、应用程序303,与机密文件307特定的程序识别码305;以及,拦管单元205c,根据程序识别码305,拦截访问权限不允许的处理程序,并将访问权限允许的处理程序连接至程序接口309。
应当注意者为,在本发明内容中,上述实际用户301a,与虚拟用户301c,为对应实际上同样的用户301,亦即,实际用户301a与虚拟用户301c对于应用程序303而言,具有相同的访问权限,但,对于第一文件307a与第二文件307c而言,因在组织或企业内的业务性质不同,可能具有不相同的访问权限,因此,位元锁磁盘处理程序管理系统200为了使第一文件307a与第二文件307c具有不同的程序识别码305,需要将第二文件307c于虚拟用户301c中执行。在本发明实施例中,上述第一文件307a与第二文件307c,可于处理模块201中的同一个,或不同一个画面执行。
请参阅图3,其显示了在处理模块201中,位元锁磁盘处理程序管理系统200的执行方式。在本发明的实施例中,当实际用户301a,例如lisa,在位元锁的执行环境下,通过应用程序303执行第一文件307a时,程序识别码单元205a对第一文件307a赋予第一程序识别码305a。在一实施例下,拦管单元205c通过该第一程序识别码305a识别实际用户301a在访问权限模块209中所设定的允许,与不允许的访问权限。例如,包含是否能能预览第一文件307a的内容,其对第一文件307a的内容能否写入、拷贝、删除,或打印等等。当确认完访问权限后,拦管单元205c将所允许的处理程序连接至程序接口(api)309,并将不允许的处理程序加以拦截。
承上述,当实际用户301a,例如lisa,通过上述相同的应用程序303执行第二文件307c时,本系统则创建具有与实际用户301a相同访问权限的虚拟用户301c,并在虚拟用户301c,采用随机数生成虚拟名字,例如dean的环境下,此时程序识别码单元205a则将第二文件307c赋予第二程序识别码305c,利于执行第二文件307c,以达到本发明针对同一个用户301,相对应同一应用程序303产生不同的程序识别码305,其中之一是对虚拟用户301c产生对应的程序识别码305。因此,相同用户可使用相同应用程序303开启不同的机密文件307,而此机密文件307对应使用者其中之一为虚拟使用者,因此被赋予不同的程序识别码305,利于同一用户开启具有不同程序识别码305,而属于相同应用程序303的不同文件。例如第二个excel的机密文件307在虚拟用户301c下执行,且程序识别码305和前一个excel的机密文件307不同。其中,当注意者为,上述的excel仅为举例,其亦可依照应用程序303实际的使用状况,应用于两个机密文件307会合并程序识别码305的应用程序303上,例如word或powerpoint。
根据本发明一实施例,访问权限模块209的系统架构更包含函数公式库单元209c,记录特定用户301、应用程序303,与机密文件307的程序识别码305的函数公式,其中,该函数公式库单元209c中的函数公式格式,可为一动态链接函数公式库(dynamic-linklibrary,dll)。其中,根据本发明的一观点,机密文件307的程序识别码305,可依照应用的需要,由访问权限模块209进行设定,亦可由程序识别码单元205a所赋予,以适应不同应用程序303的状况,提高位元锁磁盘处理程序管理系统200的兼容性。
根据本发明一实施例,位元锁磁盘保护模块207内所含的保护密钥,可为对应访问权限模块209中,不同访问权限的设定,其保护密钥的形式,可为但不限于可信赖平台模块(trustedplatformmodule,tpm)、客户端识别码(pincode)、移动装置密钥,或以上的组合。在本发明一观点中,移动装置密钥可为一储存于usb随身碟中的密钥,使访问权限得依用户301所对应的使用者的业务性质,对应不同的密钥保护形式。
请参阅图4与图5,本发明提出了一种位元锁磁盘处理程序管理方法400:该方法包含下列步骤:在步骤s2中,处理模块201于一用户301的环境下,启动应用程序303;执行步骤s4时,处理模块201判断一应用程序303事前是否已经启动第一文件307a;接着在步骤s5中,若步骤s4的判断为否,则程序识别码单元205a建立对应于第一文件307a的第一程序识别码305a;执行步骤s8时,若步骤s4的判断为是,则本系统根据应用的需要,在用户301的环境下,建立虚拟用户301c,此采用随机数生成;在步骤s10中,程序识别码单元205a建立对应于应用程序303第二文件307c的第二程序识别码305c;其中,第一程序识别码305a,不同于第二程序识别码305c。
根据本发明内容,上述位元锁磁盘处理程序管理方法400,更包含步骤s2,处理模块201于实际用户301a的环境下,启动应用程序303;步骤s3,拦管单元205c拦截所有的处理程序(process)。
根据本发明内容,上述位元锁磁盘处理程序管理方法400,更包含步骤s6中,拦管单元205c根据访问权限,拦截第一文件307a中,不允许的处理程序,并将允许的处理程序,链接至程序接口309。
根据本发明一实施例,上述的方法步骤更包含步骤s7,处理模块201,在实际用户301a的环境下,执行访问权限允许的第一文件307a,其中,拦管单元205c根据访问权限,将允许的处理程序,链接至程序接口309。
根据本发明内容,更包含步骤s9,拦管单元205c拦截第二文件307c中的处理程序。
根据本发明一实施例,上述的方法步骤更包含步骤s11,拦管单元205c将根据访问权限,将允许的处理程序链接至程序接口309,处理模块201于虚拟用户301c的环境下执行应用程序303的第二文件307c。其中,在本发明的一实施例,当第二文件307c被实际用户301a关闭之后,用户单元209a可在一预定的时间后,选择删除,或不删除虚拟用户301c。在本发明的一观点中,考虑到虚拟用户301c的建立需要的运行时间,因此当第二文件307c被关闭后,可选择保留虚拟用户301c,使之后的第二文件307c,或其它对应于应用程序303的机密文件307在启动时能以较快的速度执行。
根据本发明一实施例,上述的方法步骤,更包含步骤s1,由访问权限模块209设定每一个用户301的访问权限,并将访问权限的内容,储存于用户单元209a中,其中,该访问权限的文件格式,可为一访问权限矩阵(accesscontrolmatrix)。
本发明将以较佳实施例及观点加以叙述,此类叙述是解释本发明的结构,仅用以说明而非用以限制本发明的申请专利范围。因此,除说明书中的较佳实施例之外,本发明亦可广泛实行于其他实施例中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。