溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenStack Fernet Keys中Rotate的工作原理是什么

發(fā)布時間:2021-12-29 15:11:12 來源:億速云 閱讀:136 作者:小新 欄目:云計算

這篇文章主要為大家展示了“OpenStack Fernet Keys中Rotate的工作原理是什么”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“OpenStack Fernet Keys中Rotate的工作原理是什么”這篇文章吧。

1.介紹

Openstack 的Fernet key 采用的是  python fernet 庫生成的(https://cryptography.io/en/latest/fernet/)

from cryptography.fernet import Fernet
Fernet.generate_key()

Fernet Key 類似:

    RoFd7Kucd2RdzIoMcsc5j3nx7cHR0pWi-XVaiOel978=

2.工作方式

  • 數(shù)值最大的key 是當前的signing key (Primary Key)

  • 數(shù)值為0 的key 是即將要變成signing key 的key

  • 其它數(shù)值的key 都是 old keys,它們曾經(jīng)是Primary Key。系統(tǒng)中也許會有一些tokens 是使用這些key 來加密的,取決于你所設置的過期時間方式

  • 新產(chǎn)生的key 通常都是數(shù)值為0的

3.怎么來做Rotate

舉例,有三個key:0, 1, 2

  • 0 變成了 3 ,成為signing key (primary key)

  • 1 被刪除

  • 2 仍然是2

  • 新創(chuàng)建了一個key 為0

圖示如下:

OpenStack Fernet Keys中Rotate的工作原理是什么

    做個解釋:在key rotate 之前,所有的token 都是用2來加密的。key rotate 之后,所有的token 都是用3來加密的,當過來一個token 時候,keystone 同時用3 和2 來解密,總有一個能夠work 的。在這個時候,不能再次rotate,否則 2 被刪除后,將會出現(xiàn)解密錯誤。

   這將要求你需要有更多的keys,或者過期時間設置的長一些。

   舉例,一周做一次key rotate,然后token 的過期時間設置為2h。

以上是“OpenStack Fernet Keys中Rotate的工作原理是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI