加入收藏 | 设为首页 | 会员中心 | 我要投稿 徐州站长网 (https://www.0516zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

为知笔记加密系统的证书

发布时间:2022-10-26 16:01:22 所属栏目:安全 来源:未知
导读: 为知笔记(Wiz)的文档存储,是采用zip方式压缩的html文件,您可以使用任意的解压缩软件打开,例如WizZip, WinRAR或者7z。
为知笔记提供了文档加密的功能文档内容加密,使用加密功能后,为

为知笔记(Wiz)的文档存储,是采用zip方式压缩的html文件,您可以使用任意的解压缩软件打开,例如WizZip, WinRAR或者7z。

为知笔记提供了文档加密的功能文档内容加密,使用加密功能后,为知笔记会把存储的zip数据采用RSA+AES方式重新加密,从而保证数据内容的安全。

为知笔记加密系统的证书

要给为知笔记文档加密,用户必须申请一个证书,证书就是RSA算法的N, e, d三个数据。其中公钥用于加密,默认保存在Wiz数据库里面,私钥用于解密,使用用户提供的密码作为key,采用AES算法进行加密后保存。用户可以选择将证书保存到数据库。用户可以选择备份成文件,或者备份到服务器(加密后的证书)。

注意:为知笔记里面不保存任何用户证书的密码,因此用户如果丢失了证书的密码,将无法解密任何文档。

为知笔记文档加密流程

为知笔记文档加密,采用了RSA和AES混合加密的方式。加密流程如下:

随机生成两个GUID字符串连接起来作为AES加密的密钥。对于一个文档,每次加密的时候,该AES密钥都是不同的。使用RSA算法,采用公钥加密保护步骤1产生的AES的密钥,加密后的密钥,保存在ziw文件头。该密钥必须使用证书里面的私钥进行解密。使用AES算法,使用步骤1获得的随机密钥,加密原始的ziw(zip)文件,获得密文,保存在ziw文件头后面。

从上面的步骤可以看到,每一个加密ziw文档的密钥,都是随机的。ziw文档的安全性,取决于证书的私钥的安全性,也就是用户的证书以及证书的密码。

加密的ziw文件格式

加密的ziw文件,有一个文件头,记录了加密文档版本,算法,RSA密钥(密文)等数据,定义如下:

#pragma pack(1)

#define WIZKMZIWFILE_SIGN_LENGTH4

#define WIZKMZIWFILE_KEY_LENGTH128

#define WIZKMZIWFILE_RESERVED_LENGTH16

struct WIZKMZIWHEADER

{

char szSign[4];

UINT nVersion;

UINT nKeyLength;

BYTE szEncryptedKey[WIZKMZIWFILE_KEY_LENGTH];

BYTE szReserved[WIZKMZIWFILE_RESERVED_LENGTH];

};

#pragma pack()

其中szSign是一个四个字节的文档类型标记,可能的值为:

ZIWR:RSA和AES混合算法加密的文档。

ZIWA:AES算法加密的文档。概算法目前未实现。

nVersion:加密文档的版本,目前为1。

nKeyLength:AES算法加密后的密钥的长度。不超过128个字节

szEncryptedKey:AES算法加密后的密钥数据。

szReserved:保留数据。全部为0

文档加密后的数据,被保存在文件头后面。

加密使用的算法库

Wiz加密使用的算法库,是著名的加密算法库Crypto++? Library。

安全性总结

为知笔记加密的安全性,取决于证书和用于加密证书的密码。要解密一个文档,必须提供证书以及用于加密证书的密码,二者缺一不可。因此我们建议您在初始化加密的时候,尽量设置一个比较复杂的证书密码,同时将该证书密码记在纸上,保存在安全的地方。

另外,为了方便多台电脑使用加密功能,您可以选择将证书备份到服务器上面。因为证书的密钥被您设置的密码加密了,因此您不用担心证书会被盗用。

(编辑:徐州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!