CN104104650A - 数据文件访问方法及终端设备 - Google Patents
数据文件访问方法及终端设备 Download PDFInfo
- Publication number
- CN104104650A CN104104650A CN201310113142.4A CN201310113142A CN104104650A CN 104104650 A CN104104650 A CN 104104650A CN 201310113142 A CN201310113142 A CN 201310113142A CN 104104650 A CN104104650 A CN 104104650A
- Authority
- CN
- China
- Prior art keywords
- access
- server
- data file
- executable program
- security token
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
提供一种数据文件访问方法及终端设备,从所述服务器获取至少包括加密方式的安全令牌,在进程发出服务器的数据文件的访问请求时,从服务器获取完整性检测信息并验证生成该发出请求的进程的可执行程序的信息是否与所述完整性检测信息一致。当不一致时,忽略所述运行请求;当一致时,从服务器获取服务器按照安全令牌的所述加密方式加密的数据文件,并根据所述安全令牌中的加密方式对于加密的数据文件进行解密,并向所述进程发送已解密的所述数据文件,进而使得所述进程访问所请求的已解密的数据文件。根据该方法,能够访问远程数据文件的同时,很好地防止来自第三方的恶意访问,从而实现低流量和高安全性。
Description
技术领域
本发明涉及数据文件访问技术,尤其涉及一种能够访问远程数据文件的同时,很好地防止来自第三方的恶意访问,从而实现低流量和高安全性的数据文件访问方法及终端设备。
背景技术
如今,随着智能终端设备的普及以及网络的高速化,促进了终端设备上运行的应用软件的迅速发展。应用软件的复杂化、图像的高质量化等会使得的应用软件容量增加,一个应用软件可能高达数十兆至数百兆。如果用户下载整个应用软件后发现不可用、不好用、不爱用而将其删除,则会造成大量的数据流量的浪费。为此,一些应用软件供应商通过在服务器端设置权限,使得允许终端设备访问服务器端的部分数据文件,以供用户试用。通过这种方法,终端设备只需访问服务器端的部分数据文件,用户可以在体验该应用软件的部分功能后再决定是否下载,从而能够很好地节省流量。但如今,存在一些恶意用户会利用这样的服务器数据文件访问的漏洞,对这些数据文件进行拷贝、打包,做成盗版应用软件。尤其对于高质量的应用软件而言,由于开发成本高昂,严重地损害了开发商的利益。
作为解决上述课题的现有技术,已知将应用作为虚拟机安装到服务器而远程执行的方法。但为了适应来自多个远程设备的请求,要求服务器的CPU能够同时且迅速地处理大量的数据文件,还需要确保足够的内存,其运行开销很大,无法低成本地实现。而DRM(数字版权管理方案)虽然可以很好地提高数据文件的安全性,但需要修改应用软件本身和终端设备,因此也很难以实现。
发明内容
本发明鉴于以上课题完成,其目的在于,提供一种数据文件访问方法和应用该方法的终端设备,能够访问远程数据文件的同时,很好地防止来自第三方的恶意访问,从而实现低流量和高安全性。
本发明的实施例提供了一种数据文件访问方法,应用于包括虚拟文件管理模块的终端设备,所述方法包括:从服务器获取可执行程序;从所述服务器获取安全令牌并存入访问过滤模块,其中,所述访问过滤模块与所述虚拟文件管理模块连接,所述安全令牌由所述服务器生成且同时存放在所述服务器和所述终端设备中,并且至少包括加密方式;运行所述可执行程序并生成第一进程;当所述虚拟文件管理模块接收到所述第一进程发出的对服务器中的数据文件的访问请求时,通过所述虚拟文件管理模块将所述访问请求转发至所述访问过滤模块;通过所述访问过滤模块从所述服务器获取完整性检测信息,验证生成发出请求的所述第一进程的可执行程序的信息是否与所述完整性检测信息一致;当生成所述第一进程的可执行程序的信息与所述完整性检测信息不一致时,忽略所述访问请求;当生成所述第一进程的可执行程序的信息与所述完整性检测信息一致时,从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并通过所述访问过滤模块根据所述安全令牌中的所述加密方式对于所述加密的数据文件进行解密,并向所述第一进程发送已解密的所述数据文件。
本发明的实施例还提供一种终端设备,其中包括:服务器连接模块,用于与服务器进行通信,从所述服务器获取可执行程序;处理模块,用于运行所述可执行程序并生成第一进程,以及所述第一进程访问已解密的数据文件;虚拟文件管理模块,用于接收所述第一进程对服务器的数据文件访问请求,所述虚拟文件管理模块接收到所述第一进程发出的对服务器的数据文件访问请求时,将所述访问请求转发至所述访问过滤模块;访问过滤模块,用于从所述服务器获取完整性检测信息,验证生成发出请求的所述第一进程的可执行程序的信息是否与所述完整性检测信息一致,当生成所述第一进程的可执行程序的信息与所述完整性检测信息不一致时,忽略所述访问请求,当生成所述第一进程的可执行程序的信息与所述完整性检测信息一致时,从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并所述访问过滤模块根据所述安全令牌中的加密方式对于所述加密的数据文件进行解密,并向所述处理模块发送已解密的所述数据文件。
根据本发明的数据文件访问方法及终端设备,通过安全令牌对于数据文件加密,而只有在完整性检测通过后才可以解密进而允许该数据文件的访问,因此能够访问远程数据文件的同时,很好地防止来自第三方的恶意访问,从而实现低流量和高安全性。
附图说明
图1是本发明的数据文件访问方法的示意图。
图2是本发明的数据文件访问方法的流程图。
图3是本发明的数据文件访问方法中运行可执行程序的流程图。
图4是本发明的实施例中的安全令牌的访问条件的示意图。
图5是本发明的实施例中安全令牌同步的流程图。
图6是本发明的数据文件访问方法的一个变形例的流程图。
图7是本发明的实施例中身份验证的流程图。
图8是本发明的终端设备的功能方框图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图详细说明本发明的数据文件访问方法和终端设备的实施例。应该指出,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
【数据文件访问方法】
图1是本发明的数据文件访问方法的示意图。图2是本发明的数据文件访问方法200的流程图。下面,结合图1和图2详细说明本发明的实施例的数据文件访问方法200。
如图1所示,终端设备100包括虚拟文件管理模块101、访问过滤模块102、以及服务器连接模块103。虚拟文件管理模块101用于在终端设备100映射位于其他设备上的文件,使得终端设备100将位于其他设备上的文件看似为本地文件。虚拟文件管理模块可以在终端设备100上另行构建,也可以是位于终端设备100的操作系统内部的虚拟文件系统。如果是安装有Linux系统或者基于Lixux系统开发的其他操作系统,例如Android系统等自带虚拟文件系统的操作系统的终端设备,则虚拟文件管理模块101可以是位于这些操作系统的内核中的虚拟文件系统,此时无需在终端设备上单独安装虚拟文件管理模块101,有利于节省资源和电力。访问过滤模块102与虚拟文件管理模块101连接。服务器连接模块103与访问过滤模块102连接,并且与服务器可通信地连接,用于终端设备100与服务器交换数据。此时,服务器连接模块103与服务器的连接方式可以是有线的方式,也可以是无线的方式。服务器可以位于终端设备100的远方而通过网络与终端设备100连接,但也可以位于终端设备100的近旁,甚至还可以与终端设备100为一体。
如图2所示,在步骤S201中,从服务器获取可执行程序。此时,在服务器中保留该可执行程序的完整性检测信息,以用于将在后面叙述的完整性检测。
在步骤S202中,从服务器获取安全令牌并存入访问过滤模块102。其中,安全令牌由服务器生成,并且在发送给终端设备100中的访问过滤模块102的同时,也要在服务器当中存放相同或者对应的安全令牌。安全令牌至少包括数据文件的加密方式,服务器将位于服务器的数据文件按照安全令牌的加密方式进行加密。此时可以获取服务器当中与步骤S201中获取的可执行程序有关的所有的安全令牌,也可以只获取部分安全令牌。
在步骤S203中,运行在步骤S201获取的可执行程序。在运行可执行程序的同时,在终端设备中会生成进程。
在步骤S204中,当虚拟文件管理模块101接收到进程发出的对服务器中的数据文件的访问请求时,通过虚拟文件管理模块101将该访问请求转发至所述访问过滤模块102。
在步骤S205中,通过访问过滤模块102从服务器获取完整性检测信息,验证生成发出请求的所述进程的可执行程序的信息是否与该完整性检测信息一致。当生成进程的可执行程序的信息与该完整性检测信息不一致时,说明该生成进程的可执行程序是被篡改过的,因此忽略该访问请求;当生成进程的可执行程序的信息与该完整性检测信息一致时,移至步骤S206。对于本发明的实施例而言,一个进程所请求的数据文件遭到第三方的恶意访问的威胁来自可执行程序被篡改。因此只要能够排除生成该进程的可执行程序被篡改的可能性,则可以认为该进程是安全的,可以信赖的。其中完整性检测信息可以是例如MD5(Message Digest AlgorithmMD5,信息摘要算法第五版)等数字签名,但不限于此。只要能够用于检验请求可执行程序是否被篡改的标识均可作为完整性检测信息。应该注意的是,正如步骤S201中所述,可执行程序是终端设备100从服务器获取的,因此服务器当中存在该可执行程序的完整性检测信息。
在步骤S206中,从服务器获取服务器按照安全令牌的加密方式加密的数据文件,并通过访问过滤模块根据安全令牌中的加密方式对于加密的数据文件进行解密。如果生成所述进程的可执行程序的信息与所述完整性检测信息一致,可以认为生成进程的可执行程序没有被篡改,即该进程所发出的访问请求是安全的,因此解密数据文件,并向该进程发送该解密的数据文件,进而使得所述进程访问所请求的数据文件。另外,如果在服务器中不存在生成所述进程的可执行程序的完整性检测信息,则说明生成该进程的可执行文件不是由服务器获取的。例如,终端设备的操作系统的文件管理器有时也会试图访问处于访问过滤模块当中的从服务器已经获取的加密的数据文件。此时,访问过滤模块也可以向进程发送加密的数据文件,使得该进程能够识别数据文件。此时的数据文件尚未解密,因此该进程无法访问数据文件的内容,但可以识别该加密的数据文件,从而满足操作系统的文件管理的要求。
在步骤S207中,发出访问请求的进程访问所请求的已解密的数据文件。
然而,在本实施例中说明了包括步骤S201从服务器获取可执行程序的例子,但事实上不限于此。本领域技术人员容易理解,对于在终端设备100上已经存在从服务器获取过的可执行程序时,可以省略步骤S201。
同样地,在本实施例中说明了包括步骤S203运行可执行程序并生成进程的例子,但事实上不限于此。本领域技术人员容易理解,当在终端设备100上已经存在的进程的情况下,还可以省略步骤S203。
同样地,在本实施例中说明了包括步骤S202从服务器获取安全令牌并存入访问过滤模块的例子,但事实上不限于此。本领域技术人员容易理解,例如在通过上一次访问而已经获取了该可执行程序有关的所有安全令牌的情况等,在终端设备的访问过滤模块102中已经存在所需安全令牌时,可以省略步骤S202。
应该注意的是,只要不脱离在本领域技术人员不经创造性劳动而能够得出的与本实施例等效的范围,可以对上述步骤做出适当的调整。例如,也可以在步骤S202中获取安全令牌的同时,也获取原本在步骤S205中获取的完整性检测信息和原本在步骤S206当中获取的服务器按照安全令牌的加密方式加密的数据文件。除此之外,也可以不在步骤S202获取安全令牌,而在步骤S206中在获取服务器按照安全令牌的加密方式加密的数据文件的同时获取安全令牌。
另外,为了防止安全令牌被第三方非法截取的情况,还可以通过在安全令牌中设置密钥或者其他任何限制方法,使得安全令牌只能通过访问过滤模块102和虚拟文件管理模块101访问。这样,可以防止第三方在安全令牌的传输过程中获得安全令牌而泄露其中的加密方式等,导致加密的数据文件遭到第三方的恶意访问。根据上述方法,可以进一步地提高数据文件访问的安全性和可靠性。
根据上述的本发明的数据文件访问方法,服务器通过安全令牌对于数据文件加密,而只有在进程通过完整性检测后才可以解密该数据文件,进而允许进程对该数据文件的访问,因此能够访问远程数据文件的同时,很好地防止来自第三方的恶意访问,从而实现低流量和高安全性。
为了进一步提高数据文件访问的安全性,本发明的数据文件访问方法中还提供了上述实施例的变形例。下面,结合图3说明本发明的数据文件访问方法的一个变形例。为了便于理解,在此主要着眼于与上述实施例的不同点进行说明。
图3是本发明的数据文件访问中运行可执行程序的一例的流程图。如图3所示,在本发明的实施例的数据文件访问方法300中,步骤S301取代了图2中的步骤S201,并且步骤S303、S303-1、S303-2取代了图2中的步骤S203。由于图3当中的步骤S304至步骤S307与图2中的步骤S204至步骤S207对应,因此省略这些步骤的详细说明。
如图3所示,在步骤S301中,从服务器获取通过安全令牌的加密方式加密的可执行程序。在服务器中保留该可执行程序的完整性检测信息,以用于将在后面叙述的完整性检测。
在步骤S302中,从服务器获取安全令牌并存入访问过滤模块。正如前面所述,访问过滤模块与所述虚拟文件管理模块连接,并且安全令牌由服务器生成且同时存放在所述服务器和所述终端设备中。安全令牌当中至少包括加密方式。其中,对可执行文件的加密方式和对数据问件的加密方式可以相同,也可以不同。此时可以获取服务器当中与步骤S301中获取的可执行程序有关的所有的安全令牌,也可以只获取部分安全令牌。
在步骤S303中,当终端设备接收到该可执行程序的运行请求时,通过访问过滤模块从服务器获取完整性检测信息,验证请求运行的可执行程序的信息是否与该完整性检测信息一致。当可执行程序的信息与完整性检测信息不一致时,说明该可执行程序是被篡改过的,忽略运行该可执行程序的请求;当可执行程序的信息与完整性检测信息一致时,移至步骤S303-1。
在步骤S303-1中,如果请求运行的可执行程序的信息与该完整性检测信息一致,则可以认为该可执行程序没有被篡改,因此通过访问过滤模块根据安全令牌中的加密方式对于加密的可执行程序进行解密并运行该可执行程序。
然而,在本变形例中说明了包括步骤S301从服务器获取通过安全令牌的加密方式加密的可执行程序的例子,但事实上不限于此。本领域技术人员容易理解,对于在终端设备上已经存在从服务器获取过的通过安全令牌的加密方式加密的可执行程序时,可以省略步骤S301。
应该注意的是,上述变形例当中,由于在步骤S303已经从服务器获取了可执行程序的完整性检测信息,因此也可以省略在步骤S305再次获取完整性检测信息的步骤。此外,可以在步骤S302中同时从服务器获取包括对可执行程序的加密方式的安全令牌和包括对数据文件的加密方式的安全令牌,也可以在步骤S302中只获取包括对可执行程序的加密方式的安全令牌,而在步骤S305中获取包括对数据文件的加密方式的安全令牌。
根据上述实施例,通过服务器除对数据文件上通过安全令牌的加密方式加密之外,还对可执行程序通过安全令牌的加密方式加密,只有在通过完整性检测后才允许执行可执行程序,从而可以进一步提高数据文件访问的安全性。
此外,在上述图2所述的方法中说明的各种变形例也可以适用于本实施例中,在此省略重复说明。
为了能够更加灵活地控制终端设备对位于服务器的数据文件的访问,在上述实施例中的安全令牌还可以包括一个或者多个访问条件。在进程发出对数据文件的访问请求时,访问过滤模块验证上述访问请求是否符合安全令牌中包括的访问条件。如果上述访问请求不符合安全令牌中的任何一个访问条件,则忽略上述访问请求。
上述访问条件可以包括对于位于服务器的数据文件只能通过制定的可执行程序访问。为了方便说明,假设服务器当中存在五个数据文件A、B、C、D、E,在终端设备中存在三个可执行程序α、β、γ。此时,可以在安全令牌中规定每一个数据文件允许访问的可执行程序。图4示出了本发明的实施例中的安全令牌的访问条件的一个例子。如图4所示,在安全令牌当中可以规定:对于数据文件A只允许可执行程序α和可执行程序β访问;对于数据文件B只允许可执行程序α访问;对于数据文件C只允许可执行程序β和可执行程序γ访问;对于数据文件C只允许可执行程序β和可执行程序γ访问;对于数据文件D只允许可执行程序β访问;对于数据文件E只允许可执行程序γ访问。当可执行程序α生成的进程发出对数据文件B的访问请求时,访问过滤模块基于安全令牌验证可执行程序α是否可以访问数据文件B。由于数据文件B允许可执行程序α访问,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当可执行程序β生成的进程发出对数据文件B的访问请求时,访问过滤模块基于安全令牌验证可执行程序β是否可以访问数据文件B。由于数据文件B只允许可执行程序α访问,而可执行程序β不可以访问数据文件B,因此访问请求不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。根据上述方法,可以使得数据文件只能通过指定的可执行程序访问,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
另外,上述访问条件还可以包括允许访问的数据文件的范围。假设服务器当中存在五个数据文件A、B、C、D、E。此时,在安全令牌当中例如可以规定数据文件A、C、D是可以由终端设备访问的范围。当终端设备中的进程请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否在允许访问的数据文件的范围内。由于数据文件A是在终端设备可以访问的范围内,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程请求访问数据文件B时,访问过滤模块基于安全令牌验证该访问请求是否在允许访问的数据文件的范围内。由于数据文件B不属于在终端设备可以访问的范围内,因此访问请求不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。另外,本领域技术人员容易理解,上述访问条件也可以是规定禁止访问的数据文件的范围。在上述例子当中,在安全令牌当中例如可以规定数据文件B、E是禁止由终端设备访问的范围。当终端设备中的进程请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否在禁止访问的数据文件的范围内。由于数据文件A是在终端设备不属于禁止访问的范围内,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程请求访问数据文件B时,访问过滤模块基于安全令牌验证该访问请求是否在禁止访问的数据文件的范围内。由于数据文件B属于终端设备禁止访问的范围内,因此不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。显然,也可以将上述两种访问条件组合使用。根据上述方法,可以限定允许访问的数据文件范围,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
另外,上述访问条件还可以包括允许访问的期限。假设服务器当中存在数据文件A。在安全令牌当中例如可以规定数据文件A是可以在2013年1月1日至2013年12月31日之间进行访问。当终端设备中的进程在2013年3月20日请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否处于允许访问数据文件A的期限内。由于该访问请求的时间处于允许访问数据文件A的期限内,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程在2014年2月1日请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否处于允许访问数据文件A的期限内。由于该访问请求的时间不处于允许访问数据文件A的期限内,因此不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。另外,本领域技术人员容易理解,上述访问条件也可以是规定禁止访问数据文件的期限。此时,访问过滤模块验证该访问请求是否处于禁止访问数据文件的期限内。如果该访问请求的时间处于禁止访问数据文件的期限内,则认为不符合访问条件,此时忽略该访问请求,不进行后续的处理。如果该访问请求的时间不处于禁止访问数据文件的期限内,则认为符合访问条件,进而允许进行后续的处理。显然,也可以将上述两种访问条件组合使用。根据上述方法,可以限定允许访问数据文件的期限,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
另外,上述访问条件还可以包括允许的访问类型。所谓访问类型可以是对数据文件的写入、读取、执行等。假设服务器当中存在三个数据文件A、B、C。在安全令牌当中例如可以规定:数据文件A允许写入和读取而不允许执行;数据文件B允许读取而不允许写入和执行;数据文件C允许执行而不允许写入和读写。当终端设备中的进程请求写入数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否属于允许的访问类型。由于数据文件A允许写入,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程请求写入数据文件B时,访问过滤模块基于安全令牌验证该访问请求是否属于允许的访问类型。由于数据文件B不允许写入,因此不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。根据上述方法,可以限定访问的类型,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
上面说明了访问条件为对于位于服务器的数据文件只能通过制定的可执行程序访问的例子、允许访问的数据文件的范围的例子、允许访问的期限的例子、以及允许的访问类型的例子,但事实上不限于此。本领域技术人员可以在安全令牌中任意组合上述的一个或者多个访问条件,也可以根据需要将其他任何限制作为访问条件。
另外,访问过滤模块验证访问请求是否符合安全令牌中的访问条件可以在完整性检测之前进行,也可以在通过完整性检测之后进行,只要在进程访问解密的数据文件之前进行即可。
为了保证存放在访问过滤模块的安全令牌与存放在服务器的安全令牌的一致性,本发明的实施例还可以在从服务器获取安全令牌之后包括安全令牌的同步。下面,结合图5来详细说明本发明的实施例中的安全令牌同步。图5是本发明的实施例中安全令牌同步500的流程图。
如图5所示,在步骤S501中,从服务器获取存放在服务器的安全令牌的内容。
在步骤S502中,验证存放在终端设备的安全令牌的内容与存放在服务器的安全令牌的内容是否一致。当存放在所述终端设备的安全令牌与存放在所述服务器的安全令牌的内容不一致时,则转至步骤S503;当存放在终端设备的安全令牌与存放在服务器的安全令牌的内容不一致时,结束操作。
在步骤S503中,将存放在所述服务器的安全令牌的内容作为存放在终端设备的安全令牌的内容。
应该指出,安全令牌的同步也可以不进行步骤S501或者步骤S502而直接通过步骤S503将存放在所述服务器的安全令牌的内容作为存放在终端设备的安全令牌的内容来实现。另外,安全令牌同步可以在终端设备上已经存在从服务器获取的安全令牌之后的任何时候进行。根据上述方法,可以保证存放在访问过滤模块的安全令牌与存放在服务器的安全令牌的一致性,从而进一步提高数据文件访问的安全性和可靠性。
为了进一步提高数据文件访问的效率,本发明的实施例中还可以验证为生成该进程的可执行程序的信息与完整性检测信息一致时,记录该进程识别符(app ID),在所记录的进程再次发出对服务器中的数据文件的访问请求时,不再进行完整性检测,而直接从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并所述访问过滤模块根据所述安全令牌中的加密方式对于所述加密的数据文件进行解密。图6是本发明的数据文件访问方法的一个变形例的流程图。需要指出的是,图6当中,在步骤S604之前也可以存在图2中的步骤S201至S203的步骤,但在此处省略重复说明。
如图6所示,在步骤S604中,当虚拟文件管理模块接收到进程发出的对服务器中的数据文件的访问请求时,通过虚拟文件管理模块将该访问请求转发至所述访问过滤模块。
在步骤S604-1中,通过过滤访问模块验证发出该访问请求的进程的进程识别符是否为被记录。如果是记录的进程发出对服务器中的数据文件的访问请求,则转至步骤S606。如果不是记录的进程发出对服务器中的数据文件的访问请求,则转至步骤S605。
在步骤S605中,通过访问过滤模块从服务器获取完整性检测信息,验证生成发出请求的所述进程的可执行程序的信息是否与该完整性检测信息一致。当生成该进程的可执行程序的信息与该完整性检测信息不一致时,说明该生成进程的可执行程序是被篡改过的,因此忽略该访问请求;当生成所述进程的可执行程序的信息与所述完整性检测信息一致时,移至步骤S605-1。
在步骤S605-1中,记录发出该访问请求的进程的进程识别符。
在步骤S606中,如果生成所述进程的可执行程序的信息与所述完整性检测信息一致,则从服务器获取服务器按照安全令牌的加密方式加密的数据文件,并通过访问过滤模块根据安全令牌中的加密方式对于加密的数据文件进行解密。
在步骤S607中,发出访问请求的进程访问所请求的已解密的数据文件。
通过上述方法,在过完整性检测验证为发出访问请求的进程为安全的进程以后,避免对该安全的进程再次进行完整性检测,从而可以提高数据文件访问的效率,节省终端设备的资源。
应用本发明的数据文件访问方法的应用软件,有时需要仅对特定的用户或者特定设备开放应用软件。例如,游戏开发商为了测试游戏性能,而仅对100个固定用户提供游戏试用服务时,希望只有通过特定的身份验证后,才允许应用软件对数据文件的访问。为了适应这一需求,在本发明的实施例中,还可以在通过访问过滤模块从服务器获取可执行程序的信息,验证生成发出请求的进程的可执行程序是否与可执行程序的信息一致之前,包括身份验证的步骤。图7是本发明的实施例中身份验证700的流程图。
如图7所示,在步骤S701中,获取登录参数。其中,登录参数可以是账号和密码,也可以是终端设备的设备识别符,也可以使用其他验证参数进行身份验证。
在步骤S702中,将所登录参数发送给服务器。
在步骤S703中,服务器进行参数验证。例如,如果获取的登录参数是账号和密码,则服务器通过在其数据库中查找是否存在该账号和密码的组合来进行验证。如果获取的登录参数是设备识别符,则服务器通过在其数据库中查找是否存在该设备识别符来进行验证。
在步骤S704中,从服务器接收验证结果。
在步骤S705中,判断验证结果是否为成功。如果验证结果为成功,执行后续的操作;如果验证结果为失败,则忽略对数据文件的访问请求。
身份验证例如可以获取可执行程序时进行,也可以在运行可执行程序的同时进行,甚至还可以在接收到访问过滤模块接收到访问请求是进行。通过以上实施例,可以仅对特定的用户或者特定设备开放数据文件的访问。
以上说明了本发明的数据文件访问方法的多个实施例。在使用本发明的数据文件访问方法时,可以任意组合上面所述的一个或者多个实施例。显然,本领域技术人员在不脱离本发明的精神和范围内可以对上述实施例作出各种修改或者变形。本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
【终端设备】
下面,结合附图来详细说明本发明的终端设备。
图8是本发明的终端设备的功能方框图。如图8所示,本发明的终端设备800包括:服务器连接模块801,用于与服务器进行通信,从所述服务器获取可执行程序;处理模块802,用于运行所述可执行程序并生成进程,以及所述进程访问已解密的数据文件;虚拟文件管理模块803,用于接收所述进程对服务器的数据文件访问请求,所述虚拟文件管理模块接收到所述进程发出的对服务器的数据文件访问请求时,将所述访问请求转发至所述访问过滤模块;访问过滤模块804,用于从所述服务器获取完整性检测信息,验证生成发出请求的所述进程的可执行程序的信息是否与所述完整性检测信息一致,当生成所述进程的可执行程序的信息与所述完整性检测信息不一致时,忽略所述访问请求,当生成所述进程的可执行程序的信息与所述完整性检测信息一致时,从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并所述访问过滤模块根据所述安全令牌中的加密方式对于所述加密的数据文件进行解密并向处理模块802发送数据文件。
在处理模块802中执行安装于终端设备800中的应用软件,并且与虚拟文件管理模块803连接。虚拟文件管理模块803用于在终端设备800映射位于其他设备上的文件,使得终端设备800将位于其他设备上的文件看似为本地文件。虚拟文件管理模块可以在终端设备800上另行构建,也可以是位于终端设备800的操作系统内部的虚拟文件系统。如果是安装有Linux系统或者基于Lixux系统开发的其他操作系统,例如Android系统等自带虚拟文件系统的操作系统的终端设备,则虚拟文件管理模块803可以是位于这些操作系统的内核中的虚拟文件系统,此时无需在终端设备上单独安装虚拟机,有利于节省资源和电力。访问过滤模块804与虚拟文件管理模块803连接。服务器连接模块801与访问过滤模块804连接,并且与服务器可通信地连接,用于终端设备800与服务器交换数据。此时,服务器连接模块801与服务器的连接方式可以是有线的方式,也可以是无线的方式。服务器可以位于终端设备800的远方而通过网络与终端设备800连接,但也可以位于终端设备800的近旁,甚至还可以与终端设备800为一体。
接下来,详细说明本发明的终端设备中各个功能模块的动作。
服务器连接模块801从服务器获取可执行程序。此时,在服务器中保留该可执行程序的完整性检测信息,以用于将在后面叙述的完整性检测。
访问过滤模块804从服务器获取并存储安全令牌。其中,安全令牌由服务器生成,并且在发送给终端设备800中的访问过滤模块804的同时,也要在服务器当中存放相同或者对应的安全令牌。安全令牌至少包括数据文件的加密方式,服务器将位于服务器的数据文件按照安全令牌的加密方式进行加密。此时可以获取服务器当中与服务器连接模块801获取的可执行程序有关的所有的安全令牌,也可以只获取部分安全令牌。
处理模块802运行服务器连接模块801获取的可执行程序。在运行可执行程序的同时,在终端设备中会生成进程。
当虚拟文件管理模块803接收到进程发出的对服务器中的数据文件的访问请求时,虚拟文件管理模块803将该访问请求转发至所述访问过滤模块804。
访问过滤模块804从服务器获取完整性检测信息,验证生成发出请求的所述进程的可执行程序的信息是否与该完整性检测信息一致。当生成进程的可执行程序的信息与该完整性检测信息不一致时,说明该生成进程的可执行程序是被篡改过的,因此忽略该访问请求;当生成进程的可执行程序的信息与该完整性检测信息一致时,可以认为生成进程的可执行程序没有被篡改,即该进程所发出的访问请求是安全的,因此解密数据文件以供进程进行访问,因此从服务器获取服务器按照安全令牌的加密方式加密的数据文件,访问过滤模块804根据安全令牌中的加密方式对于加密的数据文件进行解密,并向处理模块802发送该解密的数据文件,进而使得所述进程在处理模块802访问所请求的数据文件。
对于本发明的实施例而言,一个进程所请求的数据文件遭到第三方的恶意访问的威胁来自可执行程序被篡改。因此只要能够排除生成该进程的可执行程序被篡改的可能性,则可以认为该进程是安全的,可以信赖的。其中完整性检测信息可以是例如MD5(Message Digest Algorithm MD5,信息摘要算法第五版)等数字签名,但不限于此。只要能够用于检验请求可执行程序是否被篡改的标识均可作为完整性检测信息。应该注意的是,正如上面所述,可执行程序是服务器连接模块801从服务器获取的,因此服务器当中存在该可执行程序的完整性检测信息。
另外,如果在服务器中不存在生成所述进程的可执行程序的完整性检测信息,则说明生成该进程的可执行文件不是由服务器获取的。例如,终端设备的操作系统的文件管理器有时也会试图访问处于访问过滤模块当中的从服务器已经获取的加密的数据文件。此时,访问过滤模块804也可以向处理模块802发送加密的数据文件,使得该进程能够识别数据文件。此时的数据文件尚未解密,因此该进程无法访问数据文件的内容,但可以识别该加密的数据文件,从而满足操作系统的文件管理的要求。
最后,已解密的数据文件被处理模块802中应用软件的进程所访问。
然而,在本实施例中说明了服务器连接模块801从服务器获取可执行程序的例子,但事实上不限于此。本领域技术人员容易理解,对于在终端设备上已经存在从服务器获取过的可执行程序时,服务器连接模块801不一定从服务器获取可执行程序。
同样地,在本实施例中说明了包括处理模块802运行可执行程序并生成进程的例子,但事实上不限于此。本领域技术人员容易理解,当在终端设备上已经存在的进程发出访问请求的情况下,处理模块802不一定运行可执行程序并生成进程。
同样地,在本实施例中说明了包括访问过滤模块804从服务器获取安全令牌并存入访问过滤模块的例子,但事实上不限于此。本领域技术人员容易理解,例如在通过上一次访问而已经获取了该可执行程序有关的所有安全令牌的情况等,在终端设备的访问过滤模块中已经存在所需安全令牌时,访问过滤模块804不一定从服务器获取安全令牌
另外,为了防止安全令牌被第三方非法访问的情况,还可以通过在安全令牌中设置密钥或者其他任何限制方法,使得安全令牌只能通过访问过滤模块804和虚拟文件管理模块803访问。这样,可以防止第三方在安全令牌的传输过程中截取安全令牌而泄露其中的加密方式等,导致加密的数据文件遭到第三方的恶意访问。根据上述终端设备,可以进一步地提高数据文件访问的安全性和可靠性。
应该注意的是,只要不脱离在本领域技术人员不经创造性劳动而能够得出的与本实施例等效的范围,可以对上述步骤做出适当的调整。例如,也可以在访问过滤模块804获取安全令牌的同时,也获取的完整性检测信息和服务器按照安全令牌的加密方式加密的数据文件。除此之外,也可以不在处理单元802运行可执行程序后马上获取安全令牌,而在验证生成进程的可执行程序的信息与完整性检测信息为一致后,同时获取安全令牌和服务器按照安全令牌的加密方式加密的数据文件。
根据上述的本发明的终端设备,服务器通过安全令牌对于数据文件加密,而只有在进程通过完整性检测后才可以解密该数据文件,进而允许进程对该数据文件的访问,因此能够访问远程数据文件的同时,很好地防止来自第三方的恶意访问,从而实现低流量和高安全性。
为了进一步提高数据文件访问的安全性,本发明的终端设备还提供了上述实施例的变形例。下面,说明本发明的终端设备的一个变形例。为了便于理解,在此主要着眼于与第一个实施例的不同点进行说明。
在本变形例的终端设备中,服务器连接模块801从服务器获取通过安全令牌的加密方式加密的可执行程序。此时,在服务器中保存该可执行程序的完整性检测信息,以用于将在后面叙述的完整性检测。
访问过滤模块804从服务器获取并存储安全令牌。正如前面所述,访问过滤模块与所述虚拟文件管理模块连接,并且安全令牌由服务器生成且同时存放在所述服务器和所述终端设备中。安全令牌当中至少包括加密方式。对可执行文件的加密方式和对数据问件的加密方式可以相同,也可以不同。此时可以获取服务器当中与服务器连接模块801获取的可执行程序有关的所有的安全令牌,也可以只获取部分安全令牌。
当终端设备接收到该可执行程序的运行请求时,访问过滤模块804从服务器获取完整性检测信息,验证请求运行的可执行程序的信息是否与该完整性检测信息一致。当可执行程序的信息与完整性检测信息不一致时,说明该可执行程序是被篡改过的,忽略运行该可执行程序的请求;当可执行程序的信息与完整性检测信息一致时,则可以认为该可执行程序没有被篡改,因此访问过滤模块804根据安全令牌中的加密方式对于加密的可执行程序进行解密并由处理模块802运行该可执行程序。
然而,在本变形例中说明了包括服务器连接模块801从服务器获取通过安全令牌的加密方式加密的可执行程序的例子,但事实上不限于此。本领域技术人员容易理解,对于在终端设备上已经存在从服务器获取过的通过安全令牌的加密方式加密的可执行程序时,服务器连接模块801不一定从服务器获取通过安全令牌的加密方式加密的可执行程序。
应该注意的是,上述变形例当中,由于在运行可执行程序之前访问过滤模块804已经从服务器获取了可执行程序的完整性检测信息,因此可以在访问过滤模块804接到访问请求之后不一定再次从服务器获取完整性检测信息。此外,访问过滤模块804可以在在运行可执行程序之前访问过滤模块804同时从服务器获取包括对可执行程序的加密方式的安全令牌和包括对数据文件的加密方式的安全令牌,也可以在运行可执行程序之前获取包括对可执行程序的加密方式的安全令牌,而在接到数据文件访问请求之后获取包括对该数据文件的加密方式的安全令牌。
此外,在上述本发明的终端设备的第一个实施例中说明的各种变形也可以适用于本实施例中,在此省略重复说明。
根据上述实施例,通过服务器除对数据文件上通过安全令牌的加密方式加密之外,还对可执行程序通过安全令牌的加密方式加密,只有在访问过滤模块804进行完整性检测,认定该可执行程序没有被篡改后才允许执行可执行程序,从而可以进一步提高数据文件访问的安全性。
为了能够更加灵活地控制终端设备对位于服务器的数据文件的访问,在上述实施例中的安全令牌还可以包括一个或者多个访问条件。在进程发出对数据文件的访问请求时,访问过滤模块验证上述访问请求是否符合安全令牌中包括的访问条件。如果上述访问请求不符合安全令牌中的任何一个访问条件,则忽略上述访问请求。
上述访问条件可以包括对于位于服务器的数据文件只能通过制定的可执行程序访问。为了方便说明,假设服务器当中存在五个数据文件A、B、C、D、E,在终端设备中存在三个可执行程序α、β、γ。此时,可以在安全令牌中规定每一个数据文件允许访问的可执行程序。图4示出了本发明的实施例中的安全令牌的访问条件的一个例子。如图4所示,在安全令牌当中可以规定:对于数据文件A只允许可执行程序α和可执行程序β访问;对于数据文件B只允许可执行程序α访问;对于数据文件C只允许可执行程序β和可执行程序γ访问;对于数据文件C只允许可执行程序β和可执行程序γ访问;对于数据文件D只允许可执行程序β访问;对于数据文件E只允许可执行程序γ访问。当可执行程序α生成的进程发出对数据文件B的访问请求时,访问过滤模块基于安全令牌验证可执行程序α是否可以访问数据文件B。由于数据文件B允许可执行程序α访问,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当可执行程序β生成的进程发出对数据文件B的访问请求时,访问过滤模块基于安全令牌验证可执行程序β是否可以访问数据文件B。由于数据文件B只允许可执行程序α访问,而可执行程序β不可以访问数据文件B,因此访问请求不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。根据上述终端设备,可以使得数据文件只能通过指定的可执行程序访问,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
另外,上述访问条件还可以包括允许访问的数据文件的范围。假设服务器当中存在五个数据文件A、B、C、D、E。此时,在安全令牌当中例如可以规定数据文件A、C、D是可以由终端设备访问的范围。当终端设备中的进程请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否在允许访问的数据文件的范围内。由于数据文件A是在终端设备可以访问的范围内,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程请求访问数据文件B时,访问过滤模块基于安全令牌验证该访问请求是否在允许访问的数据文件的范围内。由于数据文件B不属于在终端设备可以访问的范围内,因此访问请求不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。另外,本领域技术人员容易理解,上述访问条件也可以是规定禁止访问的数据文件的范围。在上述例子当中,在安全令牌当中例如可以规定数据文件B、E是禁止由终端设备访问的范围。当终端设备中的进程请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否在禁止访问的数据文件的范围内。由于数据文件A是在终端设备不属于禁止访问的范围内,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程请求访问数据文件B时,访问过滤模块基于安全令牌验证该访问请求是否在禁止访问的数据文件的范围内。由于数据文件B属于终端设备禁止访问的范围内,因此不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。显然,也可以将上述两种访问条件组合使用。根据上述终端设备,可以限定允许访问的数据文件范围,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
另外,上述访问条件还可以包括允许访问的期限。假设服务器当中存在数据文件A。在安全令牌当中例如可以规定数据文件A是可以在2013年1月1日至2013年12月31日之间进行访问。当终端设备中的进程在2013年3月20日请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否处于允许访问数据文件A的期限内。由于该访问请求的时间处于允许访问数据文件A的期限内,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程在2014年2月1日请求访问数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否处于允许访问数据文件A的期限内。由于该访问请求的时间不处于允许访问数据文件A的期限内,因此不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。另外,本领域技术人员容易理解,上述访问条件也可以是规定禁止访问数据文件的期限。此时,访问过滤模块验证该访问请求是否处于禁止访问数据文件的期限内。如果该访问请求的时间处于禁止访问数据文件的期限内,则认为不符合访问条件,此时忽略该访问请求,不进行后续的处理。如果该访问请求的时间不处于禁止访问数据文件的期限内,则认为符合访问条件,进而允许进行后续的处理。显然,也可以将上述两种访问条件组合使用。根据上述终端设备,可以限定允许访问数据文件的期限,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
另外,上述访问条件还可以包括允许的访问类型。所谓访问类型可以是对数据文件的写入、读取、执行等。假设服务器当中存在三个数据文件A、B、C。在安全令牌当中例如可以规定:数据文件A允许写入和读取而不允许执行;数据文件B允许读取而不允许写入和执行;数据文件C允许执行而不允许写入和读写。当终端设备中的进程请求写入数据文件A时,访问过滤模块基于安全令牌验证该访问请求是否属于允许的访问类型。由于数据文件A允许写入,因此符合安全令牌中的访问条件,进而允许进行后续的处理。当终端设备中的进程请求写入数据文件B时,访问过滤模块基于安全令牌验证该访问请求是否属于允许的访问类型。由于数据文件B不允许写入,因此不符合安全令牌中的访问条件,此时忽略该访问请求,不进行后续的处理。根据上述终端设备,可以限定访问的类型,从而能够更加灵活地控制终端设备对位于服务器的数据文件的访问。
上面说明了访问条件为对于位于服务器的数据文件只能通过制定的可执行程序访问的例子、允许访问的数据文件的范围的例子、允许访问的期限的例子、以及允许的访问类型的例子,但事实上不限于此。本领域技术人员可以在安全令牌中任意组合上述的一个或者多个访问条件,也可以根据需要将其他任何限制作为访问条件。
另外,访问过滤模块804验证访问请求是否符合安全令牌中的访问条件可以在完整性检测之前进行,也可以在通过完整性检测之后进行,只要在进程访问解密的数据文件之前进行即可。
为了保证存放在访问过滤模块的安全令牌与存放在服务器的安全令牌的一致性,本发明的终端设备还可以包括安全令牌管理模块,用于在从服务器获取安全令牌之后进行安全令牌的同步。
安全令牌管理模块验证存放在终端设备的安全令牌的内容与存放在服务器的安全令牌的内容是否一致。当存放在所述终端设备的安全令牌与存放在所述服务器的安全令牌的内容不一致时,将存放在所述服务器的安全令牌的内容作为存放在终端设备的安全令牌的内容;当存放在终端设备的安全令牌与存放在服务器的安全令牌的内容不一致时,结束操作。
应该指出,安全令牌管理模块也可以不验证存放在终端设备的安全令牌的内容与存放在服务器的安全令牌的内容是否一致,而直接将存放在所述服务器的安全令牌的内容作为存放在终端设备的安全令牌的内容来实现安全令牌的同步。另外,安全令牌同步可以在终端设备上已经存在从服务器获取的安全令牌之后的任何时候进行。根据上述终端设备,可以保证存放在访问过滤模块的安全令牌与存放在服务器的安全令牌的一致性,从而进一步提高数据文件访问的安全性和可靠性。
为了进一步提高数据文件访问的效率,本发明的终端设备中的访问过滤模块804还可以在验证为生成该进程的可执行程序的信息与完整性检测信息一致时,记录该进程识别符(app ID),在所记录的进程再次发出对服务器中的数据文件的访问请求时,不再进行完整性检测,而直接从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,访问过滤模块804根据所述安全令牌中的加密方式对于所述加密的数据文件进行解密。下面说明本实施例中访问过滤模块的动作。需要指出的是,在下面的动作之前,也可以有服务器连接模块801从服务器获取可执行程序、访问过滤模块804从服务器获取并存储安全令牌、处理单元802运行服务器连接模块801获取的可执行程序等动作,但在此处省略重复说明。
当虚拟文件管理模块接收到进程发出的对服务器中的数据文件的访问请求时,虚拟文件管理模块803将该访问请求转发至所述访问过滤模块804。
过滤访问模块804验证发出该访问请求的进程的进程识别符是否为被记录。如果是记录的进程发出对服务器中的数据文件的访问请求,则从服务器获取服务器按照安全令牌的加密方式加密的数据文件,并通过访问过滤模块根据安全令牌中的加密方式对于加密的数据文件进行解密。如果不是记录的进程发出对服务器中的数据文件的访问请求,则从服务器获取完整性检测信息,验证生成发出请求的所述进程的可执行程序的信息是否与该完整性检测信息一致。当生成该进程的可执行程序的信息与该完整性检测信息不一致时,说明该生成进程的可执行程序是被篡改过的,因此忽略该访问请求;当生成所述进程的可执行程序的信息与所述完整性检测信息一致时,记录发出该访问请求的进程的进程识别符,并从服务器获取服务器按照安全令牌的加密方式加密的数据文件,通过访问过滤模块根据安全令牌中的加密方式对于加密的数据文件进行解密并向处理模块802发送该解密的数据文件,进而使得所述进程在处理模块802访问所请求的数据文件。
已解密的数据文件被处理模块802中应用软件的进程所访问。
通过上述终端设备,在过完整性检测验证为发出访问请求的进程为安全的进程以后,避免过滤访问模块804对该安全的进程再次进行完整性检测,从而可以提高数据文件访问的效率,节省终端设备的资源。
运行在本发明的终端设备的应用软件,有时需要仅对特定的用户或者特定设备开放应用软件。例如,游戏开发商为了测试游戏性能,而仅对100个固定用户提供游戏试用服务时,希望只有通过特定的身份验证后,才允许应用软件对数据文件的访问。为了适应这一需求,在本发明的实施例中,还可以包括身份验证模块,在通过访问过滤模块804从服务器获取可执行程序的信息,验证生成发出请求的进程的可执行程序是否与可执行程序的信息一致之前,进行身份验证。
身份验证模块包括:获取单元,获取登录参数;发送单元,将所述登录参数发送给服务器;验证结果接收单元,从服务器接收验证结果;当验证结果为失败时,所述访问过滤模块忽略对数据文件的访问请求。
下面,详细说明身份验证模块的动作。
首先,获取单元获取登录参数。其中,登录参数可以是账号和密码,也可以是终端设备的设备识别符,也可以使用其他验证参数进行身份验证。
其次,发送单元将所登录参数发送给服务器。服务器进行参数验证。例如,如果获取的登录参数是账号和密码,则服务器通过在其数据库中查找是否存在该账号和密码的组合来进行验证。如果获取的登录参数是设备识别符,则服务器通过在其数据库中查找是否存在该设备识别符来进行验证。
再次,验证结果接收单元从服务器接收验证结果。如果验证结果为成功,终端设备800执行后续的操作;如果验证结果为失败,则忽略对数据文件的访问请求。
身份验证例如可以在服务器连接模块801获取可执行程序时进行,也可以在处理模块802运行可执行程序的同时进行,甚至还可以在访问过滤模块804接收到访问过滤模块接收到访问请求是进行。通过以上实施例,可以仅对特定的用户或者特定设备开放数据文件的访问。
以上说明了本发明的终端设备的多个实施例。在使用本发明的终端设备时,可以任意组合上面所述的一个或者多个实施例。显然,本领域技术人员在不脱离本发明的精神和范围内可以对上述实施例作出各种修改或者变形。本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (30)
1.一种数据文件访问方法,应用于包括虚拟文件管理模块的终端设备,所述方法包括:
从服务器获取可执行程序;
从所述服务器获取安全令牌并存入访问过滤模块,其中,所述访问过滤模块与所述虚拟文件管理模块连接,所述安全令牌由所述服务器生成且同时存放在所述服务器和所述终端设备中,并且至少包括加密方式;
运行所述可执行程序并生成第一进程;
当所述虚拟文件管理模块接收到所述第一进程发出的对服务器中的数据文件的访问请求时,通过所述虚拟文件管理模块将所述访问请求转发至所述访问过滤模块;
通过所述访问过滤模块从所述服务器获取完整性检测信息,验证生成发出请求的所述第一进程的可执行程序的信息是否与所述完整性检测信息一致;
当生成所述第一进程的可执行程序的信息与所述完整性检测信息不一致时,忽略所述访问请求;
当生成所述第一进程的可执行程序的信息与所述完整性检测信息一致时,从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并通过所述访问过滤模块根据所述安全令牌中的所述加密方式对于所述加密的数据文件进行解密,并向所述第一进程发送已解密的所述数据文件。
2.如权利要求1所述的方法,其中,
所述从服务器获取可执行程序包括:
从所述服务器获取通过所述安全令牌的所述加密方式加密的可执行程序;
所述运行所述可执行程序并生成第一进程包括:
当所述终端设备接收到所述可执行程序的运行请求时,通过所述访问过滤模块从所述服务器获取完整性检测信息,验证所述可执行程序的信息是否与所述完整性检测信息一致;
当所述可执行程序的信息与所述完整性检测信息不一致时,忽略所述运行请求;
当所述可执行程序的信息与所述完整性检测信息一致时,通过所述访问过滤模块根据所述安全令牌中的加密方式对于所述加密的可执行程序进行解密并执行所述运行请求。
3.如权利要求1所述的方法,还包括:
当所述虚拟文件管理模块接收到第二进程发出的对服务器中的数据文件的访问请求时,通过所述虚拟文件管理模块将所述访问请求转发至所述访问过滤模块;
当在所述服务器中不存在生成所述第二进程的可执行程序的所述完整性检测信息时,通过所述访问过滤模块向所述第二进程发送所述加密的数据文件。
4.如权利要求1所述的方法,其中,
所述终端设备安装有操作系统,
所述操作系统包括所述虚拟文件管理模块。
5.如权利要求1所述的方法,其中所述安全令牌仅能够通过所述访问过滤模块和所述虚拟文件管理模块访问。
6.如权利要求1所述的方法,其中所述安全令牌还包括一个或者多个访问条件,
所述访问过滤模块验证所述访问请求是否符合所述访问条件,当不符合其中一个所述访问条件时,忽略所述访问请求。
7.如权利要求6所述的方法,其中所述访问条件包括允许访问所述数据文件的可执行程序的范围,
所述验证所述访问请求是否符合所述访问条件包括:
验证发出所述访问请求的可执行程序是否为允许访问所述数据文件的可执行程序。
8.如权利要求6所述的方法,其中所述访问条件包括访问数据文件范围,
所述验证所述访问请求是否符合所述访问条件包括:
验证所述访问请求所请求的数据文件是否在允许访问的数据文件的范围内。
9.如权利要求6所述的方法,其中所述访问条件包括访问期限,
所述验证所述访问请求是否符合所述访问条件包括:
验证所述访问请求的时间处于允许访问数据文件的期限内。
10.如权利要求6所述的方法,其中所述访问条件包括访问类型,
所述验证所述访问请求是否符合所述访问条件包括:
验证所述访问请求是否属于允许的访问类型。
11.如权利要求1所述的方法,其中在所述从所述服务器获取安全令牌并存入访问过滤模块之后,还包括:
从所述服务器获取存放在所述服务器的安全令牌的内容;
验证存放在所述终端设备的安全令牌的内容与存放在所述服务器的安全令牌的内容是否一致;
当存放在所述终端设备的安全令牌与存放在所述服务器的安全令牌的内容不一致时,将存放在所述服务器的安全令牌的内容作为存放在所述终端设备的安全令牌的内容。
12.如权利要求1所述的方法,其中,
所述通过所述访问过滤模块从所述服务器获取所述可执行程序的信息,验证生成发出请求的所述第一进程的可执行程序的信息是否与所述完整性检测信息一致包括:
当生成所述第一进程的可执行程序的信息与所述完整性检测信息一致时,记录所述第一进程,
当记录的所述第一进程发出对服务器中的数据文件的访问请求时,从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并所述访问过滤模块根据所述安全令牌中的加密方式对于所述加密的数据文件进行解密。
13.如权利要求1所述的方法,在通过所述访问过滤模块从所述服务器获取所述可执行程序的信息,验证生成发出请求的所述第一进程的可执行程序是否与所述可执行程序的信息一致之前,还包括:
获取登录参数;
将所述登录参数发送给所述服务器;
所述服务器进行参数验证;
从服务器接收验证结果,
当验证结果为失败时,忽略对数据文件的访问请求。
14.如权利要求13所述的方法,其中所述登录参数包括账号和密码。
15.如权利要求13所述的方法,其中所述登录参数包括设备识别符。
16.一种终端设备,其中包括:
服务器连接模块,用于与服务器进行通信,从所述服务器获取可执行程序;
处理模块,用于运行所述可执行程序并生成第一进程,以及所述第一进程访问已解密的数据文件;
虚拟文件管理模块,用于接收所述第一进程对服务器的数据文件访问请求,所述虚拟文件管理模块接收到所述第一进程发出的对服务器的数据文件访问请求时,将所述访问请求转发至所述访问过滤模块;
访问过滤模块,用于从所述服务器获取完整性检测信息,验证生成发出请求的所述第一进程的可执行程序的信息是否与所述完整性检测信息一致,当生成所述第一进程的可执行程序的信息与所述完整性检测信息不一致时,忽略所述访问请求,当生成所述第一进程的可执行程序的信息与所述完整性检测信息一致时,从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并所述访问过滤模块根据所述安全令牌中的加密方式对于所述加密的数据文件进行解密,并向所述处理模块发送已解密的所述数据文件。
17.如权利要求16所述的终端设备,其中,
所述服务器连接模块从所述服务器获取按照所述安全令牌的所述加密方式加密的可执行程序;
所述处理模块接收到所述可执行程序的运行请求时,通过所述访问过滤模块从所述服务器获取完整性检测信息,验证所述可执行程序的信息是否与所述完整性检测信息一致;
当所述可执行程序的信息与所述完整性检测信息不一致时,忽略所述运行请求;
当所述可执行程序的信息与所述完整性检测信息一致时,所述访问过滤模块根据所述安全令牌中的加密方式对于所述加密的可执行程序进行解密并执行所述运行请求。
18.如权利要求16所述的终端设备,其中,
所述虚拟文件管理模块在接收到第二进程发出的对服务器中的数据文件的访问请求时,通过所述虚拟文件管理模块将所述访问请求转发至所述访问过滤模块;
当在所述服务器中不存在生成所述第二进程的可执行程序的所述完整性检测信息时,所述访问过滤模块向所述第二进程发送所述加密的数据文件。
19.如权利要求16所述的终端设备,其中,
所述终端设备安装有操作系统,
所述操作系统包括所述虚拟文件管理模块。
20.如权利要求16所述的终端设备,其中所述安全令牌仅能够通过所述访问过滤模块和所述虚拟文件管理模块访问。
21.如权利要求16所述的终端设备,其中所述安全令牌还包括一个或者多个访问条件,
所述访问过滤模块验证所述访问请求是否符合所述访问条件,当不符合其中一个所述访问条件时,忽略所述访问请求。
22.如权利要求21所述的终端设备,其中所述访问条件包括允许访问所述数据文件的可执行程序的范围,
所述访问过滤模块验证发出所述访问请求的可执行程序是否为允许访问所述数据文件的可执行程序。
23.如权利要求21所述的终端设备,其中,所述访问条件包括可以访问的数据文件的范围,
所述访问过滤模块验证所述访问请求所请求的数据文件是否在允许访问的数据文件的范围内。
24.如权利要求21所述的终端设备,其中,所述访问条件包括可以访问数据文件的期限,
所述访问过滤模块验证所述访问请求的时间处于允许访问数据文件的期限内。
25.如权利要求21所述的终端设备,其中,所述访问条件包括访问请求的类型,
所述访问过滤模块验证所述访问请求是否属于允许的访问类型。
26.如权利要求16所述终端设备,其中,
所述访问过滤模块还包括安全令牌管理模块,所述安全令牌管理模块从所述服务器获取存放在所述服务器的安全令牌的内容,验证存放在所述终端设备的安全令牌的内容与存放在所述服务器的安全令牌的内容是否一致,
当存放在所述终端设备的安全令牌与存放在所述服务器的安全令牌的内容不一致时,将存放在所述服务器的安全令牌的内容作为存放在所述终端设备的安全令牌的内容。
27.如权利要求16所述终端设备,其中,所述访问过滤模块验证为生成发出请求的所述第一进程的可执行程序的信息与所述完整性检测信息一致时记录所述第一进程,
当所述访问过滤模块接收到记录的所述第一进程发出的对服务器中的数据文件的访问请求时,从所述服务器获取所述服务器按照所述安全令牌的所述加密方式加密的数据文件,并根据所述安全令牌中的加密方式对于所述加密的数据文件进行解密。
28.如权利要求16所述终端设备,其中,还包括身份验证模块,所述身份验证模块包括:
获取单元,获取登录参数;
发送单元,将所述登录参数发送给服务器;
验证结果接收单元,从服务器接收验证结果;
当验证结果为失败时,所述访问过滤模块忽略对数据文件的访问请求。
29.如权利要求28所述的终端设备,其中,所述登录参数包括账号和密码。
30.如权利要求28所述的终端设备,其中,所述登录参数包括设备识别符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310113142.4A CN104104650B (zh) | 2013-04-02 | 2013-04-02 | 数据文件访问方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310113142.4A CN104104650B (zh) | 2013-04-02 | 2013-04-02 | 数据文件访问方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104104650A true CN104104650A (zh) | 2014-10-15 |
CN104104650B CN104104650B (zh) | 2017-07-21 |
Family
ID=51672452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310113142.4A Active CN104104650B (zh) | 2013-04-02 | 2013-04-02 | 数据文件访问方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104104650B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577691A (zh) * | 2016-02-03 | 2016-05-11 | 飞天诚信科技股份有限公司 | 一种安全访问方法和服务器 |
CN105743857A (zh) * | 2014-12-10 | 2016-07-06 | 深圳云之家网络有限公司 | 数据处理方法、客户端及服务器 |
WO2017066995A1 (zh) * | 2015-10-23 | 2017-04-27 | 深圳还是威健康科技有限公司 | 一种非法访问服务器防止方法以及装置 |
CN106778349A (zh) * | 2016-12-28 | 2017-05-31 | 北京安天网络安全技术有限公司 | 一种基于虚拟磁盘的atm安全防护系统及方法 |
CN110457920A (zh) * | 2019-07-30 | 2019-11-15 | 苏州赛器信息安全科技有限公司 | 一种数据加密方法及加密装置 |
CN113946873A (zh) * | 2021-12-21 | 2022-01-18 | 天津联想协同科技有限公司 | 离盘文件追溯方法、装置、终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1650924A1 (en) * | 2004-09-30 | 2006-04-26 | Alcatel Alsthom Compagnie Generale D'electricite | Mobile authentication for network access |
CN101102574A (zh) * | 2007-08-14 | 2008-01-09 | 华为技术有限公司 | 终端验证方法和装置 |
CN102722576A (zh) * | 2012-06-05 | 2012-10-10 | 西安未来国际信息股份有限公司 | 一种云计算环境下数据库加密保护系统和加密保护方法 |
-
2013
- 2013-04-02 CN CN201310113142.4A patent/CN104104650B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1650924A1 (en) * | 2004-09-30 | 2006-04-26 | Alcatel Alsthom Compagnie Generale D'electricite | Mobile authentication for network access |
CN101102574A (zh) * | 2007-08-14 | 2008-01-09 | 华为技术有限公司 | 终端验证方法和装置 |
CN102722576A (zh) * | 2012-06-05 | 2012-10-10 | 西安未来国际信息股份有限公司 | 一种云计算环境下数据库加密保护系统和加密保护方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743857A (zh) * | 2014-12-10 | 2016-07-06 | 深圳云之家网络有限公司 | 数据处理方法、客户端及服务器 |
WO2017066995A1 (zh) * | 2015-10-23 | 2017-04-27 | 深圳还是威健康科技有限公司 | 一种非法访问服务器防止方法以及装置 |
CN105577691A (zh) * | 2016-02-03 | 2016-05-11 | 飞天诚信科技股份有限公司 | 一种安全访问方法和服务器 |
CN105577691B (zh) * | 2016-02-03 | 2019-06-18 | 飞天诚信科技股份有限公司 | 一种安全访问方法和服务器 |
CN106778349A (zh) * | 2016-12-28 | 2017-05-31 | 北京安天网络安全技术有限公司 | 一种基于虚拟磁盘的atm安全防护系统及方法 |
CN106778349B (zh) * | 2016-12-28 | 2019-11-01 | 北京安天网络安全技术有限公司 | 一种基于虚拟磁盘的atm安全防护系统及方法 |
CN110457920A (zh) * | 2019-07-30 | 2019-11-15 | 苏州赛器信息安全科技有限公司 | 一种数据加密方法及加密装置 |
CN113946873A (zh) * | 2021-12-21 | 2022-01-18 | 天津联想协同科技有限公司 | 离盘文件追溯方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104104650B (zh) | 2017-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102624699B (zh) | 一种保护数据的方法和系统 | |
CN107579958B (zh) | 数据管理方法、装置及系统 | |
CN202795383U (zh) | 一种保护数据的设备和系统 | |
JP7421771B2 (ja) | Iotサービスを実施するための方法、アプリケーションサーバ、iot装置および媒体 | |
CN101102180B (zh) | 基于硬件安全单元的系统间绑定及平台完整性验证方法 | |
WO2021164166A1 (zh) | 一种业务数据保护方法、装置、设备及可读存储介质 | |
CN104104650A (zh) | 数据文件访问方法及终端设备 | |
KR101496318B1 (ko) | 원격 디지털 포렌식 환경에서 보안 제공 장치 및 그 방법 | |
CN110598429B (zh) | 数据加密存储和读取的方法、终端设备及存储介质 | |
CN110324358B (zh) | 视频数据管控认证方法、模块、设备和平台 | |
CN112332975A (zh) | 物联网设备安全通信方法及系统 | |
CN103780609A (zh) | 一种云数据的处理方法、装置和云数据安全网关 | |
WO2012075904A1 (zh) | 一种验证绑定数据卡和移动主机的方法、装置及系统 | |
CN110446075A (zh) | 加密方法及装置、解密方法及装置、电子设备 | |
CN105187369A (zh) | 一种数据访问方法及装置 | |
CN112507296A (zh) | 一种基于区块链的用户登录验证方法及系统 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
CN116366289A (zh) | 无人机遥感数据的安全监管方法及装置 | |
CN114338091A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN113591121A (zh) | 一种资源访问权限的配置方法、装置、设备和存储介质 | |
CN102467625B (zh) | 一种数据保护方法、装置及系统 | |
KR101294866B1 (ko) | 개발환경 관리 시스템 및 이의 개발환경 관리 방법 | |
CN111859351A (zh) | 向芯片写入信息的方法、系统、服务器及存储介质 | |
CN111246480A (zh) | 基于sim卡的应用通信方法、系统、设备及存储介质 | |
CN104580181A (zh) | 加密数据的方法、装置及加密加速引擎 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |