CN111818514B - 一种隐私安全设备标识生成方法、装置及系统 - Google Patents
一种隐私安全设备标识生成方法、装置及系统 Download PDFInfo
- Publication number
- CN111818514B CN111818514B CN202010881783.4A CN202010881783A CN111818514B CN 111818514 B CN111818514 B CN 111818514B CN 202010881783 A CN202010881783 A CN 202010881783A CN 111818514 B CN111818514 B CN 111818514B
- Authority
- CN
- China
- Prior art keywords
- client
- identification
- identifier
- information
- generating
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- 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/12—Applying verification of the received information
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种隐私安全设备标识生成方法、装置及系统,属于信息安全技术领域,方法包括:服务器接收客户端发送的上报数据信息和应用程序信息,对上报数据信息并解析,得到上报数据解析结果;在根据上报数据解析结果判定是首次生成客户标识的情形下,对能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将其返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成并更新服务标识,根据服务标识和应用程序信息生成并更新客户标识,将客户标识发送至客户端;在判定不是首次生成客户标识的情形下,通知客户端通信成功;能避免不法分子通过应用程序追踪用户的使用痕迹、盗取用户信息。
Description
技术领域
本发明属于信息安全技术领域,特别涉及一种隐私安全设备标识生成方法、装置及系统。
背景技术
随着人们生活水平的提高和科学技术的发展,智能移动设备已广泛应用到人们生活中,现如今智能移动设备都是用一个特定的标识进行设备标识,比如苹果IOS的IDFA,安卓系统的IMEI,无论是苹果IOS设备的IDFA还是安卓系统设备的IMEI都是静态的设备标识。
本发明人经研究发现,现有技术中,各个APP厂商都可以使用这个ID进行用户行为的追踪,尤其是SDK厂商,使用这些数据进行跨APP行为分析追踪。同时还有部分厂商,私下贩卖这些数据,获取非法利益。
发明内容
为了至少解决上述技术问题,本发明提供了一种隐私安全设备标识生成方法、装置及系统。
根据本发明第一方面,提供了一种隐私安全设备标识生成方法,包括:
服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功。
所述在根据上报数据解析结果判定不是首次生成客户标识的情形下,还包括:判断客户标识是否过期,对于客户标识已过期的情形,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端。
所述将客户标识发送至客户端,还包括:生成客户标识的关联关系,将客户标识的关联关系同步至各厂商。
所述从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,包括:从上报数据解析结果中获取硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,根据硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,生成设备唯一指纹作为服务标识。
所述根据服务标识和应用程序信息生成客户标识,包括:生成时间戳,然后根据服务标识、应用程序信息和时间戳生成客户标识。
根据本发明第二方面,提供一种隐私安全设备标识生成系统,包括:
与服务器建立连接的客户端,
安装于客户端的应用程序首次被启动的情形下,软件开发工具包获取客户端的硬件信息和本地标识,将硬件信息和本地标识作为上报数据信息上报给服务器,同时将应用程序信息上报给服务器;安装于客户端的应用程序非首次被启动的情形下,获取客户端的硬件信息、客户标识,将获取到的硬件信息以及客户标识作为上报数据信息发送给服务器;
服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功。
所述安装于客户端的应用程序首次被启动的情形下,生成本地标识,其中,生成本地标识的方法包括:按照预先设定的方式生成随机数,获取时间戳,根据硬件信息、时间戳以及随机数,按照预设算法生成本地标识,使得生成的本地标识为密文。
根据本发明第三方面,提供一种隐私安全设备标识生成装置,包括:
解析模块,用于服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
信息处理模块,用于在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
判定模块,用于在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功。
根据本发明第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现如上所述方法的步骤。
根据本发明第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现如上所述的方法。
本发明的有益效果:本系统通过向服务器发送密文形式的本地标识以触发服务器下发客户标识的机制,大大降低个人数据信息泄露的风险,提高隐私信息的安全性,在服务器端对接收到的本地标识进行校验,以避免本地标识被篡改、伪造,进一步提高信息的安全性。依据应用程序信息和服务标识生成客户标识,使得客户标识有赖于应用程序信息,避免不法分子通过应用程序追踪用户的使用痕迹、盗取用户信息的情况发生。本发明通过采用服务器生成并保存服务标识,使得服务标识符合统一的行业规范,另外,服务标识仅存储于服务器中,不参与数据传输,有效避免数据隐私泄露,使得服务标识更为安全可靠。
附图说明
本发明上述的和 / 或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1为本发明提供的一种隐私安全设备标识生成方法流程图;
图2为本发明提供的一种隐私安全设备标识生成系统示意图;
图3为本发明提供一种隐私安全设备标识生成装置示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
在本发明的第一方面,提供一种隐私安全设备标识生成方法,如图1所示,包括:
步骤201:服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
在本发明实施例中,安装于客户端的应用程序被启动时,获取客户端的硬件信息、客户标识,将获取到的硬件信息以及客户标识作为上报数据信息发送给服务器。
进一步地,在应用程序首次被启动的情形下,获取客户端的硬件信息和本地标识,将硬件信息和本地标识作为上报数据信息上报给服务器。
也就是说,客户端向服务器发送的上报数据信息至少包含硬件信息和客户标识。作为安装于客户端上首次被启动的应用程序,对应的上报数据信息至少包含硬件信息和本地标识。进一步地,客户端向服务器发送上报数据信息的同时,一并将客户端操作系统版本、客户端设备型号、SDK版本发送给服务器。
本发明中,本地标识的生成方法,包括:按照预先设定的方式生成随机数,获取时间戳,根据硬件信息、时间戳以及随机数,按照预设算法生成本地标识,使得生成的本地标识为密文,进而实现将本地标识以密文的形式进行数据传输,即使密文形式的本地标识泄露,也不影响硬件信息的安全性,从而保障了数据安全传输。从根本上实现了客户端设备的本地标识是动态可变的,使得设备定时进行变更本地标识。
具体地,可以采用MD5算法作为预设算法,选取硬件信息字段列表[C1,C2],取指纹信息,对硬件信息字段列表[C1,C2]采用MD5算法进行计算,得到指纹信息,即S1=MD5(C1 +"___" + C2);
生成用12位十六进制数表示的时间戳,生成用12位十六进制数表示的随机数数RAND,根据指纹信息、随机数、时间戳生成一个40位的十六进制字符串,即构造可逆信息串S2=subtring(S1,0,16) + TS + RAND。
将构造的可逆信息串转成数字,同时根据混淆的码表转成三十二进制,形成32位的三十二进制字符串ID作为本地标识,即LOCALID=BASE32(S2)。
服务器在解析得到本地标识的情形下,可以对本地标识进行验证,具体可以采用预设算法对本地标识进行解密,对得到的解密结果进行验证,以此判定本地标识是否合法。
本发明中,服务器从本地标识中解析出硬件信息,指纹,时间戳,对硬件信息进行计算,得到的指纹与解析出的指纹相同的情形下,判断时间戳与当前时间戳是否一致,在时间戳与当前时间戳一致的情形下,判定本地标识合法,否则不合法。以此进行校验,防止本地标识被篡改伪造。
更进一步地,客户端的应用程序被启动,向服务器发送上报数据信息时,将被启动的应用程序信息一并发送给服务器。其中,应用程序信息可以是应用程序标识即APP标识。客户嵌入SDK时,需要向厂商提供APP唯一标识(如软件包名)和名称,厂商分配给客户一个APP标识,客户需要将APP标识配置在SDK中。各个厂商把APP标识和名称的关系同步到服务器。
本发明中,通过将上报数据信息发送给服务器的方式,触发服务器生成和分发新的客户标识以及服务标识。
步骤202:根据上报数据解析结果判断是否首次生成客户标识,是则执行步骤203;否则执行步骤207;
在本发明实施例中,判断上报数据解析结果中是否存在本地标识,是则判定为首次生成客户标识,否则判定为非首次生成客户标识。
步骤203:根据上报数据解析结果判断硬件是否能匹配到已有的客户标识,是则执行步骤204;否则执行步骤205;
在本发明中,从上报数据解析结果中获取硬件信息以及应用程序信息,根据硬件信息和应用程序信息判断是否能匹配到已有的客户标识,在存在硬件信息和应用程序信息对应的客户标识的情形下,确定能匹配到已有的客户标识。
通过判断是否能匹配到已有的客户标识,有效避免了清空沙盒数据,以及因二次安装应用程序导致客户标识丢失的情况发生,本发明通过根据硬件信息以及应用程序信息找回已分配过的客户标识。
步骤204:获取匹配到的客户标识,并将匹配到的客户标识返回至客户端。
本发明实施例中,通过将匹配到的客户标识返回至客户端,能够快速的实现客户标识下发,有效提高工作效率。
步骤205:从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,执行步骤206;
本发明中,从上报数据解析结果中获取硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,根据硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,生成设备唯一指纹作为服务标识。服务标识和硬件信息绑定,不可逆。其中,客户端可以为手机等智能移动设备。
进一步地,根据客户端操作系统版本、客户端设备型号生成硬件信息列表,再根据硬件信息列表按照顺序拼接生成字符串,采用MD5算法进行计算,得到十六进制的字符串,即VAL=MD5("ROOTID_" + C1 + "##" + C2 + "##" + C3);
将该十六进制的字符串转换成三十二进制,码表[0-9A-V],服务标识固定长度26,不区分大小写,即服务标识为:ROOTID=BASE32(VAL)。
需要说明的是,可以在客户端设备中选择离散度比较好的字段组合生成服务标识,另外,随着客户端设备型号和客户端操作系统版本的升级,SDK也会随着更新,生成服务标识使用的字段也将适应做调整。
步骤206:根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束。
在本发明中,首先生成时间戳,然后根据服务标识、应用程序信息和时间戳生成客户标识。进一步地,根据服务标识和时间戳以及应用程序信息生成指纹信息,S1=MD5("ZXID_" + ROOTID + "##" + APPID + "##" + TS);
生成一个随机数,将8位十六进制数和指纹信息进行拼接,得到40位的十六进制数,S2=S1 + RAND;
按照混淆码表,将得到的40位十六进制数转换成三十二进制的字符串,作为客户标识,即ZXID=BASE32(S2)。
本发明中客户端设备上各应用程序被启动时对应的客户标识各不相同,有效避免了跨应用程序随意追踪用户行为的情况发生。
步骤207:判断客户标识是否过期,是则执行步骤206;否则通知客户端通信成功。
本发明中,从客户标识中解析出时间戳,生成当前时间戳,将当前时间戳与解析得到的时间做减法运算,对得到的运算结果进行判断,如果得到的运算结果在预设范围内,则判定客户标识未过期,否则判定客户标识已过期。也可以直接判断解析得到的时间戳与当前时间戳是否一致,在时间戳与当前时间戳一致的情形下,判定客户标识未过期。
本发明有效解决了广告精准营销的问题,客户标识的映射关系分布式网络存储,存储在多个服务商中,广告精准营销需要查询对应关系,为了防止单一节点请求量过大,因此分布存储多个服务节点,保证服务的高可用行。
综上所述,本发明的服务器根据设置在客户端的本地标识,生成服务标识,再依据服务标识和客户端被启动的应用程序对应的应用程序信息,生成客户标识,将客户标识发送给客户端。使得客户端在通信过程中使用客户标识标志身份信息,对于各应用程序而言,应用程序对应的客户标识都是唯一的,并且是密文形式,从而大大提高了数据安全性。
在本发明的另一实施例中,提供一种隐私安全设备标识生成方法,包括:
步骤201’:服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
在本发明实施例中,安装于客户端的应用程序被启动时,获取客户端的硬件信息、客户标识,将获取到的硬件信息以及客户标识作为上报数据信息发送给服务器。
进一步地,在应用程序首次被启动的情形下,获取客户端的硬件信息和本地标识,将硬件信息和本地标识作为上报数据信息上报给服务器。
也就是说,客户端向服务器发送的上报数据信息至少包含硬件信息和客户标识。作为安装于客户端上首次被启动的应用程序,对应的上报数据信息至少包含硬件信息和本地标识。进一步地,客户端向服务器发送上报数据信息的同时,一并将客户端操作系统版本、客户端设备型号、SDK版本发送给服务器。
本发明中,本地标识的生成方法与步骤201采用的方法相同,此处不再赘述。
服务器在解析得到本地标识的情形下,可以对本地标识进行验证,具体可以采用预设算法对本地标识进行解密,对得到的解密结果进行验证,以此判定本地标识是否合法。
本发明中,服务器从本地标识中解析出硬件信息,指纹,时间戳,对硬件信息进行计算,得到的指纹与解析出的指纹相同的情形下,判断时间戳与当前时间戳是否一致,在时间戳与当前时间戳一致的情形下,判定本地标识合法,否则不合法。以此进行校验,防止本地标识被篡改伪造。
更进一步地,客户端的应用程序被启动,向服务器发送上报数据信息时,将被启动的应用程序信息一并发送给服务器。其中,应用程序信息可以是应用程序标识。
本发明中,通过将上报数据信息发送给服务器的方式,触发服务器生成和分发新的客户标识以及服务标识。
步骤202’:根据上报数据解析结果判断是否首次生成客户标识,是则执行步骤203’;否则执行步骤207’;
在本发明实施例中,判断上报数据解析结果中是否存在本地标识,是则判定为首次生成客户标识,否则判定为非首次生成客户标识。
步骤203’:根据上报数据解析结果判断硬件是否能匹配到已有的客户标识,是则执行步骤204’;否则执行步骤205’;
在本发明中,从上报数据解析结果中获取硬件信息以及应用程序信息,根据硬件信息和应用程序信息判断是否能匹配到已有的客户标识,在存在硬件信息和应用程序信息对应的客户标识的情形下,确定能匹配到已有的客户标识。
通过判断是否能匹配到已有的客户标识,有效避免了清空沙盒数据,以及因二次安装应用程序导致客户标识丢失的情况发生,本发明通过根据硬件信息以及应用程序信息找回已分配过的客户标识。
步骤204’:获取匹配到的客户标识,并将匹配到的客户标识返回至客户端。
本发明实施例中,通过将匹配到的客户标识返回至客户端,能够快速的实现客户标识下发,有效提高工作效率。
步骤205’:从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,执行步骤206’;
本发明中,从上报数据解析结果中获取硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,根据硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,生成设备唯一指纹作为服务标识。服务标识和硬件信息绑定,不可逆。其中,客户端可以为手机等智能移动设备。
需要说明的是,可以在客户端中选择离散度比较好的字段组合生成服务标识,另外,随着客户端设备型号和客户端操作系统版本的升级,SDK也会随着更新,生成服务标识使用的字段也将适应做调整。
步骤206’:根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,生成客户标识的关联关系,将客户标识的关联关系同步至各厂商,结束。
在本发明中,生成客户标识的方法与步骤206采用的方法相同,此处不再赘述。
本发明中安装于客户端上的各应用程序被启动时,对应的客户标识各不相同,有效避免了跨应用程序随意追踪用户行为的情况发生。
将客户标识下发至客户端,具体可以通过SDK嵌入客户端的方式,然后可以生成客户标识的关联关系,其中,客户标识的关联关系至少包括对应的硬件信息、客户端操作系统版本、客户端设备型号、SDK版本、应用程序信息,将客户标识的关联关系同步给各大厂商,使得各大厂商能向外提供查询服务。
进一步地,在各大厂商端获取到任意客户标识的情形下,能够查询到对应的应用程序名称;在各大厂商端获取到待转化的应用程序信息的情形下,能够查询到该指定应用程序信息对应的的客户标识。
也可以在各大厂商端以输入SDK包名或名称的方式,查询出对应的客户标识名称、应用程序信息。
步骤207’:判断客户标识是否过期,是则执行步骤206;否则通知客户端通信成功。
本发明中,SDK采集的数据上报的服务器为统一机构,例如中国信息通信院,避免生成ID数据无法全行业统一,同时数据保存权威机构,避免数据隐私泄露。
本发明有效解决广告精准营销的问题,客户标识的映射关系分布式网络存储,存储在多个服务商中,广告精准营销需要查询对应关系,为了防止单一节点请求量过大,因此分布存储多个服务节点,保证服务的高可用行。
根据本发明第二方面提供一种隐私安全设备标识生成系统,包括:与服务器建立连接的客户端,
步骤301:安装于客户端的应用程序首次被启动的情形下,软件开发工具包获取客户端的硬件信息和本地标识,将硬件信息和本地标识作为上报数据信息上报给服务器,同时将应用程序信息上报给服务器;安装于客户端的应用程序非首次被启动的情形下,获取客户端的硬件信息、客户标识,将获取到的硬件信息以及客户标识作为上报数据信息发送给服务器;
在本发明实施例中,对客户端来说,安装于客户端的应用程序被启动时,获取客户端的硬件信息、客户标识,将获取到的硬件信息以及客户标识作为上报数据信息发送给服务器。
进一步地,在应用程序首次被启动的情形下,获取客户端的硬件信息和本地标识,将硬件信息和本地标识作为上报数据信息上报给服务器。
也就是说,客户端向服务器发送的上报数据信息至少包含硬件信息和客户标识。作为安装于客户端上首次被启动的应用程序,对应的上报数据信息至少包含硬件信息和本地标识。进一步地,客户端向服务器发送上报数据信息的同时,一并将客户端操作系统版本、客户端设备型号、SDK版本发送给服务器。
本发明中,本地标识的生成方法,包括:按照预先设定的方式生成随机数,获取时间戳,根据硬件信息、时间戳以及随机数,按照预设算法生成本地标识,使得生成的本地标识为密文,进而实现将本地标识以密文的形式进行数据传输,即使密文形式的本地标识泄露,也不影响硬件信息的安全性,从而保障了数据安全传输。从根本上实现了客户端设备的本地标识是动态可变的,使得设备定时进行变更本地标识。
具体地,可以采用MD5算法作为预设算法,选取硬件信息字段列表[C1,C2],取指纹信息,对硬件信息字段列表[C1,C2]采用MD5算法进行计算,得到指纹信息,即S1=MD5(C1 +"___" + C2);
生成用12位十六进制数表示的时间戳,生成用12位十六进制数表示的随机数数RAND,根据指纹信息、随机数、时间戳生成一个40位的十六进制字符串,即构造可逆信息串S2=subtring(S1,0,16) + TS + RAND。
将构造的可逆信息串转成数字,同时根据混淆的码表转成三十二进制,形成32位的三十二进制字符串ID作为本地标识,即LOCALID=BASE32(S2)。
进一步地,客户端的应用程序被启动,向服务器发送上报数据信息时,将被启动的应用程序信息一并发送给服务器。其中,应用程序信息可以是应用程序标识即APP标识。客户嵌入SDK时,需要向厂商提供APP唯一标识(如软件包名)和名称,厂商分配给客户一个APP标识,客户需要将APP标识配置在SDK中。各个厂商把APP标识和名称的关系同步到服务器。
本发明中,通过将上报数据信息发送给服务器的方式,触发服务器生成和分发新的客户标识以及服务标识。
步骤302:服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
本发明中,服务器在解析得到本地标识的情形下,可以对本地标识进行验证,具体可以采用预设算法对本地标识进行解密,对得到的解密结果进行验证,以此判定本地标识是否合法。
本发明中,服务器从本地标识中解析出硬件信息,指纹,时间戳,对硬件信息进行计算,得到的指纹与解析出的指纹相同的情形下,判断时间戳与当前时间戳是否一致,在时间戳与当前时间戳一致的情形下,判定本地标识合法,否则不合法。以此进行校验,防止本地标识被篡改伪造。
步骤303:服务器在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
在本发明实施例中,判断上报数据解析结果中是否存在本地标识,是则判定为首次生成客户标识,否则判定为非首次生成客户标识。
在本发明中,从上报数据解析结果中获取硬件信息以及应用程序信息,根据硬件信息和应用程序信息判断是否能匹配到已有的客户标识,在存在硬件信息和应用程序信息对应的客户标识的情形下,确定能匹配到已有的客户标识。
通过判断是否能匹配到已有的客户标识,有效避免了清空沙盒数据,以及因二次安装应用程序导致客户标识丢失的情况发生,本发明通过根据硬件信息以及应用程序信息找回已分配过的客户标识。通过将匹配到的客户标识返回至客户端,能够快速的实现客户标识下发,有效提高工作效率。
本发明,从上报数据解析结果中获取硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,根据硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,生成设备唯一指纹作为服务标识。服务标识和硬件信息绑定,不可逆。其中,客户端可以为手机等智能移动设备。
进一步地,根据客户端操作系统版本、客户端设备型号生成硬件信息列表,再根据硬件信息列表按照顺序拼接生成字符串,采用MD5算法进行计算,得到十六进制的字符串,即VAL=MD5("ROOTID_" + C1 + "##" + C2 + "##" + C3);
将该十六进制的字符串转换成三十二进制,码表[0-9A-V],服务标识固定长度26,不区分大小写,即服务标识为:ROOTID=BASE32(VAL)。
需要说明的是,可以在客户端设备中选择离散度比较好的字段组合生成服务标识,另外,随着客户端设备型号和客户端操作系统版本的升级,SDK也会随着更新,生成服务标识使用的字段也将适应做调整。
生成客户标识的方法,具体包括:生成时间戳,根据服务标识、应用程序信息和时间戳生成客户标识。
进一步地,根据服务标识和时间戳以及应用程序信息生成指纹信息,S1=MD5("ZXID_" + ROOTID + "##" + APPID + "##" + TS);
生成一个随机数,将8位十六进制数和指纹信息进行拼接,得到40位的十六进制数,S2=S1 + RAND;
按照混淆码表,将得到的40位十六进制数转换成三十二进制的字符串,作为客户标识,即ZXID=BASE32(S2)。
本发明中客户端设备上各应用程序被启动时对应的客户标识各不相同,有效避免了跨应用程序随意追踪用户行为的情况发生。
步骤304:服务器在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功。
本发明中,服务器在根据上报数据解析结果判定不是首次生成客户标识的情形下,还包括:判断客户标识是否过期,对于客户标识已过期的情形,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端。对于未过期的客户标识,则通知客户端通信成功。
进一步地,将客户标识发送至客户端,还包括:生成客户标识的关联关系,将客户标识的关联关系同步至各厂商。有效解决广告精准营销的问题,ID的映射关系分布式网络存储,存储在多个服务节点中,有效防止单一节点请求量过大,保证服务的高可用行,同时避免广告精准营销。
所述从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,包括:从上报数据解析结果中获取硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,根据硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,生成设备唯一指纹作为服务标识。
所述根据服务标识和应用程序信息生成客户标识,包括:生成时间戳,然后根据服务标识、应用程序信息和时间戳生成客户标识。
根据本发明第三方面,提供一种隐私安全设备标识生成装置,如图3所示,包括:
解析模块401,用于服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
在本发明实施例中,解析模块401,可以用于服务器在解析得到本地标识的情形下,对本地标识进行验证,具体可以采用预设算法对本地标识进行解密,对得到的解密结果进行验证,以此判定本地标识是否合法。
本发明中,服务器从本地标识中解析出硬件信息,指纹,时间戳,对硬件信息进行计算,得到的指纹与解析出的指纹相同的情形下,判断时间戳与当前时间戳是否一致,在时间戳与当前时间戳一致的情形下,判定本地标识合法,否则不合法。以此进行校验,防止本地标识被篡改伪造。
信息处理模块402,用于在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
在本发明实施例中,信息处理模块402,用于判断上报数据解析结果中是否存在本地标识,是则判定为首次生成客户标识,否则判定为非首次生成客户标识。还用于在判定为首次生成客户标识的情形下,根据上报数据解析结果判断硬件是否能匹配到已有的客户标识,进一步地,从上报数据解析结果中获取硬件信息以及应用程序信息,根据硬件信息和应用程序信息判断是否能匹配到已有的客户标识,在存在硬件信息和应用程序信息对应的客户标识的情形下,确定能匹配到已有的客户标识。获取匹配到的客户标识,并将匹配到的客户标识返回至客户端。
本发明实施例中,通过将匹配到的客户标识返回至客户端,能够快速的实现客户标识下发,有效提高工作效率。通过判断是否能匹配到已有的客户标识,有效避免了清空沙盒数据,以及因二次安装应用程序导致客户标识丢失的情况发生,本发明通过根据硬件信息以及应用程序信息找回已分配过的客户标识。
进一步地,信息处理模块402,用于在未匹配到已有的客户标识的情形下,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束。
本发明中,信息处理模块402,从上报数据解析结果中获取硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,根据硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,生成设备唯一指纹作为服务标识。服务标识和硬件信息绑定,不可逆。其中,客户端可以为手机等智能移动设备。
进一步地,根据客户端操作系统版本、客户端设备型号生成硬件信息列表,再根据硬件信息列表按照顺序拼接生成字符串,采用MD5算法进行计算,得到十六进制的字符串,即VAL=MD5("ROOTID_" + C1 + "##" + C2 + "##" + C3);
将该十六进制的字符串转换成三十二进制,码表[0-9A-V],服务标识固定长度26,不区分大小写,即服务标识为:ROOTID=BASE32(VAL)。
需要说明的是,可以在客户端设备中选择离散度比较好的字段组合生成服务标识,另外,随着客户端设备型号和客户端操作系统版本的升级,SDK也会随着更新,生成服务标识使用的字段也将适应做调整。
在本发明中,首先生成时间戳,然后根据服务标识、应用程序信息和时间戳生成客户标识。进一步地,根据服务标识和时间戳以及应用程序信息生成指纹信息,S1=MD5("ZXID_" + ROOTID + "##" + APPID + "##" + TS);
生成一个随机数,将8位十六进制数和指纹信息进行拼接,得到40位的十六进制数,S2=S1 + RAND;
按照混淆码表,将得到的40位十六进制数转换成三十二进制的字符串,作为客户标识,即ZXID=BASE32(S2)。
本发明中客户端设备上各应用程序被启动时对应的客户标识各不相同,有效避免了跨应用程序随意追踪用户行为的情况发生。
判定模块403,用于在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功。
本发明中,判定模块403,具体还用于判断客户标识是否过期,对于客户标识已过期的情形,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端。对于客户标识未过期的情形,通知客户端通信成功。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语 ( 包括技术 术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应 该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中 的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种隐私安全设备标识生成方法,其特征在于,包括:
服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功;
所述根据服务标识和应用程序信息生成客户标识,包括:生成时间戳,然后根据服务标识、应用程序信息和时间戳生成客户标识;
根据服务标识和时间戳以及应用程序信息生成指纹信息,S1=MD5("ZXID_" + ROOTID+ "##" + APPID + "##" + TS);生成一个随机数,将8位十六进制数和指纹信息进行拼接,得到40位的十六进制数,S2=S1 + RAND;按照混淆码表,将得到的40位十六进制数转换成三十二进制的字符串,作为客户标识。
2.如权利要求1所述的方法,其特征在于,
所述在根据上报数据解析结果判定不是首次生成客户标识的情形下,还包括:判断客户标识是否过期,对于客户标识已过期的情形,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端。
3.如权利要求1或2所述的方法,其特征在于,
所述将客户标识发送至客户端,还包括:生成客户标识的关联关系,将客户标识的关联关系同步至各厂商。
4.如权利要求1所述的方法,其特征在于,
所述从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,包括:从上报数据解析结果中获取硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,根据硬件信息、客户端操作系统版本、客户端设备型号、SDK版本,生成设备唯一指纹作为服务标识。
5.一种隐私安全设备标识生成系统,其特征在于,包括:
与服务器建立连接的客户端,
安装于客户端的应用程序首次被启动的情形下,软件开发工具包获取客户端的硬件信息和本地标识,将硬件信息和本地标识作为上报数据信息上报给服务器,同时将应用程序信息上报给服务器;安装于客户端的应用程序非首次被启动的情形下,获取客户端的硬件信息、客户标识,将获取到的硬件信息以及客户标识作为上报数据信息发送给服务器;
服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功;
所述根据服务标识和应用程序信息生成客户标识,包括:生成时间戳,然后根据服务标识、应用程序信息和时间戳生成客户标识;
根据服务标识和时间戳以及应用程序信息生成指纹信息,S1=MD5("ZXID_" + ROOTID+ "##" + APPID + "##" + TS);生成一个随机数,将8位十六进制数和指纹信息进行拼接,得到40位的十六进制数,S2=S1 + RAND;按照混淆码表,将得到的40位十六进制数转换成三十二进制的字符串,作为客户标识。
6.如权利要求5所述的系统,其特征在于,
所述安装于客户端的应用程序首次被启动的情形下,生成本地标识,其中,生成本地标识的方法包括:按照预先设定的方式生成随机数,获取时间戳,根据硬件信息、时间戳以及随机数,按照预设算法生成本地标识,使得生成的本地标识为密文。
7.一种隐私安全设备标识生成装置,其特征在于,包括:
解析模块,用于服务器接收客户端发送的上报数据信息和应用程序信息,并对上报数据信息进行解析,得到上报数据解析结果;
信息处理模块,用于在根据上报数据解析结果判定是首次生成客户标识的情形下,对于能匹配到已有的客户标识的情形,获取匹配到的客户标识,并将匹配到的客户标识返回至客户端;对于不能匹配到已有的客户标识的情形,从上报数据解析结果中获取硬件信息,根据硬件信息生成服务标识,更新服务标识,根据服务标识和应用程序信息生成客户标识,更新客户标识,并将客户标识发送至客户端,结束;
判定模块,用于在根据上报数据解析结果判定不是首次生成客户标识的情形下,通知客户端通信成功;
所述根据服务标识和应用程序信息生成客户标识,包括:生成时间戳,然后根据服务标识、应用程序信息和时间戳生成客户标识;
根据服务标识和时间戳以及应用程序信息生成指纹信息,S1=MD5("ZXID_" + ROOTID+ "##" + APPID + "##" + TS);生成一个随机数,将8位十六进制数和指纹信息进行拼接,得到40位的十六进制数,S2=S1 + RAND;按照混淆码表,将得到的40位十六进制数转换成三十二进制的字符串,作为客户标识。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述程序时实现权利要求1-4任一项所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010881783.4A CN111818514B (zh) | 2020-08-28 | 2020-08-28 | 一种隐私安全设备标识生成方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010881783.4A CN111818514B (zh) | 2020-08-28 | 2020-08-28 | 一种隐私安全设备标识生成方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111818514A CN111818514A (zh) | 2020-10-23 |
CN111818514B true CN111818514B (zh) | 2020-12-08 |
Family
ID=72860667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010881783.4A Active CN111818514B (zh) | 2020-08-28 | 2020-08-28 | 一种隐私安全设备标识生成方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111818514B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912937B (zh) * | 2021-02-10 | 2024-10-15 | 华为技术有限公司 | 一种生成广告跟踪标识的方法及相关设备 |
CN113923012B (zh) * | 2021-09-30 | 2024-01-26 | 杭州默安科技有限公司 | 一种客户端设备的指纹生成方法和防篡改方法 |
CN114222288B (zh) * | 2021-11-30 | 2024-04-30 | 中国建设银行股份有限公司 | 设备标识生成方法、设备标识校验方法和装置 |
CN116192387B (zh) * | 2023-04-26 | 2023-06-27 | 北京中宏立达科技发展有限公司 | 一种服务身份标识的动态构建与密钥生成方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377753A (zh) * | 2010-08-19 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 系统信息识别方法、装置和系统 |
CN104580085A (zh) * | 2013-10-17 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 业务数据更新方法、系统、客户端及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5134338B2 (ja) * | 2007-11-01 | 2013-01-30 | 富士通セミコンダクター株式会社 | 認証装置及び制御方法 |
KR101683286B1 (ko) * | 2009-11-25 | 2016-12-06 | 삼성전자주식회사 | 이동통신망을 이용한 싱크 인증 시스템 및 방법 |
-
2020
- 2020-08-28 CN CN202010881783.4A patent/CN111818514B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377753A (zh) * | 2010-08-19 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 系统信息识别方法、装置和系统 |
CN104580085A (zh) * | 2013-10-17 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 业务数据更新方法、系统、客户端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111818514A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111818514B (zh) | 一种隐私安全设备标识生成方法、装置及系统 | |
US20190082026A1 (en) | Interface invocation method and apparatus for hybrid cloud | |
US20180004852A1 (en) | Method and system for facilitating terminal identifiers | |
CN104980920B (zh) | 智能终端建立通信连接的方法及装置 | |
CN105553920B (zh) | 数据交互方法及装置、系统 | |
CN107800678B (zh) | 检测终端异常注册的方法及装置 | |
CN109522726A (zh) | 小程序的鉴权方法、服务器及计算机可读存储介质 | |
CN109688186B (zh) | 数据交互方法、装置、设备及可读存储介质 | |
CN110381075B (zh) | 基于区块链的设备身份认证方法和装置 | |
CN108616360A (zh) | 用户身份校验、注册方法及装置 | |
CN109474600B (zh) | 一种账号绑定方法、系统、装置及其设备 | |
CN108933789B (zh) | 一种防止个人信息泄漏的方法及第三方应用服务器 | |
CN104753674A (zh) | 一种应用身份的验证方法和设备 | |
CN110138731B (zh) | 一种基于大数据的网络防攻击方法 | |
CN112099964A (zh) | 接口的调用方法、装置、存储介质及电子装置 | |
CN110213247A (zh) | 一种提高推送信息安全性的方法及系统 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
CN110958239A (zh) | 访问请求的校验方法和装置、存储介质及电子装置 | |
CN108092947B (zh) | 一种对第三方应用进行身份鉴别的方法及装置 | |
CN108418679B (zh) | 一种多数据中心下处理密钥的方法、装置及电子设备 | |
CN115130075A (zh) | 一种数字签章方法、装置、电子设备及存储介质 | |
CN111585978B (zh) | 一种拦截虚假请求的方法、客户端、服务端及系统 | |
CN110995756B (zh) | 调用服务的方法和装置 | |
CN111586688B (zh) | 基于环境感知的身份标识生成及验证的方法 | |
CN113067802A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |