发布于 2021-03-11 14:09:00
理论上:不。如何实现或命名Oracle并不重要,只是它的工作方式。
在实践中:任何泄漏信息的东西都可以抽象为Oracle。因此,也可以使用客户端作为甲骨文,或系统处理密码系统。在万维网上,服务器端系统只是最常见的工作和通信方式,但重要的是,密码学的应用远远超过了“互联网”。
一个很好的例子是操作系统。它们是(为了简单起见)离线系统,但您也可以在用于操作系统的加密应用程序中识别oracles和其他机制。OS也使用块密码,因此可以进行离线填充oracle攻击。
我希望我能给出一个充分的答案!
发布于 2021-03-11 14:18:22
“联机”一词是指由另一台计算机或网络控制或连接(牛津)。
单词查询--在线查询和离线查询--告诉您需要什么,并与如何执行查询相关。
一个人询问甲骨文,然后甲骨文作出回应。如果没有回应,它就不是先知。响应可以是一点点或更多,甚至只有在出现错误时才返回(等待x时间,如果没有得到错误,您可以假设它没有错误)。
要更好地理解神谕,可以考虑一个侏儒坐在一个盒子里,里面有一本书,一支铅笔,也可以用一枚硬币。如果是加密甲骨文,那么密钥也包括在内。
通常情况下,该盒子不在攻击者的访问范围内。如果他们能进入里面,那么钥匙就会被泄露。因此,我们假设,在构造oracle时,攻击者除了查询之外没有访问该框的权限。
这是关于如何执行查询的。如果查询是在线执行的,我们可以调用这个在线oracle,如果不是脱机oracle (如果这有帮助的话)。在实践中,更多地考虑在线攻击(远程)。
作为特例,甲骨文可以是你的个人电脑上的TPM芯片。你攻击这个芯片作为研究,那么这是离线的。但是攻击者也可以攻击这个远距离,然后这个就在线了。
发布于 2021-03-12 00:52:45
正如我在https://www.reddit.com/r/crypto/comments/m0gc2z/understanding_这个_冲击_的_分区_oracle/gqbciqj/中所说的,甲骨文需要有解密密钥。
当甲骨文没有密钥时,你似乎仍然有这样的印象:你可以发动任何形式的甲骨文攻击(从你最近在密码甲骨文必须是服务器吗?的问题@kelalaka判断)。尽管@kelalaka给出了一些耐心的解释,但我在对这一答复的评论中看到了这一点。
我可以从你与泰坦尼克勋爵的谈话中看出,用“服务器”来思考这个问题是有误导性的。也许你应该再问他一遍:“密码甲骨文需要真正的密钥吗?”
https://crypto.stackexchange.com/questions/88777
复制相似问题