数据加密对接方案
方案背景
随着各类开发者的入驻,我们发现部分开发者的安全防控能力较为薄弱,为防止因消费者个人信息泄露导致诈骗行为的发生、财产的损失,平台未来将加大并完善信息安全保护的执行力度。本方案一期主要针对敏感字段传输过程中的加密(本期只针对增量数据进行改造,且不涉及电子面单改造),在特定场景下提供受监控的解密接口,可将密文转为明文,不影响正常的数据下发(如打单发货)流程。
对接角色
- 企业开发者
- 商家自研
改造时间
2022年7月20日24时前,所有开发者的应用需要完成数据安全改造。届时原有传明文的订单收件人信息(package.getPackageReceiverInfo)、海关申报信息(package.getPackageDeclareInfo)接口将将敏感信息统一以密文形式传输。(在截至日期前完成数据加密改造的应用,以上两个接口也会立刻传输密文)
相关规范
开发者在开发应用和使用数据的过程中,须遵循以下规范和协议:
方案验收目标
验收项 | 验收标准 |
---|---|
数据加密存储 | 调用包含敏感字段的接口时,敏感数据以密文形式存储在数据库中。 |
数据加密传输 | 实现系统前端从服务端获取数据的密文传输。 |
数据解密 | 实现在合理场景下调用解密接口(解密接口接入后会自动与小红书风控日志上传接口关联,解密行为收到风控监控)。 |
数据脱敏/明文展示 | 正常情况下,敏感数据数据在系统中脱敏展示。特殊情况下实现用户在前端查看明文的字段级展示。即若要查看明文,每次操作只能查看一个字段。 |
下载导出 | 商家在前端系统的订单导出功能,需要完成导出敏感字段脱敏,不可解密导出。若商家有需要,可引导商家在小红书商家后台进行明文导出。 |
改造流程
接入方案
1、登录小红书开放平台控制台,需要改造的应用会在「应用列表」-「应用管理」中出现「数据加密」功能的入口(不需要改造的应用会直接返回数据加密改造完成页面)。点击进入「数据加密」入口,阅读加密脱敏对接方案后,可进入灰度加密测试阶段。
2、在灰度加密测试阶段,首先需要配置指定店铺作为测试店铺(配置店铺的上限为10个,测试阶段的应用可以使用平台提供的测试账号,获取账号方式详见:应用测试 ,输入sellerId,即小红书店铺id(多个sellerid之间分行),点击「灰度测试」,测试店铺产生的增量数据的敏感字段将以密文形式返回。此设置可以通过删除指定sellerId,输入空格,并重新点击「灰度测试」回滚。若该应用无授权用户,则可以在白名单列表输入空格,点击「灰度测试」,待「全量加密」按钮亮起后直接进行全量加密。
3、在点击「灰度测试」后,开发者需要对于配置灰度测试的店铺进行验证,保证符合上述验收规范。确认没有风险后点击「切换到全量加密」,该操作需要验证开发者手机号,验证成功后该应用获取的所有增量隐私数据将以密文形式返回,明文出参返回null(注:该操作不可回滚)。
改造场景-待改造接口
若后续新增或改造敏感接口敏感字段,将发布相关公告,各服务商需要在改造截止日期前完成接入
package.getPackageReceiverInfo 订单收件人信息
- 涉及改造的敏感字段
参数名称 参数描述 receiverName 收件人姓名 receiverPhone 收件人电话 receiverAddress 收件人详细地址 package.getPackageDeclareInfo 海关申报信息
- 涉及改造的敏感字段
参数名称 参数描述 idName 申报人姓名 idNumber 申报人身份证号码 linkPhone 申报人联系电话 frontUrl 申报人身份证正面照片链接 backUrl 申报人身份证反面照片链接
改造场景-订单展示场景
- 第三方和商家自研系统在订单列表和订单详情中,需要对以下涉及的敏感字段进行脱敏展示,脱敏展示规则如下。
- 密文与未改造的存量明文数据皆可通过批量脱敏接口实现批量脱敏。
- 要求第三方和商家自研系统前端仅可实现字段级解密,即仅支持用户主动点击单个字段,返回明文信息结果的功能。该功能可通过调用平台提供的解密接口实现。
- 脱敏规则:
参数名称 | 参数描述 | 脱敏规则 | 明文示例 | 脱敏示例 |
---|---|---|---|---|
receiverName | 收件人姓名 | 仅保留姓氏第一位,其余信息使用“*"进行填充 | 王小二 王小二二 N王 | 王** 王*** N* |
receiverPhone | 收件人电话 | 国家区域信息不作隐藏,其余信息保留前3后4,中间使用“*”进行填充 | +8613812345678 | +86138****5678 |
receiverAddress | 收件人详细地址 | 数字及字母类信息使用“”替代 地址前2和后2使用“”替代 如地址中涉及敏感词,则敏感词使用”**“替代 | 上海市长宁区金钟路100号B栋602室 | 市金钟路号栋**** |
idNumber | 申报人身份证号码 | 保留前4后3,其余信息使用“*"进行填充 | 310220198002020023 | 3102***********023 |
改造场景-订单展示场景
- 针对商家在系统中的查询订单信息场景,查询逻辑是输入关键词后,关键词对应唯一索引串,通过调用获取索引串接口返回对应密文并在系统前端进行密文的脱敏展示。
- 其中检索串为密文的一部分,不会随着同一数据的多次加密而变化,为了方便查询,可将索引串与密文分别储存在数据库中。
- 目前手机号等数字字段、姓名、收货地址等文本字段,仅支持精确查询。
改造场景-订单合单场景
本期加密改造暂不涉及合单场景改造。根据开放平台package.getPackageReceiverInfo接口提供的openAddressId字段进行合单,openAddressId对于同一收货信息唯一。