如何为 HTML 文档创建防篡改印章或签名
How to create a Tamper Evident Seals or Signature for HTML a Document
我想用更易访问的自包含 HTML 文档替换一些 PDF 文件。
可以使用数据 URI 对图像进行编码
http://en.wikipedia.org/wiki/Data_URI_scheme
出于法律原因,我需要确保文件未被篡改
并在可能的情况下验证真实性。
这些文件是 "public" 所以他们不需要 "secure" 他们需要一个
防篡改 "seal" 或签名,可以轻松显示文件是否已被更改。
该文件通常会保留在客户端计算机上以备记录。
我正在考虑使用 MD5 散列和我自己的长盐关键字,那
只有我知道。该页面将与附加到文件的哈希一起保存。
要检查页面,请删除最后一行并检查哈希值。
进一步阅读的任何建议/链接:
- 创建安全密封可行解决方案的简单方法
- 是否适合使用 MD5 Hash 或是否有更好的算法。
- 例如 HMAC-MD5
http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
- 使用public/私钥系统会复杂多少
谢谢
麦克
MD5 已经不够好了。使用 HMAC-SHA256 或更好的算法。可能使用诸如 PBKDF2 之类的密钥派生函数来使其更不可能伪造 MAC.
您当然可以使用 public 密钥签名算法,例如 RSA,但您必须问自己以下问题。如果您将是唯一需要验证签名的人,那么您不需要 RSA 的额外开销,您可以安全地坚持使用 HMAC。因为 HMAC 的问题是 "signing" 和 "verifying" 一方必须知道盐。
我想用更易访问的自包含 HTML 文档替换一些 PDF 文件。
可以使用数据 URI 对图像进行编码 http://en.wikipedia.org/wiki/Data_URI_scheme
出于法律原因,我需要确保文件未被篡改 并在可能的情况下验证真实性。
这些文件是 "public" 所以他们不需要 "secure" 他们需要一个 防篡改 "seal" 或签名,可以轻松显示文件是否已被更改。
该文件通常会保留在客户端计算机上以备记录。
我正在考虑使用 MD5 散列和我自己的长盐关键字,那 只有我知道。该页面将与附加到文件的哈希一起保存。
要检查页面,请删除最后一行并检查哈希值。
进一步阅读的任何建议/链接:
- 创建安全密封可行解决方案的简单方法
- 是否适合使用 MD5 Hash 或是否有更好的算法。
- 例如 HMAC-MD5 http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
- 使用public/私钥系统会复杂多少
谢谢 麦克
MD5 已经不够好了。使用 HMAC-SHA256 或更好的算法。可能使用诸如 PBKDF2 之类的密钥派生函数来使其更不可能伪造 MAC.
您当然可以使用 public 密钥签名算法,例如 RSA,但您必须问自己以下问题。如果您将是唯一需要验证签名的人,那么您不需要 RSA 的额外开销,您可以安全地坚持使用 HMAC。因为 HMAC 的问题是 "signing" 和 "verifying" 一方必须知道盐。