有什么办法可以远程validation文件是否被encryption?
我有一个非常复杂的问题,但是这里有一个简单的例子来说明这一点:
我有一个服务器,生成非常大的video文件。 我希望这些文件在下载之前在文件级进行encryption。 (可能是不安全的连接。)我知道这些文件的关键,我应该能够解密任何文件。
有没有什么方法可以让我在通过不安全的networking传输文件之前validation这些文件是否真正被encryption?
你怎么encryption他们? 例如,如果使用gpg ,文件命令会识别encryption格式(甚至可以区分ASCII装甲和非装甲输出):
[madhatta@risby tmp]$ ls -la > foo [madhatta@risby tmp]$ gpg -e -r fred foo [madhatta@risby tmp]$ gpg -e -r fred --no-armor foo [madhatta@risby tmp]$ file foo foo.asc foo.gpg foo: ASCII text foo.asc: PGP message foo.gpg: GPG encrypted data
编辑 :我想我知道你在问什么,但我没有太多的看点。 假设你能以某种方式build立一个能够识别每个文件的authentication机构,并颁发某种“encryption”证书,你将如何使用它? 为了确定它通过任何可靠性authentication的文件,它必须包含某种校验和,并评估校验和,你必须得到原始文件。 最好只是得到原始文件,并评估。
当然,您可以在证书中embeddedpath名,但是每个证书都必须根据实时CRL进行检查,以避免人们在现场简单地解密文件并将旧证书留在原地; 而其他一些系统将不得不经常警察文件更改和更新CRL。 不,如果你想远程做到这一点,我可以build议:
ssh server file foo.asc
对称encryption的大多数(全部)链接模式将在文件的截断版本上正常工作。
所以,原则上,您可以下载文件的开头,在本地进行解密,并validation它是否对应于截断的明文。 然后你有一个certificate,至less文件的开始是正确encryption的; 如果没有,你只泄露了一小部分数据。
细节取决于您正在使用哪种encryption格式。 至less要进行适合所使用的分组密码大小的截断,并且可能需要考虑一些头文件。