项目背景:
应有关投标需要,系统需要进行满足三级等保改造.。涉及服务器,数据库,应用系统等。
具体要求如下:
服务器:
a.对口令复杂度进行配置
b.配置登录失败,超时设置
c.采用双因子
d.权限账户三员管理
e.审计记录定期备份
f.对远程登录地址进行限制
g.对数据进行备份恢复
h.异地备份
i.多台部署
应用系统:
a.配置口令复杂度
b.超时时间
c.采用https登录管理
d.采用双因子
e.管理账户三员管理
f.审计记录定期备份,
g.应用系统数据加密
h.个人信息保护相关管理制度
名词:
1.可搜索加密
2.国密对称加密
3.双因子
应对方案:
1.采用的阿里云服务器–提供的相关服务花钱能解决(快照备份就很方便)
2.遇到的最大问题就是数据加密这块,采用何种加密方式,加密后的搜索问题
应用系统数据加密SM4
一 key+iv
import base64
from gmssl.sm4 import CryptSM4, SM4_ENCRYPT, SM4_DECRYPT
import os
key = os.urandom(16) # 生成一个16字节的随机密钥
iv = os.urandom(16) # 生成一个16字节的随机IV
# 加密
plain_text = b'hello world'
c1 = CryptSM4()
c1.set_key(key, SM4_ENCRYPT)
cipher_text = c1.crypt_cbc(iv, plain_text)
cipher_text_base64 = base64.b64encode(cipher_text)
# 解密
c2 = CryptSM4()
c2.set_key(key, SM4_DECRYPT)
cipher_text = base64.b64decode(cipher_text_base64)
decrypt_text = c2.crypt_cbc(iv, cipher_text)
print("明文: ", plain_text)
print("加密后的密文: ", cipher_text_base64)
print("解密后的明文: ", decrypt_text)
二 只有key
import base64
from gmssl.sm4 import CryptSM4, SM4_ENCRYPT, SM4_DECRYPT
# 使用固定的密钥
key = b'a2222dsfafafeefe'
# 加密
plain_text = b'333333'
c1 = CryptSM4()
c1.set_key(key, SM4_ENCRYPT)
cipher_text0 = c1.crypt_ecb(plain_text)
cipher_text = base64.b64encode(bytes(cipher_text0))
# 解密
c2 = CryptSM4()
c2.set_key(key, SM4_DECRYPT)
decrypt_text = c2.crypt_ecb(bytes(base64.b64decode(cipher_text)))
print("明文: ", plain_text)
print("加密后的密文: ", cipher_text)
print("解密后的明文: ", decrypt_text)