加密介面如何測試?

2021-09-26 04:59:30 字數 1465 閱讀 9100

隨著網際網路技術的發展,服務安全性和資料安全性變的越來越重要,提供介面服務的系統往往會應用各種加密技術,保證介面的安全呼叫,如何應用工具來實現加密介面測試成為一項必要技能。在講解如何用jmeter實現介面安全性測試之前,先來了解一下常見的加密演算法,測試同學可根據不同的加密演算法型別和程式猿&程式猿溝通,獲取所需的資訊,實現加密介面的處理。

摘要演算法

對明文編碼生成資訊摘要,以防止被篡改。比如md5使用的是hash演算法,無論多長的輸入,md5都會輸出長度為128bits的乙個串。

摘要演算法不要秘鑰,客戶端和服務端採用相同的摘要演算法即可針對同一段明文獲取一致的密文

對稱加密

對稱加密演算法是共享金鑰加密演算法,在加密解密過程中,使用的金鑰只有乙個。傳送和接收雙方事先都知道加密的金鑰,均使用這個金鑰對資料進行加密和解密。

資料加密:在對稱加密演算法中,資料傳送方將明文 (原始資料) 和 加密金鑰一起經過加密處理,生成複雜的密文進行傳送。

資料解密:資料接收方收到密文後,使用加密的金鑰及相同演算法的逆演算法對加密的密文進行解密,將使其恢復成可讀明文。

非對稱加密

非對稱加密演算法,有兩個金鑰,乙個稱為公開金鑰 (publickey),另乙個稱為 私有金鑰 (private key),加密和解密使用的是兩個不同的金鑰,所以這種演算法稱為非對稱加密演算法。

如果使用公鑰對資料進行加密,只有用對應的私鑰才能進行解密。

如果使用 私鑰對資料進行加密,只有用對應的公鑰才能進行解密。

常見加密演算法的處理方式

根據上述常見的加密演算法,測試人員在測試不同的加密介面可採用下述的方法處理加密介面

摘要演算法(md5.sha1 ):造介面資料前呼叫md5,sha1進行編碼,服務端對比編碼後的字串是否一致。

對稱加密演算法(aes,des ):造介面資料前從開發獲取對稱公鑰,基於對稱公鑰可以加密請求資料,解密響應報文。

非對稱加密演算法(rsa):造介面資料前從開發獲取公鑰私鑰去加密解密介面資料

下面以jmete為例介紹如何實現加密介面的處理,目前有一介面在伺服器實現邏輯處理以前會對介面資料進行sha加密,伺服器獲取到加密介面資料以後先解密和驗證資料是否合法有效,再進行邏輯處理。針對這種介面測試的時候,在發起請求以前,我們需要對介面進入如下特殊處理:

和開發溝通介面加密的演算法以及需要的資訊,如果是sha加密,和開發溝通獲取加密的秘鑰,以及加密和編碼的關鍵字串

在發起介面請求以前,對介面明文資料進行預處理,在jmeter的介面實現中,可以通過新增beanshell指令碼,在beanshell指令碼中基於上乙個步驟獲取到的資訊,採用和服務端相同的加密方法和加密流程對介面明文進行加密和編碼

基於加密後的密文發起加密請求

作  者:testfan kitty

介面測試如何確定token失效 加密介面如何測試?

隨著網際網路技術的發展,服務安全性和資料安全性變的越來越重要,提供介面服務的系統往往會應用各種加密技術,保證介面的安全呼叫,如何應用工具來實現加密介面測試成為一項必要技能。在講解如何用jmeter實現介面安全性測試之前,先來了解一下常見的加密演算法,測試同學可根據不同的加密演算法型別和程式猿 程式猿...

hessian發布的介面如何測試

最近在公司負責了乙個介面.它是通過hessian發布的,這裡就遇到乙個問題,怎樣測試這個介面.既然作為服務類那麼必須有文件公布它的介面形式,客戶端使用者在通過這個文件來生成 類.hessian 的 類是直接通過factory得到的,所以我們先得獲取到介面檔案.客戶端 string url local...

介面加密測試

一般介面開發中有以下常用的幾種安全機制 使用者認證 一般的介面測試工具都會提供乙個user auth authorization的選項,以postman為例子,你可以看到以下的選項 在使用 http soap 協議傳輸資料的時候,簽名作為其中乙個引數,可以起到關鍵作用 先來乙個簡單的,通過客戶的金鑰...