iT邦幫忙

1

業界前後端介接打API時,是否會對資料再做加密?

請問業界在有HTTPS情況下,前後端介接時,會再加工把資料做一次加密嗎?
會的話,爬到一些教學是用ASE對稱加解密,但這不是用開發者模式就能看到程式碼嗎?
目前上課學到的前端,都是物件打出去,後端回傳也是直接吃進來
謝謝

froce iT邦大師 1 級 ‧ 2021-11-05 20:27:47 檢舉
HTTPS那個S就是確保你前後端連線不被竄改、你這次連線,第三者不能竊聽。
至於開發者模式是你在前端讓你能觀看[你自己]要用的資源,這是正常存取行為。
就算你自己在js裡進行加解密,傳送加密後的字串,你的演算法一樣會被看到,在前端作加密意義不大。

另外有些案子會要求存在資料庫的資料必須加密,這在後端做就好了。
vicentli iT邦研究生 4 級 ‧ 2021-11-08 20:52:08 檢舉
謝謝各位前輩的解答,我再依前輩提到的關鍵字做一下功課,謝謝!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
15
Ray
iT邦大神 1 級 ‧ 2021-11-05 20:55:42

對 API Payload 加密的理由, 並不是防止發生在兩端點環境內的資料竊取, 他是在防止中間人竊聽....

有人會問: 可是已經有 HTTPS 了, 怎麼還會有中間人竊聽?

請去看看市面上的 NGFW (次世代防火牆) 他們幾乎都能解開你的 HTTPS 取得明碼內容, 然後交給 Deep Inspector 模組分析 Payload, 判斷是否要採取攔阻行動? 網頁的 HTTPS 很容易解, 只需要插進一個可以被 Client 端信任的憑證就可以了, NGFW 就是塞了這樣一張憑證進去解開的..

如果你自己額外對 API 做了 Payload 加密的話, 中間人解開 HTTPS 之後, 還要再面對你的加密演算法, 這個對大部分只能做 HTTPS 竊聽的工具來說, 在沒有人工特別涉入調校之下, 幾乎是無法自行猜測演算法而去解開的...

當然, 如果中間人以人工進行二次解密的話, 還是有可能被解開; 但是這樣的機率極低, 已經比: 只使用自動化工具來竊聽來得更安全多了....

資安防禦是根據瑞士乳略理論, 經由層層疊加起來的防護, 來降低整體被突破的機率, 所以疊加多層防護, 肯定會有加分效果, 只是你要去評估那個投入的成本, 以及獲得的效益之間, 是否值得這樣做?

3

前端做加密比較沒有意義,畢竟都是看的到。
但還是看過2次請求法來達到前端加密的效果。

也就是第一次先送資料到後端做加密處理。
再將加密回傳的字串。往實際的請求送。

另一種方式則是CSRF傳送處理。這是比較簡單且常用的防外部送入的手法。

2
淺水員
iT邦大師 6 級 ‧ 2021-11-06 08:58:00

如果是非對稱加密的話 jwt 的簽名有個模式會用到

至於對稱加密,如果主機是跟別人租的話有可能會用到
Secret key 由使用者輸入的密碼產生
後端會直接儲存加密的資料
不過因為後端不知道 key 無法知道裡面有什麼
所以無法提供搜尋或讓其它使用者觀看
只適用於個人資料儲存的服務
(有點類似使用者上傳加密的壓縮檔)

我要發表回答

立即登入回答