一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

授权用户数据处理器访问用户数据的容器的系统和方法与流程

2022-03-31 09:09:40 来源:中国专利 TAG:


1.本公开涉及数据安全领域,并且具体地,涉及用于在授权访问用户数据的容器的同时保护用户数据的机密性并且确保隐私的系统和方法。


背景技术:

2.从用户设备收集的数据量逐年增加。从其收集数据的设备的种类和数量也存在增长。目前,设备包括“物联网”(iot)以及个人计算机、笔记本和智能电话。数据通常是在未经用户明确同意的情况下从设备收集的;但是即使给出此类同意,用户也并不总是理解他/她的决定的所有结果。从设备收集的数据随后以不受控制的方式分布在网络周围,并且可能对用户造成伤害。例如,用户可能成为已经获得他/她的电话号码或信用卡的犯罪分子的受害者。此外,造成问题的不仅仅是恶意方;不道德的雇主可能会使用来自用户设备的数据来跟踪他们的雇员。不受控制的数据收集的另一结果是设备的用户可能会接收到基于商品类别针对用户的恼人的商品广告。
3.存在一些由设备制造商尝试保护用户免于隐藏的数据收集并规范数据操作的机制。一个示例是google的firebase系统,该系统在android设备上的不同应用之间同步数据,并且向第三方授权对这些数据进行访问。在apple中,存在被称为apple安全框架的类似平台,用于保护信息、建立可信连接以及控制对设备上的软件的访问。该平台用于建立用户的身份、确保存储中和网络上的传输中的数据的安全性以及确认代码的有效性。这些机制允许来自设备的数据与第三方共享。然而,这些机制对于用户而言不是透明的,是不可逆的,并且仅提供针对第三方应用的跟踪的弱保护。
4.因此,需要一种用于从用户设备收集数据同时提供保护所收集的数据不被不适当地传播和误用的有效方式的方法和系统。


技术实现要素:

