CN107908948B - 一种应用于安全风险控制的安卓app设备指纹生成方法 - Google Patents
一种应用于安全风险控制的安卓app设备指纹生成方法 Download PDFInfo
- Publication number
- CN107908948B CN107908948B CN201711054688.1A CN201711054688A CN107908948B CN 107908948 B CN107908948 B CN 107908948B CN 201711054688 A CN201711054688 A CN 201711054688A CN 107908948 B CN107908948 B CN 107908948B
- Authority
- CN
- China
- Prior art keywords
- equipment
- unique code
- fingerprint
- android
- app
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Collating Specific Patterns (AREA)
- Storage Device Security (AREA)
Abstract
本发明具体涉及一种应用于安全风险控制的安卓APP设备指纹生成方法,包括以下步骤:S1:若为真机设置设备标识符为1;若为模拟器设置设备标识符为2。S2:生成32位的设备唯一码作为本方法的设备唯一码;S3:提取出APP程序的密钥k,将密钥k与上述设备唯一码并列排列出新的数列,将组排列出来的新的数列计算出对应的md5值,取md5值后三位作为本方法的防伪码。S4将设备标识符、设备唯一码与防伪码依次排列到一起为36位的字符,即为本设备的指纹。本方法中重新计算不会对结果造成改变影响;并且本方法产生的设备指纹具有唯一性,防篡改。
Description
技术领域
本发明涉及互联网安全风险控制领域,具体涉及一种安卓设备指纹生成方法。
背景技术
“掌上营业厅”是移动运营商在电子渠道方面比较重要的一项移动互联网产品,因其活跃用户众多、承载大部分移动公司的业务、业界知名度高、经常开展优惠的互联网活动等特点,也成了黑客重点攻击对象。同时更多的反黑黑客前沿技术应运而生,获得互联网及移动端企业风控的青睐。其中呼声最高的当属设备指纹技术,几乎每一家反欺诈企业都将其作为大数据风控的关键技术之一。目前Android系统中第三方运营商所采用的标识设备的方式可以分为以下三类:操作系统信息:Android ID;设备相关信息:IMEI,Build.Serial;Sim卡相关信息:IMSI,手机号码。以上三类信息是典型的显性标识符,有了其中任何一个,都可以唯一的识别移动设备。但是上述的三种方法有以下的缺点:(1)不完全可靠;无论是Android ID还是Build. Serial,都较为容易被人为篡改、伪造。(2)依赖敏感权限,例如IMEI, IMSI、手机号码等,都需要申请READ PHONE STATE这个权限才可以获取。二对于相应的移动运营商来说需要一个与自身的APP结合起来的设备指纹,该设备指纹具有唯一性并且不容易被“篡改”。因此本方法提供一种方法,该方法能够结合当前用户使用设备信息与APP的具体信息生成设备指纹。
发明内容
1、所要解决的技术问题:
本发明提供一种应用于安全风险控制的安卓APP设备指纹生成方法,通过利用该算法可以进行有效的安全风险控制,提升电子渠道业务的反欺诈能力。
2、技术方案:
一种应用于安全风险控制的安卓APP设备指纹生成方法,其特征在于::所述设备指纹包括:设备标识符,设备唯一码和防伪码;所述安卓设备指纹生成方法包括以下步骤:
S1:设置设备标识符;设置设备标识符;判断设备是否为真机;读取APP安装的手机的cpu信息,若cpu的硬件为Goldfish则认定为模拟器,否则为真机;若为真机设置设备标识符为1;若为模拟器设置设备标识符为2。市面上的装有安卓系统的移动终端可以分为两类,一类为真机一类为模拟机。在本步骤中可以利用其不同来定义设备标识符。
S2:设置设备唯一码;在首次安装app时,检查设备的mac地址和imei号码是否都存在及是否可读;如果设备的mac地址和imei号码都存在和都可读,则根据预设的规则生成32位的设备唯一码作为本方法的设备唯一码;否则,读取设备android的UUID信息参与运算生成32位的设备唯一码作为本方法的设备唯一码;如果读取设备android的UUID信息为系统错误值时,则读取设备aInstallation的UUID信息参与运算生成32位的设备唯一码作为本方法的设备唯一码。本方法并不是直接将设备本身自带的设备唯一码即UUID信息直接应用到本方法中。其原因在于安卓系统设备本身自带的设备唯一码即UUID信息容易被非法获取或者进行“篡改”。因而本方法采用的是结合设备的mac地址和imei号码进行定义。当设备的mac地址和imei号码不存在或者读不出来时,才读取设备android的UUID信息,但是还是要参与一定的运算生成32位的设备唯一码作为本方法的设备唯一码。当android的UUID信息的信息是错误时,再选择读取设备aInstallation的UUID信息参与运算生成32位的设备唯一码作为本方法的设备唯一码。通过上述递推式的选取信息生成的设备唯一码具有很强的安全性。
S3:设置防伪码;提取出APP程序的密钥k,将密钥k与上述设备唯一码并列排列出新的数列,即为k与设备唯一码并列排列形成新的数列;将组排列出来的新的数列计算出对应的32位md5值,最后取md5值后三位作为本方法的防伪码。计算md5值本身就是一种安全策略。通过计算md5值,并且取的是计算出的值的后三位,能够有效防止被模仿。
S4:合成设备指纹;将设备标识符、设备唯一码与防伪码依次排列到一起为36位的字符,即为本设备的指纹。
在上述过程中,所述设备为带有安卓系统的手机,平板或电脑。
进一步地,所述安卓设备指纹存储在设备的内存中,若APP重装时重新进行S1,S2,S3,S4步骤合成设备指纹。当安卓手机将APP卸载后重装时,将对本手机重新计算指纹,由于本方法依赖于mac地址和imei,而mac地址和imei的不可改变性决定了重新计算对结果没有任何影响。
所述设备标识符为1个字节,所述设备唯一码为32个字节;所述防伪码为3个字节。本方法计算出的指纹的字节为36个字节,这个字节的大小既方便系统存储,又能有效的防止被轻易的破解。
3、有益效果:
(1)因安卓设备指纹生成算法依赖mac地址和imei,而mac地址和imei的不可变性决定了重新计算不会对结果造成改变影响。
(2)设备指纹唯一性,防篡改;安卓在mac地址,imei号的基础上新增机型与分辨率两种参数维度,让生成的设备唯一码重复率更进一步降低,进而保证安卓设备指纹的唯一性。设备指纹中设计了防伪码,黑客或恶意用户在无法获取防伪原理的情况下是无法伪造设备指纹的。
具体实施方式
一种应用于安全风险控制的安卓APP设备指纹生成方法,所述设备指纹包括:设备标识符,设备唯一码和防伪码。
所述安卓设备指纹生成方法包括以下步骤:S1:设置设备标识符;判断设备是否为真机;读取APP安装的手机的cpu信息,若cpu的硬件为Goldfish则认定为模拟器,否则为真机;若为真机设置设备标识符为1;若为模拟器设置设备标识符为2;S2:设置设备唯一码;在首次安装app时,检查设备的mac地址和imei号码是否都存在及是否可读;如果设备的mac地址和imei号码都存在和都可读,则根据预设的规则生成32位的设备唯一码作为本方法的设备唯一码;否则,读取设备android的UUID信息参与运算生成32位的设备唯一码作为本方法的设备唯一码;如果读取设备android的UUID信息为系统错误值时,则读取设备aInstallation的UUID信息参与运算生成32位的设备唯一码作为本方法的设备唯一码;S3:设置防伪码;提取出APP程序的密钥k,将密钥k与上述设备唯一码并列排列出新的数列,即为k与设备唯一码并列排列形成新的数列;将组排列出来的新的数列计算出对应的32位md5值,最后取md5值后三位作为本方法的防伪码;S4:合成设备指纹;将设备标识符、设备唯一码与防伪码依次排列到一起为36位的字符,即为本设备的指纹。
所述安卓设备指纹存储在设备的内存中,若APP重装时重新进行S1,S2,S3,S4步骤合成设备指纹。当安卓手机将APP卸载后重装时,将对本手机重新计算指纹,由于本方法依赖于mac地址和imei,而mac地址和imei的不可改变性决定了重新计算对结果没有任何影响。
所述设备标识符为1个字节,所述设备唯一码为32个字节;所述防伪码为3个字节。本方法计算出的指纹的字节为36个字节,这个字节的大小既方便系统存储,又能有效的防止被轻易的破解。
虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
Claims (4)
1.一种应用于安全风险控制的安卓APP设备指纹生成方法,其特征在于:所述设备指纹包括:设备标识符,设备唯一码和防伪码;
所述安卓设备指纹生成方法包括以下步骤:
S1:设置设备标识符;判断设备是否为真机;读取APP安装的手机的cpu信息,若cpu的硬件为Goldfish则认定为模拟器,否则为真机;若为真机设置设备标识符为1;若为模拟器设置设备标识符为2;
S2:设置设备唯一码;在首次安装app时,检查设备的mac地址和imei号码是否都存在及是否可读;如果设备的mac地址和imei号码都存在和都可读,则根据预设的规则生成32位的设备唯一码作为本方法的设备唯一码;否则,读取设备android的UUID信息参与运算生成32位的设备唯一码作为本方法的设备唯一码;如果读取设备android的UUID信息为系统错误值时,则读取设备Installation的UUID信息参与运算生成32位的设备唯一码作为本方法的设备唯一码;
S3:设置防伪码;提取出APP程序的密钥k,将密钥k与上述设备唯一码并列排列出新的数列,即为k与设备唯一码并列排列形成新的数列;将组排列出来的新的数列计算出对应的32位md5值,最后取md5值后三位作为本方法的防伪码;
S4:合成设备指纹;将设备标识符、设备唯一码与防伪码依次排列到一起为36位的字符,即为本设备的指纹。
2.根据权利要求1所述的一种应用于安全风险控制的安卓APP设备指纹生成方法,其特征在于:所述设备为带有安卓系统的手机,平板或电脑。
3.根据权利要求1所述的一种应用于安全风险控制的安卓APP设备指纹生成方法,其特征在于:所述安卓设备指纹存储在设备的内存中,若APP重装时重新进行S1,S2,S3,S4步骤合成设备指纹。
4.根据权利要求1所述的一种应用于安全风险控制的安卓APP设备指纹生成方法,其特征在于:所述设备标识符为1个字节,所述设备唯一码为32个字节;所述防伪码为3个字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711054688.1A CN107908948B (zh) | 2017-11-01 | 2017-11-01 | 一种应用于安全风险控制的安卓app设备指纹生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711054688.1A CN107908948B (zh) | 2017-11-01 | 2017-11-01 | 一种应用于安全风险控制的安卓app设备指纹生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107908948A CN107908948A (zh) | 2018-04-13 |
CN107908948B true CN107908948B (zh) | 2019-11-19 |
Family
ID=61842296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711054688.1A Active CN107908948B (zh) | 2017-11-01 | 2017-11-01 | 一种应用于安全风险控制的安卓app设备指纹生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908948B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647741B (zh) * | 2018-06-26 | 2021-04-06 | 西安电子科技大学 | 一种用于提取Android设备的特征信息的方法 |
CN109787746A (zh) * | 2018-12-28 | 2019-05-21 | 深圳竹云科技有限公司 | 一种基于硬件特征的设备指纹生成方法 |
CN110941863A (zh) * | 2019-11-13 | 2020-03-31 | 中信百信银行股份有限公司 | 设备指纹生成方法、装置及终端 |
CN111291356B (zh) * | 2020-03-03 | 2023-01-24 | Oppo广东移动通信有限公司 | 安全风险控制方法及相关产品 |
CN111246382B (zh) * | 2020-03-26 | 2021-02-09 | 嘉兴嘉赛信息技术有限公司 | 一种通过硬件指纹检测智能手机是否为受控设备的方法 |
CN111601304A (zh) * | 2020-04-29 | 2020-08-28 | 上海伊邦医药信息科技有限公司 | 一种用于控制安全风险移动端设备唯一识别码的生成方法 |
CN112215622A (zh) * | 2020-09-18 | 2021-01-12 | 南京欣网互联网络科技有限公司 | 一种基于订单信息的风险防控方法及其系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2434724A (en) * | 2006-01-13 | 2007-08-01 | Deepnet Technologies Ltd | Secure transactions using authentication tokens based on a device "fingerprint" derived from its physical parameters |
CN105989149A (zh) * | 2015-03-02 | 2016-10-05 | 苏宁云商集团股份有限公司 | 一种用户设备指纹的提取和识别方法及系统 |
CN106254370A (zh) * | 2016-08-30 | 2016-12-21 | 成都源知信息技术有限公司 | 一种网络设备指纹生成方法及探测设备 |
CN106302397A (zh) * | 2016-07-29 | 2017-01-04 | 北京北信源软件股份有限公司 | 一种基于设备指纹的设备识别系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2506591A (en) * | 2012-09-28 | 2014-04-09 | Bell Identification Bv | Method of providing secure services using a mobile device |
KR102151579B1 (ko) * | 2014-04-14 | 2020-09-03 | 마스터카드 인터내셔날, 인코포레이티드 | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 |
CN106529963B (zh) * | 2016-11-26 | 2018-02-16 | 浙江邦盛科技有限公司 | 一种用于移动设备安全认证的系统及方法 |
-
2017
- 2017-11-01 CN CN201711054688.1A patent/CN107908948B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2434724A (en) * | 2006-01-13 | 2007-08-01 | Deepnet Technologies Ltd | Secure transactions using authentication tokens based on a device "fingerprint" derived from its physical parameters |
CN105989149A (zh) * | 2015-03-02 | 2016-10-05 | 苏宁云商集团股份有限公司 | 一种用户设备指纹的提取和识别方法及系统 |
CN106302397A (zh) * | 2016-07-29 | 2017-01-04 | 北京北信源软件股份有限公司 | 一种基于设备指纹的设备识别系统 |
CN106254370A (zh) * | 2016-08-30 | 2016-12-21 | 成都源知信息技术有限公司 | 一种网络设备指纹生成方法及探测设备 |
Non-Patent Citations (1)
Title |
---|
"基于隐性标识符的零权限Android智能终端识别";王研昊 马媛媛 杨明 等;《东南大学学报(自然科学版)》;20151130;第45卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107908948A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908948B (zh) | 一种应用于安全风险控制的安卓app设备指纹生成方法 | |
CN106294105B (zh) | 刷量工具检测方法和装置 | |
CN106339615B (zh) | 一种异常注册行为的识别方法、系统及设备 | |
CN109800560B (zh) | 一种设备识别方法和装置 | |
CN110912927B (zh) | 工业控制系统中控制报文的检测方法及装置 | |
CN105224600B (zh) | 一种样本相似度的检测方法及装置 | |
CN108924118B (zh) | 一种撞库行为检测方法及系统 | |
CN102314572A (zh) | 应用软件的使用授权方法、注册信息文件生成方法及装置 | |
CN104036187B (zh) | 计算机病毒类型确定方法及其系统 | |
CN107454118A (zh) | 验证码获取方法及装置、登录方法及系统 | |
CN113111951B (zh) | 数据处理方法以及装置 | |
CN106951796A (zh) | 一种数据隐私保护的脱敏方法及其装置 | |
CN109889487B (zh) | 外部设备接入终端的处理方法及装置 | |
CN109684878B (zh) | 一种基于区块链技术隐私信息防篡改方法及系统 | |
CN107958154A (zh) | 一种恶意软件检测装置及方法 | |
CN109815702B (zh) | 软件行为的安全检测方法、装置及设备 | |
CN112422574A (zh) | 风险账号的识别方法、装置、介质及电子设备 | |
CN107666468A (zh) | 网络安全检测方法和装置 | |
CN110851334B (zh) | 流量统计方法、电子设备、系统及介质 | |
CN108090364B (zh) | 一种数据泄漏源的定位方法及系统 | |
CN107948973B (zh) | 一种应用于安全风险控制的ios系统的设备指纹生成方法 | |
CN108255950B (zh) | 数据存储方法及终端设备 | |
CN103632070B (zh) | 用于支付系统的手写任意图形密码方法 | |
CN110990846B (zh) | 信息存储方法、设备及计算机可读存储介质 | |
CN109600361B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180730 Address after: No. 59, Gulou District, Nanjing City, Jiangsu, Jiangsu Applicant after: China Mobile Communication Group Jiangsu Co., Ltd. Applicant after: NANJING XINWANG INTERNETWORK TECHNOLOGY CO., LTD. Address before: 210000 the 7 floor of the first phase of Changjiang science and Technology Park, 40 Nanchang Road, Gulou District, Nanjing, Jiangsu. Applicant before: NANJING XINWANG INTERNETWORK TECHNOLOGY CO., LTD. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |