常见问题
•您可到 支持中心 提交新的问题
方案咨询
1. 加解密对计算的影响
单台服务器加/解密单条数据耗时约0.03ms;
因此,即使对单台服务器的请求频率达到1000qps,对服务时间的影响也只有3%。
2、加解密的字段有哪些?
初期主要针对订单数据中买家的昵称、姓名、电话、邮箱、身份证、车牌号、支付宝账号、用户id等进行加密;
本期暂不对买家收货地址进行字段加密。
3、用户具体要做哪些工作?
您需要确认Appkey等相关信息
下载加、解密SDK,修改代码并验证兼容性,然后全量迁移数据库(所有明文数据进行加密)
具体的验证场景请参考《数据加密接入指南》
4、密钥如何获取,是否要定期升级
密钥是加、解密数据的关键,密钥不会定期升级,但是如果密钥存在泄漏风险,需要您配合升级密钥。
密钥的获取可以通过SDK中获取密钥的API,传入session参数和app加密安全码来获取。
5、数据加密后,有模糊搜索的需求怎么办?
我们提供了加密数据的模糊搜索功能,如果有此需求,需要您在sql查询语句中做适当的修改。
6、是不是只有RDS推送才加密,API调用会加密吗?
RDS推送和API调用都会加密。
7、是否有接口可以获知,哪些店铺设置了api及推送库加密?
目前没有,自助运营平台会开放店铺白名单设置。
8、调用加解密是否有频次限制?双11的时候会不会出现调用瓶颈?
加密解密函数的密钥有本地缓存策略,qps单线程可达到30000
9、通过千牛客户端JsSDK调用的,会加密吗?
目前有.net,java,php SDK 支持加密/解密,千牛插件不会加密
10、开启店铺加密是所有用户一起开还是可以先开放几个用户测试一下?
按店铺维度进行加密,所以可以先开几个用户的加密进行测试,在加密白名单处可以自行配置
加密白名单请填写卖家Nick(非店铺名称)
11、RDS修改字段长度有什么影响?RDS版本升级会不会停服务?
mysql5.5版本会有锁表现象,建议升级到5.6版本(可在控制台自助升级),版本升级对用户透明的。 只是最后切换的时候会闪断下。
rds只会修改 rds系统库中:交易表、退款表 的buyer_nick 字段。
12、开启加密后有漏单现象
请确认推送/业务RDS的buyer_nick字段长度已经修改
13、session到期后还能解密吗,用户主动取消授权呢?
到期或用户主动取消授权后,Session应该仍然可以使用90天时间。这个和授权协议是保持一致的,授权协议要求服务商在授权结束后90天内删除用户数据。
14、用子账号的session可以解开主账号加密内容吗?
可以的,会判断子账号所属主账号,然后返回对应密钥
15、数据迁移是否要终止服务
数据迁移过程中,数据库中可能存在明文、密文,老密钥和新密钥的加密数据
考虑到这些因素只要做好代码的兼容性,是不需要终止服务的
16、密钥升级后还需要做那些工作?
密钥升级意味着之前的加密数据已经不再安全,所以需要对以前的加密数据进行迁移工作,用新的密钥重新加密。
17、对于过期超过90天的用户无法获取密钥,是否不需要加密继续保存原来明文即可?待用户续费后再加密?
根据用户授权协议,超过90天没有授权的数据理应是要清除的。在用户授权快要过期的时候,想办法引导用户重新授权。理论上这部分数据是属于用户的,而授权是有时限的。
18、淘系账号和自建账号怎么区别?
自有账号简单的应用场景:您的本地数据可能不是来自淘宝的,比如说是京东商家的订单,但想复用加、解密SDK。那可以把京东的账号注册到淘宝这边加密库,这样就可以复用淘宝的加、解密sdk 加、解密是基于开放平台提供的sessionkey(token),sessionkey默认只能识别淘宝的账号。可参看://open.taobao.com/docs/doc.htm?treeId=1&articleId=106212&docType=1
19、SAAS部署和独立部署,能详细讲解一下区别吗?谢谢!
独立还是saas判断标准。就看你的单机服务的用户是多用户还是单用户,如果是单用户就是独立部署(比如特大卖家),多用户就是saas部署,或者2者都有。
开发接入
∗代码开发
1、
问题标题 | defaultTaobaoClient 使用的serverUrl必须是https协议,url具体是什么? |
问题描述 | SecretClient secretClient = new SecretClient (new DefaultTaobaoClient(serverUrl, appkey, appSecret), randomNumber) 注: defaultTaobaoClient 使用的serverUrl必须是https协议 里指的 https 是指TOP 的 https://eco.taobao.com/router/rest吗? |
问题分析 | |
问题答复 | 这里指的 https 是指TOP 的 https://eco.taobao.com/router/rest,具体请参考 //open.taobao.com/docs/doc.htm?docType=1&articleId=101617&treeId=1 |
2、
问题标题 | 模糊搜索的具体解决办法? 能否在SQL脚本中直接使用? |
问题描述 | 无 |
问题分析 | |
问题答复 | 模糊查询方法,可以在SQL中直接使用 like 语句, 得到的结果需要进一步筛选,有一定的多余结果产生,需要在程序中筛掉。 //需要模糊查询的片段 String partial = "cdefg"; //得到模糊查询密文 String search = secretClient.search(partial); // 去数据库做模糊查询 List // 筛选 List for(DO object : objects) { if (secretClient.decrypt(object.nick).contains(partial)){ result.add(object); } } |
3、
问题标题 | 调用解密是不是必须使用单例模式? |
问题描述 | 测试发现部分字段可以解密,部分不可以解密,是不是必须使用单例模式? |
问题分析 | |
问题答复 | 是的,调用解密必须使用单例模式 |
4、
问题标题 | 加解密接口只支持单个字段同时加解密吗? |
问题描述 | 加解密接口只支持单个字段同时加解密吗,是否可以同时对昵称,手机号码加解密? |
问题分析 | |
问题答复 | 目前加密和解密的接口 只能选择一种type,或者是phone, 或者是nick,或者是name,不可以混合 |
5、
问题标题 | 批量加密接口效率怎么样,源码里面没有并发处理呢? |
问题描述 | 批量加密源码实现还是for循环 调用单个加密接口的 |
问题分析 | |
问题答复 | 批量调用跟单个调用也差不多,批量接口也是循环处理单个调用。除非你要节省网络开销之类的需求,避免多次网络请求 |
∗RN(安全令牌码)/密匙
1、
问题标题 | secret_version 会变吗,密钥会变吗? |
问题描述 | |
问题分析 | secret_version用来标志密钥版本,只有在密钥版本变化时才会变化 |
问题答复 | secret_version 只有在密钥升级的情况下才会变,升级哪些用户,哪些用户就会变,密钥是不会定期改变的。 |
2、
问题标题 | RandomNumber 是什么,怎么获取? |
问题描述 | |
问题分析 | |
问题答复 | randNum(安全令牌码)用来初始化加、解密对象的 SecurityClient secretClient = new SecurityClient (new DefaultTaobaoClient(serverUrl, appkey, appSecret), Random Number); randomNum在my.open.taobao.com对应app证书那里下载 。 |
3、
问题标题 | 为什么我的应用证书处没有Random Number? |
问题描述 | |
问题分析 | |
问题答复 | randomNumber 需要小二在后台初始化appkey加密才可以。 |
4、
问题标题 | 一个密文怎么知道是密钥升级之前加密的还是升级之后加密的呢? |
问题描述 | |
问题分析 | |
问题答复 | 加密API会自动用最新的密钥去加密,解密API会自动获取密钥版本 |
5、
问题标题 | 数据加密以后,是不是一定会包含~字符? |
问题描述 | |
问题分析 | |
问题答复 | 是的,密文形式: ~密文~版本号~ |
6、
问题标题 | 能否传入一个实体Json格式,批量解密?或者有没有其它方式可以批量加解密. |
问题描述 | |
问题分析 | |
问题答复 | 批量加密解密支持输入列表,返回map |
7、
问题标题 | 加密后字段长度多少? |
问题描述 | |
问题分析 | |
问题答复 | 根据您每个字段的使用加密方案,加密长度可能不同。 精确查询(场景1,2)模糊查询(场景3)nick/ receiver_namevarchar(32+字符长度*4)varchar(32+字符长度*8)normal(其他场景)varchar(32+字符长度*4)varchar(32+字符长度*8) 场景4模糊查询(场景5)phonevarchar(16+(号码长度-8)+(24))varchar(20+(字符长度*4)) |
∗代码报错
1、
问题标题 | 相关代码调用返回isv.permission-denied错误/错误码15 |
问题描述 | |
问题分析 | a)后台没有对appkey 开启加密 b) session没有指定,或指定错误(不在加密白名单中) |
问题答复 | 需要开通加密或指定正确session |
2、
问题标题 | 调用taobao.top.secret.get 出现错误码11 |
问题描述 | |
问题分析 | 由于app配置了ip白名单 访问限制 |
问题答复 | 需要添加IP白名单 |
3、
问题标题 | 调用taobao.top.secret.get接口,会报”27/invalid session”错误 |
问题描述 | {"error_response": {"code":27, "msg":"Invalid session", "sub_code":"invalid-sessionkey", "request_id":"13oyvzsl8ud7g"} } |
问题分析 | 该报错因session无效/过期 |
问题答复 | 关注session是否正确 |
4、
问题标题 | 调用taobao.top.secret.get出现错误码12(subuser_has-no-permission) |
问题描述 | code: 12 subcode: subuser_has-no-permission |
问题分析 | 子账号没有appkey的使用权限 |
问题答复 | 建议检查子账号配置权限,或使用主账号操作 |
安全验证
•您可到 支持中心 提交新的问题
FAQ
- 关于此文档暂时还没有FAQ