我有以下场景:双方希望交换文件。
第一方在安全服务器上发布文件。
第一方向第二方发送一个散列文件,以便能够验证完整性。
第二方从安全服务器下载文件。
第二方计算下载文件的哈希,并将哈希发送给第一方以确认完整性。
实现此场景的最佳方法是什么?-what是计算文件完整性的最佳哈希函数?
-what是在双方之间交换哈希的最佳方式吗?
发布于 2019-03-02 09:53:08
您描述的场景是“公共下载secenario”。“第一方”只需在“第二方”可以下载文件的同一台服务器上发布文件的哈希。
然后,第二方可以计算文件的哈希,并使用服务器上发布的哈希验证它。
如果您对“安全服务器”的假设意味着攻击者无法操作或替换服务器上的信息,并且通信由TLS保护,则此工作流是安全的。
这个实践有很多例子,例如查看https://www.openssl.org/source/,其中发布了每个.tar文件的sha256哈希。
为文件完整性计算的最佳散列函数是什么?
常用哈希函数(如sha256 )
在双方之间交换散列的最佳方式是什么?
上面已经回答了,只需在服务器上发布文件的散列即可。
发布于 2019-03-02 19:07:46
使用公钥加密技术对文件进行加密或签名非常简单。其中一个著名的工具集是Gnu隐私保护。
第一方和第二方都生成证书并交换公钥。甲方要么签署一个文件,要么用其私钥加密并共享该文件。乙方使用甲方的共享公钥验证签名/散列。
https://security.stackexchange.com/questions/204593
复制相似问题