5.本公开的各方面涉及数据安全性,更具体地,涉及授权用户数据处理器访问从用户设备收集的用户数据的容器的系统和方法。例如,用户数据可以首先被存储在密码容器中以供处理器(例如,存储设备的处理器)访问。
6.在一个示例性方面中,提供了一种用于授权用户数据处理器访问用户数据的密码容器的方法,该方法包括:为用户数据创建密码容器,其中,密码容器接收用户数据的至少一个元素且对至少一个元素进行加密;为用户数据处理器建立用于使用第一密钥访问用户数据的至少一个元素的权限;为用户数据处理器形成至少一个访问结构;以及当接收到访问密码容器的请求时,基于所形成的至少一个访问结构向用户数据处理器授权对密码容器进行访问;其中,至少一个访问结构的形成包括:基于所建立的权限,将第一密钥放置在至少一个访问结构中,从用户数据处理器接收链接到用户数据处理器的将用于访问第一密钥的第二密钥,以及用第二密钥加密第一密钥。
7.在一个方面中,密码容器使用第一密钥对至少一个元素进行加密。
8.在一个方面中,第二密钥是至少一对密钥的组合,至少一对密钥包括至少一个私钥和至少一个公钥。
9.在一个方面中,至少一个公钥被接收用于加密第一密钥。
10.在一个方面中,关于第二密钥的信息被传送到用户数据处理器。
11.在一个方面中,从被授权访问的用户数据处理器接收至少一个公钥。
12.在一个方面中,用户数据的至少一个元素中的每个元素都使用各自单独的第一密钥进行加密。
13.在一个方面中,基于允许用户数据处理器对用户数据的至少一个元素执行的动作集,来建立用于访问至少一个元素的权限。
14.在一个方面中,动作集包括以下各项中的至少一项:读取数据和写入数据。
15.在一个方面中,为动作集中的每个动作创建单独的第一密钥。
16.在一个方面中,所创建的第一密钥包括至少一对密钥的组合,至少一对密钥包括至少一个第一私钥和至少一个第一公钥。
17.在一个方面中,一对密钥由第一私钥和第一公钥形成,使得当发生写入时第一私钥用于对数据进行加密,并且当发生读取时第一公钥用于对数据进行解密。
18.在一个方面中,当建立从字段中读取数据的权限时,将第一公钥放置在至少一个访问结构中。
19.在一个方面中,当建立将数据写入字段的权限时,将第一私钥放置在至少一个访问结构中。
20.在一个方面中,该方法还包括:在为用户数据创建密码容器期间,为数据访问权限管理器添加访问结构,其中,用于数据访问权限管理器的所添加的访问结构的至少一个第一密钥被放置在用户数据处理器的访问结构中,其中,至少一个第一密钥被加密。
21.在一个方面中,将用于数据访问权限管理器的所添加的访问结构的至少一个第一密钥放置在用户数据处理器的访问结构中包括:从数据访问权限管理器的访问结构中提取第一密钥。
22.在一个方面中,该方法还包括:代表用户数据处理器请求访问在所创建的密码容器中的用户数据的元素的权限。
23.根据本公开的一个方面,提供了一种用于授权用户数据处理器访问用户数据的密码容器的系统,该系统包括硬件处理器,该硬件处理器被配置为:为用户数据创建密码容器,其中,密码容器接收用户数据的至少一个元素并对该至少一个元素进行加密;为用户数据处理器建立用于使用第一密钥访问用户数据的至少一个元素的权限;为用户数据处理器形成至少一个访问结构;以及当接收到访问密码容器的请求时,基于所形成的至少一个访问结构向用户数据处理器授权对密码容器进行访问;其中,至少一个访问结构的形成包括:基于所建立的权限将第一密钥放置在至少一个访问结构中,从用户数据处理器接收链接到用户数据处理器的将用于访问第一密钥的第二密钥,以及用第二密钥加密第一密钥。
24.在一个示例性方面中,提供了一种存储有指令集的非暂时性计算机可读介质,该指令集授权用户数据处理器访问用户数据的密码容器,其中该指令集包括用于以下操作的指令:为用户数据创建密码容器,其中,密码容器接收用户数据的至少一个元素并对该至少一个元素进行加密;为用户数据处理器建立用于使用第一密钥访问用户数据的至少一个元
素的权限;为用户数据处理器形成至少一个访问结构;以及当接收到访问密码容器的请求时,基于所形成的至少一个访问结构向用户数据处理器授权对密码容器进行访问;其中,至少一个访问结构的形成包括:基于所建立的权限将第一密钥放置在至少一个访问结构中,从用户数据处理器接收链接到用户数据处理器的将用于访问第一密钥的第二密钥,以及用第二密钥加密第一密钥。
25.本公开的方法和系统被设计成以保护数据的更优和有效的方式提供数据安全性,同时还授权对用户数据的容器进行访问。第一技术成果是对用户数据的保护级别的改进,从而为用户提供安全性。
附图说明
26.并入本说明书中并构成本说明书的一部分的附图示出了本公开的一个或更多个示例方面,并且与详细描述一起用于解释本公开的一个或更多个示例方面的原理和实现方式。
27.图1示出了用于交换来自用户设备的数据的系统。
28.图2示出了向用户数据处理器授权对用户数据进行访问的方法。
29.图2a示出了用于在数据结构从用户设备到远程存储设备的传送期间将用户数据提供给用户数据处理器的方法的方面。
30.图2b示出了用于在数据结构从存储设备到用户数据处理器的传送中将用户数据提供给用户数据处理器的方法的方面。
31.图3示出了用于更新存储设备中的用户数据的方法。
32.图3a示出了用于在将数据结构传送到远程存储设备时更新用户数据的方法的方面。
33.图3b示出了用于在将更新的数据结构传送到存储设备时更新用户数据的方法的方面。
34.图4示出了数据权限的配置的示例。
35.图5示出了用于交换用户数据的示例性系统,该示例性系统被设计用于授权经由密码容器对用户数据进行访问。
36.图6a-图6c示出了容器的示例。
37.图7示出了用于形成新容器的方法的示例。
38.图8示出了用于授权用户数据处理器访问先前形成的容器的方法的示例。
39.图9示出了用于交换用户数据的系统的示例,该系统被设计为用于授权经由容器访问患者的病史。
40.图10示出了用于授权用户数据处理器对用户数据的密码容器进行访问的方法。
41.图11呈现了可以在其上实现本公开的各方面的通用计算机系统的示例。
具体实施方式
42.本文在根据本公开的各方面的授权用户数据处理器对用户数据的密码容器进行访问的系统、方法和计算机程序的背景中描述了各示例性方面。本领域的普通技术人员将认识到,以下描述仅是说明性的,并不旨在以任何方式进行限制。受益于本公开的本领域的
技术人员将容易地想到其他方面。现在将详细参考如附图中所示的各示例方面的实施方式。在整个附图和以下描述中,将尽可能使用相同的附图标记来指代相同或相似的项目。
43.图1示出了用于交换来自用户设备的数据的系统100。系统100被设计用于设备101的用户的数据的透明和安全处理。在本公开的背景中,“设备的用户的数据”是指来自用户环境中的设备,由各种类型的软件在设备上创建,并且包括用户输入的数据以及在程序和应用的操作中创建的数据两者的数据,例如,点击的流(点击流)、消息收发服务中的通信、位置数据以及从智能家居iot设备或用户生态系统(诸如私人汽车)中的其他iot设备收集的数据。
44.在一个方面中,系统100包括:
45.·
用户设备101,用户设备101具有进程阻止器110、数据收集器120、数据访问权限管理器130(访问权限管理器130)和修改器140;
46.·
用户数据处理器102;
47.·
存储设备150,存储设备150具有聚合与分析器170以及检索记录180(用于数据检索的记录日志);以及
48.·
匿名器160,匿名器160具有检索记录180。
49.进程阻止器110被设计为阻止由用户数据处理器102在用户设备上处理数据(包括个人数据)。可以在任何用户数据处理器102上执行阻止,用户数据处理器102包括第三方设备和属于平台的那些设备,通过该平台控制安装有进程阻止器的设备或进程阻止器可访问的设备(例如,苹果、谷歌、华为或小米软件和服务)。例如,进程阻止器110可以安装在路由器上,用户的个人设备101a和iot设备通过该路由器与互联网通信,并且进程阻止器110分析流过路由器的网络流量。在一个方面中,进程阻止器110仅阻止关键数据的收集,而不阻止任何数据的收集。关键数据包括法律或授权方对收集、存储、访问、分发和/或处理施加限制的数据。关键数据通常对公开、分发或泄漏敏感,因为这些事件的发生会导致侵犯当事人的权利和受法律保护的利益。此外,此类数据的分发或泄漏为已经允许侵犯针对这些数据指定的收集、存储、访问和处理的规则的当事人造成了责任。
50.在一个方面中,关键数据是机密数据(“敏感数据”)的数据。应注意,在本公开的背景中,机密数据和机密信息是同义的。机密数据被认为包括根据国家的法律存储的数据,该国家的管辖权覆盖构成所描述系统中客户端的设备的用户。
51.在一个方面中,机密数据包括个人数据(pd)以及包含以下各项的数据:
52.·
商业秘密;
53.·
税务秘密;
54.·
银行秘密;
55.·
医学秘密;
56.·
公证秘密;
57.·
法律秘密;
58.·
审计秘密;
59.·
通信秘密;
60.·
保险秘密;
61.·
遗嘱秘密;
62.·
收养秘密;
63.·
忏悔秘密;
64.·
调查秘密;
65.·
司法秘密;
66.·
关于受保护人的信息;以及
67.·
政府秘密。
68.在另一方面中,出于营销目的对用户数据的处理被阻止。在另一方面中,用户数据处理器102对任何用户数据的处理被阻止,其中,数据与使用这些用户数据处理器的应用或程序的直接功能无关。在另一方面中,阻止包括由用户数据处理器102进行的任何处理,该用户数据处理器102未包括在允许的(可信的)设备或数据处理器的列表中。可以通过各种方法(包括直接方法和间接方法)来执行对数据处理的阻止。直接阻止包括在与数据处理相关联的动作本身被阻止的地方阻止。间接指不直接阻碍数据处理,且即使执行了处理,该处理也不能实现其目的的场景。直接阻止方法可以包括禁止用户数据处理器访问用户数据。间接处理方法尤其包括例如通过移除cookie文件或欺骗通过跟踪设备上的网络而建立的用户标识符,来打断要从用户设备发送的数据之间的关联链接。
69.数据访问权限管理器130被设计为管理对数据进行访问。数据访问权限管理器130定义用户数据处理器102访问数据的权限,从用户数据处理器撤回权限,以及绘制允许的(可信的)用户数据处理器102的列表。数据访问权限管理器130在存储设备150上存储或建立指定用于分配的用户数据的结构格式(数据模型)。数据访问权限管理器130可以通过外部可更新的策略或者通过用户策略或者直接通过用户的输入来配置。数据访问权限管理器130还更新被指定用于发送到存储设备150的用户的数据模型(下面将描述操作场景)。相关领域的技术人员可以在关于数据组织的先前文献中找到用户的数据模型的示例,先前文献诸如gost 20886-85:数据处理系统中的数据组织、术语和定义。
70.数据收集器120旨在从用户设备收集指定用于传送到存储设备150的用户数据。数据收集器120填充从数据访问权限管理器130接收的数据结构的字段。然后,数据收集器120将所填充的数据结构传送给修改器140。在一个方面中,数据收集器120将所填充的数据结构直接发送到存储设备150。通常,进程阻止器110的阻止和数据收集器120的数据收集独立于用户数据处理器102的数据需求而发生。例如,根据配置,进程阻止器110阻止web跟踪,并且数据收集器120收集由进程阻止器110预先(在用户数据处理器102尝试处理之前)阻止在设备101上处理的所有数据;然后,所收集的数据被容纳在存储设备150中。
71.设备101包括修改器140,该修改器140被设计为:分析从数据收集器120接收的结构的字段中的数据,以便确定数据的组成;将数据结构划分成子结构;以及针对所得子结构,选择用于向远程存储设备150发送数据的路由。修改器140根据结构的字段来确定将该结构划分成子结构的必要性。将数据结构划分成子结构可能存在各种标准,这些标准之一是个人数据(“个人身份信息”(pii))或个人数据的(例如,根据gdpr术语的)特殊类别的存在,在这种情况下数据结构被划分,使得一种子结构包含个人数据(下文称为pd或pii)或个人数据的特殊类别,而另一子结构包含非个人的数据。数据与个人数据的关系例如由国家/地区(换言之,根据数据源的位置)的法律确定,该国家/地区的管辖区域覆盖构成所描述系统中客户端的设备的用户。另一个更一般的标准是关键数据的存在。在一个方面中,修改器
140旨在在将数据发送到存储设备150之前转换设备上的数据结构。
72.在一个方面中,用于转换数据子结构的方法是:
73.·
量化;
74.·
排序;
75.·
合并(粘贴);
76.·
分组;
77.·
配置数据集;
78.·
值的表格替换;
79.·
计算值;
80.·
数据编码;
81.·
加密;
82.·
卷积;以及
83.·
标准化(缩放)。
84.例如,通过令牌化和/或加密,一些种类的转换不仅可以用于子结构中的各个数据(字段),而且可以用于作为整体的子结构。在一个方面中,通过除了修改器140和/或存储设备150之外的任何手段,在不存在反向转换的可能性的情况下进行转换。“转换”被认为是某个量在其自身上的投影(函数)或将给定量转化成另一量的投影。
85.用户数据处理器的特定情况可以是客户端102b(例如,应用),客户端102b在客户端-服务器交互的背景中根据连接到应用的服务器102a的请求,在设备101上收集用户数据。“数据处理”是指使用数据自动化装置(用户数据处理器)进行的任何动作(操作)或动作(操作)的组合,包括数据的收集、记录、布置、累积、存储、调整(更新、改变)、提取、使用、传送(分发、提供、访问)、去个性化、阻止、移除和删除。
86.在一个方面中,修改器140选择结构或子结构将沿其被发送到存储设备150的网络路由。该路由可以包括匿名器160。匿名器160被设计为通过直接转换和反向转换两者来转换通过其的结构和子结构(下面考虑了示例)。匿名器160不位于设备101所属的同一局域网或内联网(例如,单个组织的网络)中。在一个方面中,匿名器160不位于存储设备150所属的局域网或内联网中。检索记录180连接到匿名器160和存储设备150。
87.检索记录180旨在跟踪对用户数据的操作并且记录从存储设备150检索(或传送)用户数据的所有动作。基于由所述检索记录180保存的日志,始终可以检查第三方对用户数据的使用是否符合访问权限(即,是否合法使用)。例如,如由检索记录180所记录的,假设用户的搜索查询的历史被传送到网络n而没有传送到第三方的权限。随后,假设用户基于他的搜索查询从网络m接收广告报价。该确定可以基于由系统100的附加手段(图1中未示出)记录的广告报价,和/或基于来自设备和来自检索记录180的数据。本公开的系统100记录事件。根据系统100的补充附件,可以随后处理该事件。例如,系统100的补充装置可以绘制对网络n的投诉、向网络m发送移除数据的要求、向监管机构发送信息等。
88.存储设备150被设计用于存储用户数据,即,存储设备150是用户数据的位置。存储设备150可以将用户数据传送到用户数据处理器102,同时允许在不传送的情况下直接在存储设备150中处理数据。存储设备150与分析器170连接,该分析器170被设计用于自动数据聚合和分析并且用于基于该分析构建各种分析结果和聚合物。各种分析结果和聚合物也被
放置在存储设备150中,并且如果外部用户数据处理器102具有对此的权限,则可以将各种分析结果和聚合物传送到外部用户数据处理器102。分析器170还链接来自单个用户/家庭的各种设备101的数据。存储设备150还(例如,通过代理130а)连接到数据访问权限管理器,因为存储设备130确定用户数据处理器102对用户数据的数据访问的权限。如图1所示,存储设备150可以位于设备101中、设备101的本地网络中或远程。
89.在一个方面中,存储设备接收用户数据,包括来自用户数据处理器102的数据。例如,存储设备从社交网络、在线和离线零售商店、广告网络、数据交换和其他的用户数据处理器102接收数据。
90.在本公开中,进程阻止器110、数据收集器120、数据访问权限管理器130、修改器140、存储设备150、匿名器160、分析器170以及检索记录180表示真实设备、系统、组件以及使用硬件或例如以软件和硬件的组合的形式构建的组件的组,硬件诸如集成微电路(“专用集成电路”或asic)或可编程门阵列(“现场可编程门阵列”或fpga),软件和硬件的组合的形式诸如微处理器系统和程序指令集以及还有神经元形态的芯片(英语为“neuromorphic chips(神经元形态的芯片)”)。所述装置的功能可以仅由硬件实现,或者另外以组合的形式实现,其中一些功能由软件实现,而一些功能由硬件实现。在一些方面中,用于授权用户数据处理器对用户数据的密码容器进行访问的各种装置可以在通用计算机的处理器上实现(例如,如图11所示)。数据库可以通过任何可行的方法来实现,并且可以包含在单个物理介质上或位于本地或远程的各种介质上。
91.图2示出了向用户数据处理器授权对用户数据进行访问的方法200。上述系统100可以用于执行方法200。
92.在步骤210中,进程阻止器110阻止在用户设备处,用户数据处理器处理用户数据。对于各种用户数据处理器,处理用户数据的各种方法被阻止。
93.在一个方面中,以下处理用户数据的方法被阻止:
94.·
移动和web跟踪,例如通过:
95.■
从设备中跟踪和移除跟踪器,
96.■
使用vpn服务使得跟踪器和广告能够从网络流量中剔除;
97.·
收集地理位置信息,例如,通过:
98.■
使用虚拟运算符,
99.■
欺骗(英语为“spoofing”)地理位置,
100.■
当用户未正在使用gps、wi-fi和蓝牙模块时,关闭gps、wi-fi和蓝牙模块;
101.·
收集搜索查询,例如,通过:
102.■
使用个人搜索系统(例如,duckduckgo),
103.■
代理传出搜索查询,
104.■
欺骗(英语为“spoofing”)传出流量中的搜索系统的标识符,
105.■
移除传出流量中的搜索系统的标识符;以及
106.·
收集注册数据,例如使用:
107.■
匿名电话号码和邮箱,
108.■
匿名一次性地图。
109.在步骤220中,用户数据由数据收集器120收集并且被传送到存储设备150。在一个
方面中,所收集的用户数据包括被阻止以供外部用户数据处理器102根据当前策略进行处理的数据。策略由数据访问权限管理器130应用并且经由上述数据模型/结构来实现。在一个方面中,通过修改器140和/或匿名器160执行所收集的数据到存储设备150的传送。
110.在一个方面中,仅可以从存储设备150接收用户数据处理器102对这些数据的访问,这些数据不在例如经允许的用户数据处理器的列表上或者这些数据对于提供其基本功能而言不是必需的。
111.在步骤230中,系统100接收在设备101上处理用户数据的请求。根据实现方法,该请求可以由系统100的各种装置接收。例如,如果存在在设备上处理用户数据的尝试,则这会被进程阻止器110检测到(隐式请求)。对于显式请求,数据访问权限管理器130将接收处理该请求的许可。
112.在一个方面中,如果进程阻止器110接收到处理请求,则该请求被重定向到数据访问权限管理器130。如果从其接收请求的用户数据处理器是系统100已知的(例如,如果权限已经被分配给该装置),则该方法前进到步骤240。
113.在步骤240中,该请求被重定向到用户数据存储设备150。
114.在一个方面中,当系统不知道用户数据处理器102时,确定用户数据处理器102的访问权限。然后,该方法前进到步骤240以使用户数据处理器102能够处理用户数据而无需将请求重定向到存储设备150。换言之,当用户数据处理器102在可信装置的列表上时,或者在由用户接受的基本功能的背景中进行对这些数据的访问时,或者在上面提到的其他情况下,允许用户数据处理器102处理用户数据而不将其重定向到存储设备150。
115.在步骤250中,存储设备150确定用户数据处理器102对用户数据的访问权限,为此,存储设备可以使用由数据访问权限管理器130制定的用户数据处理器102的访问权限库的副本或者可以例如通过代理130a直接联系数据访问权限管理器130。在确定权限之后,在步骤260中,根据所确定的权限向用户数据处理器授权对用户数据进行访问。
116.在一个方面中,通过匿名器160授权访问,该匿名器160执行位于存储设备150中的用户数据的反向转换。关于此的信息由检索记录180记录。在一个方面中,记录基于区块链技术。在一个方面中,用于将数据从用户提供到用户数据处理器102进行处理的技术可以被实现为智能合同,其中在特定情况下,来自用户数据处理器102的所有者的收入报价是应用/程序功能的非现金使用(交换功能的用户数据)。在该示例中,在已经接收到对用户数据的处理的访问之后,授权访问其数据的用户可以使用某个应用或服务的功能,或者他/她将能够访问可选地加密的任何其他产品或服务(例如,在提供来自汽车的远程计量的情况下的保险折扣)。
117.图2a示出了用于将用户数据提供给用户数据处理器的方法的方面。例如,可以在数据从用户设备到远程存储设备的传送期间使用该方面。进程阻止器110阻止处理广告网络m的数据。通过在步骤211中从包括由浏览器102b创建的数据的web数据103中移除包含广告标识符的cookie文件,并且通过在步骤212中在网络流量中欺骗在广告网络m中的用户标识符,来进行阻止。这阻碍了用户数据处理器102的操作,在当前情况下,用户数据处理器102(通过概况分析装置,未示出)被用于用户概况分析。由此,广告网络将不能进行定向确定,因为它没有用户简档,导致转换(对广告公告的点击次数)的显著减少,并且由于广告网络的操作模型是cpc(“每次点击成本(costper click)”),所以每个用户的收入arpu(每个
用户的平均收入(average revenue per user))相应的下降。用户使用类似的阻止,因为用户希望避免在其浏览器中出现某些类别x商品(例如,药物、医疗诊所和“健康”类别中的其他项目)的广告。然而,用户准备从所述广告网络m接收针对其他类别的商品和服务的定向广告。由此,在指定的设置之后,在步骤221中,数据访问权限管理器130将网络m的权限定义为搜索查询历史和点击流,不包括与类别x相关的搜索查询和点击。在步骤222中,相关信息被发送到系统100。具体地,数据收集器120接收具有填充字段的数据结构,修改器140接收其传送被禁止的数据的类别,并且存储设备接收对广告网络m的访问权限。
118.在特定情况下,各种场景则是可能的,例如:
119.·
数据收集器120收集来自用户设备101的所有搜索查询和点击,所有数据被发送到存储设备150,并且存储设备150根据数据访问权限独立地生成(或者在特定情况下完成)用于由广告网络m的用户数据处理器102处理的结构,数据访问权限已经从类别x中排除点击和搜索查询;
120.·
数据收集器120收集来自用户设备102的所有搜索查询和点击,所有数据被发送到修改器140,并且修改器140移除与类别x相关的子结构并将经修改的结构移动到存储设备150,并且以这种形式,经修改的结构将被传送到广告网络м的用户数据处理器102;
121.·
数据收集器120收集与类别x无关的搜索查询和点击,并将结构移动到存储设备150,并且以这种形式,结构将被传送到广告网络м的用户数据处理器102;以及
122.·
数据收集器120收集与类别x无关的点击以及来自所有类别的搜索查询,并且结构被传送到修改器140,修改器140从所接收的结构中移除与类别x相关的搜索查询并将经修改的结构传送到存储设备150,并且以这种形式,经修改的结构将被传送到广告网络м的用户数据处理器102(随后将考虑的图2a中的示例涉及该场景)。
123.作为一般规则,此类场景不仅适用于点击和搜索查询,而且还适用于其他类型的用户数据,这是可能的,并且用户数据处理器102不仅涉及广告网络,而且用户可能有多于一个的设备。在一个方面中,当存储设备150位于远程单元中时,如图2a所示,来自修改器的经修改的结构不直接发送到存储设备150。
124.下面进一步考虑根据最后场景的示例。在步骤221中,数据访问权限管理器130已经定义了网络m的用户数据处理器102的权限。在步骤222中,数据访问权限管理器130将结构的格式传送给数据收集器120用于填充字段。该结构至少包括“搜索查询”字段和“点击流”字段,并且点击流字段又包括web资源的类别字段,web资源的类别字段中没有类别x的字段。
125.在步骤222a中,数据收集器120填充字段。在一个方面中,从在用户网络活动的过程中累积的所保留的web数据103中选择填充的数据。这些数据由浏览器102a和由系统100的附加装置(诸如浏览器或ui拦截器中的插件(这些未在图2a中示出,并且在特定情况下是数据收集器120的模块))两者来制定。
126.在步骤223中,数据收集器120将填充的结构传送给修改器140,修改器140进而基于在步骤222中从数据访问权限管理器130接收的结构格式来分析搜索查询的字段用于与类别x相关的查询的存在。然后,移除查询数据。
127.在步骤224中,修改器140从用户数据处理器102接收(例如,来自cookie文件或来自浏览器中的简档的)广告网络m中的用户标识符(useridm),以及从数据访问权管理器130
(图2a中未示出)接收系统100中的用户标识符(userid100)。
128.然后用公钥对具有用户数据的结构进行加密,并且生成一对相同的随机令牌。令牌中的一个被链接到标识符,而第二令牌被链接到用户的数据结构(例如,第二令牌在附加字段中被添加到该结构,该步骤未在图2a中示出)。
129.在步骤225a中,然后用户的数据结构被发送到存储设备150,并且在步骤225b中具有第二令牌的标识符被发送到匿名器160。在步骤225c中,匿名器160转换标识符,并且在步骤225d中,将转换的标识符userid’100和userid’m传送到存储设备150。
130.在步骤226中,由存储设备150基于找到相同的令牌将标识符与用户的数据结构链接。在步骤227中,存储设备150将所接收的数据结构与该用户的其他数据结构链接。
131.匿名器160改变系统100中的原始用户标识符和广告网络m的标识符,以便在数据从存储设备150泄露的情况下保护用户数据,因为不能用改变的标识符识别数据所有者。如图2b所示,来自广告网络m的用于处理数据的数据请求通过匿名器160被重定向到存储设备150。
132.图2b示出了用于例如在数据结构从存储设备到用户数据处理器的传送中将用户数据提供到用户数据处理器的方法的方面。如图2b中可见,在步骤230中,请求可以由服务器引导通过客户端,或在步骤230a和/或在步骤230b中,请求可以由客户端自身根据其功能来引导。
133.在一个方面中,请求包括广告网络m中的用户标识符useridm。在步骤240中,该请求被重定向到匿名器160。当该请求被重定向时,系统100中的用户标识符被附加到该请求,并且在特定情况下,添加关于所请求的数据的信息,例如结构的字段的枚举;可以存在各种格式,诸如xml、json等。
134.在步骤241中,匿名器160转换系统100中的用户标识符和广告网络m中的标识符,并且在步骤242中匿名器160将转换的标识符传送到存储设备。
135.在步骤243中,存储设备150根据userid’100检测链接到用户的数据,并且在步骤250(图2b中未示出)中确定广告网络m的权限,以及存储设备150根据访问权限准备数据以供用户数据处理器102处理。在本示例中,这通过检测userid’m和与userid’m相关的数据结构来进行。
136.在步骤251中,当数据被检测到时,数据与userid’m一起被返回到匿名器160。在步骤252中,匿名器160将原始值返回至网络m中的用户标识符。将用户数据与原始useridm一起传送到广告网络的用户数据处理器102,同时由检索记录180记录传送的发生。
137.在一个方面中,广告网络可以直接联系匿名器160而无需设备101重定向请求,而在当前情况下,用户数据处理器102自身重定向请求:代替设备101,在特定情况下,广告网络通过匿名器160联系存储设备150。
138.在另一方面中,数据没有被传送到用户数据处理器102,但是对放置在存储设备150中的数据的副本的访问被授权。
139.图1中所示的系统还用于实现图3所示的更新用户数据的方法300。当并非所有处理的数据都被放置在存储设备150中时和/或当用户具有可以从中接收数据的多于一个的设备时,实现该方法。
140.在本方法中,步骤210、步骤230、步骤240和步骤250类似于图2中所示的方法的步
骤。然后方法300从步骤250进行到步骤310。
141.在步骤310中,存储设备150检测用户数据处理器已经接收到访问权限的数据不位于存储设备150中。
142.因此,在步骤320中,将从存储设备150中丢失的用户数据从用户设备传送到存储设备150。在一个方面中,当检测到存储设备中不存在数据时,存储设备150联系数据访问权限管理器130。
143.数据访问权限管理器130更新数据模型,根据该数据模型,数据收集器120填充结构中的新字段(在本示例中,与位置相关的那些字段)。然后数据访问权限管理器130将数据发送到存储设备150。
144.在一个方面中,如果检测到的数据需要进一步转换,则使用修改器140和匿名器160来发送数据。修改器140针对与由数据访问权限管理器130建立的权限的关键性和其他符合性来执行对数据的分析。
145.图3示出了用于更新存储设备中的用户数据的方法300。图3a示出了用于在将数据结构传送到远程存储设备时更新用户数据的方法的方面。将进一步考虑广告网络m的示例。
146.然而,在当前情况下,系统100根据以下场景进行操作:
147.·
在设备101b(在本示例中为pc)中预先阻止web跟踪(步骤211、步骤212),
148.·
在步骤222a中,数据收集器120收集所有用户的搜索查询和点击(作为用于处理的最广泛数据),
149.·
将所收集的数据发送到存储设备150(步骤225a-步骤227),然后存储设备150独立地创建用于由用户数据处理器根据其访问权限处理的结构。
150.除了关于搜索查询和点击的信息之外,本示例中的广告网络м已经请求了关于位置的信息:在步骤230中,服务器102а向客户端102b发送请求,在步骤230b中客户端102b将请求发送至数据访问权限管理器130。在步骤221中,用户发布该许可,并且数据访问权限管理器130绘制包括对位置数据的权限的权限。
151.图3b示出了用于在将更新的数据结构传送到存储设备时更新用户数据的方法300的一个方面。由于存储设备150独立地创建或填充数据结构以供用户数据处理器102处理。
152.在步骤240中,当通过用户标识符userid100重新定向请求时,将关于已经为广告网络m定义权限的数据的信息添加到请求中。以数据结构的字段的形式添加关于数据的信息。在图3b中,例如这被表示为“模型”。
153.在步骤242中,存储设备150接收经转换的用户标识符userid’100和来自匿名器160的数据结构的字段,并且在步骤243中,存储设备150在存储中找到用户的用户数据。
154.然后存储设备150确定对数据的访问权限,在我们的示例中,为此,存储设备150将附接至请求的结构(取自“模型”)的字段与位于存储设备中的数据进行比较。然后,在步骤310中,存储设备150检测(图3b中未示出)关于用户位置userid’100的信息尚未被放置在存储设备150上(结果,例如出现填充错误)。存储设备150用对在结构中示出但在存储设备150中不存在的数据的请求,来联系数据访问权限管理器130。例如通过代理130a来联系数据访问权限管理器130,代理130a在步骤311中将联系匿名器160,在步骤312中,将借助于匿名器160将请求中的标识符userid’100转换成原始userid100,并且将在步骤313中将请求传送到数据访问权限管理器。根据来自存储设备150的请求的结果,数据访问权限管理器130更
新关于要收集的数据的信息,其中该更新至少包括以下两个步骤:
155.·
在用户设备中检测可以提供所请求的数据的设备(在此处考虑的示例中,该设备是移动电话101a);
156.·
为数据收集器120,特别是在添加了包含所请求的数据的字段的设备中更新结构的字段(在本示例中,添加“位置”字段);在本示例中,这是步骤314。
157.在步骤320中,存储设备接收所请求的数据。在所考虑的示例中,在步骤320中,图3包括如图3b中所示的多个子步骤(320a-320f)。在步骤320а中,具有包括位置的信息的经更新的用户的数据结构被发送至存储设备150,并且在步骤320b中,具有第二令牌的系统100中的用户标识符被发送至匿名器160。在步骤320c中,匿名器160转换标识符,并且在步骤320d中,将转换的标识符userid’100传送到存储设备150。在步骤320e中,在存储设备150中,基于找到相同的令牌将标识符与更新的用户的数据结构链接。然后,在步骤320f中,存储设备150将所接收的数据结构链接到该用户的其他数据结构。然后,存储设备可以在用户数据处理器102的请求时完成必要的字段。
158.现在将基于图2a至图2b考虑用于将用户数据提供给用户数据处理器的方法200的实现的示例。进程阻止器110阻止广告网络m的数据处理;更具体地,进程阻止器110阻止收集用户访问的url地址/资源(点击流)和搜索查询的历史。
159.通过以下方式进行阻止:
160.·
在步骤211中,从包括由浏览器102b创建的数据的web数据103中移除cookie文件,该cookie文件包含由网页上的脚本安装的广告网络m中的临时用户标识符;
161.·
在步骤212中,在网络流量中,欺骗在广告网络m中的永久用户标识符,该永久用户标识符与用户进入浏览器的账户的登录相同;以及
162.·
在网络流量中欺骗浏览器安装102b的标识符。
163.基于点击流和搜索查询,广告网络m执行概况分析,随后是广告消息的定向。因此,广告网络将不能进行定向确定,因为它没有用户简档,导致转换(对广告公告的点击次数)的显著减少,并且由于广告网络的操作模型为cpc(每次点击成本),因此每个用户的收入arpu(每个用户的平均收入)相应的下降。用户使用类似的阻止,因为用户希望避免在其浏览器中出现“健康”类别中的商品广告(例如,药物、医疗诊所和来自“健康”类别的其他项目)。然而,用户准备从所述广告网络m接收针对其他类别的商品和服务的定向广告(“运动”、“教育”、“书籍”、
……
、“n”)。用户准备仅共享搜索查询的历史和被访问用于概况分析的web资源。
164.图4示出了数据权限的配置的示例。在步骤221中指定数据权限的配置。系统100还通过进程阻止器110阻止用户不想要的任何广告公告。在步骤212中,进程阻止器110将从流量中移除具有不想要内容的广告数据并且阻止对具有不想要内容的广告数据的加载,具有不想要内容的广告数据即与“健康”类别相关的广告数据和内容。
165.因此,在指定设置之后,在步骤221中,数据访问权限管理器130定义广告网络m对整个搜索查询历史和点击流的权限,不包括与“健康”类别相关的搜索查询和点击。在步骤222中,将与此相关的信息被发送到系统100。由此,在步骤222中,数据收集器120接收具有填充字段的数据结构,并且该结构包括以下字段:
166.·
搜索查询;
167.·
访问的web资源;
168.o 艺术;
169.o 娱乐;
170.o 商业;
171.o 游戏;
172.o 一般;
173.o 求职;
174.o等。
175.在本步骤中,数据收集器120被排序以收集不能被分配给健康类别的所有搜索查询和所访问的所有web资源。用于在“健康”类别中定向广告材料的概况分析可以由各种类别的web资源使用,因此当创建用于装置120的结构时,数据访问权限管理器130将“健康”的一般类别减少至更局部web资源的类别(子类别),并且不将它们包括在装置120的结构的字段中,例如药物、医疗服务、医疗信息门户等的web资源的子类别。
[0176][0177]
在步骤222中,修改器140接收其传送被禁止的搜索查询的类别。修改器140使用自然语言处理技术来分析和分类搜索查询。在步骤222中,存储设备150接收对广告网络m的访问权限。
[0178]
然后,在步骤222a中,数据收集器120收集来自与“健康”类别无关的所有类别和所访问的web资源的搜索查询,并且填充结构的字段。由数据收集器120从在用户网络活动过程中累积的所保留的web数据103中选择用于结构的填充的数据。这些数据由浏览器102a和系统100的附加装置两者创建,系统100的附加装置诸如浏览器或ui拦截器中的插件(这些未在图2a中示出,并且是数据收集器120的模块)。
[0179]
结构格式的示例:
[0180][0181][0182]
在步骤223中,将填充的结构传送至修改器140。
[0183]
基于在步骤222中从数据访问权限管理器130接收的关于禁止类别的信息,修改器140分析搜索查询的字段用于与“健康”类别相关的查询的存在。然后,从所接收的结构中移除与“健康”类别相关的搜索查询(在本示例中,这是查询r3)。在步骤224中,修改器140从用户数据处理器102接收来自cookie文件或来自浏览器中的简档的广告网络m中的用户标识符(useridm)以及从数据访问权限管理器130(图2a中未示出)接收系统100中的用户标识符(userid100)。然后用公钥(rn

rn’,urln

urln’)对具有包括搜索查询和url资源的用户数据的结构进行加密。修改器140生成一对相同的随机令牌。令牌中的一个被链接到标识符useridm和标识符userid100:
[0184]
user={“id”:[useridm,userid100],“token”:token}。
[0185]
第二令牌被链接到用户的数据结构(其在附加字段中被添加到该结构):
[0186]
[0187][0188]
在步骤225а中,然后用户的数据结构被发送至存储设备150,并且在步骤225b中具有第二令牌的标识符被发送至匿名器160。在步骤225c中,匿名器160转换标识符。匿名器160改变系统100中的原始用户标识符和广告网络m的标识符,以便在数据从存储设备150泄露的情况下保护用户数据,因为不能用改变的标识符来识别数据所有者:
[0189]
user={“id”:[useridm,userid100],“token”:token}

