首页> 中国专利> 一种应对操作系统变更影响设备指纹计算的方法及装置

一种应对操作系统变更影响设备指纹计算的方法及装置

摘要

本发明公开了一种应对操作系统变更影响设备指纹计算的方法和装置,所述方法包括:S1.策略文件定制;按不同型号的设备以及操作系统版本将指纹计算逻辑进行划分,每个型号和操作系统版本对应一个计算策略文件;S2.策略文件发布云端;所述计算策略文件由设备指纹服务供应商发布在云端,云端保存一个型号‑操作系统对应策略的映射关系;S3.策略文件更新;当某个厂商发布了新型号设备或者操作系统进行了相关的升级,设备指纹服务模块拉取新的计算策略文件,由此规避厂商的权限变更导致的影响;从而快速响应设备和操作系统更新。

著录项

  • 公开/公告号CN113329107A

    专利类型发明专利

  • 公开/公告日2021-08-31

    原文格式PDF

  • 申请/专利权人 北京顶象技术有限公司;

    申请/专利号CN202110884366.X

  • 发明设计人 杜威;陈树华;张晓科;

    申请日2021-08-03

  • 分类号H04L29/12(20060101);

  • 代理机构11483 北京云科知识产权代理事务所(特殊普通合伙);

  • 代理人张飙

  • 地址 100085 北京市海淀区上地信息路26号3层0308/0310室

  • 入库时间 2023-06-19 12:24:27

说明书

技术领域

本发明涉及计算机和网络通信领域,尤其是一种应对操作系统变更影响设备指纹计算的方法及装置。

背景技术

设备指纹技术是互联网领域里较常见的一项技术,在业务安全领域尤其普遍,是一个基础安全服务。其目的是通过采集设备的一系列特征信息,上送到服务端,服务端经过算法分析和匹配,为每个设备生成唯一的标识。

设备指纹应用有两个核心指标,唯一性和稳定性。唯一性是不同的设备需要生成不同的指纹,如果不同的设备计算出得到一样的指纹,即出现了碰撞。 稳定性是设备在经历一些操作后,比如安装,卸载,系统升级等操作后,需要保证指纹不会变化。指纹技术的一个挑战点就是对于不同型号设备,不同版本操作系统,特征的可采集性不具备一致性,比如mac地址很多版本系统已经采集不到,imei在很多设备上采集率也较低,还有很多本应该具备唯一性的设备特征,采集上来发现都是相同的或者是无效的数据。尤其是安卓和ios不断推出的新版本,对于权限普遍在收紧,核心特征的采集变化对于指纹服务的计算稳定性来说是一个挑战。

现有指纹服务对于已存在的设备型号以及操作系统版本可以做到一些适配,但对于手机厂商尚未发布的新设备以及新系统目前无有效应对措施。比如苹果发布新版本操作系统后,可能会限制更多的设备特征采集,这些变化极有可能会影响设备指纹服务计算。设备指纹服务供应商如果没有对于这种情况的预案,用户进行系统升级以后,可能会造成大面积指纹计算出现问题,比如指纹碰撞或者指纹频繁变化。

针对这个问题,本方案提出一种快速响应设备和操作系统更新带来的影响的解决方案。

发明内容

针对现有技术存在的问题,本发明的目的在于将计算策略按照不同手机型号和系统版本进行分类的办法,并将这些策略放置在云端,本地服务通过获取云端更新的方式进行策略更新迭代,从而快速响应设备和操作系统更新带来的影响。

本发明提供一种应对操作系统变更影响设备指纹计算的方法,所述方法包括:

S1.策略文件定制;按不同型号的设备以及操作系统版本将指纹计算逻辑进行划分,每个型号和操作系统版本对应一个计算策略文件;

S2.策略文件发布云端;所述计算策略文件由设备指纹服务供应商发布在云端,云端保存一个型号-操作系统对应策略的映射关系;

S3.策略文件更新;当某个厂商发布了新型号设备或者操作系统进行了相关的升级,设备指纹服务模块拉取新的计算策略文件,由此规避厂商的权限变更导致的影响。

进一步,所述计算策略文件里包含如下信息:需要用来做稳定性计算的字段;用来做唯一性计算的字段; 赋予所述稳定性计算的字段和唯一性计算的字段的权重值;对于没有采集到数据的字段确定填充模式;对于采集到的异常数据确定处理模式。

进一步,所述计算策略文件为加密文件,下载到本地后由服务端进行解密;使用手机的imei码(即国际移动设备身份码)、sim卡信息(即用户识别卡信息)、 mac地址(即局域网地址或以太网地址)、硬件序列号、软件信息做稳定性和唯一性计算;设置imei码的权重大于软件序列号的权重;并且设置硬件序列号的权重大于软件序列号的权重。

进一步,还具有决策子模块,所述计算策略文件由设备指纹服务供应商发布在云端之前,首先由决策子模块根据设定的要素判断和决定是否要发布新的策略文件。

进一步,在更新版本的手机对于idfa特征采集做出限制导致无法准确采集时,设备指纹服商可以在云端发布一个更新的计算策略文件,降低idfa的计算权重。

进一步,所述设备指纹为私有化部署,将云端发布的计算策略文件定期下载到本地更新策略。

另一方面,本发明还提供一种应对操作系统变更影响设备指纹计算的装置,包括策略文件定制模块、策略文件发布模块、策略文件更新模块和设备指纹服务模块;

所述策略文件定制模块用于根据不同型号的设备以及操作系统版本定制相适配的指纹计算逻辑;

所述策略文件发布模块用于将设备指纹服务商更新的计算策略文件发布在云端,云端保存一个型号-操作系统对应策略的映射关系;

所述策略文件更新模块,用于当某个厂商发布了新型号设备或者操作系统进行了相关的升级时,设备指纹服务模块拉取新的计算策略文件后,由所述策略文件更新模块进行计算策略文件更新,由此规避厂商的权限变更导致的影响。

进一步,所述计算策略文件里包含如下信息:需要用来做稳定性计算的字段;用来做唯一性计算的字段; 赋予所述稳定性计算的字段和唯一性计算的字段的权重值;对于没有采集到数据的字段确定填充模式;对于采集到的异常数据确定处理模式;所述计算策略文件为加密文件,下载到本地后由服务端进行解密。

进一步,还具有决策子模块,所述计算策略文件由设备指纹服务供应商发布在云端之前,首先由决策子模块根据设定的要素判断和决定是否要发布新的策略文件。

进一步,所述设备指纹为私有化部署,将云端发布的计算策略文件定期下载到本地更新策略。

本发明的技术优势在于将计算策略按照不同手机型号和系统版本进行分类的办法,并将这些策略放置在云端,本地服务通过获取云端更新的方式进行策略更新迭代,从而快速响应设备和操作系统更新带来的影响。

本发明的有益效果在于:

1.将计算策略抽出作为一个策略文件,并按照手机厂商和操作系统版本等信息进行划分,不同的版本的策略做相关隔离,做到单个厂商和系统的变化需要调整时,调整范围仅限于这个版本,不会产生全局性影响。

2.策略文件是从云端拉取,这样有任何调整和更新,可以快速适配和响应,不会因为指纹计算出问题影响业务。

3.设备指纹的计算策略 按照手机厂商和操作系统版本做成不同的策略文件。通过策略文件可以调整计算使用的字段,字段的权重值,对异常数据如何处理等,调整策略版本间不会有影响。

附图说明

图1示出了现有技术中设备指纹传统工作流程示意图;

图2示出了根据本发明应对操作系统变更影响设备指纹计算的方法及装置的工作流程示意图。

具体实施方式

下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

设备指纹是根据用户上网设备的信息比如,设备的操作系统版本及其序列号、浏览器版本及其序列号、屏幕分辨率、安装的插件及其序列号、使用的IP地址等信息生成的。

