文档章节

OpenStack Fernet Key Rotate

平江夜弹
 平江夜弹
发布于 2017/07/07 11:38
字数 330
阅读 42
收藏 0

简单介绍一下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.工作方式

  • 数值最大的key 是当前的signing key (Primary Key)
  • 数值为0 的key 是即将要变成signing key 的key
  • 其它数值的key 都是 old keys,它们曾经是Primary Key。系统中也许会有一些tokens 是使用这些key 来加密的,取决于你所设置的过期时间方式
  • 新产生的key 通常都是数值为0的

3.怎么来做Rotate

举例,有三个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。

 

© 著作权归作者所有

共有 人打赏支持
平江夜弹
粉丝 26
博文 47
码字总数 17530
作品 0
南京
程序员
安装OpenStack QUEENS版本二:keystone

安装Keystone,在控制节点上 yum install openstack-keystone httpd mod_wsgi -y create a database mysql -uroot -ppassword -e "CREATE DATABASE keystone;" mysql -uroot -ppassword -e "......

OpenStack2015
08/03
0
0
理解 Keystone 的四种 Token

Token 是什么 通俗的讲,token 是用户的一种凭证,需拿正确的用户名/密码向 Keystone 申请才能得到。如果用户每次都采用用户名/密码访问 OpenStack API,容易泄露用户信息,带来安全隐患。所...

koala bear
2015/12/26
0
0
OpenStack(Queens版)高可用集群-4.keystone集群

参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:https://docs.openstack.org/ha-guide/index.html 理解Pacemaker:http://www.......

盖世英雄iii
08/23
0
0
openstack-M版安装部署

[openstack信息简介] Openstack项目是一个开源的云计算平台,它为广大云平台提供了可大规模扩展的平台,全世界的云计算技术人员创造了这个项目,通过一组相互关联的服务来提供了Iaas基础解决...

mapleZDW
06/28
0
0
openstack-ocata---2-keystone 安全认证

为什么写这个呢 一、为了记录自己干了啥 二、官方文档这里有点小问题 先决条件 mysql数据库 CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone. TO 'keystone'@'localhost' IDEN...

yr_linux运维
06/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RESTful架构详解

1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主...

kitty1116
15分钟前
0
0
精通Spring Boot——第十篇:Quartz动态配置定时任务

定时任务简述 定时任务,在企业开发中尤其重要,很多业务都是需要定时任务去做的。比如说10点开售某件东西,凌晨0点统计注册人数,统计其他各种等等。这个时候不可能说让人为的去开启某个开关...

developlee的潇洒人生
18分钟前
0
0
将一些内容输出到文件中

看到一个面试题,如下: 第八题: 一个字符串将其输入到一个文件中,代码如下: <?php$a = '[{"teamId": "43", "serial": "1"},{"teamId": "1", "serial": "2"},{"teamId": "14", "serial":...

vinci321
26分钟前
0
0
nginx的简单使用:负载均衡

nginx:反向代理的服务器;用户发送请求到nginx,nginx把请求发送给真正的服务器,等待服务器处理完数据并返回,再把数据发送给用户。 nginx作为一个反向代理服务器,能缓存我们项目的静态文...

osliang
今天
2
0
网站title标题被改并被百度网址安全中心提醒的解决办法

国庆假日期间我们Sine安全接到众多网站站长求助网站标题被改导致在百度搜索中百度安全中心提醒被拦截,导致网站正常用户无法浏览网站被跳转到一些菠菜du博网站,而且很明显的一个特征就是在百...

网站安全
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部