日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用户密码和cookie,session、token还有AKSK

發布時間:2024/10/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用户密码和cookie,session、token还有AKSK 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:認證、授權、鑒權和權限控制:

https://segmentfault.com/a/1190000013258488

認證、授權、鑒權和權限控制 | 灘之南

單點登錄的通用架構實現 | 灘之南

https://segmentfault.com/a/1190000013010835

基于JWT的token身份認證方案 - 開拖拉機的蠟筆小新 - 博客園

用戶名密碼

  • 用戶輸入賬號、密碼提交給服務端認證

存在一個問題,萬一被泄漏了,就只能改密碼或者用戶名了,而且還必須銷戶。那么我們很自然得想到我們需要給用戶賬號密碼認證加密或者是設置有效期。用戶名密碼還好,如果應用間訪問間隔一段時間就要換密碼是很痛苦的。而加密呢就涉及到了解密,安全的加密算法,解密一般來說會有性能損耗。(cookie和session都是基于用戶名密碼)

當然這里涉及到cookie和seesion還有單點登錄的方案可以看上文鏈接

計算機的很多問題:加一個中間層就可以解決了,如果不行,那就多加幾層

Token認證

我們能不能先用賬號密碼訪問一個中間層然后從中間層取個帶有效時間的對象呢,后續有效期內,我就使用這個對象來進行訪問應用。這就是token也叫令牌。

但是如果報文在中途被劫持,那么token就泄露了,這時(token有效期內)黑客就可以構造任意的請求了,這時候我們就又想既然能加時間,我們是不是可以加更多的內容進去,比如你能調哪個api?但是如果每個api都這樣搞,那么你需要保存多少token呢?換一個思路用加密,每次請求都要解密,性能上的損耗可能是我們無法接受的。

那么其實在微服務架構下,一般會有微服務網關,我們可能把這層鑒權和token生成放在網關嗎?

當然可以。于是jwt應運而生:基于JWT的token身份認證方案 - 開拖拉機的蠟筆小新 - 博客園

aksk(Access Key Id / Secret Access Key)

AK/SK使用機制

公有云下絕大多數使用assk機制來進行認證鑒權

云主機接收到用戶的請求后,系統將使用AK對應的相同的SK和同樣的認證機制生成認證字符串,并與用戶請求中包含的認證字符串進行比對。如果認證字符串相同,系統認為用戶擁有指定的操作權限,并執行相關操作;如果認證字符串不同,系統將忽略該操作并返回錯誤碼。

1.3 流程

判斷用戶請求中是否包含Authorization認證字符串。如果包含認證字符串,則執行下一步操作。
基于HTTP請求信息,使用相同的算法,生成Signature字符串。
使用服務器生成的Signature字符串與用戶提供的字符串進行比對,如果內容不一致,則認為認證失敗,拒絕該請求;如果內容一致,則表示認證成功,系統將按照用戶的請求內容進行操作。
原理:
  客戶端:
    1. 構建http請求(包含 access key);
    2. 使用請求內容和 使用secret access key計算的簽名(signature);
    3. 發送請求到服務端。

服務端:
    1. 根據發送的access key 查找數據庫得到對應的secret-key;
    2. 使用同樣的算法將請求內容和 secret-key一起計算簽名(signature),與客戶端步驟2相同;
    3. 對比用戶發送的簽名和服務端計算的簽名,兩者相同則認證通過,否則失敗。
?

總結

以上是生活随笔為你收集整理的用户密码和cookie,session、token还有AKSK的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。