常見問題
? 您可到 支持中心 提交新的問題
方案咨詢
1. 加解密對計算的影響
單臺服務(wù)器加/解密單條數(shù)據(jù)耗時約0.03ms;
因此,即使對單臺服務(wù)器的請求頻率達到1000qps,對服務(wù)時間的影響也只有3%。
2、加解密的字段有哪些?
初期主要針對訂單數(shù)據(jù)中買家的昵稱、姓名、電話、郵箱、身份證、車牌號、支付寶賬號、用戶id等進行加密;
本期暫不對買家收貨地址進行字段加密。
3、用戶具體要做哪些工作?
您需要確認Appkey等相關(guān)信息
下載加、解密SDK,修改代碼并驗證兼容性,然后全量遷移數(shù)據(jù)庫(所有明文數(shù)據(jù)進行加密)
具體的驗證場景請參考《數(shù)據(jù)加密接入指南》
4、密鑰如何獲取,是否要定期升級
密鑰是加、解密數(shù)據(jù)的關(guān)鍵,密鑰不會定期升級,但是如果密鑰存在泄漏風(fēng)險,需要您配合升級密鑰。
密鑰的獲取可以通過SDK中獲取密鑰的API,傳入session參數(shù)和app加密安全碼來獲取。
5、數(shù)據(jù)加密后,有模糊搜索的需求怎么辦?
我們提供了加密數(shù)據(jù)的模糊搜索功能,如果有此需求,需要您在sql查詢語句中做適當(dāng)?shù)男薷摹?/span>
6、是不是只有RDS推送才加密,API調(diào)用會加密嗎?
RDS推送和API調(diào)用都會加密。
7、是否有接口可以獲知,哪些店鋪設(shè)置了api及推送庫加密?
目前沒有,自助運營平臺會開放店鋪白名單設(shè)置。
8、調(diào)用加解密是否有頻次限制?雙11的時候會不會出現(xiàn)調(diào)用瓶頸?
加密解密函數(shù)的密鑰有本地緩存策略,qps單線程可達到30000
9、通過千??蛻舳?span lang="EN-US">JsSDK調(diào)用的,會加密嗎?
目前有.net,java,php SDK 支持加密/解密,千牛插件不會加密
10、開啟店鋪加密是所有用戶一起開還是可以先開放幾個用戶測試一下?
按店鋪維度進行加密,所以可以先開幾個用戶的加密進行測試,在加密白名單處可以自行配置
加密白名單請?zhí)顚戀u家Nick(非店鋪名稱)
11、RDS修改字段長度有什么影響?RDS版本升級會不會停服務(wù)?
mysql5.5版本會有鎖表現(xiàn)象,建議升級到5.6版本(可在控制臺自助升級),版本升級對用戶透明的。 只是最后切換的時候會閃斷下。
rds只會修改 rds系統(tǒng)庫中:交易表、退款表 的buyer_nick 字段 。
12、開啟加密后有漏單現(xiàn)象
請確認推送/業(yè)務(wù)RDS的buyer_nick字段長度已經(jīng)修改
13、session到期后還能解密嗎,用戶主動取消授權(quán)呢?
到期或用戶主動取消授權(quán)后,Session應(yīng)該仍然可以使用90天時間。這個和授權(quán)協(xié)議是保持一致的,授權(quán)協(xié)議要求服務(wù)商在授權(quán)結(jié)束后90天內(nèi)刪除用戶數(shù)據(jù)。
14、用子賬號的session可以解開主賬號加密內(nèi)容嗎?
可以的,會判斷子賬號所屬主賬號,然后返回對應(yīng)密鑰
15、數(shù)據(jù)遷移是否要終止服務(wù)
數(shù)據(jù)遷移過程中,數(shù)據(jù)庫中可能存在明文、密文,老密鑰和新密鑰的加密數(shù)據(jù)
考慮到這些因素只要做好代碼的兼容性,是不需要終止服務(wù)的
16、密鑰升級后還需要做那些工作?
密鑰升級意味著之前的加密數(shù)據(jù)已經(jīng)不再安全,所以需要對以前的加密數(shù)據(jù)進行遷移工作,用新的密鑰重新加密。
17、對于過期超過90天的用戶無法獲取密鑰,是否不需要加密繼續(xù)保存原來明文即可?待用戶續(xù)費后再加密?
根據(jù)用戶授權(quán)協(xié)議,超過90天沒有授權(quán)的數(shù)據(jù)理應(yīng)是要清除的。在用戶授權(quán)快要過期的時候,想辦法引導(dǎo)用戶重新授權(quán)。理論上這部分數(shù)據(jù)是屬于用戶的,而授權(quán)是有時限的。
18、淘系賬號和自建賬號怎么區(qū)別?
自有賬號簡單的應(yīng)用場景:您的本地數(shù)據(jù)可能不是來自淘寶的,比如說是京東商家的訂單,但想復(fù)用加、解密SDK。那可以把京東的賬號注冊到淘寶這邊加密庫,這樣就可以復(fù)用淘寶的加、解密sdk 加、解密是基于開放平臺提供的sessionkey(token),sessionkey默認只能識別淘寶的賬號??蓞⒖矗?/open.taobao.com/docs/doc.htm?treeId=1&articleId=106212&docType=1
19、SAAS部署和獨立部署,能詳細講解一下區(qū)別嗎?謝謝!
獨立還是saas判斷標(biāo)準(zhǔn)。就看你的單機服務(wù)的用戶是多用戶還是單用戶,如果是單用戶就是獨立部署(比如特大賣家),多用戶就是saas部署,或者2者都有。
開發(fā)接入
?代碼開發(fā)
1、
問題標(biāo)題 | defaultTaobaoClient 使用的serverUrl必須是https協(xié)議,url具體是什么? |
問題描述 | SecretClient secretClient = new SecretClient (new DefaultTaobaoClient(serverUrl, appkey, appSecret), randomNumber) 注: defaultTaobaoClient 使用的serverUrl必須是https協(xié)議 里指的 https 是指TOP 的 https://eco.taobao.com/router/rest嗎? |
問題分析 | |
問題答復(fù) | 這里指的 https 是指TOP 的 https://eco.taobao.com/router/rest,具體請參考 //open.taobao.com/docs/doc.htm?docType=1&articleId=101617&treeId=1
|
2、
問題標(biāo)題 | 模糊搜索的具體解決辦法? 能否在SQL腳本中直接使用? |
問題描述 | 無 |
問題分析 | |
問題答復(fù) | 模糊查詢方法,可以在SQL中直接使用 like 語句, 得到的結(jié)果需要進一步篩選,有一定的多余結(jié)果產(chǎn)生,需要在程序中篩掉。 //需要模糊查詢的片段 String partial = "cdefg"; //得到模糊查詢密文 String search = secretClient.search(partial); // 去數(shù)據(jù)庫做模糊查詢 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、
問題標(biāo)題 | 調(diào)用解密是不是必須使用單例模式? |
問題描述 | 測試發(fā)現(xiàn)部分字段可以解密,部分不可以解密,是不是必須使用單例模式? |
問題分析 | |
問題答復(fù) | 是的,調(diào)用解密必須使用單例模式 |
4、
問題標(biāo)題 | 加解密接口只支持單個字段同時加解密嗎? |
問題描述 | 加解密接口只支持單個字段同時加解密嗎,是否可以同時對昵稱,手機號碼加解密? |
問題分析 | |
問題答復(fù) | 目前加密和解密的接口 只能選擇一種type,或者是phone, 或者是nick,或者是name,不可以混合 |
5、
問題標(biāo)題 | 批量加密接口效率怎么樣,源碼里面沒有并發(fā)處理呢? |
問題描述 | 批量加密源碼實現(xiàn)還是for循環(huán) 調(diào)用單個加密接口的 |
問題分析 | |
問題答復(fù) | 批量調(diào)用跟單個調(diào)用也差不多,批量接口也是循環(huán)處理單個調(diào)用。除非你要節(jié)省網(wǎng)絡(luò)開銷之類的需求,避免多次網(wǎng)絡(luò)請求 |
?RN(安全令牌碼)/密匙
1、
問題標(biāo)題 | secret_version 會變嗎,密鑰會變嗎? |
問題描述 | |
問題分析 | secret_version用來標(biāo)志密鑰版本,只有在密鑰版本變化時才會變化 |
問題答復(fù) | secret_version 只有在密鑰升級的情況下才會變,升級哪些用戶,哪些用戶就會變,密鑰是不會定期改變的。
|
2、
問題標(biāo)題 | RandomNumber 是什么,怎么獲??? |
問題描述 | |
問題分析 | |
問題答復(fù) | randNum(安全令牌碼)用來初始化加、解密對象的 SecurityClient secretClient = new SecurityClient (new DefaultTaobaoClient(serverUrl, appkey, appSecret), Random Number); randomNum在my.open.taobao.com對應(yīng)app證書那里下載 。
|
3、
問題標(biāo)題 | 為什么我的應(yīng)用證書處沒有Random Number? |
問題描述 | |
問題分析 | |
問題答復(fù) | randomNumber 需要小二在后臺初始化appkey加密才可以。 |
4、
問題標(biāo)題 | 一個密文怎么知道是密鑰升級之前加密的還是升級之后加密的呢? |
問題描述 | |
問題分析 | |
問題答復(fù) | 加密API會自動用最新的密鑰去加密,解密API會自動獲取密鑰版本
|
5、
問題標(biāo)題 | 數(shù)據(jù)加密以后,是不是一定會包含~字符? |
問題描述 | |
問題分析 | |
問題答復(fù) | 是的,密文形式: ~密文~版本號~ |
6、
問題標(biāo)題 | 能否傳入一個實體Json格式,批量解密?或者有沒有其它方式可以批量加解密. |
問題描述 | |
問題分析 | |
問題答復(fù) | 批量加密解密支持輸入列表,返回map
|
7、
問題標(biāo)題 | 加密后字段長度多少? |
問題描述 | |
問題分析 | |
問題答復(fù) | 根據(jù)您每個字段的使用加密方案,加密長度可能不同。 精確查詢(場景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、
問題標(biāo)題 | 相關(guān)代碼調(diào)用返回isv.permission-denied錯誤/錯誤碼15 |
問題描述 | |
問題分析 | a)后臺沒有對appkey 開啟加密 b) session沒有指定,或指定錯誤(不在加密白名單中) |
問題答復(fù) | 需要開通加密或指定正確session |
2、
問題標(biāo)題 | 調(diào)用taobao.top.secret.get 出現(xiàn)錯誤碼11 |
問題描述 | |
問題分析 | 由于app配置了ip白名單 訪問限制 |
問題答復(fù) | 需要添加IP白名單 |
3、
問題標(biāo)題 | 調(diào)用taobao.top.secret.get接口,會報”27/invalid session”錯誤 |
問題描述 | {"error_response": {"code":27, "msg":"Invalid session", "sub_code":"invalid-sessionkey", "request_id":"13oyvzsl8ud7g"} } |
問題分析 | 該報錯因session無效/過期 |
問題答復(fù) | 關(guān)注session是否正確 |
4、
問題標(biāo)題 | 調(diào)用taobao.top.secret.get 出現(xiàn)錯誤碼12(subuser_has-no-permission) |
問題描述 | code: 12 subcode: subuser_has-no-permission |
問題分析 | 子賬號沒有appkey的使用權(quán)限 |
問題答復(fù) | 建議檢查子賬號配置權(quán)限,或使用主賬號操作 |
安全驗證
? 您可到 支持中心 提交新的問題
FAQ
- 關(guān)于此文檔暫時還沒有FAQ