阿里聚安全数据风控由阿里聚安全提供,是基于阿里大数据计算能力,通过业内领先的风险决策引擎,解决企业账号、活动、交易等关键业务环节存在的欺诈威胁,降低企业经济损失。
风险采集
风险识别
风险服务端验证
验证会话ID(sessionId)至用户后端服务器验证会话ID(sessionId)至聚安全服务器 验证API alibaba.security.jaq.captcha.verify.result.fetch (二次确认的)验证结果至用户后端服务器(二次确认的)验证结果至用户APP(二次确认的)验证结果执行相应业务逻辑风险客户端验证
风险服务端验证
验证会话ID(sessionId)至用户后端服务器验证会话ID(sessionId)至聚安全服务器 验证API alibaba.security.jaq.captcha.verify.result.fetch (二次确认的)验证结果至用户后端服务器(二次确认的)验证结果至用户APP(二次确认的)验证结果执行相应业务逻辑本文档支持应用类型为:Android 应用的风险防控功能接入,接入整体流程:
接入申请
系统配置
确认发布
注意:
填写API ID这一栏时,建议填写您公司名称或相关产品名称,便于后续管理。
所需服务内容选择:“风险查询、识别” 或者 “风险查询、识别、拦截”;
接入方式选择:“移动客户端风险防控(SDK集成)”且实际接入应用为Android类型应用。
出于对应用数据安全考虑,聚安全生成的SDK会与应用强绑定。如果此前使用Debug版应用 生成SDK需要在应用发布前使用Release版应用重新上传,并替换原有SDK。
与阿里原有sdk兼容问题
聚安全SDK在阿里巴巴的很多开放的SDK中也有包含,如果你的APK中同时引入了这些SDK,则在集成聚安全SDK之前需要将这些SDK(TAE,支付宝等)中包含的安全组件(.jar、.aar文件)、图片文件0335图片替换。**这部分如果不清楚,最好联系客服**
5.2, 5.3, 5.4 开发者不同开发环境采用导入sdk的方案。开发者根据需要选择其中一种
jaqsdkAndroid.NoCaptchaSDK.5.3.21.tar.gzAndroid.SecurityBodySDK.5.3.27.tar.gzAndroid.SecurityGuardSDK.5.3.38.tar.gz拷贝到应用的jaqsdk/libs目录下
verificationsdklib-1.3.0.2091734-3ND-SMS-NC.jar NoCaptchaSDK-5.3.21.jar armeabi SecurityBodySDK-5.3.27.jar verificationsdklib.aar SecurityGuardSDK-5.3.38.jar x86
JAQSDK目录导入项目
Project->Properties->Android 加入依赖
将JAQSDK中AndoridManifest.xml Activity和Permission相关加入主项目的AndoridManifest.xml 加入依赖
添加权限信息
需要在`AndroidManifest.xml`文件中添加下列权限配置:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> AndroidManifest.xml 加入验证SDK入口Activity声明
<activity android:name="com.alibaba.verificationsdk.ui.VerifyActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="adjustResize" >
</activity> jaqsdkAndroid.NoCaptchaSDK.5.3.21.tar.gzAndroid.SecurityBodySDK.5.3.27.tar.gzAndroid.SecurityGuardSDK.5.3.38.tar.gz引入SDK包中文件,拷贝到应用的jaqsdk/libs目录下
最后目录显示如下
verificationsdklib-1.3.0.2091734-3ND-SMS-NC.jar NoCaptchaSDK-5.3.21.jar armeabi SecurityBodySDK-5.3.27.jar verificationsdklib.aar SecurityGuardSDK-5.3.38.jar x86
通过File->New->Import Module 导入项目
引用module
Open Moudle Settings 导入库dependencies {
......
compile project(':JAQSDK')
} Module的build.gradle中增加如图配置:dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.+'
compile name: 'NoCaptchaSDK-external-release-5.3.21', ext: 'aar'
compile name: 'SecurityBodySDK-external-release-5.3.27', ext: 'aar'
compile name: 'SecurityGuardSDK-external-release-5.3.38', ext: 'aar'
compile name: 'verificationsdklib', ext: 'aar'
} 在使用导入时,一次会导入所有平台的so。对于开发者需要检查是否某些平在自己App未曾使用。对于未曾使用可以删除相应的目录
如果
5.1或者5.2安全图片已经放置在导入项目的drawable目录,可以跳过1,2步骤请关注3
解压4.1生成SDK中生成的SDK,获得文件:yw_1222_*.jpg;
把这个文件导入到工程中res\drawable\目录下,如果没有这个文件夹,请先创建,如下图:
左图为AndroidStudio中安全加密图片位置,右图为Eclipse中安全加密图片位置;
如果开启混淆要检查发布包335大小不为0, shrinkResources true会导致yw_1222_0335以及yw_1222图片为0
release {
minifyEnabled true // 是否混淆
shrinkResources true // <<<会导致335或者122图片为0
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} 解决方案一
放弃资源压缩
解决方案二
参考google 关于shrink resource
新建 res/raw/keep.xml后加入如下内容
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/yw_1222_0335, @drawable/yw_1222"/>
保留文件规则简单介绍,资源文件相对路径加上图片文件名(不需要扩展名)
执行 ./gradlew clean assembleRelease –info|grep “Skipped unused resource” 观察是否安全图片给压缩同时检查解压缩后文件是否为0
如果设置资源压缩 shrinkResources true
参考导入图片的处理,防止安全图片被压缩为0字节
配置proguard-rules.pro
-keep class com.taobao.securityjni.**{*;}
-keep class com.taobao.wireless.security.**{*;}
-keep class com.ut.secbody.**{*;}
-keep class com.taobao.dp.**{*;}
-keep class com.alibaba.wireless.security.**{*;}
-keep class com.alibaba.verificationsdk.**{*;}
-keep interface com.alibaba.verificationsdk.ui.IActivityCallback SDK初始化 接口详情
初始化负责完成整个聚安全安全组件的全局初始化。初始化是线程安全的,初始化调用只需要进行一次,无需重复调用;
获取数据风控wtoken 接口详情
获取wtoken后,服务端用wtoken为入参调用风险识别或者对应的风险策略以及客户端下一步调用需要的入参
使用场景:在需要使用数据风控的场景,如注册、登陆、活动页面,可以在用户点击“注册”、“登陆”等业务按钮、业务逻辑处理前获得该token;
启动风险验证时 接口详情
使用场景:在需要使用验证码的场景,如注册、登陆、活动页面,可以直接启动验证码进行验证.
风险识别
风险验证
验证码服务接口alibaba.security.jaq.captcha.verify.result.fetch。
用户完成系统配置,即系统程序调试通过后,点击“下一步”;
请review接入的内容,确认无误后,点击“发布”;
发布后,应用正式上线运行。
若在接入过程中有任何问题,可及时通过聚安全官网提交反馈。
电子邮箱:mobilesecurity@service.alibaba.com
客服旺旺:1435906194
在线客服(工作日9:00-18:00)