传统的设备指纹工作流程如图1所示,具体工作流程是:从客户端(包括web页面,app,小程序等)采集多种设备环境信息,将信息加密后上报到设备指纹服务端,服务端解密数据,然后进行分析计算,如果是第一次访问的新设备,则生成一个新的设备指纹,如果经分析该设备之前已经采集上报过,则通过一些算法关联匹配找到之前的设备指纹,然后服务器生成一个token(该token并不是设备指纹,但通过token可以查询到设备指纹),返回给客户端。客户端的其他业务接口里,如果需要有设备指纹的,则携带设备指纹token,进行业务接口通信。上述的设备指纹工作流程,是目前常见安全厂商提供的设备指纹服务通用工作流程。现有指纹服务对于已存在的设备型号以及操作系统版本可以做到一些适配,但对于手机厂商尚未发布的新设备以及新系统目前无有效应对措施。比如苹果发布新版本操作系统后,可能会限制更多的设备特征采集,这些变化极有可能会影响设备指纹服务计算。设备指纹服务供应商如果没有对于这种情况的预案,用户进行系统升级以后,可能会造成大面积指纹计算出现问题,比如指纹碰撞或者指纹频繁变化。

针对这个问题,本方案提出一种将计算策略按照不同手机型号和系统版本进行分类的办法,并将这些策略放置在云端,本地服务通过获取云端更新的方式进行策略更新迭代,从而快速响应设备和操作系统更新带来的影响。

如图2所示,根据本发明的一种应对操作系统变更影响设备指纹计算的方法,所述方法包括:

S1.策略文件定制;

按不同型号的设备以及操作系统版本将指纹计算逻辑进行划分,每个型号和操作系统版本对应一个计算策略文件,策略文件里包含如下信息:哪些字段需要用来做稳定性计算;哪些字段用来做唯一性计算; 这些字段的权重值如何分布;对于没有采集到数据的字段如何填充;对于采集到的异常数据如何处理等。策略文件需要加密,下载到本地后由服务端进行解密。

在一个具体实施例中,使用手机的imei码(即国际移动设备身份码)、sim卡信息(即用户识别卡信息)、 mac地址(即局域网地址或以太网地址)、硬件序列号、软件信息做稳定性和唯一性计算;也可选取其中部分项的组合做稳定性和唯一性计算。

在权重配置方面,设置imei码和硬件序列号的权重相等,并且imei码和硬件序列号的权重大于软件序列号的权重。

由于安卓10版本以后mac地址采集会有问题,基本采集不到,因此安卓10版本以后降低mac地址的计算权重。

一些特征会采集到 unkown、null、00000000 这种无意义字串,需要对这些值进行处理,一般策略是直接忽略。

例举一个典型实施例的策略文件,其内容如下:

key=imei,mac,android_id,system_version,serial_id

权重

imei:10

mac:2

android_id:10

system_version:10

serial_id:10

skip_value=null,error,0000

default_value=""

在另一个具体实施例中,所述设备指纹包括以下三个部分组成:设备标识符,设备唯一码以及防伪码。在一个具体实施例中,在本方法中产生的设备指纹为36个字节构成的,其中设备标识符为一个字节,设备唯一码为32个字节,防伪码为3个字节。

设置设备标识符;主要是判断所在的移动终端的机器类型来确定设备标识符。

设置设备唯一码;获取设备原始设备唯一码即UUID,将原始设备唯一码即UUID过滤掉“-”的结果作为本方法的设备唯一码;每个移动终端都有移动终端制造商在出厂的时候设置的32个字节的设备唯一码即UUID码。而IOS系统的 UUID码是使用苹果提供的全球唯一标识算法。本身具有很强的防攻击性。

设置防伪码;提取出APP程序的密钥k,将密钥k与上述设备唯一码组合起来,即为k与设备唯一码并列排列形成新的数列,将组合出来的新的数列计算出对应的32位md5值,最后取md5值后三位作为本方法的防伪码。比如假设密钥k设置为jsmcc,将jsmcc后加上上述的本方法的设备唯一码UUID码,一共是37个字节,将这37个字节进行计算md5值。取计算出md5值的最后三位作为本方法的防伪码。在这个过程中将APP的密钥和设备唯一码通过计算md5值结合起来。MD5的使用可以防止数字被“篡改”。

合成设备指纹;将设备标识符、设备唯一码与防伪码分别设置权重,进行计算并获得最终设备指纹。

