CN116686316A - 加密文件控制 - Google Patents
加密文件控制 Download PDFInfo
- Publication number
- CN116686316A CN116686316A CN202180077463.6A CN202180077463A CN116686316A CN 116686316 A CN116686316 A CN 116686316A CN 202180077463 A CN202180077463 A CN 202180077463A CN 116686316 A CN116686316 A CN 116686316A
- Authority
- CN
- China
- Prior art keywords
- access
- file
- information
- client
- request
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 240
- 238000012550 audit Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 description 58
- 238000004891 communication Methods 0.000 description 32
- 150000003839 salts Chemical class 0.000 description 27
- 238000012795 verification Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 9
- 230000008520 organization Effects 0.000 description 9
- 238000013475 authorization Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000002265 prevention Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000016936 Dendrocalamus strictus Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000008667 sleep stage Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
- H04W12/64—Location-dependent; Proximity-dependent using geofenced areas
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/041—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 using an encryption or decryption engine integrated in transmitted data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Selective Calling Equipment (AREA)
Abstract
访问客户端可以向服务器发送访问请求,并且访问请求可以是解密请求或加密请求的示例。访问请求可以包括要访问的文件的文件信息和访问信息。服务器可验证访问信息并生成包括一组访问密钥和可执行代码的访问包。访问密钥可以传输到访问客户端。访问客户端可以执行可执行代码并解密或加密文件。文件可以包括一个或多个数据包,其包括文件访问策略、所有权信息和文件访问日志。
Description
相关申请的交叉引用
本专利申请要求NIJASURE等人于2021年9月22日提交的名为“加密文件控制”的美国专利申请号为17/482,010的美国专利申请的优先权,以及NIJASURE等人于2020年9月22日提交的名为“加密文件控制”的美国临时专利申请号为63/081,763的美国临时专利申请的优先权,其中每一个都转让给了本申请的受让人,并且每一个都明确通过引用完整地并入本文。
技术领域
本公开一般涉及数据安全,更具体地涉及加密文件控制。
背景技术
文件加密允许计算机之间通过不安全的网络共享文件,并可以防止第三方访问敏感数据。然而,文件加密可能只与用于加密文件的密钥一样安全。
发明内容
所描述的技术涉及支持加密文件控制的改进方法、系统、设备和装置。通常,所述技术提供共享加密文件而不损害用于加密文件的加密密钥。加密文件的负载(payload)使用存储在多个存储库中的多个盐(salt)和密钥进行加盐和加密。为了响应加密或解密文件的访问请求,服务器生成一个访问包,其中包括用于执行该访问的信息(例如,数据和/或代码)。例如,如果数据包包含源代码,则源代码可以被注入用于加密或解密加密文件的负载的盐和密钥。服务器将访问响应与访问包一起发送到向服务器发送访问请求的访问设备。访问设备可编译来自访问包的源代码以生成可对加密文件的负载进行加密或解密的可执行文件。在某些情况下,访问设备可以基于包含在访问包中的数据转换负载的数据。在使用后,可执行文件和/或访问包可以从访问设备中移除,以尽量减少盐和密钥在访问设备存储器中的时间总量。不将盐和密钥存储在访问设备上可以降低访问设备被入侵(compromise)的影响和可能性。
附图说明
图1示出了根据本公开的方面的支持加密文件控制的系统的示例。
图2示出了根据本公开的方面的支持加密文件控制的加密文件的示例。
图3示出了根据本公开的方面的支持加密文件控制的计算架构的示例。
图4示出了根据本公开的方面的支持加密文件控制的处理流的示例。
图5示出了根据本公开的方面的支持加密文件控制的处理流的示例。
图6示出了根据本公开的方面的支持加密文件控制的访问设备场景的示例。
图7示出了根据本公开的方面的支持加密文件控制的用户设备的框图。
图8示出了根据本公开方面的包括支持加密文件控制的设备的系统示意图。
图9示出了根据本公开的方面的支持加密文件控制的数据安全组件的框图。
图10示出了根据本公开的方面的包括支持加密文件控制的设备的系统的示意图。
图11至23示出了说明了根据本公开的方面的支持加密文件控制的方法的流程图。
具体实施方式
加密技术用于各种环境,以保护数据不受未经授权的访问。各种形式的加密密钥可用于数据的加密、数据的解密、数据的安全传输等。但是,这些技术要求用户和系统保持密钥和数据的控制、包含和可见性,以保护数据。例如,组织实施设备管理技术和系统、身份管理技术和系统、存储管理技术和系统、云遏制技术和系统、数据分类技术和系统,以及其他技术和系统,以保护数据。由于这些系统和技术的复杂性,以及不良行为者的扩散,数据丢失和未经授权的数据访问是很普遍的。
本文描述的实现支持用于自我保护、自我感知和自我智能数据的系统和技术。所述的实现支持访问客户端,该客户端配置为与服务器交互,以使用本文所述的技术保护数据。该技术支持即时和动态数据控制。例如,如果第一用户向第二用户传输了一个加密文件,并且第一用户不再希望第二用户访问该文件。第一用户可以访问一个平台,以近乎实时地限制第二用户对文件的访问,即使第二用户已经在他们的设备上拥有该文件。这些技术在不同的粒度级别上得到支持,粒度级别包括文件级别、文件组或文件文件夹、团队级别、组织级别等。此外,这些技术可能适用于文件中的各种元素或部分。例如,文件可以包括一个或多个数据对象(例如,对象链接和嵌入对象(OLE)、图像),并且在应用本文所述的各种文件访问策略技术时,可以对这些对象进行加密和解密(与文件本身分开)。此外,所述的技术支持使用各种考虑因素(例如地理位置、设备类型和时间段)的文件访问限制或策略。例如,用户可以限制在特定国家的其他用户对一个文件或一组文件的访问。这些限制可以近乎实时地实现,即使其他用户在特定国家的个人设备上已经拥有了该文件。
为了支持这些不同的技术,服务器可以生成访问包并将其传输到正在用户设备上执行以响应来自访问客户端的请求的访问客户端。访问包可以包括一个或多个加密密钥和可执行代码。访问客户端配置为执行可执行代码以加密或解密负载(例如,一个文件)。加密文件可以包括一个或多个数据包,一个或多个数据包包括文件所有权信息、文件访问策略、访问日志以及其他信息。这些数据包允许数据自智能,如本文中进一步详细描述的那样。此外,与访问客户端配置为通信的服务器可以维护各种文件访问策略,例如授权用户访问、设备访问等。服务器可以维护文件和访问策略(验证参数)的映射。因此,在接收到加密/解密文件的请求时,服务器检查用户/设备是否被授权执行加密/解密,识别相应的密钥,生成访问包,并将访问包传输给客户端。因此通过自智能的数据配置、访问客户端和服务器,以动态方式实现维护数据安全。这些实现方式和其他实现方式将在图中进一步详细描述。
本公开的方面最初在支持加密文件控制的计算环境的上下文中描述。关于支持加密文件控制的访问包、示例文件控制场景和过程流程图,进一步描述了本公开的方面。通过与加密文件控制相关的装置图、系统图和流程图进一步说明和描述本公开的方面。
图1示出了根据本公开的方面的支持加密文件控制的系统100的示例。系统100配置为创建和控制对加密文件的访问。系统100包括访问设备105、移动设备110、服务器115和存储库120。
访问设备105基于与服务器115的通信与加密文件进行交互。每个访问设备105连同在访问设备105上执行的访问客户端125,可以作为加密设备来生成和加密文件,并作为解密设备来解密和查看加密的文件。作为示例,访问设备105-b可以是加密设备,其生成加密文件(与服务器115一起)并将加密文件发送到访问设备105-a。访问设备105-a可以是解密设备,该解密设备(与服务器115一起)根据与加密文件关联的策略解密并查看加密文件。
访问设备105可以是根据图8中所述的计算系统的示例,并且例如,可以是智能手机、笔记本电脑、平板电脑、台式电脑等。访问设备105可使用有线或无线通信技术与其他访问设备105、移动设备110和服务器115交互。
访问设备105-a可以加密文件,接收来自其他访问设备的加密文件,与服务器115交互以生成并访问加密文件,呈现从加密文件解密的信息,并与移动设备110建立连接并更新数据。访问设备105-a包括访问客户端125。
访问客户端125是在访问设备105-a上运行的程序集,其生成、访问和查看加密文件。访问客户端125可以是通过访问设备105-a上的网络浏览器操作的本机应用程序或基于网络的应用程序。访问应用程序可以包括用户界面130-a和访问可执行文件135-a。访问客户端125还可以是用于各种文件查看应用程序(例如字处理应用程序、电子表格应用程序等等)的应用程序插件。
用户界面130-a是处理用户交互的访问客户端125的一部分。用户界面130-a包括向用户提供输出和从用户接收输入的用户界面元素(按钮、文本框、媒体播放器窗口等)。访问可执行文件135-a是由访问设备105-a从来自服务器115的访问包创建的可执行文件,以操作访问设备105-a上的加密文件。例如,访问可执行文件135-a可以是动态链接库(DLL)。访问可执行文件135-a包括访问函数140-a。访问函数140-a是执行函数的访问可执行文件135-a的一部分。访问函数140-a可以是创建加密文件的加密函数、解密加密文件的解密函数、移除加密文件的终止函数、诱骗函数等。诱骗函数可以为加密文件提供与加密文件的预期输出相似的输出,但不包括来自加密文件的负载的数据。
访问设备105-b包括访问客户端125-b,其包括用户界面130-b和访问可执行文件135-b。访问可执行文件135-b包括访问函数140-b。访问设备105-b的硬件和组件的操作类似于访问设备105-a的硬件和组件。
移动设备110与访问设备105-a交互以建立网络连接并传输数据。移动设备110是根据图8所述的计算系统,例如,可以是智能手机、台式计算机、笔记本电脑、平板电脑或其他类型的个人设备(例如,安全卡或安全密钥)。移动设备110可与访问设备105-a建立个人区域无线连接并传输位置信息。移动设备110包括移动应用程序145。
移动应用程序145是在移动设备110上操作的程序集,其建立到访问设备105-a的连接,收集位置数据并传输位置数据。移动应用程序145可从移动设备110的定位系统收集位置数据(例如全球定位系统(GPS)模块),其确定移动设备的位置,并且可以包括移动设备110的经度、纬度和高度。
服务器115与系统100的其他组件交互以控制对加密文件的访问。服务器115可以是根据图10中所述的计算系统的示例,并且,例如可以是在一个或多个云环境中托管服务器应用程序185的多个服务器之一。
服务器应用程序185是对来自访问设备105-a通过访问设备105-b的访问请求提供访问响应的程序集,并且可以由服务提供者管理。服务器115通过访问设备105-b接收来自访问设备105-a的对加密文件的访问请求。服务器应用程序185使用几种类型的信息授权访问请求,包括用户凭据(用户标识符、电子邮件地址、访问令牌等)、访问设备位置信息、移动设备位置信息、用户特权信息、文件访问权限等。
服务器应用程序185根据访问请求的授权对访问请求生成访问响应。服务器应用程序185生成访问包,访问包包括在通过访问设备105-b返回给访问设备105-a的访问响应中。访问包包括来自存储库120的源代码,该源代码已经注入了信息,其包括来自一个或多个密钥服务器190的密钥。访问包可由访问设备105编译,以形成相应的访问可执行文件135和相应的访问函数140。
密钥服务器190生成并维护用于加密和解密系统100中的文件的密钥。密钥服务器190与服务器115通信。密钥服务器190可能托管在不同云区域和不同云环境中的不同服务器上,以防止系统100存在单点泄露并提高安全性。不同的密钥服务器可能存储不同类型的密钥。例如,一个密钥服务器可能管理负载密钥,另一个服务器可能管理微数据库密钥,另一个密钥服务器可能管理文件密钥,等等。可以使用系统100为不同的实体设置不同的密钥服务器和密钥服务器组。例如,第一实体可以为不同类型的密钥使用第一组密钥服务器,而第二实体可以具有与第一组密钥服务器不同的第二组密钥服务器。
存储库120是计算系统,该计算系统可以包括根据图10所述的多个计算设备。存储库120可以由托管服务器应用程序185的云服务提供者托管。云服务提供者可以提供托管、虚拟化和数据存储服务以及其他云服务。管理服务器应用程序185的服务提供者可以操作和控制从存储库120存储和检索数据的数据、程序和应用程序。存储库120中的数据可以包括源代码、过滤器、数据库等。例如,存储库120包括访问源代码150、混淆过滤器175和宏数据库180。
访问源代码150是在注入额外信息(例如,来自一个或多个密钥服务器的密钥190)后用于生成访问可执行文件135的源代码。访问源代码150包括加密源代码155、解密源代码160、用户权限源代码165和终止源代码170。加密源代码155包括用于加密负载以生成加密文件的指令。解密源代码160包括用于解密加密文件以从加密文件恢复负载的指令。用户权限源代码165包括用于基于用户访问权限(例如,完全访问、协作访问和只读访问)处理加密文件的指令。终止源代码170包括用于从访问设备移除加密文件的指令。
用户对文件的访问权限可能包括各种级别,如完全访问、协作访问和只读访问。通过完全访问,用户可以恢复原始文件,可以使用外部应用程序编辑原始文件。例如,可以使用本地电子表格应用程序恢复和编辑电子表格。通过协作访问,用户可以查看和更新加密文件中的信息,但不能恢复原始文件。例如,用户可以在访问客户端125内查看和编辑来自加密文件的负载的信息,但可以不能保存或打印来自加密文件的负载的信息。通过只读访问,用户可以从加密文件中查看信息,而不能编辑这些信息。例如,用户可以使用访问客户端125查看信息,但不能编辑、打印或保存所查看的加密文件中的信息。用户访问权限,也可以被称为访问策略,可以由访问客户端125和/或访问可执行文件135强制执行。在某些情况下,用户访问权限可能会阻止负载在视频会议应用程序中共享。
混淆过滤器175实现了数据丢失防止(DLP)。混淆过滤器175识别要混淆的数据的类型和结构。例如,混淆过滤器可能使用正则表达式通过搜索字符串“\d{3}-\d{2}-\d{4}”识别社会安全号码,并匹配替换为替换字符串“XXX-XXXXXX”以从文档中删除社会安全号码。混淆过滤器175可以在加密负载之前应用,以便加密文件的负载不包括个人识别信息。此外,混淆过滤器175可在加密文件解密后应用,以防止从加密文件查看或散布个人身份信息。例如,混淆过滤器175可以作为访问策略或用户权限强制执行。
宏数据库180存储由系统100控制的文件的信息。宏数据库180可包括存储在系统100的每个加密文件中的微数据库(例如,也称为数据包)中的信息的超集。宏数据库180存储对于每个加密文件的每次访问的信息。例如,对于加密文件的宏数据库180可以包括一个信息表,其中包含访问加密文件的日期、访问类型(创建、读取、写入、更新等)、关于用户的信息(例如,用户标识符)、关于访问设备的信息(硬件标识符、软件标识符、网络连接标识符、机器地址代码(MAC)地址标识符等)的列。表的行可以区分不同的访问事件。宏数据库180记录了托管链,其标识了访问系统100的加密文件的用户和机器。
宏数据库180可以使用散列链来存储访问事件信息。例如,对于为加密文件添加到宏数据库180的每个访问事件,访问事件的信息与先前的哈希值结合形成哈希负载。对哈希负载应用加密哈希算法以生成与访问事件信息一起存储的新哈希值。新的哈希值可以用作后续访问事件的“前一个哈希值”,以形成不可变的哈希值链。如果哈希链中的信息被修改,则后续哈希值将不正确。
系统100的每个组件协同工作,支持动态、自我智能和自我保护的数据安全。例如,用户可以访问访问客户端125-a以保护文件并授予不同用户对该文件的访问权。用户使用访问客户端125-a选择要保护的文件。该文件可以是视频文件、音频文件、字处理器文件、文本文件、多媒体文件、PDF等文件。在选择要保护的文件后,用户可能会被访问客户端125-a提示选择与文件访问策略对应的用户访问参数。这些用户访问参数(或用户访问策略)可能包括被授权查看文件的用户、位置或地理围栏限制(例如办公室或其他行政授权地点),时间段或禁运,设备限制,以及其他类型的策略和限制。对于选择用户,访问客户端125-a可以访问联系人或用户的本地或远程列表,并提示用户搜索和/或选择将具有文件访问权的用户和对于每个用户的访问类型(例如,只读、协作、完全访问)。
在选择访问策略后,用户可以选择用户界面(UI)组件来加密文件。如本文中进一步详细描述的,访问客户端125-a可以从服务器115接收访问包以响应对文件进行加密的请求。访问包可以包括访问可执行文件135-a,并且访问客户端125-a可以执行可执行文件135-a的指令以使用访问包中从服务器115接收的密钥对文件进行加密。对文件进行加密会生成一个具有新文件扩展名的新加密文件(例如,与原始文件不同),并且基于嵌入在加密文件本身中的文件访问策略,新的加密文件是智能的(权限管理感知)。在某些实现方式中,新的加密文件将取代原始文件。在这种情况下,原始文件将在成功创建加密文件后自动删除。此特征可能取决于组织的特定策略,也可能在文件加密时激活。
加密文件可以通过各种技术传递给其他不同的用户,如电子邮件、FTP、数据库访问、远程访问等。例如,访问设备105-b可以在本地或远程访问加密文件。如果用户试图打开该文件,则访问客户端125-a配置为向服务器115传输解密请求。该请求可以包括要在服务器115上验证的各种信息。如果服务器115验证请求,则服务器115使用包括访问可执行文件135-b的访问包传输响应。访问客户端125-b执行访问可执行文件135-b的指令来解密文件及其组件(例如,数据包,在本文将进一步详细描述)。访问客户端125-b执行数据包中包括的用户访问权限或访问策略。
包括在加密文件中的数据包包括所有权信息(例如,用户、设备、组织)、文件访问策略(例如,用户访问权限类型)和访问日志。此信息随加密文件一起传输,并可能通过解密请求进行更新。由于文件访问策略包括在文件中,因此当执行文件访问策略时,文件的内容(例如,负载,如PDF)是可访问的。
此外,如本文所述,服务器115通过服务器应用程序185和存储库120维护文件策略和访问权限。通常地(如本文所述,存在一些例外),在不与服务器通信的情况下,访问客户端125不能解密加密文件。因此,用户(例如管理用户或文件所有者)可以使用访问客户端125(例如,访问客户端125支持的仪表板)更新与各种文件相关的文件访问策略。在接收到文件的解密请求时,服务器115可以确定文件中的访问策略是陈旧的(例如,不是当前的),并将更新的访问策略与访问包一起传输到访问客户端125。因此,可以动态更新文件访问,而不必首先解密文件以包括更新的访问策略。此外,由于服务器通信通常与文件访问请求(例如,解密或加密请求)一起发生,服务器115可以维护此类请求的日志。日志可用于支持管理用户用来查看访问位置、访问拒绝、已请求访问的用户等的仪表板。此外,仪表板可用于近乎实时更改各种用户、各种文件等的访问策略。因此,本文所述的技术可以允许组织对其文件安全机制和结果有一个完整和接近实时的查看。
本领域技术人员应当认识到,本公开的一个或多个方面可以在系统100中实现,以附加地或替代地解决除本文所述的问题以外的其他问题。此外,本公开的方面可以对本文所述的“常规”系统或过程提供技术改进。然而,说明书和所附附图仅包括因实施本公开的方面而产生的示例技术改进,因此不代表权利要求范围内提供的所有技术改进。
图2示出了根据本公开的方面支持加密文件控制的加密文件200的示例。加密文件200使用多个盐和密钥(它们不存储在加密文件200中)来控制对负载205的访问,并保护负载205不受未经授权的访问。加密文件200包括负载205、数据包210和元数据215。
负载205是构成加密文件200的基础的电子文件。负载205可以包括任何类型的电子文件,包括文本文档、电子表格、幻灯片演示文稿、源代码文件、图像文件、存档文件、视频文件等。加密文件200可包括负载205内的单个文件。
在被插入加密文件200之前,负载205可以用负载盐220加盐并用负载密钥225加密。在某些实现方式中,负载密钥225可能是256位长的高级加密标准(AES)256位密钥。在某些实现方式中,负载盐220是随机生成的8字节值。在某些实现方式中,通过将负载盐220附加到负载205,将负载盐220应用到负载205。
数据包210(也可以称为微数据库、所有者数据库或其组合)可以包括与最近访问加密文件200、与加密文件200相关联的文件访问策略以及与加密文件相关联的所有者信息有关的宏数据库(例如,图1的宏数据库180)的信息子集。数据包210可包括访问日志信息(例如,在访问日志250中),其识别访问加密文件200的先前最后一个用户和访问加密文件200的先前访问设备。例如,数据包可包括访问日志250,其包括与先前访问加密文件200的用户和设备相关联的指纹。用户指纹信息可能包括电子邮件地址、访问令牌、哈希值等。访问设备指纹信息可能包括硬件和/或软件标识符。在一些示例中,用于访问日志250的手指信息可以包括网络信息、地理位置信息、访问客户端信息等。在某些情况下,访问日志250包括唯一标识执行访问客户端的硬件组件的硬件信息。例如,硬件信息可以是来自用户计算系统的通用唯一标识符(UUID)的用户拇指指纹。作为另一个示例,用户拇指指纹可能是一个主板序列号。访问日志250的访问信息可以包括访问时间戳。访问时间戳可以标识最后一次成功访问加密文件200的日期和时间。
此外,数据包210可包括对于加密文件200的访问权限(例如,文件访问策略245)的指示以及对于加密文件200的实体或所有权信息(也称为所有者数据库)。文件访问策略245可以指示完全访问、协作访问、只读访问,并且可以在全局基础上、每组基础上、每用户基础上指定。文件访问策略还可以包括数字权限管理信息,其可以是文件访问策略的子集,文件访问策略的子集包括识别加密文件200的用户的特权和访问权限的数据。例如,数字权限管理信息可能包括以下字段的值:打印允许(PrintAllowed)、保存允许(SaveAllowed)、本地复制允许(LocalCopyAllowed)、转发允许(ForwardAllowed)、协作(Collaboration)、只读(ReadOnly)和完全访问(FullAccess)。数字权限管理信息可以在全局、每组、每用户等基础上配置。访问权限还可以包括限制或允许使用各种程序访问文件的显示约束,例如限制或允许在视频会议程序中共享负载。
打印允许、保存允许、本地复制允许、转发允许的值可以是二进制值。打印允许字段的值标识来自加密文件200的负载205的信息是否可以由用户打印。保存允许字段的值标识来自加密文件200的负载205的信息是否可以由用户保存到访问设备。本地复制允许字段的值标识来自加密文件200的负载205的信息的本地副本是否可以存储在访问设备上。转发允许字段的值标识来自加密文件200的负载205的信息是否可以转发到另一个设备(例如作为电子邮件的一部分)。
协作、只读和完全访问的值可以是可以独立设置的二进制值。协作字段的值标识用户是否可以协作访问加密文件200的负载205。只读字段的值标识用户是否可以对加密文件200的负载205具有只读访问权。完全访问字段的值标识用户是否可以完全访问加密文件200的负载205。
访问策略245还可以包括数据丢失防止信息,其包括可以从加密文件200的负载205识别和移除或混淆敏感信息的信息和指令。如本文所述,数据丢失防止信息可以是显示约束的示例。敏感信息包括个人识别信息。在负载205与作为解密设备的访问设备一起查看或保存到该访问设备之前,可以移除或混淆敏感信息。例如,数据丢失防止信息可能包括以下字段的值:包ID(PackageID)、规则(Rules)、规则ID(Rule ID)。
包ID的值标识源代码包,该源代码包将包括在访问包中以从负载205中移除或混淆敏感信息。规则字段的值标识将包含在访问包中的规则组,以从负载205中移除或混淆敏感信息。规则ID的值标识将包括在访问包中的特定规则,以从负载205中移除或混淆敏感信息。用于防止数据丢失的每个规则都包括一个带有替换字符串的正则表达式字符串,用于根据替换字符串替换与正则表达式(来自正则表达式流)匹配的负载205中的数据。
文件访问策略245还可以包括终止信息。终止信息可以包括终止标志,用于标识加密文件200的负载205是否已终止。负载205可以通过用与原始负载相同大小的空数据或随机数据替换原始负载(加密后)来阻止对原始负载中的数据的访问而终止。当未经授权的用户或设备试图访问加密文件200时,终止标志可以设置为正确(true)。
文件访问策略245也可能强制执行地理位置限制。例如,文件访问策略可以指示文件只能在办公位置、地理位置(例如,在一个州或国家内)或类似位置访问。因此,在执行策略时,访问客户端可以使用网络信息、GPS信息或其他可用于识别地理位置的信息,以确定访问已被授权。如果这种信息不可用,对负载205的访问可能会受到限制。因此,文件访问策略245可以包括各种形式,包括指示访问权限类型的位、强制数据丢失预防的规则或指令的指示、地理限制的指示等等。在某些情况下,文件访问策略245可能会限制用户使用虚拟专用网络(VPN)访问文件。因此,如果检测到VPN,则访问请求可能会被拒绝,或者用户可能会被限制查看文件。
所有权信息255可以包括作者ID(Author ID)字段的值,其唯一标识创建加密文件200的用户。作者ID的值可以是电子邮件地址、员工标识符、用户名等。所有权信息255可以包括实体签名,例如数字签名。系统的用户可以是实体的多个雇员之一。由用户为实体生成的每个加密文件可以包括相同的实体签名,其标识实体作为加密文件的来源,也可以包括多个实体签名,其标识加密文件的实体来源和生成加密文件的用户。
所有权信息255还可以包括实体数据库信息,其包括一个或多个应用程序编程接口(API)端点(例如,访问客户端用于验证用户是否具有对加密文件的访问权的统一资源定位器(URL))的指示。例如,指定的一个或多个API端点可以是验证API和传输API。可以访问验证API以验证用户(与加密文件200拥有相同的实体)是否可以访问加密文件200。可以访问传输API来验证用户(拥有与加密文件200不同的实体)是否可以访问加密文件200。由于API端点可以在解密加密文件200之前被访问,API端点可以位于任何加密包装器之外(例如,可能不由其中一个密钥加密)。例如,API端点的指示可以包括在元数据215中。
元数据215是关于加密文件200的信息存储。例如,元数据215可以标识负载205中的文件类型、负载205中的文件名称、负载205中的文件长度、负载205的加密算法(包括加盐算法)、数据包210的加密算法、加密文件200的加密算法,等等。如本文所述,元数据215还可以包括API端点的指示。元数据215的不同方面可以也可以不作为加密文件200的一部分进行加密。在某些情况下,元数据的各个方面可能包括在对服务器的访问请求(加密或解密请求)中。
在插入加密文件200之前,数据包210可以用一个或多个数据包密钥230加密。在某些实现方式中,一个或多个数据包密钥230可以是高级加密标准(AES)128位密钥。一个或多个数据包密钥230可以短于负载密钥225,以减少访问数据包210中的数据所需的时间。
加密文件200可以用文件盐235加盐并用文件密钥240加密。在某些实现方式中,文件密钥240可以是高级加密标准(AES)256位密钥。在某些实现方式中,文件盐235是一个随机生成的8字节值。通过将文件盐235附加到加密文件200,可以将文件盐235应用于加密文件200的内容(例如,使用负载盐220加盐并使用负载密钥225加密的负载205,使用数据包密钥230加密的数据包210)。
在一些实现方式中,一个盐(例如,文件盐235)是通过生成第一个随机的8位数字来创建的,该数字在10000000到99999999之间,存储在Y中。然后生成在1到8之间的第二个随机数并存储在X中。然后将Y中的第X位数字替换为X的值。生成第二个随机数和替换Y中的一个值的步骤重复了四次。最后一次替换后的值是盐。可以使用不同的算法来生成系统使用的盐。
包括在数据包210中的各种信息连同服务器通信,支持本文所述的动态、自智能和自保护数据安全方案。当访问客户端从服务器接收到访问包(例如,可执行文件和访问密钥)时,访问客户端执行访问包的可执行代码以使用各种密钥解密加密文件的内容。访问客户端配置为强制加密文件中包括的访问策略245。此外,在解密之后,访问包的可执行代码可以导致访问日志250使用有关访问客户端(例如,客户端标识符、版本、指纹)、执行访问客户端设备(例如,设备标识符、主板标识符、硬件标识符)、用户信息以及本文所述的其他信息进行更新。因此,如果加密文件200被传递给另一个用户或设备,并且用户试图打开加密文件200,则可以使用访问日志250的内容来识别加密文件200的托管链,以查看谁和/或哪个设备泄露了加密文件200。
在某些情况下,在文件被解密之前,与文件关联的访问策略245可能会被更新。在这种情况下,当解密请求被发送到服务器(例如,服务器115)时,服务器可以在访问包中以更新的访问策略进行响应,以便在解密时强制执行更新的访问策略。但是,由于访问策略包括在文件中,因此支持各种其他特征,例如脱机访问。
图2的方面描述了关于负载205是文件的情况。应该理解的是,这里描述的技术可能适用于文件的部分或文件中的对象。例如,文件可能包含多个元素(例如OLE元素)、图像、图表等嵌入在文件中的。在这样的情况下,负载205可以是文件或文件的一部分(例如,特定页面)中的一个特定元素的示例。因此,可以对元素或页(例如,负载205)进行加密,并且可以对元素或页强制执行访问策略245。类似地,访问日志250和所有权信息255可以基于受保护的文件中的元素或页。
图3示出了根据本公开的方面的支持加密文件控制的计算架构300的示例。计算架构300包括用户设备305和服务器310。用户设备305可以是关于图1所述的访问设备105的示例。服务器310可以是关于图1所述的服务器115的示例。用户设备305可配置为执行访问客户端325以支持本文所述的文件控制技术。
用户设备305的用户可以访问访问客户端325以根据本文所述的技术对文件或文件的部分进行加密和/或解密。在某些情况下,用户需要每天、定期等登录到访问客户端。登录到访问客户端325可触发与服务器310的通信,包括建立安全连接。此外,在登录时可以生成令牌,并且该令牌可以用于与服务器325的安全通信。在一些示例中,用户可以在登录时注册地理位置、网络标识符等,这些信息用于令牌生成、与服务器的安全通信、文件访问策略实施(例如,数据地理围栏)等。
在访问客户端325的示例使用中,用户可以使用访问客户端在将文件传输给一组用户之前保护文件或文件的一部分。用户可以选择文件,然后通过访问客户端325为文件选择文件访问策略。在选择文件和文件访问策略后,访问客户端325可以向服务器310发送访问请求330。在加密请求的情况下,服务器310可以基于在访问客户端325上配置的URL(例如API端点)进行识别。访问请求330可以包括访问信息315,以及与文件相关联的文件信息(文件大小、类型、文件元数据)。访问信息315可以基于访问客户端325进行定制。根据访问客户端325的实现方式(例如,组织配置、个人配置),访问信息可以包括各种信息,例如互联网协议(IP)地址、网络信息、主板标识符、通用唯一(UU)标识符、用户标识符、客户端标识符(例如,客户端许可证标识符)、客户端版本、地理位置信息、浏览器信息(例如,在基于浏览器的客户端的情况下)、应用程序信息(例如,在客户端插件的情况下)。访问信息315还可以包括访问令牌。
访问信息可以包括关于用户、用户的计算系统、计算系统的位置以及所请求的访问类型的信息。关于用户的计算系统的信息可以包括计算系统的硬件和软件组件的硬件和软件标识符。关于计算机系统位置的信息可以包括计算机系统的IP地址,其可以映射到地理位置。访问信息可以是访问请求头的一部分,并且可以按照JavaScript对象表示法(JSON)标准进行格式化。
服务器310可验证访问信息315。验证可以包括验证位置、验证网络、验证设备、验证令牌(例如,令牌是活动的)以及其他信息。在某些情况下,组织可能与组织策略相关联,这些策略指示为了使用加密函数必须提供某些信息。例如,全局策略可能指示雇员或用户只能在办公室加密文件。因此,将使用各种验证来确保满足组织策略。验证可以针对各种考虑因素和场景进行定制。
访问信息315、访问请求330或来自访问客户端325的另一通信还可以包括要加密的文件的文件访问策略的指示。因此,所选策略,包括读、写、协作、地理限制策略、授权用户和其他策略可以通信到服务器310。服务器310可在安全存储库中维护文件信息和访问策略(例如,在图1的宏数据库180中)的记录。
如果访问请求330被验证,则可以按本文所述存储访问信息,并且服务器310可以生成访问包320。为了生成访问包320,服务器310可以调用(例如向安全密钥存储库传输请求)以使用密钥服务生成加密密钥。安全密钥存储库可以是第三方密钥管理服务的一个示例。安全密钥存储库可以返回用于生成密钥的随机字符串。服务器310可配置为将字符串分割为一个或多个访问密钥335,因此,安全密钥存储库不能识别访问密钥335。在某些示例中,对密钥存储的请求可能包括文件标识信息,这些信息可能用于后续的解密请求以接收密钥字符串。每个加密请求可能产生一组不同的密钥。
服务器310还可以为访问包320生成访问信息340。访问信息可以包括来自各种类型的加密或解密库的代码(例如可执行代码)。因此,加密/解密方案和密钥可以根据实现本文所述技术的组织的需要而定制。访问信息340可以包括用于加密包括负载和数据包的文件的指令。在某些情况下,访问包320可以包括文件访问策略和/或所有权信息的指示,以便策略和所有权信息可以与文件加密。访问信息340可以从指令存储库(例如,图1的存储库120)检索。指令存储库可以为实现本文所述的系统的每个租户或组织配置,因此,可以使用可定制的或可选择的加密/解密技术、密钥格式等。
在某些情况下,如本文所述,访问信息340可由设备305编译以生成用于执行操作(例如,加密、解密、实施策略)的机器可执行代码。在某些情况下,访问信息340可以包括用于将负载/文件的数据转换为另一种形式的值或数据负载,或用于应用操作以更改数据中的值,或两者兼有。在一些示例中,数据转换指令可以在访问包320中指示,或者可以在访问客户端325上配置。因此,当访问信息320包括值或数据负载时,访问信息320(以及访问包320)可以不包括可编译的或可执行的代码。
访问包320在访问响应345中传输到设备305(例如,访问客户端325)。访问客户端325配置为使用访问信息340以生成加密文件(例如,使用访问密钥335)。使用访问信息可以包括执行包括在访问信息340中的代码,该代码导致数据包的实例化和加密、负载(例如要加密的文件)的加密以及数据包和文件的一起加密。因此,根据配置的不同,加密文件中可能有多层加密。然后可以使用文件传输或通信技术将加密的文件传输到各种其他用户和设备。
如果访问请求330是解密请求,则可以使用类似的技术。类似的访问信息315可以传递给服务器310。服务器310可以执行各种验证。用于解密的验证可能与用于加密的验证不同。例如,服务器310可以基于与文件标识符关联存储的信息来确定请求解密的用户和/或设备是否被授权访问文件。在某些情况下,验证包括确定请求用户设备305的位置满足位置策略(地理位置、网络位置)。
如果访问请求330被验证,则服务器310可以生成访问包320。访问包的生成可以包括向密钥存储服务传输有关关联密钥字符串的请求。例如,对密钥存储服务的请求可以包括要解密文件的文件标识符的指示。服务器310可以接收密钥字符串并生成访问密钥335和访问信息340。在这种情况下,可执行代码可以包括用于解密整个文件、数据包和加密文件的负载的解密指令。
在某些情况下,访问信息340可使得文件和数据包被加密。数据包的文件访问策略可以在负载解密之前强制执行。例如,如果策略是地理位置策略,并且基于访问客户端325识别的信息不满足策略,则访问信息340的执行可以终止,直到策略满足为止。因此,即使部分文件已解密,也无法访问负载。
为了执行访问信息340,访问客户端325可以实例化存储器中与代码关联的对象,并使用访问密钥335加密或解密文件。文件成功加密或解密后,代码将被销毁(例如,从存储器中移除)。因此,对象在运行时被保存在设备305的存储器中,并在执行后被移除。因此,访问客户端325配置为仅执行代码,而没有配置(没有代码)为加密或解密文件。
在某些示例中,服务器310基于访问信息315判断访问请求330无效。例如,服务器310可以确定请求来自未授权的位置、网络、设备、客户端、用户等。在这种情况下,服务器310可以执行各种操作。一个操作可能包括向管理用户发送警报(例如,通过电子邮件、提醒或类似方式)。另一个操作可以包括生成具有访问信息340的访问包320,该访问信息340配置为覆盖负载的内容。附加地或替代地,访问信息340可以触发文件访问策略中的终止标志。因此,在未经授权的请求后,用户可能无法访问文件,并且文件的内容可能被覆盖(overwrite)。
在某些情况下,服务器310可以确定访问请求330是有效的,但服务器310还可以确定与文件关联的访问策略350是陈旧的或过期的。为了作出这样的确定,服务器310可以将包括在访问信息315中的信息(例如,文件信息、哈希值、版本)与由服务器310维持的信息(例如,文件信息,哈希值,版本)进行比较。如果策略是陈旧或过期的,则访问包320可以包括由访问客户端325强制执行的更新的或当前的访问策略350。
如本文所述,访问包可以是加密包、解密包、诱骗包或终止包。加密包可以包括用于加密数据的函数的源代码,但不包括用于解密数据的函数的源代码。解密包可以包含源代码,其中包括用于解密数据但不用于加密数据的函数。终止包可能包含带有隐藏或移除加密文件的函数的源代码。诱骗包可能包含带有函数的源代码,以显示看起来与加密文件中的数据相似的数据,但其不包括加密文件中的数据。终止包和诱骗包可能不包括源代码、密钥或用于加密或解密数据的盐。
终止包可以通过向用户显示一条消息来隐藏数据,该消息指示加密文件中的数据可能无法解密。终止包可以通过使用随机数据覆盖加密文件中的数据来移除数据,以响应和访问授权,指示发送访问请求的计算系统位于地理围栏的禁止区域内。地理围栏的禁止区域可能包括某些国家。
在某些情况下,访问客户端325配置为在用户设备305、在文件存储网站服务、在远程服务器或类似处访问文件夹结构。还可以将访问客户端325配置为加密保存到指定文件夹或位置的任何文件。因此,当文件保存到文件夹时,访问客户端325可以触发对服务器310的访问请求330(加密请求)传输。因此,使用这些技术,可以强制执行文件夹级别安全方案。
图4示出了根据本公开的方面的支持加密文件控制的处理流400的示例。具体地,处理流400说明了根据本文所述技术对文件进行加密的操作。处理流400包括访问设备405和服务器410,其可以是关于图1到3所述的相应设备的示例。
在415处,选择负载。负载可由具有在访问设备405-a上执行的访问客户端的用户界面的用户选择。在420处,访问设备405-a的访问客户端可以获取访问信息。访问信息可以包括关于用户和访问设备405-a的信息。例如,信息可以包括来自访问设备405-a的硬件组件标识符和访问设备405-a的互联网协议地址。
在425处,访问设备405-a向服务器410传输访问请求。请求是加密负载的加密请求。访问请求包括通过使用访问设备405-a获取的访问信息。可以根据访问客户端上的配置来标识服务器。例如,可以通过在访问客户端上配置的API端点将访问请求传输到服务器。
在430处,服务器410可以授权或验证请求。授权请求包括检查访问设备405-a的位置,并验证用户被授权使用系统并执行所请求的操作。位置可以通过从访问设备405-a的IP地址识别访问设备405-a的地理位置并将地理位置与一组地理围栏进行比较来检查,其可以识别系统可能不被使用的一组国家。在该示例中,从访问信息中的数据验证用户。例如,可以提供用户访问令牌,其表示授权用户使用系统并执行所请求的操作。
发送请求的计算系统的标识可以通过硬件或软件组件的接收标识符来满足,这些标识符可以包括MAC地址、国际移动设备标识符(IMEI)、计算系统组件(主板、处理器、存储器、显卡等)的序列号和型号、操作系统和基本输入输出系统(BIOS)的软件版本号等。计算系统硬件和软件组件的标识符可以通过将所接收的标识符与先前已接收并链接到提出访问请求的用户的计算系统组件标识符进行比较来验证。
计算系统的位置可以通过将计算系统的IP地址映射到地理位置来检查。所映射的地理位置可与地理围栏相比较,地理围栏为访问请求中规定的访问类型确定了允许的地理位置。在某些实现方式中,地理围栏可以识别不提供访问的某些国家。计算系统的位置也可以基于无线局域网(WLAN)或无线广域网(WWAN)定位来识别(例如基于蜂窝的定位)。
访问权限可能取决于所请求的访问类型。对于加密请求,可以检查系统访问权限策略(可能应用于系统的每个用户),以确保基于系统访问权限策略允许请求加密的用户这样做。对于解密请求,将检查应用于系统每个用户的系统策略、应用于系统用户组的组策略、应用于单个用户的用户策略以及应用于单个文件的文件策略,以验证特定用户是否可以以特定权限级别访问特定文件。权限级别可以包括完全访问、协作访问和只读。每种不同类型的策略都可以指定对单个或组文件的访问级别。
授权访问请求可以包括将访问信息中的访问设备位置信息与访问设备位置规则进行比较,以确定访问授权。访问设备位置信息可以包括发送访问请求的计算系统的互联网协议(IP)地址和IP地址映射到的地理位置。设备位置规则可以定义地理围栏,在该地理围栏内可以对访问授权。地理围栏确定了可授权或可限制进入的地理位置。例如,当将计算系统的地理位置与定义建筑物地理位置区域的地理围栏进行比较并且确定计算系统位于地理围栏内时,则可以在访问授权中指示访问为已授权。当比较结果指示计算系统不在地理围栏内时,访问授权可能表示未授权访问。在授权访问请求的另一个示例中,服务器可以确定访问设备是否正在使用VPN,以确定检索到的IP映射没有掩盖用户的位置。因此,在某些情况下,当使用VPN时,用户和访问请求可能会被拒绝。
授权访问请求还可以包括将访问信息中的移动设备位置信息与移动设备位置规则进行比较,以确定访问授权。移动设备位置信息可以包括卫星定位信息。附加地或替代地,移动设备位置信息可识别移动设备与访问设备之间的连接类型。移动设备可以通过有线或无线连接连接到访问设备。
当移动设备位置信息包括卫星定位信息时,卫星定位信息所对应的地理位置可以与计算系统IP地址所对应的地理位置进行比较。如果卫星定位信息的地理位置与IP地址同时存在,则访问请求可能被授权。否则,访问请求可能会被拒绝。
当移动设备位置信息包括连接信息(标识一种连接类型)时,当移动设备和计算系统之间的连接已经建立并保持存在时,访问请求可以被授权。例如,可以使用串行总线电缆将移动设备连接到计算设备并建立有线连接。作为另一个示例,可以直接或间接地建立无线连接。直接的无线连接包括个人区域无线网络连接。间接的无线可能通过移动设备和计算系统都连接到的无线接入点。
可以使用多个服务器对访问请求的方面进行授权。当使用多个服务器时,服务器可以向后续服务器发送后续请求以授权从访问信息中识别的用户。在某些实现方式中,一个服务器可以授权访问加密文件,而另一个服务器可以基于访问授权生成访问包。
在435处,服务器410可以生成访问包。当被授权时,服务器410生成加密包以响应来自访问设备405-a的加密请求。加密包可以通过检索用于加密函数的源代码、生成并存储用于由访问设备405-a加密的文件的盐和密钥,以及向源代码注入包括盐和密钥的信息来生成。访问包的生成可以附加地或替代地包括用于转换文件的负载的数据的数据负载或值的标识。
服务器可以通过检索源代码文件并向源代码文件注入信息来生成访问包。所注入的信息可以包括用于加密或解密数据的盐和密钥。盐和密钥是分开存储的,并且与源代码分离,以减少系统不同部分的安全性受到损害的影响。例如,如果未经授权的用户拥有加密文件的密钥,则该未经授权的用户仍然没有访问加密文件所需的其他密钥、盐或解密算法。
例如,通过获取加密源代码,使用一组盐和密钥修改加密源代码以形成修改后的加密源代码,以及使用修改后的加密源代码生成访问包,可以生成用于加密请求的访问包(例如加密包)。类似地,可以通过获取解密源代码,用一组盐和密钥修改解密源代码以形成修改后的解密源代码,以及使用修改后的解密源代码生成解密请求的访问包(例如解密包)来生成。
在440处,访问包(其为加密器包)从服务器410发送到访问设备405-a。访问包(以及先前请求)通过服务器410和访问设备405-a之间的安全链路发送。
在445处,访问设备405-a(通过访问客户端)可以编译访问包。访问设备405-a可以编译来自访问包的源代码以生成可执行文件,其可以是动态链接库(DLL)。访问包可以从访问设备405-a上移除(例如在可执行文件创建后,从设备存储器中移除)。访问包可以包括用多种语言编写的源代码,并使用多种编译器、汇编器、链接器等从访问包生成可执行文件。在某些情况下,在445处,访问设备405-a可以使用访问包中的数据负载或值来转换要加密的文件或负载的数据,而不是编译访问包。
在450处,访问设备405-a(通过访问客户端)可以生成数据包。数据包可以作为加密过程的一部分生成。数据包可能包括文件访问策略、所有权信息、访问日志等等。如所述,数据包可包括注入到访问包的源代码中然后存储在数据包中的若干条信息。例如,可以将实体签名(或所有权信息集)注入源代码并编译到可执行文件中,可执行文件将实体签名存储到加密文件的数据包中。类似地,文件访问策略可以被注入到源代码中并编译到可执行文件中,可执行文件将文件访问策略存储到加密文件的数据包中。
在455处,访问设备405-a可以对负载进行加密。负载可以作为生成数据包的加密过程的一部分进行加密。使用多个盐和加密密钥从加密负载和数据包生成加密文件。
在460处,访问设备405-a可以在创建加密文件后移除包括可执行文件的文件。
在465处,访问设备405-a可将加密文件传输到访问设备405-b。
图5示出了根据本公开的方面的支持加密文件控制的过程流500的示例。具体地,处理流500说明了根据本文所述技术解密文件的操作。处理流500包括访问设备505和服务器510,其可以是关于图1到4所述的相应设备的示例。例如,流程流500可能是流程流400的延续。
在515处,在访问设备505-b上选择加密文件。加密文件可以由访问设备505-b的用户在访问设备505-b上选择。加密文件可以是如图4所述传输到访问设备的文件。
在520处,访问设备(例如,通过应用程序客户端)向服务器510发送访问请求。请求,也称为解密请求,可以包括标识加密文件、访问设备505-b和访问设备505-b的用户的访问信息。请求可以包括加密文件的标识符,该标识符链接到存储在数据包和服务器的宏数据库中的访问权限信息。服务器可以使用加密文件的标识符在服务器维护的宏数据库中定位有关加密文件的信息(包括用户访问权限)。在某些情况下,关于文件的信息可以从与文件关联的元数据中识别出来。服务器可以通过与文件(例如,在元数据中)相关联的API端点或通过访问客户端上的配置(例如,访问客户端预先配置了API端点)来识别。
在525处,服务器510可以授权或验证访问请求。服务器可基于请求中包括的由服务器与文件关联维护的信息(例如访问策略(例如被授权访问文件的用户标识符))对访问请求进行授权。
在530处,服务器510可以基于授权或验证访问请求生成访问包。访问包可以是授权访问请求时的解密包,也可以是未授权请求时的终止包或诱骗包。
在535处,服务器510可将访问包传输到访问设备505-b。访问包(以及先前请求)可通过服务器510和访问设备505-b之间的安全链路传输。
在540处,访问设备505-b可以编译访问包。访问设备505-b(例如,通过访问客户端)可以编译来自访问包的源代码以生成可执行文件,其可以是DLL。在可执行文件创建之后,可以从访问设备505-b中移除访问包。在某些情况下,在540处,访问设备405-a可以使用访问包中的数据负载或值来转换要解密的文件或负载的数据,而不是编译访问包。
在545处,访问设备505-b可以更新文件的数据包。通过修改访问日志(例如添加与访问设备505-b相关联的设备信息和用户信息),数据包作为解密过程的一部分可以由访问设备505-b更新。在某些情况下,更新数据包可以包括基于包括在访问包中的信息更新文件访问日志。因此,数据包可被解密并使用识别访问日期和时间的访问信息以及执行访问的计算系统的硬件标识符进行更新。在更新数据包后,可以执行加密过程以使用更新的数据包重新生成加密文件。
在550处,访问设备505-b可以解密加密文件的负载。负载可以使用可执行文件作为更新数据包的解密过程的一部分进行解密。根据访问包的可执行代码,使用多个盐和加密密钥对加密文件进行解密,以恢复原始负载。
在565处,访问设备505-b访问负载。可以根据数据包中包含的加密文件的文件访问策略(例如,用户权限和特权)访问负载以显示来自负载的信息。文件访问策略可能限制编辑、保存、打印和查看加密文件中的信息。
在560处,访问设备505-b可以从访问设备505-b的存储器中移除文件,例如可执行文件。
在一些示例中,在520处的访问请求被传输到与在访问设备505-b上执行的访问客户端相关联的服务器。在这种情况下,与访问客户端相关联的服务器可能表示它无法验证请求(例如,没有访问文件信息的权限)。在这种情况下,服务器可能会回复一个指示正确服务器(例如服务器510)的URL的响应。在其他情况下,服务器可以与正确的服务器510通信,以便将访问包传送到访问设备505-b。
图6示出了根据本公开的方面的支持加密文件控制的访问设备场景600的示例。访问设备场景600包括访问设备605,其可以是关于图1到5所述的访问设备的示例。访问设备605包括显示器610。显示器610显示用户界面615。用户界面可以是与正在访问设备605上执行的访问客户端相关联的示例用户界面。
在图6的示例中,访问客户端正在访问文件(例如,文件根据本文所述的技术被解密)。与文件相关联的数据包包括文件访问策略,该文件访问策略为移动设备接近访问策略,其指示用户的移动设备将与访问设备605具有连接以便用户查看负载。因此,访问客户端正在执行在图6所示的移动设备接近访问策略。
在625处,当与移动设备620存在数据连接时,用户界面615显示来自加密文件的信息(例如负载)。当移动设备620失去连接时,访问设备605不再显示信息。例如,访问设备605可以是台式计算机,而移动设备620可以是智能手机。访问设备605和移动设备620足够接近,以可以使用多种设备连接标准(通用串行总线(USB)、Wi-Fi、蓝牙等)之一进行连接。然后移动设备被移离访问设备605足够远,以至于连接不能再维持。连接断开后,显示的信息可能会从显示器中消失,因为访问客户端正在强制执行移动设备接近文件访问策略。此外,可以关闭加密文件,并且可以从访问设备605中移除用于解密加密文件的可执行文件。在某些情况下,定期检查连接(例如每秒)以执行包括在相关数据包中的策略。因此,图6中的技术可能包括进一步的安全机制。
图7显示了一个根据本公开的方面支持加密文件控制的用户设备720的框图700。用户设备720可以根据图1到6所述的是访问设备(例如,用户设备720)的方面的示例。用户设备720或其各种组件可以是用于执行本文所述的加密文件控制的各个方面的装置的示例。例如,用户设备720可包括访问请求接口725、访问包接口730、执行组件735、访问包移除组件740、加密组件745、解密组件750、策略组件755、验证信息组件760、文件元数据组件765、访问日志组件770或其任何组合。这些组件中的每一个都可以直接或间接地相互通信(例如经由一个或多个总线)。
根据本文所公开的示例,用户设备720可以在访问客户端上支持数据安全性。访问请求接口725可以配置为或以其他方式支持用于向服务器传输包括所要访问的文件的文件信息和访问信息的访问请求的装置。访问包接口730可以配置为或以其他方式支持用于从至少部分基于传输访问请求的服务器接收包括可执行代码和一个或多个访问密钥的访问包的装置。执行组件735可配置为或以其他方式支持用于由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件的装置。访问包移除组件740可以配置为或以其他方式支持用于从与访问客户端关联的存储器中移除访问包的装置。
在一些示例中,为了支持传输访问请求,加密组件745可以配置为或以其他方式支持向服务器传输加密请求和文件信息的装置。
在一些示例中,为了支持接收访问包,访问包接口730可以配置为或以其他方式支持用于接收访问包的装置,访问包包括数据包,数据包包含与文件关联的一个或多个文件访问策略指示,其中使用一个或多个访问密钥与文件一起对数据包进行加密。在某些示例中,一个或多个文件访问策略包括读访问、写访问、显示约束或它们的组合。
在一些示例中,为了支持接收访问包,访问包接口730可以配置为或以其他方式支持用于接收访问包的装置,访问包包括数据包,数据包包含与文件相关联的所有权信息指示,其中使用一个或多个访问密钥与文件一起对数据包进行加密。
在一些示例中,为了支持传输加密请求,策略组件755可以配置为或以其他方式支持向服务器传输与文件关联的一个或多个文件访问策略的指示的装置。
在一些示例中,为了支持执行可执行代码,加密组件745可以配置为或以其他方式支持用于使用可执行代码、使用一个或多个访问密钥加密负载和一个或多个数据包以生成加密文件的装置。
在一些示例中,为了支持加密一个或多个数据包,加密组件745可以配置为或以其他方式支持用于加密一个或多个数据包的装置,数据包包括一个或多个文件访问策略、文件所有权信息、文件访问审计日志或其组合的指示。
在一些示例中,为了支持传输访问请求,解密组件750可以配置为或以其他方式支持用于向服务器传输解密请求和文件信息的装置,其中可执行代码包括用于解密文件的代码。
在一些示例中,为了支持接收访问包,访问包接口730可以配置为或以其他方式支持用于接收访问包的装置,访问包包括数据包,数据包包含一个或多个更新的文件访问策略。
在一些示例中,验证信息组件760可以配置为或以其他方式支持用于在访问客户端标识验证信息的装置,验证信息包括访问客户端信息、计算机信息、设备信息、地理位置信息、验证令牌或其组合,其中解密请求包括验证信息的指示。
在一些示例中,文件元数据组件765可以配置为或以其他方式支持用于至少部分基于与文件关联的元数据来识别文件与访问客户端关联的装置,其中,文件包括使用一个或多个访问密钥中的第一密钥加密的负载和使用一个或多个访问密钥中的至少一个第二密钥加密的一个或多个加密数据包,其中解密请求至少部分基于文件与访问客户端相关联而被传输到服务器。
在一些示例中,为了支持执行可执行代码,解密组件750可以配置为或以其他方式支持使用一个或多个访问密钥解密文件的装置。
在一些示例中,解密组件750可以配置为或以其他方式支持在访问客户端上根据与文件关联的一个或多个访问策略显示文件的负载的装置。
在某些示例中,一个或多个访问策略包括读访问、写访问、显示约束或它们的组合。在某些示例中,一个或多个访问策略包括在使用一个或多个访问密钥与文件一起解密的数据包中。
在一些示例中,访问日志组件770可以配置为或以其他方式支持用于更新文件访问审计日志的装置,以包括与访问客户端相关联的设备信息、用户信息、地理位置信息或其组合。
在一些示例中,解密组件750可以配置为或以其他方式支持用于至少部分基于解密文件识别文件中的负载和一个或多个数据包的装置,其中一个或多个数据包包括一个或多个文件访问策略、所有权信息、文件访问审计日志或其组合的指示。
在一些示例中,执行组件735可以配置为或以其他方式支持用于在与访问客户端相关联且至少部分基于执行可执行代码的存储器中实例化用于解密或加密文件的访问对象的装置,其中在文件解密或加密后,访问对象从与访问客户端关联的存储器中移除。
在一些示例中,解密组件750可以配置为或以其他方式支持向服务器传输解密请求和文件信息的装置,其中可执行代码包括用于覆盖文件内容的代码。
在一些示例中,为了支持传输访问请求,访问请求接口725可以配置为或以其他方式支持用于传输访问请求的装置,访问请求包括访问信息,访问信息包括执行访问客户端的用户设备的地理位置、与用户设备相关联的设备信息、与用户设备相关联的网络信息、与访问客户端相关联的认证令牌,或其组合。
图8显示了一个根据本公开的方面包括支持加密文件控制的设备805的系统800的示意图。设备805可包括用于双向语音和数据通信的组件,该组件包括用于发送和接收通信的组件,例如数据安全管理器820、通信模块810、天线815、用户界面组件825、数据库(应用程序数据)830、存储器835和处理器840。这些组件可以通过一个或多个总线(例如总线845)进行电子通信或以其他方式连接(例如,操作地、通信地、功能地、电气地、电子地)。如本文所述,设备805可以是执行访问客户端的用户设备的示例。在某些情况下,访问客户端可能对应于数据安全管理器820。
通信模块810可通过天线815管理设备805的输入和输出信号。通信模块810可以包括如图2所示并描述的用户设备106的通信模块810的示例。就此而言,通信模块810可以管理与服务器110的通信,如图2所示。通信模块810也可以管理未集成到设备805中的外围设备。在某些情况下,通信模块810可能表示到外部外围设备的物理连接或端口。在某些情况下,通信模块810可以利用操作系统,如 或其他已知的操作系统。在其他情况下,通信模块810可以表示调制解调器、键盘、鼠标、触摸屏或类似设备或与之交互。在某些情况下,通信模块810可以实现为处理器840的一部分。在一些示例中,用户可以通过通信模块810、用户界面组件825或通过由通信模块810控制的硬件组件与设备805交互。
在某些情况下,设备805可包括单个天线815。然而,在一些其他情况下,设备805可以具有一个以上的天线815,其可以能够同时发射或接收多个无线传输。通信模块810可以通过如本文所述的一个或多个天线815、有线或无线链路进行双向通信。例如,通信模块810可以表示无线收发器,并且可以与另一无线收发器双向通信。通信模块810还可以包括调制解调器,以调制包,将调制包提供给一个或多个天线815进行传输,并解调从一个或多个天线815接收的包。
用户界面组件825可以管理数据库830中的数据存储和处理。在某些情况下,用户可以与用户界面组件825交互。在其他情况下,用户界面组件825可以在没有用户交互的情况下自动操作。数据库830可以是单个数据库、分布式数据库、多个分布式数据库、数据存储、数据湖或紧急备份数据库的示例。
存储器835可包括随机存取存储器(RAM)和只读存储器(ROM)。存储器835可以存储计算机可读的、计算机可执行的软件,软件包括当执行时使处理器840执行本文所述的各种函数的指令。在某些情况下,存储器835除其他外可以包含BIOS,其可以控制基本硬件或软件操作,例如与外围组件或设备的交互。
处理器840可以包括智能硬件设备(例如,通用处理器、DSP、CPU、微控制器、专用集成电路(ASIC)、FPGA、可编程逻辑器件、分立门或晶体管逻辑组件、分立硬件组件或其任何组合)。在某些情况下,处理器840可以配置为使用存储器控制器操作存储器阵列。在其他情况下,存储器控制器可以集成到处理器840中。处理器840可以配置为执行存储在存储器835中的计算机可读指令,以执行各种函数(例如支持睡眠分期算法的装置和系统的函数或任务)。
数据安全管理器820可以根据本文所公开的示例在访问客户端上支持数据安全。例如,数据安全管理器820可以配置为或以其他方式支持用于向服务器传输包括用于被访问文件的文件信息和访问信息的访问请求的装置。数据安全管理器820可以配置为或以其他方式支持用于从至少部分基于传输访问请求的服务器接收包括可执行代码和一个或多个访问密钥的访问包的装置。数据安全管理器820可以配置为或以其他方式支持用于由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件的装置。数据安全管理器820可以配置为或以其他方式支持从与访问客户端相关联的存储器中移除访问包的装置。
数据安全管理器820可以包括应用程序(例如,“应用程序(app)”)、程序、软件或其他组件,其配置为通过与服务器、其他用户设备等的通信来促进本文所述的数据安全技术。
图9显示了一个根据本公开的方面支持加密文件控制的服务器920的框图900。服务器920可以是关于图1到6所述的服务器的方面的示例。服务器920或其各种组件可以是用于执行本文所述的加密文件控制的各个方面的装置的示例。例如,服务器920可包括访问请求接口925、请求验证组件930、访问包组件935、访问包接口940、加密组件945、解密组件950、密钥识别组件955、文件策略组件960、操作组件965、通知组件970或其任何组合。这些组件中的每一个都可以直接或间接地彼此通信(例如,通过一个或多个总线)。
服务器920可以根据本文所公开的示例在服务器上支持数据安全性。访问请求接口925可以配置为或以其他方式支持用于从访问客户端接收包括所要访问的文件的文件信息和访问信息的访问请求的装置。请求验证组件930可以配置为或以其他方式支持用于使用访问信息验证访问请求的装置。访问包组件935可以配置为或以其他方式支持用于至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包的装置。访问包接口940可配置为或以其他方式支持用于向访问客户端传输访问包的装置,其中访问包可由访问客户端编译到用于访问文件的可执行文件。
在一些示例中,为了支持接收访问请求,加密组件945可配置为或以其他方式支持用于从访问客户端接收用于加密文件的加密请求的装置,其中,访问包包括使用一个或多个访问密钥对文件进行加密的可执行代码。
在一些示例中,为了支持传输访问包,访问包接口940可以配置为或以其他方式支持向访问客户端传输访问包的装置,访问包包括数据包,数据包包含与文件关联的一个或多个文件访问策略指示,其中可执行代码配置为使用一个或多个访问密钥与文件一起加密数据包。在某些示例中,一个或多个文件访问策略包括读访问、写访问、显示约束或它们的组合。
在一些示例中,为了支持传输访问包,访问包组件935可以配置为或以其他方式支持用于向访问客户端传输访问包的装置,访问包数据包,数据包包含可执行代码,可执行代码配置为生成与文件关联的审计日志并使用一个或多个访问密钥对文件加密审计日志。
在一些示例中,为了支持传输访问包,访问包组件935可以配置为或以其他方式支持向访问客户端传输访问包的装置,访问包包括数据包,数据包包含与文件关联的所有权信息指示,其中可执行代码配置为使用一个或多个访问密钥与文件一起加密数据包。
在一些示例中,为了支持接收访问请求,文件策略组件960可以配置为或以其他方式支持用于从访问客户端接收与文件关联的一个或多个文件访问策略的指示的装置。在一些示例中,为了支持接收访问请求,文件策略组件960可以配置为或以其他方式支持用于存储与文件的文件标识符关联的一个或多个文件访问策略的装置。
在一些示例中,为了支持接收访问请求,文件策略组件960可以配置为或以其他方式支持用于从访问客户端接收一个或多个被授权访问文件的用户的指示的装置。在一些示例中,为了支持接收访问请求,文件策略组件960可以配置为或以其他方式支持用于存储与文件的文件标识符关联的被授权访问文件的一个或多个用户的指示的装置。
在一些示例中,为了支持接收访问请求,解密组件950可以配置为或以其他方式支持用于从访问客户端接收用于解密文件的解密请求的装置,其中,访问包包括用于使用一个或多个访问密钥解密文件的可执行代码。
在一些示例中,文件策略组件960可以配置为或以其他方式支持用于确定包括文件的一个或多个文件访问策略的数据包是过期的装置。在一些示例中,文件策略组件960可以配置为或以其他方式支持至少部分基于确定数据包已过期的传输装置,以及包括文件的一个或多个已更新的文件访问策略的已更新数据包。
在一些示例中,请求验证组件930可以配置为或以其他方式支持在服务器上将包括在解密请求中接收的访问信息中的用户信息与与文件关联的访问记录进行比较的装置。在一些示例中,请求验证组件930可以配置为或以其他方式支持用于确定与访问客户端相关联的用户至少部分基于比较的结果被授权访问文件的装置,其中,至少部分基于确定用户被授权访问文件,访问包传输到访问客户端。
在一些示例中,请求验证组件930可以配置为或以其他方式支持用于至少部分基于在解密请求中接收的访问信息来确定访问客户端未被授权解密文件的装置。在一些示例中,操作组件965可以配置为或以其他方式支持在服务器上触发操作的装置,该操作至少部分基于确定访问客户端未被授权解密文件。
在一些示例中,为了支持触发操作,通知组件970可以配置为或以其他方式支持用于生成指示访问客户端传输未经授权的访问请求的警报或消息的装置。
在一些示例中,为了支持触发操作,访问包组件935可以配置为或以其他方式支持用于传输访问包的装置,访问包包括覆盖文件的内容的可执行代码。
在一些示例中,密钥识别组件955可配置为或以其他方式支持用于向密钥存储服务传输并至少部分基于接收访问请求的对密钥字符串和与文件关联的文件标识符的请求的装置。在一些示例中,密钥识别组件955可以配置为或以其他方式支持用于从密钥存储服务接收与文件标识符相关联的密钥字符串的装置。在一些示例中,密钥识别组件955可以配置为或以其他方式支持用于使用密钥字符串生成一个或多个访问密钥的装置。
在一些示例中,为了支持验证访问请求,请求验证组件930可以配置为或以其他方式支持用于验证访问信息的装置,访问信息包括执行访问客户端的用户设备的地理位置、与用户设备相关联的设备信息、与用户设备相关联的网络信息、与访问客户端相关联的身份验证令牌(authentication token)、用于它们的组合。
图10显示了根据本公开的方面包括支持加密文件控制的设备1005的系统1000的示意图。设备1005可包括用于双向语音和数据通信的组件,该组件包括用于发送和接收通信的组件,例如数据安全组件1020、I/O控制器1010、数据库控制器1015、存储器1025、处理器1030和数据库1035。这些组件可以通过一个或多个总线(例如,总线1040)在电子通信中或以其他方式连接(例如,操作地、通信地、功能地、电气地、电子地)。
I/O控制器1010可以管理设备1005的输入信号1045和输出信号1050。I/O控制器1010也可以管理未集成到设备1005中的外围设备。在某些情况下,I/O控制器1010可能表示到外部外围设备的物理连接或端口。在某些情况下,I/O控制器1010可以利用诸如 等操作系统或其他已知的操作系统。在其他情况下,I/O控制器1010可以表示调制解调器、键盘、鼠标、触摸屏或类似设备或与之交互。在某些情况下,I/O控制器1010可以实现为处理器1030的一部分。在某些示例中,用户可以通过I/O控制器1010或通过由I/O控制器1010控制的硬件组件与设备1005交互。
数据库控制器1015可以管理数据库1035中的数据存储和处理。在某些情况下,用户可能与数据库控制器1015交互。在其他情况下,数据库控制器1015可能在没有用户交互的情况下自动操作。数据库1035可以是单个数据库、分布式数据库、多个分布式数据库、数据存储、数据湖或紧急备份数据库的示例。
存储器1025可能包括RAM和ROM。存储器1025可存储计算机可读的、计算机可执行的软件,软件包括当执行时使处理器1030执行本文所述的各种函数的指令。在某些情况下,存储器1025除其他外可以包含BIOS,其可以控制基本硬件或软件操作,例如与外围组件或设备的交互。
处理器1030可以包括智能硬件设备,(例如,通用处理器、DSP、CPU、微控制器、ASIC、FPGA、可编程逻辑器件、分立门或晶体管逻辑组件、分立硬件组件或其任何组合)。在某些情况下,处理器1030可配置为使用存储器控制器操作存储器阵列。在其他情况下,存储器控制器可以集成到处理器1030中。处理器1030可配置为执行存储在存储器1025中的计算机可读指令以执行各种函数(例如,支持加密文件控制的函数或任务)。
根据本文所公开的示例,数据安全组件1020可以在服务器上支持数据安全。例如,数据安全组件1020可配置为或以其他方式支持用于从访问客户端接收包括要访问文件的文件信息和访问信息的访问请求的装置。数据安全组件1020可以配置为或以其他方式支持用于使用访问信息验证访问请求的装置。数据安全组件1020可以配置为或以其他方式支持用于至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包的装置。数据安全组件1020可配置为或以其他方式支持用于向访问客户端传输访问包的装置,其中访问包可由访问客户端编译到用于访问文件的可执行文件。
图11显示了一个根据本公开的方面支持加密文件控制的方法1100的流程图。方法1100的操作可以由本文所述的用户设备或其组件实现。例如,方法1100的操作可以由参考图1到8所述的用户设备执行。在一些示例中,用户设备可以执行一组指令来控制用户设备的功能元件以执行所述函数。附加地或替代地,用户设备可以使用专用硬件执行所述函数的方面。
在1105处,方法可以包括向服务器传输访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1105的操作可以根据本文所公开的示例来执行。在一些示例中,1105的操作的方面可以通过参考图7所述的访问请求接口725来执行。
在1110处,方法可包括至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包。1110的操作可以根据本文所公开的示例来执行。在一些示例中,1110的操作的方面可以通过参考图7所述的访问包接口730来执行。在某些示例中,访问包包括一个或多个访问密钥和/访问信息,例如数据或值,而不是可执行代码。
在1115处,方法可包括由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件。1115的操作可以根据本文所公开的示例来执行。在一些示例中,1115的操作的方面可以由执行组件735执行,如图7所示。在访问包包括一个或多个访问密钥和/或访问信息的示例中,访问设备可以使用访问信息,以便通过转换数据来访问负载的数据,这可能对应于对数据进行加密或解密。在某些情况下,这个过程可能包括执行访问客户端可访问的指令。这些指令可能包括也可能不包括在访问包中。
在1120处,方法可以包括从与访问客户端关联的存储器中移除访问包。1120的操作可以根据本文所公开的示例来执行。在一些示例中,1120的操作的方面可以由如参考图7所述的访问包移除组件740执行。
图12显示了一个示出根据本公开的方面支持加密文件控制的方法1200的流程图。方法1200的操作可由本文所述的用户设备或其组件实现。例如,方法1200的操作可由参考图1到8所述的用户设备执行。在一些示例中,用户设备可以执行一组指令来控制用户设备的功能元件以执行所述函数。附加地或替代地,用户设备可以使用专用硬件执行所述函数的方面。
在1205处,方法可包括向服务器传输访问请求,访问请求包括用于要访问文件的文件信息和访问信息。1205的操作可以根据本文所公开的示例来执行。在一些示例中,1205的操作的方面可以由参考图7所述的访问请求接口725来执行。
在1210处,方法可包括向服务器传输加密请求和文件信息。1210的操作可以根据本文所公开的示例来执行。在一些示例中,1210的操作的方面可以加密组件745来执行,如参照图7所述。
在1215处,方法可包括至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包。1215的操作可以根据本文所公开的示例来执行。在一些示例中,1215的操作的方面可以通过参考图7所述的访问包接口730来执行。
在1220处,方法可包括接收访问包,访问包包括数据包,数据包包含与文件相关联的所有权信息指示,其中使用一个或多个访问密钥与文件一起对数据包进行加密。1220的操作可以根据本文所公开的示例来执行。在一些示例中,1220的操作的方面可以通过参考图7所述的访问包接口730来执行。
在1225处,方法可包括由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件。1225的操作可以根据本文所公开的示例来执行。在一些示例中,1225的操作的方面可以由如参考图7所述的执行组件735执行。
在1230处,方法可包括从与访问客户端相关联的存储器中移除访问包。1230的操作可以根据本文所公开的示例来执行。在一些示例中,1230的操作的方面可以由如参考图7所述的访问包移除组件740执行。
图13显示了一个根据本公开的方面支持加密文件控制的方法1300的流程图。方法1300的操作可由本文所述的用户设备或其组件实现。例如,方法1300的操作可以由参考图1到8所述的用户设备执行。在一些示例中,用户设备可以执行一组指令来控制用户设备的功能元件以执行所述函数。附加地或替代地,用户设备可以使用专用硬件执行所述函数的方面。
在1305处,方法可包括向服务器传输访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1305的操作可以根据本文所公开的示例来执行。在一些示例中,1305的操作的方面可以通过参考图7所述的访问请求接口725来执行。
在1310处,方法可包括向服务器传输加密请求和文件信息。1310的操作可以根据本文所公开的示例来执行。在一些示例中,1310操作的方面可以加密组件745执行,如参照图7所述。
在1315处,方法可包括至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包。1315的操作可以根据本文所公开的示例来执行。在一些示例中,1315的操作的方面可以通过参考图7所述的访问包接口730来执行。
在1320处,方法可包括由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件。1320的操作可以根据本文所公开的示例来执行。在一些示例中,1320的操作的方面可以执行组件735来执行,如参照图7所述。
在1325处,方法可包括使用可执行代码、使用一个或多个访问密钥加密负载和一个或多个数据包以生成加密文件。1325的操作可以根据本文所公开的示例来执行。在一些示例中,1325的操作的方面可以加密组件745来执行,如参照图7所述。
在1330处,方法可包括加密一个或多个数据包,数据包包括一个或多个文件访问策略、文件所有权信息、文件访问审计日志或其组合的指示。1330的操作可以根据本文所公开的示例来执行。在一些示例中,1330操作的方面可以加密组件745执行,如参照图7所述。
在1335处,方法可包括从与访问客户端相关联的存储器中移除访问包。1335的操作可以根据本文所公开的示例来执行。在一些示例中,1335的操作的方面可由如参考图7所述的访问包移除组件740执行。
图14显示了一个示出了根据本公开的方面支持加密文件控制的方法1400的流程图。方法1400的操作可由本文所述的用户设备或其组件实现。例如,方法1400的操作可以由参考图1到8所述的用户设备执行。在一些示例中,用户设备可以执行一组指令来控制用户设备的功能元件以执行所述函数。附加地或替代地,用户设备可以使用专用硬件执行所述函数的方面。
在1405处,方法可包括向服务器传输访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1405的操作可以根据本文所公开的示例来执行。在一些示例中,1405的操作的方面可以通过参考图7所述的访问请求接口725来执行。
在1410处,方法可包括至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包。1410的操作可以根据本文所公开的示例来执行。在一些示例中,1410的操作的方面可以通过参考图7所述的访问包接口730来执行。
在1415处,方法可包括由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件。1415的操作可以根据本文所公开的示例来执行。在一些示例中,1415的操作的方面可以由如参考图7所述的执行组件735执行。
在1420处,方法可以包括从与访问客户端关联的存储器中移除访问包。1420的操作可以根据本文所公开的示例来执行。在一些示例中,1420的操作的方面可以由如参考图7所述的访问包移除组件740执行。
在1425处,方法可包括向服务器传输解密请求和文件信息,其中,可执行代码包括用于解密文件的代码。1425的操作可以根据本文所公开的示例来执行。在一些示例中,1425的操作的方面可以由参考图7所述的解密组件750来执行。
图15显示了一个示出了根据本公开的方面支持加密文件控制的方法1500的流程图。方法1500的操作可由本文所述的用户设备或其组件实现。例如,方法1500的操作可由参考图1到8所述的用户设备执行。在一些示例中,用户设备可以执行一组指令来控制用户设备的功能元件以执行所述函数。附加地或替代地,用户设备可以使用专用硬件执行所述函数的方面。
在1505处,方法可以包括在访问客户端识别验证信息,验证信息包括访问客户端信息、计算机信息、设备信息、地理位置信息、验证令牌或其组合,其中解密请求包括验证信息的指示。1505的操作可以根据本文所公开的示例来执行。在一些示例中,1505的操作的方面可以验证信息组件760来执行,如参照图7所述。
在1510处,方法可包括向服务器传输访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1510的操作可以根据本文所公开的示例来执行。在一些示例中,1510的操作的方面可以由如参考图7所述的访问请求接口725来执行。
在1515处,方法可包括至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包。1515的操作可以根据本文所公开的示例来执行。在一些示例中,1515的操作的方面可以由如参考图7所述的访问包接口730来执行。
在1520处,方法可包括接收访问包,访问包包括数据包,数据包包含一个或多个更新的文件访问策略。1520的操作可以根据本文所公开的示例来执行。在一些示例中,1520的操作的方面可以由如参考图7所述的访问包接口730来执行。
在1525处,方法可包括由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件。1525的操作可以根据本文所公开的示例来执行。在一些示例中,1525的操作的方面可以由如参考图7所述的执行组件735执行。
在1530处,方法可包括从与访问客户端相关联的存储器中移除访问包。1530的操作可以根据本文所公开的示例来执行。在一些示例中,1530的操作的方面可由参考图7所述的访问包移除组件740执行。
在1535处,方法可以包括向服务器传输解密请求和文件信息,其中可执行代码包括用于解密文件的代码。1535的操作可以根据本文所公开的示例来执行。在一些示例中,1535的操作的方面可以由参考图7所述的解密组件750执行。
图16显示了一个示出了根据本公开的方面支持加密文件控制的方法1600的流程图。方法1600的操作可由本文所述的用户设备或其组件实现。例如,方法1600的操作可由参考图1到8所述的用户设备执行。在一些示例中,用户设备可以执行一组指令来控制用户设备的功能元件以执行所述函数。附加地或替代地,用户设备可以使用专用硬件执行所述函数的方面。
在1605处,方法可包括向服务器传输访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1605的操作可以根据本文所公开的示例来执行。在一些示例中,1605的操作的方面可以由参考图7所述的访问请求接口725来执行。
在1610处,方法可包括至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包。1610的操作可以根据根据本文公开的示例来执行。在一些示例中,1610的操作的方面可以由参考图7所述的访问包接口730来执行。
在1615处,方法可包括由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件。1615的操作可以根据在本文公开的示例来执行。在一些示例中,1615操作的方面可以由如参考图7所述的执行组件735执行。
在1620处,方法可以包括使用一个或多个访问密钥解密文件。1620的操作可以根据根据本文公开的示例来执行。在一些示例中,1620的操作的方面可以由如参考图7所述的解密组件750来执行。
在1625处,方法可包括在访问客户端上根据与文件关联的一个或多个访问策略显示文件的负载。1625的操作可以根据在本文公开的示例来执行。在一些示例中,1625的操作的方面可以由如参考图7所述的解密组件750来执行。
在1630处,方法可包括从与访问客户端相关联的存储器中移除访问包。1630的操作可以根据在本文公开的示例来执行。在一些示例中,1630的操作的方面可由如参考图7所述的访问包移除组件740执行。
在1635处,方法可包括向服务器传输解密请求和文件信息,其中可执行代码包括用于解密文件的代码。1635的操作可以根据在本文公开的示例来执行。在一些示例中,1635操作的方面可以由如参考图7所述的解密组件750执行。
图17显示了一个示出了根据本公开的方面支持加密文件控制的方法1700的流程图。方法1700的操作可由本文所述的用户设备或其组件实现。例如,方法1700的操作可由参考图1到8所述的用户设备执行。在一些示例中,用户设备可以执行一组指令来控制用户设备的功能元件以执行所述函数。附加地或替代地,用户设备可以使用专用硬件执行所述函数的方面。
在1705处,方法可包括向服务器传输访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1705的操作可以根据本文所公开的示例来执行。在一些示例中,1705的操作的方面可以由如参考图7所述的访问请求接口725来执行。
在1710处,方法可包括至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包。1710的操作可以根据本文所公开的示例来执行。在一些示例中,1710的操作的方面可以通过参考图7所述的访问包接口730来执行。
在1715处,方法可包括由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件。1715的操作可以根据本文所公开的示例来执行。在一些示例中,1715的操作的方面可以由如参考图7所述的执行组件735执行。
在1720处,方法可包括使用一个或多个访问密钥解密文件。1720的操作可以根据本文所公开的示例来执行。在一些示例中,1720的操作的方面可以由如参考图7所述的解密组件750来执行。
在1725处,方法可包括更新文件访问审计日志,以包括与访问客户端相关联的设备信息、用户信息、地理位置信息或其组合。1725的操作可以根据本文所公开的示例来执行。在一些示例中,1725的操作的方面可以由如参考图7所述的访问日志组件770执行。
在1730处,方法可包括从与访问客户端相关联的存储器中移除访问包。1730的操作可以根据本文所公开的示例来执行。在一些示例中,1730的操作的方面可由如参考图7所述的访问包移除组件740执行。
在1735处,方法可包括向服务器传输解密请求和文件信息,其中可执行代码包括用于解密文件的代码。1735的操作可以根据本文所公开的示例来执行。在一些示例中,1735的操作的方面可以由如参考图7所述的解密组件750来执行。
图18显示了一个示出了根据本公开的方面支持加密文件控制的方法1800的流程图。方法1800的操作可由本文所述的服务器或其组件实现。例如,方法1800的操作可由参照图1到6、9和10所述的服务器执行。在一些示例中,服务器可以执行一组指令来控制服务器的功能元件以执行所述函数。附加地或替代地,服务器可以使用专用硬件执行所述函数的方面。
在1805处,方法可包括从访问客户端接收访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1805的操作可以根据本文所公开的示例来执行。在一些示例中,1805的操作的方面可以通过参考图9所述的访问请求接口925来执行。
在1810处,方法可包括使用访问信息验证访问请求。1810的操作可以根据本文所公开的示例来执行。在一些示例中,1810的操作的方面可以由如参考图9所描述的请求验证组件930执行。
在1815处,方法可包括至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包。1815的操作可以根据本文所公开的示例来执行。在一些示例中,1815的操作的方面可以由如参考图9所述的访问包组件935来执行。在一些示例中,生成访问包可能包括识别一个或多个访问密钥和/或访问信息,例如数据或值,而不是可执行代码。
在1820处,方法可包括向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。1820的操作可以根据本文所公开的示例来执行。在一些示例中,1820的操作的方面可以由如参考图9所述的访问包接口940来执行。当访问包包括访问信息时,访问客户端可以使用访问信息通过转换数据来访问负载的数据,这可能对应于对数据进行加密或解密。在某些情况下,这个过程可能包括执行访问客户端可访问的指令。这些指令可能包括也可能不包括在访问包中。
图19显示了一个示出了根据本公开的方面支持加密文件控制的方法1900的流程图。方法1900的操作可以由本文所述的服务器或其组件实现。例如,方法1900的操作可以由如参考图1到6、9和10所述的服务器执行。在一些示例中,服务器可以执行一组指令来控制服务器的功能元件以执行所述函数。附加地或替代地,服务器可以使用专用硬件执行所述函数的方面。
在1905处,方法可包括从访问客户端接收访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。1905的操作可以根据本文所公开的示例执行。在一些示例中,1905的操作的方面可以由如参考图9所述的访问请求接口925来执行。
在1910处,方法可包括从访问客户端接收加密文件的加密请求,其中访问包包括使用一个或多个访问密钥对文件进行加密的可执行代码。1910的操作可以根据本文所公开的示例进行。在一些示例中,1910操作的方面可以由参照图9所述的加密组件945执行。
在1915处,方法可包括使用访问信息验证访问请求。1915的操作可以根据本文所公开的示例执行。在一些示例中,1915的操作的方面可由如参考图9所述的请求验证组件930执行。
在1920处,方法可包括至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包。1920的操作可以根据本文所公开的示例来执行。在一些示例中,1920的操作的方面可以由如参考图9所述的访问包组件935来执行。
在1925处,方法可包括向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。1925的操作可以根据本文所公开的示例来执行。在一些示例中,1925的操作的方面可以由如参考图9所述的访问包接口940来执行。
在1930处,方法可包括将访问包传输给访问客户端,访问包包括数据包,数据包包含与文件相关联的一个或多个文件访问策略指示,其中,可执行代码配置为使用一个或多个访问密钥与文件一起加密数据包。1930的操作可以根据本文所公开的示例进行。在一些示例中,1930的操作的方面可以由如参考图9所述的访问包接口940来执行。
在1935处,方法可包括向访问客户端传输访问包,访问包包括数据包,数据包包含可执行代码,可执行代码配置为使用一个或多个访问密钥生成与文件相关联的审计日志并与文件一起加密审计日志。1935的操作可以根据本文所公开的示例执行。在一些示例中,1935的操作的方面可以由如参考图9所述的访问包组件935来执行。
图20显示了一个示出了根据本公开的方面支持加密文件控制的方法2000的流程图。方法2000的操作可以由本文所述的服务器或其组件实现。例如,方法2000的操作可以由参考图1到6、9和10所述的服务器执行。在一些示例中,服务器可以执行一组指令来控制服务器的功能元件以执行所述函数。附加地或替代地,服务器可以使用专用硬件执行所述函数的方面。
在2005处,方法可以包括从访问客户端接收访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。2005的操作可根据本文公开的示例执行。在一些示例中,2005的操作的方面可以由如参考图9所述的访问请求接口925来执行。
在2010处,方法可包括从访问客户端接收加密文件的加密请求,其中,访问包包括使用一个或多个访问密钥对文件进行加密的可执行代码。2010的操作可根据在本文公开的示例执行。在一些示例中,2010操作的方面可以由如参考图9所述的加密组件945执行。
在2015处,方法可包括从访问客户端接收与文件关联的一个或多个文件访问策略的指示。2015的操作可以根据本文公开的示例执行。在一些示例中,2015的操作的方面可以由如参考图9所述的文件策略组件960执行。
在2020处,方法可包括存储与文件的文件标识符相关联的一个或多个文件访问策略。2020的操作可根据本文公开的示例执行。在一些示例中,2020的操作的方面可以由如参考图9所述的文件策略组件960执行。
在2025处,方法可包括使用访问信息验证访问请求。2025的操作可根据本文所公开的示例执行。在一些示例中,2025的操作的方面可以由如参照图9所述的请求验证组件930来执行。
在2030处,方法可包括至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包。2030的操作可根据本文公开的示例执行。在一些示例中,2030的操作的方面可由如参考图9所述的访问包组件935执行。
在2035处,方法可包括向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。2035的操作可以根据本文所公开的示例来执行。在一些示例中,2035的操作的方面可以由如参考图9所述的访问包接口940来执行。
图21显示了一个示出了根据本公开的方面支持加密文件控制的方法2100的流程图。方法2100的操作可以由本文所述的服务器或其组件实现。例如,方法2100的操作可以由如参考图1到6、9和10所述的服务器执行。在一些示例中,服务器可以执行一组指令来控制服务器的功能元件以执行所述函数。附加地或替代地,服务器可以使用专用硬件执行所述函数的方面。
在2105处,方法可包括从访问客户端接收访问请求,访问请求包括用于要访问文件的文件信息和访问信息。2105的操作可以根据本文所公开的示例来执行。在一些示例中,2105的操作的方面可以由如参考图9所述的访问请求接口925来执行。
在2110处,方法可包括从访问客户端接收被授权访问文件的一个或多个用户的指示。2110的操作可以根据本文所公开的示例来执行。在一些示例中,2110的操作可以由如参考图9所述的文件策略组件960执行。
在2115处,方法可包括从访问客户端接收用于加密文件的加密请求,其中访问包包括使用一个或多个访问密钥对文件进行加密的可执行代码。2115的操作可以根据本文所公开的示例来执行。在一些示例中,2115的操作的方面可以由如参照图9所述的加密组件945执行。
在2120处,方法可包括存储与文件的文件标识符关联的被授权访问文件的一个或多个用户的指示。2120的操作可以根据本文所公开的示例来执行。在一些示例中,2120的操作的方面可以由如参考图9所述的文件策略组件960执行。
在2125处,方法可包括使用访问信息验证访问请求。2125的操作可以根据本文所公开的示例来执行。在一些示例中,2125的操作的方面可以由如参照图9所述的请求验证组件930执行。
在2130处,方法可包括至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包。2130的操作可以根据本文所公开的示例来执行。在一些示例中,2130的操作的方面可以由如参考图9所述的访问包组件935来执行。
在2135处,方法可包括向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。2135的操作可以根据本文所公开的示例来执行。在一些示例中,2135的操作的方面可以由如参考图9所述的访问包接口940来执行。
图22显示了一个示出了根据本公开的方面支持加密文件控制的方法2200的流程图。方法2200的操作可以由本文所述的服务器或其组件实现。例如,方法2200的操作可以由如参考图1到6、9和10所述的服务器执行。在一些示例中,服务器可以执行一组指令来控制服务器的功能元件以执行所述的函数。附加地或替代地,服务器可以使用专用硬件执行所述函数的方面。
在2205处,方法可包括从访问客户端接收访问请求,访问请求包括用于要访问文件的文件信息和访问信息。2205的操作可以根据本文所公开的示例来执行。在一些示例中,2205的操作的方面可以由如参考图9所述的访问请求接口925来执行。
在2210处,方法可包括使用访问信息验证访问请求。2210的操作可以根据本文所公开的示例来执行。在一些示例中,2210的操作的方面可以由如参考图9所描述的请求验证组件930执行。
在2215处,方法可包括在服务器上将包括在解密请求中接收的访问信息中的用户信息与与文件关联的访问记录进行比较。2215的操作可以根据本文所公开的示例来执行。在一些示例中,2215操作的方面可以由如参考图9所述的请求验证组件930执行。
在2220处,方法可以包括至少部分基于比较的结果确定与访问客户端相关联的用户被授权访问文件,其中至少部分基于确定用户被授权访问文件,访问包传输到访问客户端。2220的操作可以根据本文所公开的示例来执行。在一些示例中,2220的操作的方面可以由如参考图9所述的请求验证组件930执行。
在2225处,方法可包括至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包。2225的操作可以根据本文所公开的示例来执行。在一些示例中,2225的操作的方面可以由如参考图9所述的访问包组件935来执行。
在2230处,方法可包括向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。2230的操作可以根据本文所公开的示例来执行。在一些示例中,2230的操作的方面可以由如参考图9所述的访问包接口940来执行。
在2235处,方法可包括从访问客户端接收用于解密文件的解密请求,其中访问包包括用于使用一个或多个访问密钥解密文件的可执行代码。2235的操作可以根据本文所公开的示例来执行。在一些示例中,2235的操作的方面可以由如参考图9所述的解密组件950执行。
图23显示了一个示出了根据本公开的方面支持加密文件控制的方法2300的流程图。方法2300的操作可由本文所述的服务器或其组件实现。例如,方法2300的操作可以由参考图1到6、9和10所述的服务器执行。在一些示例中,服务器可以执行一组指令来控制服务器的功能元件以执行所述函数。附加地或替代地,服务器可以使用专用硬件执行所述函数的方面。
在2305处,方法可包括从访问客户端接收访问请求,访问请求包括用于要访问的文件的文件信息和访问信息。2305的操作可以根据本文所公开的示例来执行。在一些示例中,2305的操作的方面可以由参考图9所述的访问请求接口925来执行。
在2310处,方法可包括使用访问信息验证访问请求。2310的操作可以根据本文公开的示例来执行。在一些示例中,2310的操作的方面可以由如参考图9所述的请求验证组件930执行。
在2315处,方法可包括至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包。2315的操作可以根据本文所公开的示例来执行。在一些示例中,2315的操作的方面可以由参考图9所述的访问包组件935来执行。
在2320处,方法可包括向密钥存储服务传输至少部分基于访问请求的对密钥字符串和与文件关联的文件标识符的请求。2320的操作可以根据本文所公开的示例来执行。在一些示例中,2320的操作的方面可以由如参考图9所述的密钥识别组件955来执行。
在2325处,方法可包括从密钥存储服务接收与文件标识符关联的密钥字符串。2325的操作可以根据本文公开的示例来执行。在一些示例中,2325的操作的方面可以由如参考图9所述的密钥识别组件955来执行。
在2330处,方法可包括使用密钥字符串生成一个或多个访问密钥。2330的操作可以根据本文公开的示例来执行。在一些示例中,2330的操作的方面可以由如参考图9所述的密钥识别组件955来执行。
在2335处,方法可包括向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。2335的操作可以根据本文公开的示例来执行。在一些示例中,2335的操作的方面可以由如参考图9所述的访问包接口940来执行。
描述了一种用于在访问客户端的数据安全的方法。方法可包括:向服务器传输访问请求,访问请求包括用于要访问文件的文件信息和访问信息;至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包;由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件;以及从与访问客户端关联的存储器中移除访问包。
描述了一种用于在访问客户端的数据安全的装置。装置可包括处理器、与处理器连接的存储器以及存储在存储器中的指令。指令可由处理器执行以使装置:向服务器传输访问请求,访问请求包括要访问的文件的文件信息和访问信息;至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包;由访问客户端执行可执行代码,以使用一个或多个访问密钥访问文件;以及从与访问客户端关联的存储器中移除访问包。
描述了另一种用于访问客户端上的数据安全的装置。装置可包括:用于向服务器传输访问请求的装置,访问请求包括用于要访问文件的文件信息和访问信息;用于至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包的装置;用于由访问客户端执行可执行代码以使用一个或多个访问密钥访问文件的装置;以及用于从与访问客户端相关联的存储器中移除访问包的装置。
描述了一种用于在访问客户端的数据安全的存储代码的非暂时性计算机可读介质。代码可以包括处理器可执行的指令,以:向服务器发送访问请求,访问请求包括要访问的文件的文件信息和访问信息;至少部分基于传输访问请求从服务器接收包括可执行代码和一个或多个访问密钥的访问包;由访问客户端执行可执行代码,以使用一个或多个访问密钥访问文件;以及从与访问客户端关联的存储器中移除访问包。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,并且方法、装置和非暂时性计算机可读介质可以包括进一步的操作、特征、装置或用于向服务器传输加密请求和文件信息的指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,接收访问包可以包括用于接收访问包的操作、特征、装置或指令,访问包包括数据包,数据包包含与文件关联的一个或多个文件访问策略指示,其中数据包可以使用一个或多个访问密钥与文件进行加密。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,一个或多个文件访问策略包括读访问、写访问、显示约束或它们的组合。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,接收访问包可以包括用于接收访问包的操作、特征、装置或指令,访问包包括数据包,数据包包含与文件关联的所有权信息指示,其中数据包可以使用一个或多个访问密钥与文件进行加密。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,传输加密请求可以包括用于向服务器传输与文件关联的一个或多个文件访问策略的指示的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,执行可执行代码可以包括用于使用可执行代码、使用一个或多个访问密钥加密负载和一个或多个数据包以生成加密文件的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,加密一个或多个数据包可以包括用于加密一个或多个数据包的操作、特征、装置或指令,数据包包括一个或多个文件访问策略、文件所有权信息、文件访问审计日志或其组合的指示。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,传输访问请求可以包括向服务器传输解密请求和文件信息的操作、特征、装置或指令,其中可执行代码包括可用于解密文件的代码。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,接收访问包可以包括用于接收访问包的操作、特征、装置或指令,访问包包括数据包,数据包包含一个或多个更新的文件访问策略。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于在访问客户端识别验证信息的操作、特征、装置或指令,验证信息包括访问客户端信息、计算机信息、设备信息、地理位置信息、身份验证令牌或其组合,其中解密请求包括验证信息的指示。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于至少部分基于与文件相关联的元数据来识别文件可能与访问客户端相关联的操作、特征、装置或指令,其中文件包括使用一个或多个访问密钥中的第一密钥加密的负载和可以使用一个或多个访问密钥中的至少一个第二密钥加密的一个或多个加密数据包,其中解密请求可以至少部分基于文件与访问客户端相关联而传输到服务器。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,执行可执行代码可以包括使用一个或多个访问密钥解密文件的操作、特征、装置或指令。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于在访问客户端上根据与文件关联的一个或多个访问策略显示文件的负载的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,一个或多个访问策略包括读访问、写访问、显示约束或它们的组合。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,一个或多个访问策略可以包括在使用一个或多个访问密钥与文件一起解密的数据包中。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于更新文件访问审计日志的操作、特征、装置或指令,以包括与访问客户端相关联的设备信息、用户信息、地理位置信息或它们的组合。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于至少部分基于解密文件、负载和文件中的一个或多个数据包进行识别的操作、特征、装置或指令,其中一个或多个数据包包括一个或多个文件访问策略、所有权信息、文件访问审计日志或其组合的指示。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于在与访问客户端相关联并至少部分基于执行可执行代码的存储器中将可用于解密或加密文件的访问对象实例化的操作、特征、装置或指令,其中在文件解密或加密后,可以从与访问客户端相关联的存储器中移除访问对象。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于向服务器传输解密请求和文件信息的操作、特征、装置或指令,其中可执行代码包括可用于覆盖文件内容的代码。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,传输访问请求可以包括用于传输访问请求的操作、特征、装置或指令,访问请求包括访问信息,访问信息包含执行访问客户端的用户设备的地理位置、与用户设备关联的设备信息、与用户设备关联的网络信息、与访问客户机关联的认证令牌或其组合。
描述了一种用于在服务器上的数据安全的方法。方法可包括:从访问客户端接收访问请求,访问请求包括要访问的文件的文件信息和访问信息;使用访问信息验证访问请求;至少部分基于验证访问请求,生成包括可执行代码和一个或多个访问密钥的访问包;以及向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。
描述了一种用于在服务器上的数据安全的装置。装置可包括处理器、与处理器连接的存储器以及存储在存储器中的指令。指令可由处理器执行以使装置:从访问客户端接收访问请求,访问请求包括要访问的文件的文件信息和访问信息;使用访问信息验证访问请求;至少部分基于验证访问请求,生成包括可执行代码和一个或多个访问密钥的访问包;以及向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。
描述了另一种用于服务器上的数据安全的装置。装置可包括:用于从访问客户端接收访问请求的装置,访问请求包括要访问的文件的文件信息和访问信息;使用访问信息验证访问请求的装置;用于至少部分基于验证访问请求生成包括可执行代码和一个或多个访问密钥的访问包的装置,以及用于向访问客户端传输访问包的装置,其中访问包可由访问客户端编译到用于访问文件的可执行文件。
描述了一种用于在服务器上数据安全的存储代码的非暂时性计算机可读介质。代码可以包括处理器可执行的指令,以:从访问客户端接收访问请求,访问请求包括要访问的文件的文件信息和访问信息;使用访问信息验证访问请求;至少部分基于验证访问请求,生成包括可执行代码和一个或多个访问密钥的访问包;以及向访问客户端传输访问包,其中访问包可由访问客户端编译到用于访问文件的可执行文件。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,接收访问请求可以包括从访问客户端接收用于加密文件的加密请求的操作、特征、装置或指令,其中访问包包括使用一个或多个访问密钥对文件进行加密的可执行代码。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,传输访问包可以包括用于向访问客户端传输访问包的操作、特征、装置或指令,访问包包括数据包,数据包包含与文件关联的一个或多个文件访问策略指示,其中可执行代码可配置为使用一个或多个访问密钥与文件一起加密数据包。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,一个或多个文件访问策略包括读访问、写访问、显示约束或它们的组合。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,传输访问包可以包括用于向访问客户端传输访问包的操作、特征、装置或指令,访问包包括数据包,数据包包含可执行代码,可执行代码可配置为生成与文件关联的审计日志并使用一个或多个访问密钥对文件加密审计日志。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,传输访问包可以包括用于向访问客户端传输访问包的操作、特征、装置或指令,访问包包括数据包,数据包包含与文件关联的所有权信息指示,其中可执行代码可配置为使用一个或多个访问密钥与文件一起加密数据包。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,接收访问请求可以包括用于从访问客户端接收与文件关联的一个或多个文件访问策略的指示并存储与文件的文件标识符关联的一个或多个文件访问策略的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,接收访问请求可以包括用于从访问客户端接收可能被授权访问文件的一个或多个用户的指示,并存储与文件的文件标识符关联的可能被授权访问文件的一个或多个用户的指示的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,接收访问请求可以包括用于从访问客户端接收用于解密文件的解密请求的操作、特征、装置或指令,其中访问包包括用于使用一个或多个访问密钥解密文件的可执行代码。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于确定包含文件的一个或多个文件访问策略的数据包可能是陈旧的,以及用于至少部分基于确定数据包可能是陈旧的传输包含文件的一个或多个更新的文件访问策略的更新数据包的操作、特征、装置或指令。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于在服务器上将可能包括在解密请求中接收的访问信息中的用户信息与与文件关联的访问记录进行比较,并用于确定与访问客户端关联的用户可以至少部分基于比较的结果被授权访问文件的操作、特征、装置或指令,其中访问包可以至少部分基于确定用户可以被授权访问文件传输到访问客户端。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于至少部分地基于在解密请求中接收的访问信息确定访问客户端可能不被授权解密文件,并用于至少部分地基于确定访问客户端可能不被授权解密文件在服务器上触发操作的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,触发操作可以包括用于生成指示访问客户端传输未经授权的访问请求的警报或消息的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,触发操作可以包括用于传输访问包的操作、特征、装置或指令,访问包包括覆盖文件内容的可执行代码。
本文所述的方法、装置和非暂时性计算机可读介质的一些示例可以进一步包括用于至少部分基于接收访问请求向密钥存储服务传输对密钥字符串和与文件关联的文件标识符的请求,并用于从密钥存储服务接收与文件标识符关联的密钥字符串,并用于使用密钥字符串生成一个或多个访问密钥的操作、特征、装置或指令。
在本文所述的方法、装置和非暂时性计算机可读介质的一些示例中,验证访问请求可以包括用于验证访问信息的操作、特征、装置或指令,访问信息包括执行访问客户端的用户设备的地理位置、与用户设备相关联的设备信息、与用户设备相关联的网络信息、与访问客户机相关联的认证令牌以及它们的组合。
应该注意的是,这些方法描述了实现的示例,并且操作和步骤可以被重新安排或以其他方式修改,以便其他实现方式成为可能。在一些示例中,来自两个或多个方法的方面可能会被组合。例如,每个方法的方面可以包括本文所述的其他方法的步骤或方面或其他步骤或技术。因此,公开的方面可以提供消费者偏好和维护接口。
本文所述的说明书,连同所附的附图,描述了示例性配置,并且不代表可能实现的或在权利要求范围内的所有示例。本文使用的术语“示例性”是指“作为示例、实例或说明”,而不是“更好的”或“优于其他示例”。详细的说明书包括特定的细节,目的是提供对所描述的技术的理解。然而,这些技术可以在没有这些具体细节的情况下进行实践。在一些情况下,众所周知的结构和设备以框图的形式显示,以避免掩盖所述示例的概念。
在所附的图中,相似的组件或特征可能具有相同的参考标签。此外,相同类型的各种组件可以通过在参考标签后面加一个破折号和用于区分相似组件的第二标签来区分。如果说明书中只使用了第一参考标签,则该描述适用于具有相同第一参考标签的任何一个类似组件,而不管第二参考标签。
本文描述的信息和信号可以使用各种不同的科技和技术中的任何一种来表示。例如,在上述描述中可能引用的数据、指令、命令、信息、信号、位、符号和芯片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或它们的任何组合表示。
与本文所述的公开相关联的各种解释性块和模块可以使用通用处理器、DSP、ASIC、FPGA或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件组件或其设计用于执行本文所述函数的任何组合来实现或执行。通用处理器可以是微处理器,但作为替代,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以实现为计算设备的组合(例如,DSP和微处理器的组合,多个微处理器,一个或多个微处理器与DSP核心结合,或任何其他此类配置)。
本文描述的函数可以在硬件、处理器执行的软件、固件或它们的任何组合中实现。如果在由处理器执行的软件中实现,则函数可以作为计算机可读介质上的一条或多条指令或代码存储或传输。其他示例和实现方式在公开和所附的权利要求的范围内。例如,由于软件的性质,上面描述的函数可以使用由处理器、硬件、固件、硬布线或其中任何一种组合执行的软件来实现。实现函数的特征在物理上也可以位于不同的位置,包括被分布以便函数的部分在不同的物理位置实现。此外,如本文所使用的,包括在权利要求中,“或”如用于物品列表(例如,以短语“至少一个”或“一个或多个”开头的物品列表)表示一个包容性列表,例如,A、B或C中至少一个的列表意味着A或B或C或AB或AC或BC或ABC(即A和B和C)。此外,如本文所使用,“基于”一词不应被解释为指一组封闭的条件。例如,被描述为“基于条件A”的示例性步骤可以基于条件A和条件B而不脱离本公开的范围。换句话说,如本文所使用,“基于”一词应与“至少部分基于”一词以相同的方式理解。
计算机可读介质包括非暂时性计算机存储介质和通信介质,通信介质包括任何有助于将计算机程序从一个地方传输到另一个地方的介质。非暂时性存储介质可以是可以被通用或特殊用途计算机访问的任何可用介质。例如,而不是限制,非暂时性计算机可读介质可以包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其他光盘存储器、磁盘存储器或其他磁性存储设备,或任何其他可用于携带或存储所需的指令或数据结构形式的程序代码,并可由通用或专用计算机或通用或专用处理器访问的非暂时性介质。此外,任何连接都被恰当地称为计算机可读介质。例如,如果软件从网站、服务器或其他远程源通过同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或红外、无线电、微波等无线技术传输,则同轴电缆、光纤电缆、双绞线、DSL或红外、无线电、微波等无线技术都包含在介质的定义中。本文所使用的磁盘和光盘包括CD、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性再现数据,而光盘则用激光再现光学数据。以上的组合也包括在计算机可读媒体的范围内。
与本文所述的公开相关联的各种说明块和模块可以使用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件组件或其设计用于执行本文所述函数的任何组合来实现或执行。通用处理器可以是微处理器,但也可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合(例如,一种DSP和微处理器的组合,多个微处理器,一个或多个微处理器与DSP核心结合,或任何其他此类配置)。每个单元的函数也可以全部或部分地通过包含在存储器中的指令来实现,这些指令被格式化为由一个或多个通用或特定于应用程序的处理器来执行。
在所附的图中,相似的组件或特征可能具有相同的参考标签。此外,同一类型的各种组件可以通过在参考标签后面加一个破折号和用于区分相似组件的第二标签来区分。如果说明书中只使用了第一参考标签,则该描述适用于具有相同第一参考标签的任何一个类似组件,而不管第二参考标签。
本文提供的描述是为了使本领域技术人员能够制作或使用本公开。本公开的各种修改对于本领域技术人员来说是容易看到的,并且在此限定的一般原则可以适用于其他变体而不脱离本公开的范围。因此,公开不限于本文所述的示例和设计,而是应给予与本文所述的原则和新特征相一致的最广泛的范围。
Claims (23)
1.一种用于在访问客户端的数据安全的方法,包括:
向服务器传输访问请求,所述访问请求包括要访问的文件的文件信息和访问信息;
至少部分基于传输所述访问请求,从所述服务器接收访问包,所述访问包包括可执行代码和一个或多个访问密钥;
由所述访问客户端执行所述可执行代码以使用所述一个或多个访问密钥访问所述文件;以及
从与所述访问客户端关联的存储器中移除所述访问包。
2.根据权利要求1所述的方法,其中传输所述访问请求包括:
向所述服务器传输加密请求和所述文件信息。
3.根据权利要求2所述的方法,其中接收所述访问包包括:
接收包括数据包的所述访问包,所述数据包包括与所述文件相关联的一个或多个文件访问策略的指示,其中所述数据包使用所述一个或多个访问密钥与所述文件加密。
4.根据权利要求3所述的方法,其中所述一个或多个文件访问策略包括读访问、写访问、显示约束或其组合。
5.根据权利要求2所述的方法,其中接收所述访问包包括:
接收包括数据包的所述访问包,所述数据包包括与所述文件相关联的所有权信息的指示,其中所述数据包使用所述一个或多个访问密钥与所述文件加密。
6.根据权利要求2所述的方法,其中传输所述加密请求包括:
向所述服务器传输与所述文件关联的一个或多个文件访问策略的指示。
7.根据权利要求2所述的方法,其中执行所述可执行代码包括:
使用所述可执行代码,使用所述一个或多个访问密钥来加密负载和一个或多个数据包以生成加密文件。
8.根据权利要求7所述的方法,其中加密所述一个或多个数据包包括:
加密所述一个或多个数据包,所述一个或多个数据包包括一个或多个文件访问策略、文件所有权信息、文件访问审计日志或其组合的指示。
9.根据权利要求1所述的方法,其中传输所述访问请求包括:
向所述服务器传输解密请求和所述文件信息,其中所述可执行代码包括用于解密所述文件的代码。
10.根据权利要求9所述的方法,其中接收所述访问包包括:
接收包括数据包的所述访问包,所述数据包包括一个或多个更新的文件访问策略。
11.根据权利要求9所述的方法,还包括:
在访问客户端识别验证信息,所述验证信息包括访问客户端信息、计算机信息、设备信息、地理位置信息、身份验证令牌或其组合,其中所述解密请求包括所述验证信息的指示。
12.根据权利要求9所述的方法,还包括:
至少部分基于与所述文件相关联的元数据识别所述文件与所述访问客户端相关联,其中所述文件包括使用所述一个或多个访问密钥中的第一密钥加密的负载,以及使用所述一个或多个访问密钥的至少一个第二密钥加密的一个或多个加密数据包,其中所述解密请求至少部分基于所述文件与所述访问客户端相关联而被传输到所述服务器。
13.根据权利要求9所述的方法,其中执行所述可执行代码包括:
使用所述一个或多个访问密钥解密所述文件。
14.根据权利要求13所述的方法,还包括:
在所述访问客户端根据与所述文件关联的一个或多个访问策略显示所述文件的负载。
15.根据权利要求14所述的方法,其中所述一个或多个访问策略包括读访问、写访问、显示约束或其组合。
16.根据权利要求14所述的方法,其中所述一个或多个访问策略包括在使用所述一个或多个访问密钥与所述文件解密的数据包中。
17.根据权利要求13所述的方法,还包括:
更新文件访问审计日志以包括与所述访问客户端相关联的设备信息、用户信息、地理位置信息或其组合。
18.根据权利要求13所述的方法,还包括:
至少部分基于解密所述文件,识别所述文件中的负载和一个或多个数据包,其中,所述一个或多个数据包包括一个或多个文件访问策略、所有权信息、文件访问审计日志或其组合的指示。
19.根据权利要求1所述的方法,还包括:
在与所述访问客户端相关联的所述存储器中,至少部分基于执行所述可执行代码,将用于解密或加密所述文件的访问对象实例化,其中在所述文件解密或加密后,所述访问对象从与所述访问客户端相关联的所述存储器中移除。
20.根据权利要求1所述的方法,还包括:
向所述服务器传输解密请求和所述文件信息,其中所述可执行代码包括用于覆盖所述文件的内容的代码。
21.根据权利要求1所述的方法,其中传输所述访问请求包括:
传输包括所述访问信息的所述访问请求,所述访问信息包括执行所述访问客户端的用户设备的地理位置、与所述用户设备相关联的设备信息、与所述用户设备相关联的网络信息、与所述访问客户端相关联的验证令牌或其组合。
22.一种用于在访问客户端的数据安全的装置,包括:
处理器;
存储器,所述存储器与所述处理器连接;以及
指令,所述指令存储在所述存储器中并可由所述处理器执行,以使所述装置:
向服务器传输访问请求,所述访问请求包括要访问的文件的文件信息和访问信息;
至少部分基于传输所述访问请求,从所述服务器接收访问包,所述访问包包括可执行代码和一个或多个访问密钥;
由所述访问客户端执行所述可执行代码,以使用所述一个或多个访问密钥访问所述文件;以及
从与所述访问客户端相关联的存储器中移除所述访问包。
23.一种非暂时性计算机可读介质,其中存储用于在访问客户端的数据安全的代码,所述代码包括由处理器可执行的指令以:
向服务器传输访问请求,所述访问请求包括要访问的文件的文件信息和访问信息;
至少部分基于传输所述访问请求,从所述服务器接收访问包,所述访问包包括可执行代码和一个或多个访问密钥;
由所述访问客户端执行所述可执行代码,以使用所述一个或多个访问密钥访问所述文件;以及
从与所述访问客户端相关联的存储器中移除所述访问包。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063081763P | 2020-09-22 | 2020-09-22 | |
US63/081,763 | 2020-09-22 | ||
PCT/US2021/051562 WO2022066775A1 (en) | 2020-09-22 | 2021-09-22 | Encrypted file control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116686316A true CN116686316A (zh) | 2023-09-01 |
Family
ID=80740441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180077463.6A Pending CN116686316A (zh) | 2020-09-22 | 2021-09-22 | 加密文件控制 |
Country Status (9)
Country | Link |
---|---|
US (2) | US12061706B2 (zh) |
EP (1) | EP4218204A1 (zh) |
JP (1) | JP2023543773A (zh) |
KR (1) | KR20230098156A (zh) |
CN (1) | CN116686316A (zh) |
AU (1) | AU2021347175B2 (zh) |
CA (1) | CA3196276A1 (zh) |
IL (1) | IL301570A (zh) |
WO (1) | WO2022066775A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12001822B2 (en) * | 2021-02-01 | 2024-06-04 | Capital One Services, Llc | Multi-signature validation of deployment artifacts |
US20220350900A1 (en) * | 2021-05-01 | 2022-11-03 | AtScale, Inc. | Secure distribution of embedded policy |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030154381A1 (en) * | 2002-02-12 | 2003-08-14 | Pervasive Security Systems, Inc. | Managing file access via a designated place |
US20050071657A1 (en) * | 2003-09-30 | 2005-03-31 | Pss Systems, Inc. | Method and system for securing digital assets using time-based security criteria |
US7523507B2 (en) * | 2004-05-27 | 2009-04-21 | Nokia Corporation | Delivery of non-permanent media files to a mobile station |
US8909924B2 (en) * | 2006-11-30 | 2014-12-09 | Dapict, Inc. | Digital asset management system |
US8560785B1 (en) * | 2008-06-02 | 2013-10-15 | Symantec Corporation | Techniques for providing multiple levels of security for a backup medium |
US8250379B2 (en) * | 2009-10-13 | 2012-08-21 | Microsoft Corporation | Secure storage of temporary secrets |
US8910278B2 (en) * | 2010-05-18 | 2014-12-09 | Cloudnexa | Managing services in a cloud computing environment |
US10289860B2 (en) * | 2014-04-15 | 2019-05-14 | Namusoft Co., Ltd. | Method and apparatus for access control of application program for secure storage area |
CN105653909B (zh) * | 2016-01-26 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 信息处理方法、第一终端、第二终端、服务器及系统 |
US10798073B2 (en) * | 2016-08-26 | 2020-10-06 | Nicira, Inc. | Secure key management protocol for distributed network encryption |
US9817675B1 (en) * | 2017-01-31 | 2017-11-14 | Hytrust, Inc. | Methods and systems for attaching an encrypted data partition during the startup of an operating system |
US10268842B2 (en) * | 2017-02-21 | 2019-04-23 | Motorola Solutions, Inc. | Device for operating a camera in a private mode and a non-private mode |
US11258798B2 (en) * | 2018-02-27 | 2022-02-22 | Thales Dis France Sas | Method, entity and system for managing access to data through a late dynamic binding of its associated metadata |
-
2021
- 2021-09-22 AU AU2021347175A patent/AU2021347175B2/en active Active
- 2021-09-22 CN CN202180077463.6A patent/CN116686316A/zh active Pending
- 2021-09-22 EP EP21794062.6A patent/EP4218204A1/en active Pending
- 2021-09-22 JP JP2023518923A patent/JP2023543773A/ja active Pending
- 2021-09-22 US US17/482,010 patent/US12061706B2/en active Active
- 2021-09-22 CA CA3196276A patent/CA3196276A1/en active Pending
- 2021-09-22 IL IL301570A patent/IL301570A/en unknown
- 2021-09-22 KR KR1020237012462A patent/KR20230098156A/ko active Search and Examination
- 2021-09-22 WO PCT/US2021/051562 patent/WO2022066775A1/en active Application Filing
-
2024
- 2024-07-12 US US18/770,817 patent/US20240362344A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US12061706B2 (en) | 2024-08-13 |
IL301570A (en) | 2023-05-01 |
AU2021347175B2 (en) | 2024-10-10 |
WO2022066775A1 (en) | 2022-03-31 |
AU2021347175A1 (en) | 2023-05-25 |
AU2021347175A9 (en) | 2024-10-03 |
KR20230098156A (ko) | 2023-07-03 |
JP2023543773A (ja) | 2023-10-18 |
US20240362344A1 (en) | 2024-10-31 |
EP4218204A1 (en) | 2023-08-02 |
CA3196276A1 (en) | 2022-03-31 |
US20220092193A1 (en) | 2022-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7515717B2 (en) | Security containers for document components | |
AU2008341026B2 (en) | System and method for securing data | |
US11290446B2 (en) | Access to data stored in a cloud | |
US20030154381A1 (en) | Managing file access via a designated place | |
CN112313652A (zh) | 用于经由嵌入式浏览器提供数据丢失防护的系统和方法 | |
US20130159732A1 (en) | Password-less security and protection of online digital assets | |
US10061932B1 (en) | Securing portable data elements between containers in insecure shared memory space | |
US11841931B2 (en) | Systems and methods for dynamically enforcing digital rights management via embedded browser | |
US20240362344A1 (en) | Encrypted file control | |
CN114175580B (zh) | 增强的安全加密和解密系统 | |
WO2019173774A1 (en) | Systems and methods for secure storage and retrieval of data objects | |
US11876797B2 (en) | Multi-factor geofencing system for secure encryption and decryption system | |
CN115470525B (zh) | 一种文件保护方法、系统、计算设备及存储介质 | |
TR2023006911T2 (tr) | Şi̇freli̇ dosya kontrolü |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40099748 Country of ref document: HK |