论文部分内容阅读
目前,智能终端呈现普及化趋势,其中Android系统尤其占据了主导地位。在其发展过程中,如何从终端设备中提取设备指纹从而将不同的终端进行区分,即智能终端识别技术,被广泛地应用于移动广告精确投放、安全认证和访问控制等领域,具有重要的理论研究意义和实际应用价值。然而,现有识别技术均基于显性标识符,这些显性标识符并不完全可靠,可以被清除、篡改、伪造,或者获取时需要敏感权限,会导致权限滥用和用户隐私泄露等问题。针对上述问题,本论文在零权限的前提下,分别面向应用程序和浏览器提取隐性标识符组合形成设备指纹,并设计相应的设备指纹匹配和分类算法,从而实现Android设备识别。具体来说,主要工作包含以下三个方面:1.研究基于隐性标识符的Android设备指纹,分别从设备层、应用层和用户层三个层面,面向应用程序提取38个隐性标识符,面向浏览器提取17个隐性标识符。然后对隐性标识符从理论上进行数学分析,并采集真实用户指纹数据形成指纹数据集,在数据集的基础上完成隐性标识符特征选择。2.将设备识别转化为分类问题,并给出指纹识别算法的评价方法和指标。然后设计了两种不同类型的指纹识别算法,其中一种包含精确匹配算法和关联匹配算法,另一种基于朴素贝叶斯分类器。通过实验发现,浏览器指纹识别适合使用精确匹配算法,关联匹配算法会导致误报率显著升高。应用程序设备指纹识别适合使用关联匹配算法和基于朴素贝叶斯的指纹分类算法,其中关联匹配算法误报率极低,漏报率较高;指纹分类算法能进一步降低漏报率,同时误报率仍维持较低。3.整合Android设备识别技术研究成果,分别实现面向应用程序和浏览器的设备识别模块,其中设备识别函数库和浏览器识别脚本库负责指纹的生成和上传,服务器端则负责设备识别过程。最终完成整个Android设备识别原型系统,并进行测试验证。综上所述,本论文研究并实现了Android设备指纹识别方法,不同于传统基于显性标识符的做法,该方法引入隐性标识符组合作为设备指纹,并设计了相应的指纹识别算法,最终给出了一套完整的Android设备识别技术解决方案,可以有效识别Android智能终端。