S2.策略文件发布云端;

这些策略文件由设备指纹服务供应商发布在云端,云端保存一个型号-操作系统对应策略的映射关系。私有化部署的设备指纹将这些策略文件定期下载到本地更新策略。如附图2所示,对于某品牌A型号1的设备对应的策略文件命名为A1,对于该品牌A型号2的设备对应的策略文件命名为A2;对于某品牌B型号1的设备对应的策略文件命名为B1,对于该品牌B型号2的设备对应的策略文件命名为B2;对于某品牌C型号1的设备对应的策略文件命名为C1,对于该品牌C型号2的设备对应的策略文件命名为C2。一般问题较少的设备型号和操作系统可以使用一个公用的策略文件,对于有问题的设备型号单独定制一个策略文件,比如小米6-安卓10对应一个策略,荣耀7-安卓11对应一个策略,ipone8-ios14 对应一个策略。

S3.策略文件更新;

如果某个厂商发布了新型号设备或者操作系统进行了相关的升级,设备指纹服务供应商根据实际情况决定是否要发布新的策略文件,比如新版本的iphone手机对于特征采集做了更严格的限制,idfa的可采集率大大降低,这样设备指纹服商可以快速发布一个策略文件,降低idfa的计算权重; 已部署出去的设备指纹服务拉取新的策略文件,这样可以快速规避手机厂商的新限制带来的影响。

本发明还提供一种应对操作系统变更影响设备指纹计算的装置,包括策略文件定制模块、策略文件发布模块、策略文件更新模块和设备指纹服务模块;所述策略文件定制模块用于根据不同型号的设备以及操作系统版本定制相适配的指纹计算逻辑;所述策略文件发布模块用于将设备指纹服务商更新的计算策略文件发布在云端,云端保存一个型号-操作系统对应策略的映射关系;所述策略文件更新模块,用于当某个厂商发布了新型号设备或者操作系统进行了相关的升级时,设备指纹服务模块拉取新的计算策略文件后,由所述策略文件更新模块进行计算策略文件更新,由此规避厂商的权限变更导致的影响。

所述计算策略文件里包含如下信息:需要用来做稳定性计算的字段;用来做唯一性计算的字段; 赋予所述稳定性计算的字段和唯一性计算的字段的权重值;对于没有采集到数据的字段确定填充模式;对于采集到的异常数据确定处理模式;所述计算策略文件为加密文件,下载到本地后由服务端进行解密。

此外,所述装置还具有决策子模块,所述计算策略文件由设备指纹服务供应商发布在云端之前,首先由决策子模块根据设定的要素判断和决定是否要发布新的策略文件。

所述设备指纹为私有化部署,将云端发布的计算策略文件定期下载到本地更新策略。

由于现有技术一般没有将计算策略单独拆出来;对于已有的型号和系统可以做到兼容,但对于未知的新设备和新操作系统,没有较好的应对变化措施。尤其是对新系统需要调整策略时,往往需要做系统升级才可行。

根据本发明的应对操作系统变更影响设备指纹计算的方法和装置具有如下技术优势。本发明将计算策略抽出作为一个策略文件,并按照手机厂商和操作系统版本等信息进行划分,不同的版本的策略做相关隔离,做到单个厂商和系统的变化需要调整时,调整范围仅限于这个版本,不会产生全局性影响。

策略文件是从云端拉取,这样有任何调整和更新,可以快速适配和响应,不会因为指纹计算出问题影响业务。

设备指纹的计算策略 按照手机厂商和操作系统版本做成不同的策略文件。通过策略文件可以调整计算使用的字段,字段的权重值,对异常数据如何处理等。调整策略版本间不会有影响。

策略从云端定期更新,厂商发布策略文件,设备指纹服务可以快速下载并适配。

策略文件可以是配置型的,比如json文件,里面是具体的配置内容;也可以是计算脚本,比如groovy脚本,里面实现了计算的一些逻辑。

更新可以是服务自动拉取,也可以是用户到云端下载,然后本地上传到系统里。

以上对本发明所提供的一种应对操作系统变更影响设备指纹计算的方法和装置进行了详细介绍。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号