我正在标准环境中运行GAE应用程序(因此,对事物的控制很少(。它使用Cloud SQL进行后端(MySQL(。如何将数据库上的默认block_encryption_mode
永久更改为AES256?默认情况下,它设置为AES-128-ECB,这不足以满足我们的需求。
我已经查看了云SQL下的可用/可配置标志。block_encryption_mode
不在列表中。我很惊讶128-ecb很弱。在Django应用中,还有其他方法可以更改此问题吗?
由于block_encryption_mode
不支持Cloud SQL,因此需要设置此此会话(不幸,因为它将是对服务器的额外查询,但没有其他方式(。为此,请将其设置为Django settings.py
中数据库连接的init_command
选项:
DATABASES = {
'default': {
"ENGINE": 'django.db.backends.mysql',
"NAME": DB_NAME,
"USER": DB_USER,
"PASSWORD": ...,
"PORT": ...,
"OPTIONS": {
"init_command": "SET block_encryption_mode = 'aes-256-cbc'",
},
}
}
这与问题不直接相关,但是将块加密模式更改为AES256要求使用初始化矢量(IV(,每个加密内容唯一(。