常见问题


  • 您可到 支持中心 提交新的问题


方案咨询

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<DO> objects =  SELECT * FROM table WHERE nick LIKE %#search#%

// 筛选

List<DO> result = new List<DO>();

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