您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“OpenStack Fernet Keys中Rotate的工作原理是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“OpenStack Fernet Keys中Rotate的工作原理是什么”這篇文章吧。
Openstack 的Fernet key 采用的是 python fernet 庫生成的(https://cryptography.io/en/latest/fernet/)
from cryptography.fernet import Fernet Fernet.generate_key()
Fernet Key 類似:
RoFd7Kucd2RdzIoMcsc5j3nx7cHR0pWi-XVaiOel978=
數值最大的key 是當前的signing key (Primary Key)
數值為0 的key 是即將要變成signing key 的key
其它數值的key 都是 old keys,它們曾經是Primary Key。系統中也許會有一些tokens 是使用這些key 來加密的,取決于你所設置的過期時間方式
新產生的key 通常都是數值為0的
舉例,有三個key:0, 1, 2
0 變成了 3 ,成為signing key (primary key)
1 被刪除
2 仍然是2
新創建了一個key 為0
圖示如下:
做個解釋:在key rotate 之前,所有的token 都是用2來加密的。key rotate 之后,所有的token 都是用3來加密的,當過來一個token 時候,keystone 同時用3 和2 來解密,總有一個能夠work 的。在這個時候,不能再次rotate,否則 2 被刪除后,將會出現解密錯誤。
這將要求你需要有更多的keys,或者過期時間設置的長一些。
舉例,一周做一次key rotate,然后token 的過期時間設置為2h。
以上是“OpenStack Fernet Keys中Rotate的工作原理是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。