首页 > 安全保障 > 数据加解密:帐号体系接入方案

数据加解密:帐号体系接入方案

帐号体系接入方案

1、场景需求

ISV接入数据加解密的过程中,在提交应用信息后,需要选择适合自己应用的接入方案。由于我们的加密方案会为不同京东用户的数据生成不同的密钥,不同用户之间的数据是用不同的密钥加密的,应用需要使用用户的授权才能成功加解密。

1)
如果应用本身是基于京东系账号的,那么接入我们的方案就很简单直接了,可以直接使用我们的通用接入方案。


2)
如果应用自己有一套账号体系,而且和京东系账号之间不是一一对应的关系,甚至自有账号有私有独立部署的,那么可能就不适合通用的、简单方案,需要更复杂的自有账号方案。


2、方案介绍

2.1 通用接入方案

      使用场景:

       商家使用京东帐号登录开发者应用,并只管理单个店铺数据

       方案:

        密钥是商家(单个店铺)粒度隔离的;对于京东系账号应用,加密、解密的时候,直接取对应商家帐号(包括子帐号)授权的token并且调用JD SDK即可。

•       接入步骤

        1) 开发:接入JD SDK并在数据读取、查询和插入的地方添加解密逻辑。确保可以兼容以下场景:

            • 所有数据尚未加密;

            • 数据加密开启后所有新获取的数据已加密,旧数据尚未加密;

            • 存量数据加密;

        2) 开发测试通过并上线后,在开发者的应用平台上打开加密开关。通过白名单测试店铺加密效果,逐步扩大直至打开所有用户加密。

        3) 所有用户加密后,对历史数据进行加密清洗。


2.2 自有帐号接入方案


•      使用场景:

       对于自有账号体系的应用,通常在应用逻辑中,有一个订单过滤的步骤。 根据京东系账号和自有账号映射,将订单信息转存到相应的自有账号下面。京东系账号和自有账号的映射可能是多对一甚至多对多的。

•       方案:

        通过调用一个api注册自有账号,之后这个账号就可以和京东系账号一样被分配到一个自己的密钥。在接入加密的过程中,可以选择在订单过滤的地方,将原本用京东系账号对应密钥加密的数据,转而用对应的自有账号密钥加密,并存储在相应的数据库中。

•       接入步骤

    1) 在开发者的应用上注册帐号环节上,创建帐号成功后调用API:jingdong.jos.secret.register 进行API注册加密帐号接口,确保每个自有帐号有对应的加密密钥。此接口权限请提交工单让运营手工添加权限。注:一个自有帐号只需要调用一次成功注册接口,不要重复调用多次!

    2)下载最新的SDK,加解密初始时需要调用静态方法:TDEClient.generateCustomerToken(long userId)生成token。这个token与店铺的token不一样,是做为自有帐号的token来进行调用加解密方法。

    3)在使用订单的过滤的地方,将订单信息用归属的店铺密钥解密(需要使用店铺的授权token来调用解密方法),然后用对应自有账号的密钥加密(需要使用第2)生成的token来进行加密)

    4) 在开发者的应用上进行订单展示、查询的地方,将订单信息用自有账号的用户密钥进行解密。

    5)  开发测试通过并上线后,在开发者的应用平台上打开加密开关(由开发者的设计方案来定)。通过店铺白名单的方式进行测试店铺加密效果,直至打开“全店铺加密”,使得所有用户数据都全加密。

    6) 所有用户加密后,对历史数据进行加密清洗。