Android执法记录仪设备集成Z算法加密认证SDK
1.1 目的
为解决因设备盗用、冒充导致的安全管理问题,需要在终端集成基于Z算法插件,基于Z算法插件对称密钥与安全认证平台之间进行持续地双向认证,终端设备硬件信息及运算环境的持续检查,以确保通讯终端身份及数据来源的安全可靠可信。
1.2 范围
本文档覆盖了新核心业务项目所涉及的各个板块,包括:
√设备认证(基于Z算法密钥生成认证消息,实现基于对称密钥的双向认证机制)
√插件下载(首次运行因缺少个性化插件,需要从服务端下载个性化插件保存在本地)
2 集成说明
我司提供Z算法调用的安全SDK,预置插件,应用接入所需配置参数等,个性化插件由安全sdk采取在线动态下载机制从服务端下载。
设备厂商集成我司提供的安全SDK、预置插件制作成开机自动运行的后台服务,并提供设备连网检测功能,在设备连网正常后调用设备认证接口周期性地发起请求设备认证请求。
安全插件的加载、环境检测、插件下载、设备认证等交互过程均由由我司提供的安全SDK完成。插件下载仅在终端缺少插件或首次运行时执行,本地已有个性化插件时则跳过此流程直接执行双向认证请求。
2.1 准备工作
2.1.1 材料说明
我司提供的第三方库如下:
1:authClientSdk.aar 负责Z算法插件及双向认证接口的调用封装,设备信息采集,启动安全检查:检查插件的完整性有无被篡改,插件运行环境信息是否安全、设备信息是否与申请插件时登记信息一致等。
2:libpresetplugin.so 预置插件是Z算法实例,做为共享密钥使用,保证个性插件分发安全、设备标识信息信及其关敏感数据传输安全。
3:个性化插件:为Z算法实例,具有一机一密、不同设备的个性化插件各不相同,主要用于设备的身份认证、密钥协商、数据加密等运算等。个性化插采取在线动态下载机制,通过预置插件进行加密保护下载到终端设备中,默认插件名称为pluinCore.so。
我司提供的第三方库,目前支持的Android Platform API版本为 API14+。
2.1.2 权限配置
您需要在 AndroidMainfest.xml 文件添加:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
2.1.3 应用配置
集成我司提供的第三方库,在进行初始化时,需要使ParamsConfig类配置如下参数:
URL : Z算法认证平台服务端通讯地址
APP_CODE:接入方标识
APP_KEY:报文签名的HMAC密钥
SDKVERSION:应用版本号
ParamsConfig配置代码如下:
ParamsConfig paramsConfig = new ParamsConfig(this);
paramsConfig.setAppId(APP_ID);
paramsConfig.setAppCode(APP_CODE);
paramsConfig.setAppKey(APP_KEY);
paramsConfig.setSdkVersion(SDKVERSION);
paramsConfig.setUrl(URL);
PluginHolder.getInstance(this).setConfig(paramsConfig);
2.1.4 设备认证
在设备开机后检测连网正常后,调用此接口与服务端安全认证平台之间,通过Z算法密钥生成的认证消息实现基于对称密钥的双向认证机制,确保设备身份认证及数据来源的的安全性可靠性可信。终端设备与服务之间周期性的进行持续认证持续检测设备的信息可信与否,以防止中间人攻击、盗用、冒用行为,持续设备周期可设备3 分钟一次,,周期参数可配置。
特别说明:
调用此接口时SDK会判断本地是否有插件,没有插件会去后端下载插件后,进行双向认证操作;如果本地有插件会直接进行双向认证操作。示例代码如下:
try {
PluginHolder.getInstance(this).authPlugin();
} catch (PluginException e) {
e.printStackTrace();
}
2.2 接口使用说明
2.3.1 获取实列
接口声明:
PluginHolder getInstance(Context context)
接口描述:
获取PluginHolder的单例对象。
参数说明:
context: 上下文
返回值:
PluginHolder对象
2.3.2 配置环境信息
void setConfig(ParamsConfig configure);
接口描述:
配置应用AppId、AppKey、sdkVersion、AppCode、URL。
参数说明:
ParamsConfig: 基础配置对象。
返回值:
无
2.3.3 设备双向认证
接口声明:
void authPlugin ()throws PluginException
接口描述:
检测本地安全插件是否存在,不存在下载插件后做双向认证功能;插件存在直接进行双向认证
参数说明:
无
返回值:
无
异常:
PluginException.PARAMETER_ERROR
…
具体见异常码表
2.3.4 删除安全插件
接口声明:
boolean delPlugin()
接口描述:
在插件发生异常或需要删除插件时调用,删除本地安全插件并把安全算法从内存中卸载。
参数说明:
无
返回值:
false: 删除失败
true: 删除成功
3 附录
3.1 Z算法配置界面
3.2 信息采集项说明
1:Android等移动智能系统信息采集项
设备型号、设备参数、设备序列号\主板、MAC、IP、IMEI 、CPU架构、CPU个数、Android版本、IP地址、是否ROOT和hook、AndroidId、系统版本。
2:应用信息采集项
应用编码、 应用名称、 SDK版本号 、 应用签名
3:插件信息信息采集项
插件ID、插件类型、插件状态
3.3 错误代码说明
PARAM_NULL |
5001 |
传入参数为空错误 |
PARAM_LEN_ERR |
5002 |
数据长度错误 |
ARRAY_LENGTH__ERROR |
5003 |
数组长度错误 |
OPEN_FILE_FAILED |
5011 |
打开文件失败 |
READ_FILE_FAILED |
5012 |
读取文件失败 |
STAT_FILE_FAILED |
5013 |
获取文件状态失败 |
WRITE_FILE_FAILED |
5014 |
写入文件失败 |
MALLOC_FAILED |
5021 |
分配内存失败 |
BASE64_CODE_FAILED |
5031 |
base64编码失败 |
BASE64_DECODE_FAILED |
5032 |
base64解码失败 |
CHECK_HARDWARE_ERR |
5041 |
校验硬件信息不匹配 |
CHECK_APPSIGN_ERR |
5042 |
校验APK签名不匹配 |
CHECK_ALG_ERR |
5043 |
算法自检失败 |
PERMISSION_DENY |
5044 |
权限决绝异常 |
REGISTERNATIVEMETHODS_FAILED |
5051 |
注册函数失败 |
UNREGISTERNATIVEMETHODS_FAILED |
5052 |
注销函数失败 |
GETENV_FAILED |
5053 |
获取虚拟机失败 |
CALL_JNI_FAILED |
5054 |
调用JNI API 失败 |
GET_HW_ERR |
5055 |
获取手机信息失败 |
GET_FILEPATH_FAILED |
5056 |
获取APP路径失败 |
INIT_INTERFACE_FAILED |
5061 |
初始化接口失败 |
JSON_FORMAT_ERR |
5071 |
json格式异常 |
PARSE_CHECKRULE_ERR |
5072 |
解析checkrule失败 ‘10’ |
PARSE_DEVICEDID_ERR |
5073 |
解析设备ID失败 ‘ 3‘ |
PARSE_HWINFO_ERR |
5074 |
解析硬件信息失败 ‘0’ |
PARSE_SIGNATURE_ERR |
5075 |
解析签名信息失败 ‘4’ |
PARSE_AUTHMASHK_ERR |
5076 |
解析认证位图失败 ‘12’ |
OTP_TYPE_ERR |
5081 |
otp type错误 |
HW_TYPE_ERR |
5082 |
硬件信息类型错误 |
SM4DENC_PARAM_LEN_ERR |
5091 |
sm4解密入参长度错误 |
SM4_PADDING_ERR |
5092 |
sm4解密原文的填充值错误 |
DENC_FAILED |
5093 |
解密UTF格式错误 |
FPE_INITKEY_FAILED |
5094 |
FPE算法初始化密钥失败 |
FPE_DEC_FAILED |
5095 |
FPE算法解密失败 |
DLOPEN_ERR |
5100 |
加载插件失败 |
DLSYM_ENC_ERR |
5101 |
获取加密函数指针失败 |
DLSYM_DEC_ERR |
5102 |
获取解密函数指针失败 |
SM2_GEN_SIGN_ERR |
5110 |
SM2签名失败 |
SM2_GEN_SIGN1_ERR |
5111 |
生成签名因子失败 |
SM2_GEN_RANDOM_ERR |
5112 |
SM2生成随机数失败 |
SM2_GEN_P1_ERR |
5113 |
SM2生成P1失败 |
UNLOAD_SO_FAILED |
5121 |
卸载插件失败 |
PARAMETER_ERROR |
5401 |
传入参数错误 |
PACKAGE_MANAGER_NAME_NOT_FOUND_EXCEPTION |
5402 |
获取清单文件失败
|
GET_APP_ID_FAILED |
5403 |
获取appId失败 |
GET_VERSION_FAILED |
5404 |
获取sdkVersion失败 |
GET_HASH_FAILED |
5405 |
获取Hash失败 |
GET_SIGNATURE_FAILED |
5406 |
获取签名失败 |
CONTRAST_AUTH_MSG_FAILED |
5407 |
对比认证消息失败 |
READ_FILE_ERROE |
5501 |
读取文件失败 |
WRITE_FILE_ERROR |
5502 |
写入文件失败 |
FILE_NOT_FOUND_ERROR |
5503 |
文件不存在 |
JSON_DATA_EXCEPTION |
5601 |
JSON异常 |
INFLATE_EXCEPTION |
5602 |
填充异常 |
危险气体检测仪,通过4G/5G执法记录仪或者4G/5G智能安全帽上报到平台,https://www.besovideo.com/detail?t=1&i=273
智能安全帽~生命体征检测与危险气体检测一体化集成设计还是蓝牙无线外挂式方式好?https://www.besovideo.com/detail?t=1&i=279
智能安全帽~生命体征采集上报,https://www.besovideo.com/detail?t=2&i=506
智能安全帽,检测生命体征上报平台, https://v.douyin.com/e3oP4Yx/
AIoT万物智联,智能安全帽生产厂家,执法记录仪生产厂家,为大型国企央企提供移动视频类产品的ODM/OEM服务,单北斗定位智能安全帽、智能头盔、头盔记录仪、独立北斗定位执法记录仪、智能视频分析/边缘计算AI盒子、车载视频监控/车载DVR/NVR、布控球、智能眼镜、智能手电、智能电子工牌、无人机4G补传系统等统一接入大型统一视频平台~融合通信可视指挥调度平台VMS/smarteye 。
什么是智能安全帽,如何选购智能安全帽,智能安全帽的主要功能,https://www.besovideo.com/detail?t=1&i=109
目前支持的AI智能算法、视频智能分析算法有哪些,https://www.besovideo.com/detail?t=1&i=297
视频演示1~单独北斗定位智能安全帽助力光伏新能源, 视频演示2~石油石化
海康、大华等5000路固定点摄像头走国标GB28181接入统一视频平台smarteye,支持eHome,ISUP, SIP,萤石云,CMSV6等
国网+南网电力施工作业现场安全生产风险管控应用方案,https://www.besovideo.com/detail?t=1&i=50
轻危大型厂矿可视化监管系统方案(有内部作业视频数据安全保密的需求),https://www.besovideo.com/detail?t=1&i=258
小微型4G/WiFi执法记录仪、胸牌记录仪大全~智慧养老+银发经济,https://www.besovideo.com/detail?t=2&i=1784
超薄款4G工牌视频记录仪BH128,https://www.besovideo.com/detail?t=2&i=1575
超小微型4G胸牌视频记录仪BZ223,全国产芯片,单独北斗定位, https://www.besovideo.com/detail?t=2&i=1542
防抖执法记录仪、智能安全帽、头盔记录仪大全,https://www.besovideo.com/detail?t=2&i=1692
可拆卸智能安全帽、分体式智能头盔记录仪大全,https://www.besovideo.com/detail?t=2&i=1697
北斗双频高精度定位智能工卡、电子工牌大全,https://www.besovideo.com/detail?t=2&i=1689
无人机4G/5G图传到远程指挥中心统一视频平台smarteye或者海康等国标大平台, https://www.besovideo.com/detail?t=2&i=1775
县级应急指挥调度系统建设, https://www.besovideo.com/detail?t=1&i=411
智慧铁路,铁路应急指挥通信系统建设,可视化作业现场风险管控系统应用方案,https://www.besovideo.com/detail?t=1&i=413
智慧港口可视化作业风险管控系统建设方案,https://www.besovideo.com/detail?t=1&i=414
石油石化可视化巡检系统安全风险管控系统应用方案,https://www.besovideo.com/detail?t=1&i=415
为什么武警、特警拉练演习的MESH自组网系统都不约而同的选择了smarteye平台?https://www.besovideo.com/detail?t=2&i=1215