rcl*_*yde 9 encryption security password libreoffice
当使用“使用密码保存”选项保存文件时,LibreOffice 是否真的对文件进行了加密?
欢迎提供任何详细信息(加密方法、密钥大小、SALT 使用、填充等)。
LibreOffice 使用 OpenDocument 格式,这是一个 zip 加密存档,主要包含代表文档的 xml 文件。
如果您设置密码来读取文档,则 zip 存档中包含的所有文件都将单独加密,元数据除外,元数据仍为明文。
直到 LibreOffice 3.5(高达 ODF 1.1),Blowfish 算法用于加密,当前版本使用 AES-256 代替。
以下是一些提供更多详细信息的资源:
从http://listarchives.libreoffice.org/global/users/msg15359.html:
使用密码保存文档确实是一种加密。加密方法在 ODF 规范中指定,用于加密 Zip 包的各个部分。(对于 ODF 文档的单 XML 文件形式,没有 ODF 指定的加密。)
默认方法适用于包中的所有 ODF 1.0/1.1/1.2 文档(例如,ODT、ODP 和 ODS 文件),是通过基于密码的密钥派生 (PBKDF2) 使用 HMAC 和 SHA1 以 UTF 的 SHA1 摘要开头-8 用户选择的密码。使用派生密钥的加密是 Blowfish with 8-bit Cipher Feedback (8-bit CFB)。这是在携带 ODF 文档部分的 Zip 包的每个文件上完成的。(每个部分都有不同的、随机派生的初始化向量,但派生的密钥对所有部分都是相同的。)
从 ODF 1.2 开始,可以选择其他加密方法。但是,如果文档打算用除用于加密它的计算机和软件之外的任何东西打开(实际上是一个常见用例,但不是在打算进行安全交换时),则存在互操作性问题。
来自https://wiki.documentfoundation.org/ReleaseNotes/3.5#Different_Encryption_Algorithm:
在 LibreOffice 3.5 中,一种不同且更安全的加密算法 (AES-256) 用于 ODF 1.2 和 ODF 1.2 扩展文件格式的密码保护文件。默认情况下激活新密码。ODF 1.2 文件中的 Blowfish 加密被认为已弃用
从https://en.wikipedia.org/wiki/OpenDocument_technical_specification#Encryption:
当 OpenDocument 文件受密码保护时,bundle 的文件结构保持不变,但 package 中 XML 文件的内容使用以下算法加密:
- 文件内容使用 DEFLATE 算法压缩。
- 计算压缩文件部分的校验和(文件内容的 SHA-1,或文件前 1024 个字节的 SHA-1,或文件前 1024 个字节的 SHA-256)并存储密码解密时可以验证正确性。
- 用户以 UTF-8 编码输入密码的摘要(散列)被创建并传递给包组件。ODF 1.0 和 1.1 版仅在此处强制要求支持 SHA-1 摘要,而 1.2 版建议使用 SHA-256。
- 该摘要用于通过使用 HMAC-SHA-1 和任意长度的盐(在 ODF 1.2 中 - 在 ODF 1.1 及更低版本中为 16 字节)对 PBKDF2 进行密钥拉伸来生成派生密钥,该盐由随机数生成器为任意迭代计数(在 ODF 1.2 中默认为 1024)。
- 随机数生成器用于为每个文件生成一个随机初始化向量。
- 初始化向量和派生密钥用于加密压缩文件内容。ODF 1.0 和 1.1 在 8 位密码反馈模式下使用 Blowfish,而 ODF 1.2 将其视为传统算法并允许使用密码块链接模式下的三重 DES 和 AES(128、196 或 256 位)。
归档时间: |
|
查看次数: |
9629 次 |
最近记录: |