CN115941279A - 数据中用户标识的加解密方法、系统及设备 - Google Patents
数据中用户标识的加解密方法、系统及设备 Download PDFInfo
- Publication number
- CN115941279A CN115941279A CN202211408284.9A CN202211408284A CN115941279A CN 115941279 A CN115941279 A CN 115941279A CN 202211408284 A CN202211408284 A CN 202211408284A CN 115941279 A CN115941279 A CN 115941279A
- Authority
- CN
- China
- Prior art keywords
- information
- user
- data
- identifier
- encrypted
- 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 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000002955 isolation Methods 0.000 description 5
- 230000004931 aggregating effect Effects 0.000 description 3
- 238000005336 cracking Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 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
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种数据中用户标识的加解密方法、系统及设备。其中,加密方法包括:获取待发送至数据使用方的目标数据及所述数据使用方的信息;基于预置的场景配置信息,确定参照信息;根据所述参照信息和所述数据使用方的信息,确定密钥;利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息;根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。本申请实施例提供的方案使用加密标识替代了明文的用户标识提供给数据使用方,在满足开放场景需求的同时,消除了黑灰产使用用户标识关联到用户个人信息的风险。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据中用户标识的加解密方法、系统及设备。
背景技术
近些年,外部黑灰产对用户标识的爬取和攻击较为频繁。他们可以通过各种手段基于用户标识联系到对应用户,实施诈骗、翘客、恶意营销等犯罪行为。为了降低此类风险,需要对明文的用户标识(如用户ID、昵称等)进行加密。
现有的用户标识加密方案,安全性低。
发明内容
本申请提供一种数据中用户标识的加解密方法、系统及设备,以提高安全性。
在本申请的一个实施例中,提供了一种数据中用户标识的加密方法。所述方法包括:
获取待发送至数据使用方的目标数据及所述数据使用方的信息;
基于所述数据使用方的信息,确定参照信息和服务对象标识;
根据所述参照信息和所述数据使用方的信息,确定密钥;
利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息;
根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。
在本申请的另一个实施例中,提供了一种数据中用户标识的解密方法。该方法包括:
获取数据使用方的信息及目标数据中的加密标识;其中,所述数据使用方具有使用所述目标数据的权限;
对所述加密标识进行解析,得到参照信息及加密信息;
根据所述参照信息及所述数据使用方的信息,确定密钥;
利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识。
在本申请的另一个实施例中,提供了一种数据服务系统。该系统包括:
数据提供方,存储有数据;
数据处理子系统,具有开放平台,所述开放平台提供API;
数据使用方,通过所述API接入所述数据处理子系统,以通过所述数据处理子系统获取所述数据提供方处存储的数据;
其中,所述数据处理子系统,所述数据处理子系统,用于获取待发送至数据使用方的目标数据及所述数据使用方的信息;基于所述数据使用方的信息,确定参照信息和服务对象标识;根据所述参照信息和所述数据使用方的信息,确定密钥;利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息;根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。
本申请的还提供了一种计算设备实施例,该计算设备包括存储器和处理器,所述存储器,存储一条或多条计算机指令;所述处理器,与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于实现上述数据中用户标识的加密方法中的步骤,或上述数据中用户标识的解密方法中的步骤。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,使得所述一个或多个处理器执行上述数据中用户标识的加密方法中的步骤,或上述数据中用户标识的解密方法中的步骤。
本申请还有一实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被处理器执行时,使得所述处理器执行上述数据中用户标识的加密方法中的步骤,或上述数据中用户标识的解密方法中的步骤。
本申请各实施例提供的技术方案,在用户个人数据保护和数据安全的背景下,提出了一种开放场景下的用户标识加解密方案。本申请实施例提供的方案使用加密标识替代了明文的用户标识提供给数据使用方,在满足开放场景需求的同时,消除了黑灰产使用用户标识关联到用户个人信息的风险。本申请实施例提供的方案基于预置的场景配置信息,确定获取密钥的参照信息;可以针对不同的服务场景,配置不同的隔离和互通级别,进而管控用户数据在不同服务对象间流通;可以有效地防止破解,并难以被使用匹配到用户个人信息,可以支持快速轮换更新密钥,以进一步应对可能泄露情况的发生。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要利用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了现有技术中的一种用户标识加密方法对应的原理性示意图;
图2示出了本申请提供的一种数据中用户标识的加密方法的流程示意图;
图3示出了本申请一实施例提供的一种数据中用户标识的解密方法的流程示意图;
图4示出了本申请一实施例提供的数据中用户标识的加密方法对应的原理性示意图;
图5示出了本申请一实施例提供的数据处理系统的结构示意图;
图6示出了本申请一实施例提供的数据中用户标识的加密装置的结构框图;
图7示出了本申请一实施例提供的数据中用户标识的解密装置的结构框图;
图8示出了本申请一实施例提供的计算机设备的结构示意图。
具体实施方式
图1示出了现有技术中一种对数据中用户标识进行加密的方案。图1中,KeyCenter(密钥管理中心)。
KC发放码:通过KeyCenter维护,用于标示KC密钥的使用者。
KC密钥:通过KeyCenter申请的加密密钥,使用者可通过KeyCenter的SDK(Software Development Kit,软件包)使用KC发放码和KC密钥对用户标识进行加密和解密。
加密过程中,现有技术中采用的是对称加密,即加密和解密过程均使用相同的KC密钥。
图1所示的现有技术具有如下几点缺点:
1、实践过程中,KC密钥和KC发放码,必须手动申请并需要重启机器,不支持自动化申请和运行时的热加载。
2、用户标识在同一个KC密钥加密下的加密标识,本质还是用户唯一标识。虽然加密标识较明文用户标识有一定的安全性,但黑灰产很容易逐步建立该加密标识和用户间的对应关系。
3、KC密钥的泄露风险较高。如果需要进行密钥轮转更新,所有对外的加密编码都会失效,影响面很大。
4、加密以后的加密标识长度较长,且长度不固定,ISV(Independent SoftwareVendors,独立软件开发商或电商商家)需要改造各自对应的数据库进行维护。
因此,本申请提供了如下各实施例,采用一种加密安全性更高、隔离性好的方案,以改善现有技术中存在的问题。为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。而本申请中术语“或/和”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如:A或/和B,表示可以单独存在A,同时存在A和B,单独存在B这三种情况;本申请中字符“/”,一般表示前后关联对象是一种“或”关系。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。此外,下述的各实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在介绍本申请各实施例之前,对方案的背景进行简要说明。本申请发明人发现当下开放场景下,比如开放平台,开放平台向外提供API接口和相关开发环境。这样第三方应用开发者可基于开放平台开发第三方工具以提供给电商商家或买家等;商家自己的管理系统也可通过API接口获取商家自己的订单信息以进行相应的统计管理等等。第三方应用开发者开发的第三方工具、商家管理系统等等可通过API获取开放平台后端数据库中的数据。例如,后端数据库中的数据存储的是电商平台的数据,如买方用户信息、卖方用户信息、商品信息、店铺信息、商品类目信息、商品交易信息等等。
理想的情况是:
场景1:第三方应用开发者开发的第一个工具、第二个工具、第三个工具等分别通过API访问后端数据库获取到的数据1、数据2和数据3。假设数据1、数据2和数据3,都是同一电商平台用户A(如电商平台会员用户、或注册用户等)的数据。第三方应用开发者不能对不同工具获取到的用户数据进行聚合,即不同工具间的用户数据无法互通。
场景2:不同第三方应用开发者开发的不同的工具间的用户数据无法互通。
场景3:商家具有多个店铺,多个店铺分别对应有不同的订单管理工具。不同订单管理工具的订单信息无法互通,以禁止商家订单管理工具进行跨店铺买家信息聚合。
因为提高了对同一用户信息聚合的难度,关联链打断,这样就可以降低黑灰产使用用户标识关联到用户个人信息的风险。
为此,本申请各实施例提供如下技术方案,以提供安全性高、隔离性强的加解密方案,以达到上述目的。
图2示出了本申请一实施例提供的一种数据中用户标识的加密方法的流程示意图。如图2所示,所述加密方法包括:
101、获取待发送至数据使用方的目标数据及所述数据使用方的信息。
102、基于预置的场景配置信息,确定参照信息。
103、根据所述参照信息和所述数据使用方的信息,确定密钥。
104、利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息。
105、根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。
上述101中,数据使用方可以是应用程序(APP)、管理软件等等,本实施例对此不作限定。其中,管理软件可包括但不限于:CRM(Customer Relationship Management,客户关系管理)、商家订单管理软件、物流管理软件等等。
APP可以是ISV开发的,也可以是商家自行基于开放平台的资源开发的,等等。
其中,所述目标数据及数据使用方的信息,可通过开放平台请求的上下文来确定。例如,数据使用方通过开放平台发送针对目标数据的获取请求,若数据使用方具有该目标数据的使用权限,则读取目标数据,并向数据使用方发送目标数据。其中,获取请求中携带有数据使用方的信息。
在一具体实施例中,所述数据使用方的信息可包括:基于开放平台开发的第三方工具对应的工具标识及使用方标识。其中,使用方标识为第三方工具开发方对应的开发方标识或第三方工具使用者对应的使用者标识。例如,开发方标识为ISVID等等;使用者标识可以是第三方工具使用者的名称、昵称等等。工具标识可具体为AppKey,AppKey是工具的唯一标识。开放平台通过AppKey来鉴别应用的身份。
上述102中,场景配置信息可人为设置。该场景配置信息中可预先配置好:版本信息(如算法版本、密钥版本等),还可配置好服务场景类型。比如,当前场景主要是让不同的开发者的工具获取到用户数据无法互通、聚合。或是,当前场景旨在禁止商家订单管理工具进行跨店铺买家信息聚合。
在具体实施时,每一个数据使用方可关联有一个场景配置信息。即本实施例步骤102可包括:根据所述数据使用方的信息,获取与所述数据使用方关联的场景配置信息;然后,根据所述场景配置信息,确定所述参照信息。
参照信息可包括但不限于:版本信息、服务场景类型等。其中,所述版本信息包括算法版本信息和密钥版本信息中的至少一项。
在一个可实现的实时方式中,上述103“根据所述参照信息和所述数据使用方的信息,确定密钥”可采用如下步骤实现:
1031、根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识;
1032、基于所述参照信息及所述服务对象标识,确定密钥。
如上文中提及的数据使用方的信息包括工具标识和使用方标识,服务场景类型明确了这两个标识的具体含义。比如,当前服务场景类型为第一类型,该第一类型对应的场景为不同开发者对应工具间的用户数据不能互通合和聚合;相应的,可将数据使用方的信息中的使用方标识确定为服务对象标识。又比如,当前服务场景类型为第二类型,该第二类型对应的场景为不同工具间用户数据不能互通合和聚合;相应的,可将数据使用方的信息中的工具标识确定为服务对象标识。
第一类型和第二类型的区别在于,第一类型限制不同开发者间的数据互通,而同一开发者的多个工具间的数据还是可以实现互通的;第二类型限制不同工具间的数据互通,即便两个工具的开发方为同一个,也不能互通。
另外,此处还需要补充的是:工具可以是应用程序(APP,如小程序等),也可以是具有相应功能的管理软件等等,本实施例对此不作具体限定。
相应的,上述步骤1031“根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识”可包括:
根据所述服务场景类型,从所述工具标识和所述使用方标识中确定至少一个标识为所述服务对象标识。
进一步的,若所述工具标识和所述使用方标识中的一个被确定为所述服务对象标识,则另一个可作为服务对象拓展信息。当然,服务对象拓展信息还可以是时间戳、或一个预设置信息。即本申请实施例提供的方法还可包括如下至少一个步骤:
106、若所述工具标识和所述使用方标识中的一个被确定为所述服务对象标识,则另一个为服务对象拓展信息;
107、获取时间戳信息,将所述时间戳信息作为所述服务对象拓展信息;
108、将预设置信息作为所述服务对象拓展信息。
这样,上述步骤104的第一种可实现的方案是:直接利用密钥,并使用参照信息中的算法版本对应的算法,对目标数据中的用户标识进行加密。第二种可实现的方案是,有了服务对象拓展信息,上述步骤104“利用所述密钥对目标数据中的用户标识进行加密,得到加密信息”还采用如下步骤实现:
1041、对所述用户标识及所述服务对象拓展信息进行编码,得到第一编码信息;
1042、利用所述密钥,对所述第一编码信息进行加密,得到所述加密信息。
进一步的,本实施例中的步骤103“根据所述参照信息和所述数据使用方的信息,确定密钥”可包括:
1031’、所述参照信息和所述数据使用方的信息组成查询关键词;
1032’、查询本地内存是否有与所述查询关键词关联的密钥;
1033’、若本地内存有,查询到所述密钥;
1034’、若本地内存无,查询Redis缓存中是否有与所述查询关键词关联的密钥;
1035’、若Redis缓存中有,查询到所述密钥;
1036’、若Redis缓存中无,在数据库中查询与所述查询关键词关联的密钥。
基于上文中内容,上述1031’中的查询关键词可以包括:所述参照信息和所述服务对象标识。更具体的,所述查询关键词可以包括:算法版本信息、密钥版本信息、服务场景类型、服务对象标识。
在实践过程中,密钥的存储分为本地内存缓存(如30s过期)、Redis缓存和持久化数据库,兼顾了高并发的场景和运行时数据及时更新。
另外,本申请实施例中可包含有密钥管理中心(KeyCenter),该密钥管理中心只基于算法版本信息和密钥版本信息生成密钥,对用户标识进行加密,对外没有感知。
进一步的,本申请实施例中步骤105“根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识”可包括如下步骤:
1051、将所述参照信息进行编码,得到第二编码信息;
1052、将所述第二编码信息置于所述加密信息的前部,得到所述用户标识对应的加密标识。
图3示出了本申请另一实施例提供的数据中用户标识的解密方法的流程示意图。如图3所示,所述解密方法包括:
201、获取数据使用方的信息及目标数据中的加密标识;其中,所述数据使用方具有使用所述目标数据的权限。
202、对所述加密标识进行解析,得到参照信息及加密信息。
203、根据所述参照信息及所述数据使用方的信息,确定密钥。
204、利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识。
本申请实施例提供的方法是上述加密方法实施例的逆过程。本实施例的实现过程,可对应着上述加密方法实施例理解。
在一个具体的实施例中,所述加密标识包括位于前部的第一部分信息及位于后部的第二部分信息。第一部分信息对应参照信息,第二部分信息对应加密信息。相应的,上述步骤202“对所述加密标识进行解析,得到参照信息及加密信息”可包括:
2021、对所述第一部分信息进行解析,得到所述参照信息;
2022、所述第二部分信息即待解密的所述加密信息。
进一步的,所述参照信息包括:版本信息及服务场景类型;所述版本信息包括算法版本信息和密钥版本信息中的至少一项;以及本实施例步骤203“根据所述参照信息及所述数据使用方的信息,确定密钥”可包括:
2031、根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识;
2032、基于所述参照信息及所述服务对象标识,确定密钥。
上述2031和2032的具体实现,可参见上文中相应的步骤,此次不作赘述。
进一步的,本实施例步骤204“利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识”,可包括:
2041、利用所述密钥对所述加密信息进行解密,得到第一编码信息;
2042、对所述第一编码信息进行解析,得到解析后的信息;
2043、若所述解析后的信息包含有服务对象拓展信息,则从所述解析后的信息中提取所述用户标识;
若所述解析后的信息不含有服务对象拓展信息,则所述解析后的信息即所述用户标识。
其中,服务对象拓展信息可包括但不限于如下中的至少一项:所述数据使用方的信息中未被确定为服务对象标识的标识,时间戳、预设置信息等。
综上可知,本申请实施例提出了一种开放场景下的用户标识加解密方案。采用本申请各实施例提供的方案对数据中的用户标识进行加密,以替代明文的用户标识。这样在满足开放平台向外提供服务需求的同时,降低黑灰产使用用户标识关联到用户个人信息的风险。
本申请实施例提供的加解密方案可以针对不同的服务场景,配置不同隔离和互通级别,进而管控用户数据在不同服务对象(如ISV、商家等)间流通,可以有效防止破解,并难以被使用匹配到用户个人信息。同时还可以支持快速轮换更新密钥,以进一步应对可能的泄露情况。
另外,本申请各实施例中加密算法可以使用但不限于AES192算法。AES192算法使用了192位密钥的安全对称加密算法,目前没有有效的破解方法。AES(AdvancedEncryption Standard,高级加密标准),是一个分组密码,属于对称密码范畴,AES算法的模块在对称密码领域特别是分组密码领域常有使用。AES加密算法涉及4种操作:字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。
下面结合图4对本申请各实施例提供的加密和解密过程进行说明。参见图4所示,图中:
算法版本:标示当前加密算法的版本,用于加密算法的升级。
密钥版本:标示当前密钥所属的版本,用于支持密钥更新轮转。
服务场景类型:标示加密标识(使用本申请实施例提供的方案完成加密的用户标识可称为OpenUid,下文将使用OpenUid表征加密标识)的开放服务场景类型,用于明确服务对象标识、服务对象拓展信息的含义。
服务对象标识:标示OpenUid的使用对象,如:AppKey、ISVId、授权使用的使用者标识等。
服务对象拓展信息:作为额外的加密内容,如:时间戳、授权使用的使用者标识等。
OpenUid:为固定25个字符(如,19字节经过BASE64 RFC4648 URL SAFE转换)的编码,如:BBCHhIMbva-QL7Dmc_sakKWkW
密钥管理说明:
1、算法版本信息、密钥版本信息、服务场景类型、服务对象标识的组合对应一个密钥,即通过该组合可以查询到密钥。
2、在实践过程中,密钥的存储分为本地内存缓存(30s过期)、Redis缓存和持久化数据库,兼顾了高并发的场景和运行时数据及时更新。
3、KC只做中间密钥,对远程调用的数据中的用户标识进行防护加密,对外没有感知。
加密过程说明:
1.1、获取目标数据中的用户标识,将用户标识转换为数字类型的UserID(用于压缩并固定OpenUid长度)。
1.2、通过开放平台请求的上下文,获取AppKey和授权使用者ID。
1.3、根据预置的服务场景配置信息,获取算法版本信息、密钥版本信息及服务场景类型。
1.4、根据服务场景类型,决定AppKey和授权使用者ID中的一个是服务对象标识,另一个是服务对象拓展信息。
1.5、将服务场景类型、服务对象标识、算法版本信息及密钥版本信息组成密钥查询参数。
1.6、查询获取密钥。
1.7、对UserID和服务对象拓展信息进行编码,得到第二编码信息。
1.8、利用所述密钥对第二编码信息进行加密,得到加密信息。
1.9、对服务场景类型、算法版本信息及密钥版本信息进行编码,得到第一编码信息;
2.0、将第一编码信息与加密信息组合得到OpenUid。
解密过程说明:
2.1、通过开放平台请求的上下文,获取AppKey和授权使用者ID。
2.2、解析OpenUid的前半部分,获取算法版本、密钥版本及服务场景类型。
2.3、根据服务场景类型,决定AppKey和授权使用者ID中的一个是服务对象标识,另一个是服务对象拓展信息。
2.4、将算法版本、密钥版本、服务场景类型及服务对象标识组成密钥查询参数。
2.5、查询获得密钥。
2.6、使用密钥对OpenUid的后半部分进行解密,得到数字类型的UserID。
2.7、将数字类型的UserID转换为用户标识。
可见,本申请实施例提供的方案具有如下特点:
A、由于服务对象标识和密钥相关联,因此对于不同的服务对象而言,同一用户标识加密后的OpenUid不相同。同样的,由于服务对象拓展信息作为额外的加密内容,因此对于同一服务对象但不同的拓展信息而言,同一用户标识加密后的OpenUid也不相同。
B、同一用户标识加密后的OpenUid不同,可以阻止用户数据直接在不同的服务对象(如ISV、商家、店铺等)中互通。这不仅大大增加了黑灰产逐步加密编码和用户间的对应关系的难度,还减小了密钥轮转更新导致的影响,可以针对高风险服务对象进行单独地治理。
下面列出几种类型的服务对象和场景进行说明:
3.1:服务对象标识是ISVID:不同的开发者间的工具获取的用户数据无法互通。
3.2:服务对象标识是AppKey:不同的工具获取的用户数据无法互通,可以禁止开发者对不同功能工具的用户数据进行聚合。
3.3:服务对象标识是AppKey,服务对象拓展信息是授权使用者ID:不同的工具使用者的数据无法互通,比如:可以禁止商家订单管理工具进行跨店铺买家信息聚合。
3.4:服务对象标识是AppKey和授权使用者ID的组合:效果和上一条(3.3)相同,只是安全性更高,每一条组合对应一个密钥。
3.5:服务对象标识是AppKey,服务对象拓展信息是时间戳:每次请求用户ID均不相同。
当然,本申请实施例中的方案,可通过调整服务场景配置信息,来实现支持一些特殊场景下的数据互通,如将两个服务对象(如两个商家)对应的密钥设置为相同即可。
本申请各实施例提供的方案对应的技术效果如下:
4.1、密钥管理采用了多层缓存设计,兼顾了高并发和运行时数据的及时更新,支持自动化密钥生成和运行时加载密钥数据。
4.2、设计服务场景类型、服务对象标识、服务对象拓展信息,不同服务对象独立配置密钥,支持针对不同的服务场景,配置不同隔离和互通级别,进而管控用户数据在不同服务对象间流通。
4.3、各服务对象获取到的同一用户标识的OpenUid不同,支持有效地防止被破解,并难以被使用匹配到用户个人信息。
4.4、各服务对象密钥独立,互不影响可以进行单独治理和管理,支持快速轮转更新密钥,以进一步应对可能泄露情况的发生。
4.5、设计固定格式的加密编码OpenUid,长度为25个字符,支持正则区分OpenUid与明文用户ID,且长度小于原有明文用户昵称,ISV无需改造数据库和各类入参数校验等。
这里重点说明的是:本文中均针对数据中用户标识进行加解密进行说明的,实质上,本申请各实施例中的被加密的对象除了可以是用户标识外,还可以是其他信息,如一些不能明文的私密信息,本申请各实施例提供的方案可适用于各类信息的加解密。
图5示出了本申请一实施例提供的一种数据服务系统的结构示意图。如图5所示,所述数据服务系统包括:数据提供方11、数据处理子系统12及数据使用方13。其中,
数据提供方11,存储有数据;
数据处理子系统12,具有开放平台,所述开放平台提供API;
数据使用方13,通过所述API接入所述数据处理子系统12,以通过所述数据处理子系统12获取所述数据提供方11处存储的数据;
其中,所述数据处理子系统12,用于获取待发送至数据使用方的目标数据及所述数据使用方的信息;基于所述数据使用方的信息,确定参照信息和服务对象标识;根据所述参照信息和所述数据使用方的信息,确定密钥;利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息;根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。
本实施例中的数据处理子系统可实现上述数据中用户标识的加密方法实施例中的所有步骤,具体可参见上文中的相应内容,此次不作赘述。
进一步的,所述数据使用方13,用于获取数据使用方的信息及目标数据中的加密标识;其中,所述数据使用方具有使用所述目标数据的权限;对所述加密标识进行解析,得到参照信息及加密信息;根据所述参照信息及所述数据使用方的信息,确定密钥;利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识。
同样的,本实施例中的数据使用方可实现上述数据中用户标识的解密方法实施例中的所有步骤,具体可参见上文中的相应内容,此次不作赘述。
其中,所述数据使用方在基于参照信息及数据使用方的信息查询密钥时,可通过开放平台查询。
图6示出了本申请一实施例提供的数据中用户标识的加密装置。该加密装置包括:第一获取模块21、第一确定模块22、加密模块23及生成模块24。其中,第一获取模块21用于获取待发送至数据使用方的目标数据及所述数据使用方的信息。所述第一确定模块22用于基于预置的场景配置信息,确定参照信息;还用于根据所述参照信息和所述数据使用方的信息,确定密钥。所述加密模块23用于利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息。所述生成模块24用于根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。
进一步的,所述参照信息包括:版本信息及服务场景类型;所述版本信息包括算法版本信息和密钥版本信息中的至少一项。相应的,所述第一确定模块22在根据所述参照信息和所述数据使用方的信息,确定密钥时,具体用于:
根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识;基于所述参照信息及所述服务对象标识,确定密钥。
进一步的,所述数据使用方的信息包括:基于开放平台开发的第三方工具对应的工具标识及使用方标识;其中,使用方标识为第三方工具开发方对应的开发方标识或第三方工具使用者对应的使用者标识。相应的,
所述第一确定模块22在根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识时,具体用于:
根据所述服务场景类型,从所述工具标识和所述使用方标识中确定至少一个标识为所述服务对象标识。
进一步的,本申请实施例提供的加密装置还可包括拓展信息确定模块。该拓展信息确定模块用于:
若所述工具标识和所述使用方标识中的一个被确定为所述服务对象标识,则另一个为服务对象拓展信息;和/或
获取时间戳信息,将所述时间戳信息作为所述服务对象拓展信息;和/或
将预设置信息作为所述服务对象拓展信息。
进一步的,所述加密模块在利用所述密钥对目标数据中的用户标识进行加密,得到加密信息时,具体用于:
对所述用户标识及所述服务对象拓展信息进行编码,得到第一编码信息;利用所述密钥,对所述第一编码信息进行加密,得到所述加密信息。
进一步的,所述第一确定模块22在根据所述参照信息和所述数据使用方的信息,确定密钥时,具体用于:
所述参照信息和所述数据使用方的信息组成查询关键词;
查询本地内存是否有与所述查询关键词关联的密钥;
若本地内存有,查询到所述密钥;
若本地内存无,查询Redis缓存中是否有与所述查询关键词关联的密钥;
若Redis缓存中有,查询到所述密钥;
若Redis缓存中无,在数据库中查询与所述查询关键词关联的密钥。
进一步的,所述生成模块24在根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识时,具体用于:
将所述参照信息进行编码,得到第二编码信息;将所述第二编码信息置于所述加密信息的前部,得到所述用户标识对应的加密标识。
这里需要说明的是:本实施例提供的数据中用户标识的加密装置可实现上述数据中用户标识的加密方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
图7示出了本申请一实施例提供的数据中用户标识的解密装置的结构示意图。如图7所示,所述解密装置包括:第二获取模块31、解析模块32、第二确定模块33及解密模块34。其中,所述第二获取模块31用于获取数据使用方的信息及目标数据中的加密标识;其中,所述数据使用方具有使用所述目标数据的权限。所述解析模块32用于对所述加密标识进行解析,得到参照信息及加密信息。所述第二确定模块33用于根据所述参照信息及所述数据使用方的信息,确定密钥。所述解密模块34用于利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识。
进一步的,所述加密标识包括位于前部的第一部分信息及位于后部的第二部分信息。相应的,所述解析模块32在对所述加密标识进行解析,得到参照信息及加密信息时,具体用于:
对所述第一部分信息进行解析,得到所述参照信息;所述第二部分信息即待解密的所述加密信息。
进一步的,所述参照信息包括:版本信息及服务场景类型;所述版本信息包括算法版本信息和密钥版本信息中的至少一项。相应的,所述第二确定模块33在根据所述参照信息及所述数据使用方的信息,确定密钥时,具体用于:
根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识;基于所述参照信息及所述服务对象标识,确定密钥。
进一步的,所述解密模块34在利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识时,具体用于:
利用所述密钥对所述加密信息进行解密,得到第一编码信息;对所述第一编码信息进行解析,得到解析后的信息;若所述解析后的信息包含有服务对象拓展信息,则从所述解析后的信息中提取所述用户标识;若所述解析后的信息不含有服务对象拓展信息,则所述解析后的信息即所述用户标识。
进一步的,所述数据使用方的信息包括:基于开放平台开发的第三方工具对应的工具标识及使用方标识;其中,使用方标识为第三方工具开发方对应的开发方标识或第三方工具使用者对应的使用者标识。所述参照信息包括:版本信息及服务场景类型,所述版本信息包括算法版本信息和密钥版本信息中的至少一项。相应的,
所述第二确定模块33在根据所述参照信息及所述数据使用方的信息,确定服务对象标识时,具体用于:
根据所述服务场景类型,从所述工具标识和所述使用方标识中确定至少一个标识为所述服务对象标识。
这里需要说明的是:本实施例提供的数据中用户标识的解密装置可实现上述数据中用户标识的解密方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
本申请一实施例提供的计算设备的原理性结构示意图。该原理性结构示意图如图8所示。具体地,所述计算设备包括存储器51及处理器52。其中,所述存储器51用于存储一条或多条计算机指令;所述处理器52,与所述存储器51耦合,用于所述至少一条或多条计算机指令(如实现数据存储逻辑的计算机指令),以用于实现本申请实施例提供的数据中用户标识的加密方法中的步骤,或数据中用户标识的解密方法中的步骤。
上述中,存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
图8中仅示意性给出了计算设备可包含的部分组件,并不意味着计算设备只包括图8所示组件,如音频组件56、显示器54、电源组件55、通信组件53等等。
本申请还有一实施例提供一种计算机程序产品(说明书附图中无相应附图示出)。该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被处理器执行时,致使所述处理器能够实现上述各方法实施例中的步骤。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的方法步骤或功能。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种数据中用户标识的加密方法,其特征在于,包括:
获取待发送至数据使用方的目标数据及所述数据使用方的信息;
基于预置的场景配置信息,确定参照信息;
根据所述参照信息和所述数据使用方的信息,确定密钥;
利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息;
根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。
2.根据权利要求1所述的方法,其特征在于,所述参照信息包括:版本信息及服务场景类型;所述版本信息包括算法版本信息和密钥版本信息中的至少一项;以及
根据所述参照信息和所述数据使用方的信息,确定密钥,包括:
根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识;
基于所述参照信息及所述服务对象标识,确定密钥。
3.根据权利要求2所述的方法,其特征在于,所述数据使用方的信息包括:基于开放平台开发的第三方工具对应的工具标识及使用方标识;其中,使用方标识为第三方工具开发方对应的开发方标识或第三方工具使用者对应的使用者标识;以及
根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识,包括:
根据所述服务场景类型,从所述工具标识和所述使用方标识中确定至少一个标识为所述服务对象标识。
4.根据权利要求3所述的方法,其特征在于,还包括:
若所述工具标识和所述使用方标识中的一个被确定为所述服务对象标识,则另一个为服务对象拓展信息;和/或
获取时间戳信息,将所述时间戳信息作为所述服务对象拓展信息;和/或
将预设置信息作为所述服务对象拓展信息。
5.根据权利要求4所述的方法,其特征在于,利用所述密钥对目标数据中的用户标识进行加密,得到加密信息,包括:
对所述用户标识及所述服务对象拓展信息进行编码,得到第一编码信息;
利用所述密钥,对所述第一编码信息进行加密,得到所述加密信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,根据所述参照信息和所述数据使用方的信息,确定密钥,包括:
所述参照信息和所述数据使用方的信息组成查询关键词;
查询本地内存是否有与所述查询关键词关联的密钥;
若本地内存有,查询到所述密钥;
若本地内存无,查询Redis缓存中是否有与所述查询关键词关联的密钥;
若Redis缓存中有,查询到所述密钥;
若Redis缓存中无,在数据库中查询与所述查询关键词关联的密钥。
7.根据权利要求1至5中任一项所述的方法,其特征在于,根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识,包括:
将所述参照信息进行编码,得到第二编码信息;
将所述第二编码信息置于所述加密信息的前部,得到所述用户标识对应的加密标识。
8.一种数据中用户标识的解密方法,其特征在于,包括:
获取数据使用方的信息及目标数据中的加密标识;其中,所述数据使用方具有使用所述目标数据的权限;
对所述加密标识进行解析,得到参照信息及加密信息;
根据所述参照信息及所述数据使用方的信息,确定密钥;
利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识。
9.根据权利要求8所述的方法,其特征在于,所述加密标识包括位于前部的第一部分信息及位于后部的第二部分信息;以及
对所述加密标识进行解析,得到参照信息及加密信息,包括:
对所述第一部分信息进行解析,得到所述参照信息;
所述第二部分信息即待解密的所述加密信息。
10.根据权利要求8所述的方法,其特征在于,所述参照信息包括:版本信息及服务场景类型;所述版本信息包括算法版本信息和密钥版本信息中的至少一项;以及
根据所述参照信息及所述数据使用方的信息,确定密钥,包括:
根据所述服务场景类型,从所述数据使用方的信息中确定出服务对象标识;
基于所述参照信息及所述服务对象标识,确定密钥。
11.根据权利要求8至10中任一项所述的方法,其特征在于,利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识,包括:
利用所述密钥对所述加密信息进行解密,得到第一编码信息;
对所述第一编码信息进行解析,得到解析后的信息;
若所述解析后的信息包含有服务对象拓展信息,则从所述解析后的信息中提取所述用户标识;
若所述解析后的信息不含有服务对象拓展信息,则所述解析后的信息即所述用户标识。
12.一种数据服务系统,其特征在于,包括:
数据提供方,存储有数据;
数据处理子系统,具有开放平台,所述开放平台提供API;
数据使用方,通过所述API接入所述数据处理子系统,以通过所述数据处理子系统获取所述数据提供方处存储的数据;
其中,所述数据处理子系统,用于获取待发送至数据使用方的目标数据及所述数据使用方的信息;基于所述数据使用方的信息,确定参照信息和服务对象标识;根据所述参照信息和所述数据使用方的信息,确定密钥;利用所述密钥对所述目标数据中的用户标识进行加密,得到加密信息;根据所述参照信息及所述加密信息,生成所述用户标识对应的加密标识。
13.根据权利要求12所述的系统,其特征在于,
所述数据使用方,用于获取数据使用方的信息及目标数据中的加密标识;其中,所述数据使用方具有使用所述目标数据的权限;对所述加密标识进行解析,得到参照信息及加密信息;根据所述参照信息及所述数据使用方的信息,确定密钥;利用所述密钥对所述加密信息进行解密,得到所述加密标识对应的用户标识。
14.一种计算设备,其特征在于,包括:存储器及处理器,其中,
所述存储器,存储一条或多条计算机指令;
所述处理器,与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于实现上述权利要求1至7中任一项所述方法中的步骤,或权利要求8至11中任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211408284.9A CN115941279A (zh) | 2022-11-10 | 2022-11-10 | 数据中用户标识的加解密方法、系统及设备 |
PCT/CN2023/071988 WO2024098550A1 (zh) | 2022-11-10 | 2023-01-13 | 数据中用户标识的加解密方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211408284.9A CN115941279A (zh) | 2022-11-10 | 2022-11-10 | 数据中用户标识的加解密方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115941279A true CN115941279A (zh) | 2023-04-07 |
Family
ID=86549812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211408284.9A Pending CN115941279A (zh) | 2022-11-10 | 2022-11-10 | 数据中用户标识的加解密方法、系统及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115941279A (zh) |
WO (1) | WO2024098550A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756761A (zh) * | 2023-08-22 | 2023-09-15 | 广东南方电信规划咨询设计院有限公司 | 一种对数据进行加密的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302312B (zh) * | 2015-05-13 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 获取电子文件的方法及装置 |
CN107196840B (zh) * | 2016-03-14 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
CN111064757B (zh) * | 2020-03-18 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 应用访问方法、装置、电子设备以及存储介质 |
CN111914291A (zh) * | 2020-07-28 | 2020-11-10 | 广州市百果园信息技术有限公司 | 消息处理方法、装置、设备及存储介质 |
CN115208705B (zh) * | 2022-09-16 | 2022-12-20 | 广州万协通信息技术有限公司 | 基于链路数据自适应调整的加密解密方法及装置 |
-
2022
- 2022-11-10 CN CN202211408284.9A patent/CN115941279A/zh active Pending
-
2023
- 2023-01-13 WO PCT/CN2023/071988 patent/WO2024098550A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756761A (zh) * | 2023-08-22 | 2023-09-15 | 广东南方电信规划咨询设计院有限公司 | 一种对数据进行加密的方法及装置 |
CN116756761B (zh) * | 2023-08-22 | 2024-01-12 | 广东南方电信规划咨询设计院有限公司 | 一种对数据进行加密的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2024098550A1 (zh) | 2024-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5814282B2 (ja) | Otaサービスを提供するためのシステムおよびその方法 | |
US11411938B2 (en) | Proof-of-work key wrapping with integrated key fragments | |
US11316839B2 (en) | Proof-of-work key wrapping for temporally restricting data access | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
US11216570B2 (en) | Reducing compromise of sensitive data in virtual machine | |
US11303437B2 (en) | Proof-of-work key wrapping with key thresholding | |
US11424920B2 (en) | Proof-of-work key wrapping for cryptographically controlling data access | |
CN108681676B (zh) | 数据管理方法和装置、系统、电子设备、程序和存储介质 | |
CN110245004A (zh) | 命令执行方法、装置、设备及计算机可读存储介质 | |
CN102469080A (zh) | 实现通行证用户安全登录应用客户端的方法和系统 | |
JP2019503533A5 (zh) | ||
CN110061967A (zh) | 业务数据提供方法、装置、设备及计算机可读存储介质 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN116662941B (zh) | 信息加密方法、装置、计算机设备和存储介质 | |
CN111131282A (zh) | 请求加密方法、装置、电子设备及存储介质 | |
CN114528571A (zh) | 资源访问和数据处理的方法、装置、电子设备及介质 | |
CN115941279A (zh) | 数据中用户标识的加解密方法、系统及设备 | |
US20190362093A1 (en) | Computer-implemented method of transferring a data string from an application to a data protection device | |
CN112783847B (zh) | 数据共享方法及装置 | |
Dalheimer et al. | Genlm: license management for grid and cloud computing environments | |
CN116455572B (zh) | 数据加密方法、装置及设备 | |
CN113422758B (zh) | 数据加密方法、装置、物联网系统、电子设备及存储介质 | |
CN111125734B (zh) | 一种数据处理方法及系统 | |
CN108809651B (zh) | 密钥对管理方法和终端 |
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 |