[0190]
user={“id”:[userid’m,userid’100],“token”:token}

[0191]
在步骤225d中,将转换的标识符userid’100和userid’m传送至存储设备150。在步骤226中,在存储设备150中,基于相同的令牌将标识符与用户的数据结构链接。
[0192]
在步骤227中,存储设备150将所接收的数据结构与该用户的其他数据结构链接:
[0193][0194]
来自广告网络m的用于处理数据的数据请求现在通过匿名器160被重定向到存储设备150,如图2b所示。如图2b中可见,在步骤230中,服务器102a通过浏览器102b发送请求。该请求包括广告网络m中的用户标识符useridm。在步骤240中,该请求被重定向到匿名器160。当该请求被重定向时,系统100中的用户标识符被附加到该请求:
[0195]
user={“id”:[useridm,userid100]}。
[0196]
在步骤241中,匿名器160转换系统100中的用户标识符和广告网络m中的标识符:
[0197]
user={“id”:[userid’m,userid’100],}。
[0198]
此外,在步骤242中,匿名器160将转换的标识符传送至存储设备150。存储设备150在步骤243中根据userid’100检测链接到用户的数据,并在步骤250中确定广告网络m的权限;在本示例中,这通过搜索userid’m及其相关联的数据结构来进行。在步骤251中,当数据被检测到时,数据与userid’m一起被返回到匿名器160。在步骤252中,匿名器160将原始值返回到网络m中的用户标识符,并且将用户数据连同原始useridm一起传送到广告网络的用
户数据处理器102,同时由检索记录180记录传送的发生。
[0199]
在一个方面中,广告网络可以直接联系匿名器而无需由设备101重定向请求,而在当前情况下,用户数据处理器自身重定向请求:代替设备,在特定情况下,它通过匿名器160联系存储设备。在另一方面中,数据没有被传送到用户数据处理器102,但是对放置在存储设备150中的数据的副本的访问被授权。
[0200]
图1中所示的系统还用于实现更新用户数据的方法300。当并非所有处理的数据都被放置在存储设备中和/或当用户具有可从中接收数据的多于一个的设备时,实现该方法。在本方法中,步骤210、步骤230、步骤240和步骤250类似于图2所示的方法的步骤。
[0201]
在步骤310中,存储设备检测用户数据处理器已经接收到访问权限的数据不位于存储设备中。
[0202]
在步骤320中,将丢失的用户数据从设备传送至存储设备。在一个方面中,当检测到不存在数据时,存储设备150联系数据访问权限管理器130。数据访问权限管理器130更新数据模型,根据该数据模型,数据收集器120填充结构中的新字段(在本示例中,与位置相关的那些字段)。然后数据访问权限管理器130将数据发送到存储设备150。在特定情况下,如果检测到的数据需要进一步转换,则使用修改器140(装置140针对与由数据访问权限管理器130建立的权限的关键性和其他符合性来执行对数据的分析)和匿名器160来发送数据。
[0203]
图5示出了用于交换用户数据的示例性系统,该示例性系统被设计成用于授权经由密码容器对用户数据的访问。
[0204]
一种“密码容器”包括具有指定结构(结构的示例如下文所述)的文件,该文件至少包括对用户数据的元素的完全加密的选择。
[0205]
数据的加密和数据的解密的过程由系统500自动执行,并且对用户是完全透明的。密码容器可以用于交换必须为不同用户编辑的大量机密信息。在特定情况下,以文件系统的形式创建数据元素的选择,其中,每个数据元素是文件。系统500包括管理设备510、数据主体设备520和数据用户设备530。
[0206]
在一个方面中,管理设备510和数据主体设备520的功能由单个设备执行。系统500还包括数据收集器120a、数据访问权限管理器130a、修改器140a、存储设备150a、(可选地)匿名器160a和检索记录180。
[0207]
由设备510的数据收集器120а从设备520收集数据。数据收集器120a将数据传送到修改器140a。借助于修改器140a,使用所接收的数据,形成(创建)密码容器(如果先前未创建合适的容器;否则修改现有容器),并且将该密码容器传送到存储设备150a。当设备530请求访问用户数据时,经由数据访问权限管理器130发布权限,并且经由修改器140a修改密码容器(以下称为“容器”)。由存储设备150a授权设备530的用户数据处理器102对该容器的副本进行访问。为了经由容器接收对用户数据的访问,必须首先形成容器,在此之后,通过装置140a对所述容器的修改,授权用户数据处理器102对容器中的数据元素进行访问。在另一方面中,容器的形成和对用户数据和容器的副本进行访问的授权可以在单次迭代中发生。
[0208]
图6a-图6c示出了容器600的示例。容器600包含至少一个数据元素610,数据元素610包含用户数据。出于存储方法的目的,数据元素是最小的不可分割(基本)的数据单元。数据元素610的示例包括与文件系统相关的文件(在这种情况下,数据元素的加密选择是文件系统)、与关系数据库相关的表格中的条目(数据元素的加密选择是表格)以及与非关系
数据库中的数据结构相关的字段(根据数据库的结构确定数据的加密选择)等。在个人用户简档中,数据元素610可以是将关于与单个类别相关的用户的信息(例如,病史、法律信息、关于作为消费者的用户的信息等)组合的专用简档。每个数据元素被加密。从现有技术中已知的各种算法可以用于加密。加密的数据元素或者数据元素的加密的选择与用于访问数据元素620(或者如果存在数据元素中的至少两个,则访问数据元素)的结构和用于用户数据处理器630的访问结构一起形成容器结构的一部分。密钥(以下称为密钥a)与加密的数据元素保持在一起,用于对数据元素进行解密。
[0209]
密钥a存储在元素620的访问结构中。密钥a也被加密。密钥a可以借助于各种算法进行加密。在一个方面中,当存在至少两个这样的元素时,密钥a是至少两个密钥的组合,例如用于数据元素的解密的公钥和私钥或多个秘钥。
[0210]
用于访问密钥a(密钥b)的密钥存储在用户数据处理器630的访问结构中。在特定情况下,密钥b是至少两个密钥的组合,例如公钥和私钥。密钥b用于密钥a的加密,以及用于在数据被读取或写入时的解密。密钥b也被加密。
[0211]
密钥b由链接到用户数据处理器102的密钥(密钥с)加密。每个用户数据处理器链接到其自己的密钥c。在特定情况下,密钥c是至少两个密钥的组合,例如公钥和私钥。密钥c或者专门经由容器的修改器140a创建,或者从用户数据处理器102接收,其中修改器140形成结构630。密钥c用于在不同的用户数据处理器102之间划分对容器的访问权限。每个用户数据处理器102具有其自己的唯一密钥cn(密钥cn是多个密钥c中的成员),该密钥cn用于与容器一起操作。因此,建议每个用户数据处理器以可靠的方式存储其密钥cn,以确保一个用户数据处理器102不能接收另一用户数据处理器的密钥。
[0212]
可以用各种方式形成容器。在一个方面中,容器可以是帧,如图6a所示,对于该帧,密钥a加密数据元素610,然后密钥a与加密的数据元素610一起由密钥b加密,并且结果由密钥b和密钥c联合加密。
[0213]
在另一方面中,容器采取包含加密对象的结构的形式,如图6b所示,并且该结构的元素是:
[0214]
·
(至少一个)加密的数据元素610;
[0215]
·
用于访问元素620的结构,元素620具有至少一个加密密钥a;以及
[0216]
·
用户数据处理器的访问结构630,访问结构630具有由密钥c加密的至少一个密钥b。
[0217]
容器中的用户数据处理器可以存在多于一个的访问结构630,并且这些结构的数量取决于被授权访问该容器600中的数据的用户数据处理器102的数量。而且,如图6c中说明的容器的示例中,可存在多于一个的此类数据元素。
[0218]
图7示出了用于形成(创建)新容器的方法700的示例。
[0219]
在步骤710中,经由数据收集器120接收数据元素610,并且将该数据元素传送至修改器140a。
[0220]
在步骤720中,经由数据元素610的修改器140а,形成用于访问数据元素620的结构。结构620包含用于加密数据元素610的至少一个密钥(密钥a)。
[0221]
在步骤730中,使用密钥a经由修改器140а,对数据元素610进行加密。
[0222]
然后,在步骤740中,经由修改器140а,形成用于权限管理器630а的访问结构(用于
用户数据处理器630的访问结构的具体情况,该访问结构包含可由设备510的装置访问的密钥,因为所述结构中的密钥由来自数据访问权限管理器130а的密钥с加密)。结构630a包含用于密钥a的加密/解密的密钥,即密钥b。
[0223]
在步骤750中,当形成结构630а时,从数据访问权限管理器130а接收密钥b并且使用密钥b对密钥进行加密。
[0224]
在步骤760中,然后经由修改器140a对密钥b进行加密。来自数据访问权限管理器130а的密钥(密钥с)用于对密钥b进行加密。结果是形成存储数据元素610的容器,仅向管理设备510的装置授权访问该数据元素610。在一个方面中,所形成的容器位于储存装置150a中。
[0225]
在一个方面中,密钥b是密钥(公钥b和私钥b)的组合,并且密钥c是密钥(公钥c和私钥c)的组合。私钥b用于对密钥a进行加密,公钥c用于对密钥b进行加密。
[0226]
container={id_container:[id],
[0227]
uai_x:[privica’,publica’],
[0228]
ica:[pubitem’],
[0229]
item:[data’]
[0230]
}
[0231]
上文已经描述了成形容器600的具体情况,其中:
[0232]
·
item是存储加密的数据元素610的结构。
[0233]
·
data’是加密的数据元素data 610;
[0234]
·
ica是用于访问数据元素620的结构;
[0235]
·
pubitem是用于加密数据元素的密钥(密钥а);
[0236]
·
uai_x是用于权限管理器630a的访问结构;
[0237]
·
privica是用于对pubitem密钥进行加密的密钥(私钥b);
[0238]
·
publica是用于解密pubitem密钥的密钥(公钥b);
[0239]
·
id_container是存储关于容器600的信息的结构;
[0240]
·
id是容器600的标识符;以及
[0241]
·
privica’、publica’、pubitem’表示密钥(privica、publica、pubitem)被加密。
[0242]
图8示出了用于向用户数据处理器102授权用户数据处理器对先前形成的容器600进行访问的方法800的示例。最初,只有设备510的用户数据处理器能够访问所形成的容器600中的数据元素610。让我们考虑将对容器中的用户数据进行访问授权第三方设备530的用户数据处理器102的方式。
[0243]
在步骤810中,经由设备530的用户数据处理器102请求访问容器600中的数据,该容器600先前形成并且例如位于存储设备150中。
[0244]
在步骤820中,经由数据访问权限管理器130a发布针对用户数据处理器102的权限,并且将关于此权限的信息传送至修改器140a。
[0245]
在步骤830中,形成用于用户数据处理器102的访问结构630b,为此目的,容器600中的修改器140解密权限管理器630a的访问结构中的密钥b,其中,(如果密钥b采取至少两个密钥的形式)至少一个经解密的密钥被从结构630a复制到要形成的结构630b。
[0246]
所复制的密钥的数量取决于在步骤820中发布的权限。如果用户数据处理器102接
收到读取数据元素的权限,那么将从结构630a复制密钥b,且这将使密钥a能够被解密(其中需要密钥a来解密容器600中的数据元素610)。如果用户数据处理器102接收到写入数据元素610的权限,则密钥b将被复制,从而可以解密密钥a,密钥a将被用于对所添加的数据元素610进行加密。当已经形成用于用户数据处理器102的访问结构630b(并且密钥b已经被复制)时,则使用修改器140а来接收密钥с,以用于在形成的访问结构630b中对密钥b进行加密。所述密钥c的副本不同于在方法700的步骤750中使用的密钥c。在当前情况下,所接收的密钥с的副本被链接到设备530的用户数据处理器102。
[0247]
可以经由修改器140a以各种方式接收链接至用户数据处理器102的密钥с。在一个方面中,所述密钥c由修改器140a直接生成,而在另一方面中,所述密钥c直接从用户数据处理器102或其已经由用户数据处理器102发布的公共源接收。例如,可以代表与用户数据处理器102相关联的设备530链接的组织生成具有私钥和公钥的证书。公钥和私钥的组合形成所述组织的密钥co。来自该组合的公钥被放置在某种类型的资源(例如,公钥数据库540)中,修改器140a可以从该资源中接收所述密钥。
[0248]
在步骤840中,经由修改器由所接收到的密钥с对密钥b进行加密。现在可以经由设备510的用户数据处理器或经由设备530的用户数据处理器102获得对容器600中的数据元素的访问。每一方借助于其自己的密钥c的副本获得对数据元素610的访问。如果使用公钥c来加密密钥b,则密钥b由私钥c解密。
[0249]
还应注意的是,在大多数情况下,仅获得对用户数据元素的访问是不够的。存储设备150a必须授权对存储数据元素的容器的实际副本进行访问。如果这尚未完成,则在步骤850中授权对存储设备150a中的容器的副本(主体)进行访问。
[0250]
container={id_container:[id],
[0251]
uai_1:[privica’,publica’],
[0252]
uai_x:[privica’,publica’],
[0253]
ica:[pubitem’],
[0254]
item:[data’]
[0255]
}
[0256]
以上已经给出了所形成的容器600的具体情况的描述,已经向该容器600添加了用于用户数据处理器102的访问结构,其中:
[0257]
·
uai_1是用户数据处理器102的访问结构630b。
[0258]
在一个方面中,如在与以下病史相关的示例中,没有使用用于访问元素620的结构,并且用于访问数据的密钥(密钥a)包含在用于用户数据处理器630的访问结构中。在大多数情况下,在逻辑上需要将密钥划分成两个级别(用于访问数据元素620的结构和用于用户数据处理器630的访问结构),以便每个密钥应恰好具有一个目的。这产生了两种有用的特性:
[0259]
·
高生产率;以及
[0260]
·
密码强度。
[0261]
通过这种两级划分,密钥可以彼此独立地旋转。特别地,在密钥b的周期性改变中,将可能从用户数据处理器630的访问结构中替换密钥b,而无需重新加密在数量上明显更大的数据元素本身;对密钥a进行重新加密就足够了。例如,在文件系统的背景中,这很重要,
因为将在所述服务操作期间阻止对元素数据的访问。因此,这种延迟越短越好。对于数据元素本身的每次改变,必须使用新的密钥a对其进行加密。由此,不存在用于侵入密钥的材料的累积。
[0262]
匿名器160a用于从设备510到存储设备150a以及从装置150a到设备530和设备520的数据传送。在一个方面中,当容器被传送到存储设备150a时,匿名器160a转换容器的标识符,并且当容器从存储设备150a传送时或者在执行来自设备510、设备520和设备530的存储设备150a中的容器的请求期间,进行反向转换。这增加了系统500对泄漏的鲁棒性。
[0263]
在以下示例中,涉及病史,
[0264]
·
密钥a的副本采用密钥publitem和privitem的组合的形式;
[0265]
·
属于服务的密钥c的副本采用密钥publservice、privservice的组合的形式;
[0266]
·
属于患者的密钥c的副本采用密钥publpatient、privpatient的组合的形式;以及
[0267]
·
属于诊所的密钥c的副本采用密钥publclinic、privclinic的组合的形式。
[0268]
在所述方面,为了简化示例,不使用密钥b。
[0269]
使用密码容器交换数据的系统可以被非常广泛地应用。例如,它可以用于护照数据的存储和传送、用于政府机构之间的数据交换、用于统一公民简档的存储、以及用于各种组织对简档的各部分的访问的控制。让我们考虑使用用于存储和更新病史的所述系统的变型的示例,病史可以形成统一公民简档的一部分。
[0270]
图9示出了用于交换用户数据的系统900的示例,该系统900被设计成用于授权经由容器访问患者的病史。系统900包括:患者设备520a、健康诊所设备530а、联邦医疗保健监督服务的设备510a(以下称为“服务”)、检索记录180、公钥数据库540以及(可选的)匿名器160,患者设备520a具有用户数据处理器102和本地存储设备150b;健康诊所设备530а具有本地存储设备150b和用户数据处理器102;联邦医疗保健监督服务的设备510a(以下称为“服务”)具有用于存储病史的中央存储设备150a。
[0271]
在此,用户数据处理器102是:
[0272]
·
患者设备520a中的用户数据处理器102;以及
[0273]
·
诊所设备530a中的用户数据处理器102。
[0274]
它管理服务的病史。设备510a和存储设备150a属于该服务。数据收集器120a接收病史(medicaldata)并且将其传送到修改器140a。修改器140a创建一对密钥(privitem,publitem),即用于解密数据(读取访问)的公钥(publitem)和用于加密数据(写入访问)的私钥(privitem)。为了简化示例,我们将考虑一对密钥,并且在这种情况下数据元素将是整个病史。在特定情况下,修改器140a可以为每个医学专业(心脏病学、泌尿科、外科等)创建几对密钥,其中,每个专业的历史是独立的数据元素。数据收集器120a接收到的病史借助于修改器140a由私钥privitem加密(medicaldata-》medicaldata’)。关于此的信息由检索记录180记录。然后形成服务的访问结构(uai_service),所创建的密钥对被放置在该服务的访问结构中,并且由该服务的公钥publservice加密(privitem-》privitem’,publitem-》publitem’),并且该服务的访问结构与加密的病史组合,从而形成容器:
[0275]
container={id_container:[idpatient],
[0276]
uai_service:[privitem’,publitem’],
[0277]
item:[medicaldata’]
[0278]
}
[0279]
容器被传送至存储设备150а。具有对存储设备150a的访问的任何方(例如,患者或健康诊所)都能访问容器和对象。然而,为了获得对容器中的数据的访问,必须接收由服务130a的数据访问权限管理器发布的权限。患者可以仅接收读取权限,并且健康诊所可以接收读取和写入两者权限。对存储设备中的容器中的数据的任何访问由检索记录180记录。可以仅在存储设备150a中制作病史中的条目及其任何修改。读取可以从链接到用户数据处理器102的本地存储150b中的本地副本发生。为了接收对容器中的数据的访问权限,患者使用设备520a的用户数据处理器102联系数据访问权限管理器130a,其中,设备520a的用户数据处理器102根据本地法律提供患者的识别数据和其他数据。如果数据被识别为有效,则数据访问权限管理器130a定义读取访问权限并且向设备520a的用户数据处理器102询问患者的公钥。在下一步骤中,权限管理器将患者的标识符和他的公钥传送到修改器140а。修改器140a联系存储设备150a并且对容器进行修改,其中:
[0280]
·
用服务的访问结构中的服务的私钥(privservice)解密用于访问历史的公钥(publitem
’‑
》publitem);
[0281]
·
复制公钥;
[0282]
·
创建患者的访问结构,并将公钥publitem放置在其中;以及
[0283]
·
用从患者设备装置520a接收到的患者公钥publpatient对用于访问历史的公钥进行加密(publitem-》publitem’)。
[0284]
容器现在包含用于访问病史数据的两种结构:
[0285]
container={id_container:[idpatient],
[0286]
uai_patient:[publitem’],
[0287]
uai_service:[privitem’,publitem’],
[0288]
item:[medicaldata’]
[0289]
},其中:
[0290]
uai_service是具有用于访问元素的加密公钥(publitem’)和用于访问元素的加密私钥(privitem’)的服务的访问结构,这些密钥已经用服务的公钥publservice加密;
[0291]
uai_patient是具有用于访问元素的加密公钥(publitem’)的患者的访问结构。
[0292]
患者经由设备520a的用户数据处理器102接收对其病史的访问。用户数据处理器120联系存储设备150a并且接收对容器的访问。用患者的私钥privpatient解密患者的访问结构中的公钥publitem。用公钥publitem对病史的相关字段进行解密。在特定情况下,用户数据处理器使用存储设备150b从存储设备150a复制容器并且将该容器存储在本地。
[0293]
让我们考虑健康诊所接收对病史的访问的示例。在特定情况下,当从患者设备520a上的用户数据处理器102请求针对健康诊所的权限时,发送通知,且在患者设备520a中的用户数据处理器102确认后,将权限发送到诊所。在另一特定情况下,患者设备520a中的用户数据处理器102可以自己发起权限的定义,已经向服务的数据访问权限管理器130a发送具有请求的应用。让我们考虑其中患者充当向诊所授权权限的发起者的场景。该系统还包括健康诊所的公钥数据库540a,该诊所的密钥在服务批准后置于该公钥数据库540a中。用户数据处理器102从患者设备520a向服务的数据访问权限管理器130a发送请求,以便向
代表健康诊所操作的用户数据处理器提供对患者病史的访问权限。该请求至少包含诊所的识别数据。该服务的数据访问权限管理器130а识别患者并且检查健康诊所的公钥在数据库540中的存在。如果在数据库中存在具有健康诊所的公钥的条目,则服务的数据访问权限管理器130а定义健康诊所访问所识别的患者的病史的权限。健康诊所接收读取和写入的权限。在下一步骤中,服务的数据访问权限管理器130a将患者的标识符和诊所的公钥传送给修改器140a。
[0294]
经由修改器140a联系存储设备150a,并且修改患者的容器(对应于患者标识符的容器),其中:
[0295]
·
服务的私钥privservice用于解密包含用于访问病史的公钥的服务的访问结构的字段:publitem
’‑
》publitem;
[0296]
·
复制公钥publitem;
[0297]
·
服务的公钥publservice用于加密包含用于访问病史的公钥的服务的访问结构的字段:publitem-》publitem’;
[0298]
·
服务的私钥privservice用于解密包含用于访问病史的私钥的服务的访问结构的字段:privlitem
’‑
》privlitem;
[0299]
·
复制私钥privitem;
[0300]
·
服务的公钥publservice用于加密包含用于访问病史的私钥的服务的访问结构的字段:privlitem-》privlitem’;
[0301]
·
创建健康诊所的访问结构,在其中放置公钥publitem和私钥privitem;
[0302]
·
诊所的公钥publclinic用于加密包含公钥的结构的字段:publitem-》pubitem’;以及
[0303]
·
诊所的公钥publclinic用于加密包含私钥privitem的结构的字段。
[0304]
容器现在包含用于访问病史数据的三个结构:
[0305]
container={id_container:[idpatient],
[0306]
uai_clinic:[privitem’,publitem’],
[0307]
uai_patient:[publitem’],
[0308]
uai_service:[privitem’,publitem’],
[0309]
item:[medicaldata’]
[0310]
},其中:
[0311]
uai_service是具有用于访问元素的加密公钥(publitem’)和用于访问元素的加密私钥(privitem’)的服务的访问结构,这些密钥已经用服务的公钥publservice加密;
[0312]
uai_patient是具有用于访问元素的加密公钥(publitem’)的患者的访问结构;以及
[0313]
uai_clinic是具有用于访问元素的加密公钥(publitem’)和用于访问元素的加密私钥(privitem’)的健康诊所的访问结构,这些密钥已经用诊所的公钥publclinic加密。
[0314]
健康诊所经由设备530a的用户数据处理器102接收对患者病史的读取访问。设备530a的用户数据处理器102联系存储设备150a并且接收对容器的访问。诊所的私钥privclinic用于解密诊所的访问结构中的公钥publitem。公钥publitem用于解密病史的相关字段。在特定情况下,用户数据处理器102使用存储设备150b从存储设备150a复制容器并
且将容器存储在本地。
[0315]
健康诊所经由设备530a的用户数据处理器102接收对患者的病史的写入访问。存储设备150a经由用户数据处理器102被联系并且对容器的访问被接收。诊所的私钥privclinic用于解密诊所的访问结构中的私钥privlitem和公钥publitem。公钥publitem用于解密病史的相关字段。将数据添加到病史。私钥privitem用于对所述数据进行加密。以相同方式将新的数据元素写入到历史。
[0316]
图10示出了用于授权用户数据处理器对用户数据的密码容器的访问方法1000。
[0317]
在步骤1005中,方法1000为用户数据创建密码容器,其中,密码容器接收用户数据的至少一个元素并且对该至少一个元素进行加密。
[0318]
在步骤1010中,方法1000为用户数据处理器建立用于使用第一密钥访问用户数据的至少一个元素的权限。
[0319]
在步骤1015中,方法1000为用户数据处理器形成至少一个访问结构,其中,至少一个访问结构的形成包括:基于所建立的权限将第一密钥放置在至少一个访问结构中,从用户数据处理器接收链接到用户数据处理器的将用于访问第一密钥的第二密钥,以及用第二密钥加密第一密钥。
[0320]
在步骤1020中,方法1000确定是否接收到访问密码容器的请求。当接收到该请求时,该方法前进到步骤1025。否则,该方法保持在步骤1020中并且继续监控请求。
[0321]
在步骤1025中,当接收到访问密码容器的请求时,方法1000基于所形成的至少一个访问结构向用户数据处理器授权对密码容器进行访问。然后该方法根据需要前进到步骤1020和步骤1005。
[0322]
在一个方面中,密码容器使用第一密钥对至少一个元素进行加密。
[0323]
在一个方面中,第二密钥是包括至少一个私钥和至少一个公钥的至少一对密钥的组合。
[0324]
在一个方面中,至少一个公钥被接收用于加密第一密钥。
[0325]
在一个方面中,关于第二密钥的信息被传送至用户数据处理器。
[0326]
在一个方面中,从被授权访问的用户数据处理器接收至少一个公钥。
[0327]
在一个方面中,用户数据的至少一个元素中的每个元素都使用各自单独的第一密钥进行加密。
[0328]
在一个方面中,基于动作集来建立用于访问至少一个元素的权限,其中,允许用户数据处理器对用户数据的至少一个元素执行动作集。
[0329]
在一个方面中,动作集包括以下各项中的至少一项:读取数据和写入数据。
[0330]
在一个方面中,为动作集中的每个动作创建单独的第一密钥。
[0331]
在一个方面中,所创建的第一密钥包括至少一对密钥的组合,该至少一对密钥包括至少一个第一私钥和至少一个第一公钥。
[0332]
在一个方面中,一对密钥由第一私钥和第一公钥形成,使得当发生写入时第一私钥用于对数据进行加密,并且当发生读取时第一公钥用于对数据进行解密。
[0333]
在一个方面中,当建立从字段中读取数据的权限时,将第一公钥放置在至少一个访问结构中。
[0334]
在一个方面中,当建立将数据写入字段的权限时,将第一私钥放置在至少一个访
问结构中。
[0335]
在一个方面中,该方法还包括:在为用户数据创建密码容器期间,为数据访问权限管理器添加访问结构,其中,用于数据访问权限管理器的所添加的访问结构的至少一个第一密钥被放置在用户数据处理器的访问结构中,其中至少一个第一密钥被加密。
[0336]
在一个方面中,将用于数据访问权限管理器的所添加的访问结构的至少一个第一密钥放置在用户数据处理器的访问结构中包括:从数据访问权限管理器的访问结构中提取第一密钥。
[0337]
在一个方面中,该方法还包括:代表用户数据处理器,请求访问在所创建的密码容器中的用户数据的元素的权限。
[0338]
图11是示出了计算机系统20的框图,在该计算机系统20上可以实现用于授权用户数据处理器对用户数据的密码容器进行访问的系统和方法的方面。计算机系统20可以采用多个计算设备的形式,或者采用单个计算设备的形式,例如,台式计算机、笔记本计算机、膝上型计算机、移动计算设备、智能电话、平板计算机、服务器、大型机、嵌入式设备和其他形式的计算设备。
[0339]
如所示出的,计算机系统20包括中央处理单元(cpu)21、系统存储器22以及连接各种系统组件(包括与中央处理单元21相关联的存储器)的系统总线23。系统总线23可以包括总线存储器或总线存储器控制器、外围总线和能够与任何其他总线架构交互的本地总线。总线的示例可以包括pci、isa、pci-express、hypertransporttm、infinibandtm、串行ata、i2c和其他合适的互连。中央处理单元21(也称为处理器)可以包括具有单个或多个核的单组或多组处理器。处理器21可以执行实现本公开的技术的一个或更多个计算机可执行代码。系统存储器22可以是用于存储本文中使用的数据和/或可以由处理器21执行的计算机程序的任何存储器。系统存储器22可以包括易失性存储器(诸如,随机存取存储器(ram)25)和非易失性存储器(诸如,只读存储器(rom)24、闪存等)或它们的任何组合。基本输入/输出系统(bios)26可以存储用于在计算机系统20的元件之间传送信息的基本程序,诸如在使用rom 24加载操作系统时的那些程序。
[0340]
计算机系统20可以包括一个或更多个存储设备,诸如一个或更多个可移动存储设备27、一个或更多个不可移动存储设备28或它们的组合。一个或更多个可移动存储设备27和不可移动存储设备28经由存储接口32连接到系统总线23。在一方面中,存储设备和对应的计算机可读存储介质是用于存储计算机系统20的计算机指令、数据结构、程序模块和其他数据的电力独立模块。系统存储器22、可移动存储设备27和不可移动存储设备28可以使用各种计算机可读存储介质。计算机可读存储介质的示例包括机器存储器(诸如高速缓存、sram、dram、零电容ram、双晶体管ram、edram、edo ram、ddr ram、eeprom、nram、rram、sonos、pram);闪存或其他存储技术(诸如固态驱动器(ssd)或闪存驱动器);诸如在硬盘驱动器或软盘中的盒式磁带、磁带和磁盘存储器;诸如光盘(cd-rom)或数字通用盘(dvd)中的光存储;以及可以用于存储所期望的数据并且可以由计算机系统20访问的任何其他介质。
[0341]
计算机系统20的系统存储器22、可移动存储设备27和不可移动存储设备28可以用于存储操作系统35、附加程序应用37、其他程序模块38和程序数据39。计算机系统20可以包括用于从输入设备40传送数据的外围接口46,输入设备40诸如键盘、鼠标、触笔、游戏控制器、语音输入设备、触摸输入设备或其他外围设备,其他外围设备诸如经由一个或更多个i/
o端口(诸如串行端口、并行端口、通用串行总线(usb)或其他外围接口)的打印机或扫描仪。显示设备47(诸如一个或更多个监视器、投影仪或集成显示器)还可以跨输出接口48(诸如视频适配器)连接到系统总线23。除了显示设备47之外,计算机系统20可以配备有其他外围输出设备(未示出),诸如扬声器和其他视听设备。
[0342]
计算机系统20可以使用连接到一个或更多个远程计算机49的网络在网络环境中操作。远程计算机(或计算机)49可以是本地计算机工作站或服务器,本地计算机工作站或服务器包括在描述计算机系统20的性质中的大多数或所有前述元件。其他设备也可存在于计算机网络中,例如但不限于路由器、网络站、对等设备或其他网络节点。计算机系统20可以包括一个或更多个网络接口51或网络适配器,用于经由一个或更多个网络(诸如局域计算机网络(lan)50、广域计算机网络(wan)、内联网和互联网)与远程计算机49通信。网络接口51的示例可以包括以太网接口、帧中继接口、sonet接口和无线接口。
[0343]
本公开的各方面可以是系统、方法、和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或媒介),计算机可读程序指令使处理器执行本公开的各方面。
[0344]
计算机可读存储介质可以是有形设备,该有形设备可以以指令或数据结构的形式保持并存储程序代码,程序代码可以由计算设备(诸如计算系统20)的处理器访问。计算机可读存储介质可以是电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或它们的任意合适的组合。举例来讲,这种计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、eeprom、便携式光盘只读存储器(cd-rom)、数字通用盘(dvd)、闪存、硬盘、便携式计算机盘、记忆棒、软盘、或甚至是机械编码的设备,机械编码的设备诸如穿孔卡片或具有记录在其上的指令的凹槽中的凸起结构。如本文中所使用,计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或传输介质传播的电磁波、或通过导线发射的电信号。
[0345]
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算设备或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算设备中的网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算设备内的计算机可读存储介质中。
[0346]
用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或更多种编程语言的任意组合编写的源代码或目标代码,一种或更多种编程语言包括面向对象的编程语言和常规过程编程语言。计算机可读程序指令可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括lan或wan)连接到用户的计算机,或者可以(例如,通过互联网)连接到外部计算机。在一些方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本公开的各方面。
[0347]
在各个方面,本公开中所描述的系统和方法可以根据模块来解决。如本文中所使
用的术语“模块”是指真实世界设备、组件或使用硬件实现的组件的布置、或作为硬件和软件的组合,使用硬件实现的组件的布置例如通过专用集成电路(asic)或fpga,作为硬件和软件的组合诸如通过微处理器系统和指令集来实现模块的功能,模块(在被执行时)将微处理器系统转换成专用设备。模块还可以被实现为两者的组合,其中某些功能由硬件单独来促进,而其他功能由硬件和软件的组合来促进。在某些实现方式中,模块的至少一部分(并且在一些情况下,全部)可以在计算机系统(诸如以上在图11中更详细地描述的计算机系统)的处理器上执行。因此,每个模块可以用各种合适的配置来实现,并且不应限于本文中例示的任何特定实现方式。
[0348]
为了清楚起见,本文并未公开各方面的所有常规特征。应当理解,在本公开的任何实际实现的开发中,必须作出众多特定于实现的决策以便实现开发者的特定目标,且这些特定目标将针对不同实现和不同开发者而变化。应当理解,这样的开发工作可能是复杂且耗时的,但是尽管如此,对于受益于本公开的本领域普通技术人员来说,这种开发工作将是常规的工程任务。
[0349]
此外,应当理解,本文使用的措辞或术语是为了描述而非限制的目的,使得本说明书的术语或措辞应由本领域技术人员结合相关领域技术人员的知识,根据本文所呈现的教导和指导来解释。此外,除非明确地说明,否则本说明书或权利要求中的任何术语并不旨在被归于不常见的或特殊的含义。
[0350]
本文公开的各个方面涵盖本文通过说明的方式提及的已知模块的当前和未来已知等效物。此外,虽然已经示出和描述了各方面和应用,但是对于受益于本公开的本领域技术人员而言显而易见的是,在不背离本文公开的发明构思的情况下,可以进行比上述更多的修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献