为了加强埋点数据的安全性,神策分析支持对埋点数据进行加密,并以密文的形式对数据进行发送。
AES 加密插件在数据上报前通过 AES 算法对数据进行加密。
import sensors from 'sa-sdk-javascript';
import AesEncryption from 'sa-sdk-javascript/dist/web/plugin/aes-encryption/main.es6.js';
sensors.usePlugin(AesEncryption,{
k:'加密密钥',
kid: 1, // 密钥编号
khash: '密钥哈希值'
})
k 为 AES 加密密钥,kid 为 AES 加密密钥的 id,khash 为 AES 加密密钥的 hash 值。
初始化参数信息需要从神策服务器后端获取。
登录神策服务器,执行以下命令:
- 生成对称密钥命令
sh /sensorsdata/main/program/edge/edge/bin/generate_web_symmetric_key.sh -t AES
- 生成密钥后需要重启 Edge 模块才能生效
spadmin restart -p edge -m edge
加密后的数据在上报时,通过抓包或浏览器网络请求栏查看数据消息体中可以看到 payload 参数,payload 参数的值为加密后的密文。
-
本功能需要服务端的配合,可以联系神策客户成功/项目经理协助开通服务端解密功能。
-
开启加密后,如果服务端不支持解密,数据无法入库,会丢失,埋点管理中不会有报错。
-
版本要求
- Edge v0.3.0 及以上版本
- SDF 2.3 及以上版本
-
插件和 SDK 必须在同一个版本中,请勿混合不同版本的 SDK 和插件进行使用。