1 公有云API的認證方式
一般有以下幾種認證方式:
- Token認證
- AK/SK認證
- RSA非對稱加密方式
下面主要介紹AK/SK。
1 AK/SK
1.1 AK/SK 原理
云主機需要通過使用Access Key Id / Secret Access Key
加密的方法來驗證某個請求的發送者身份。
- Access Key Id(AK)用于標示用戶。
- Secret Access Key(SK)是用戶用于加密認證字符串和云端用來驗證認證字符串的密鑰。
其中SK必須保密。熟悉非對稱加密的的話,舉個例子:AK相當于非對稱加密的公鑰,而SK相當于非對稱加密的私鑰。公鑰加密信息,只能由對應的私鑰才能解密,這是基本原理。 AK/SK也是如此。
1.2 AK/SK使用機制
云主機接收到用戶的請求后,系統將使用相同的SK和同樣的認證機制生成認證字符串,并與用戶請求中包含的認證字符串進行比對。如果認證字符串相同,系統認為用戶擁有指定的操作權限,并執行相關操作;如果認證字符串不同,系統將忽略該操作并返回錯誤碼。
1.3 流程
判斷用戶請求中是否包含Authorization認證字符串。如果包含認證字符串,則執行下一步操作。
基于HTTP請求信息,使用相同的算法,生成Signature字符串。
使用服務器生成的Signature字符串與用戶提供的字符串進行比對,如果內容不一致,則認為認證失敗,拒絕該請求;如果內容一致,則表示認證成功,系統將按照用戶的請求內容進行操作。
原文:https://blog.csdn.net/makenothing/article/details/81158481