【发布时间】:2012-07-10 15:31:51
【问题描述】:
我有一个想法,但我不知道在 Google 中使用什么神奇的词 - 我希望在这里描述这个想法,也许有人会知道我在寻找什么。
假设您有一个数据库。大量数据。它是加密的。我正在寻找的是一种加密,通过该加密进行解密,变量 N 必须在给定时间保持值 M(从第三方获得,如硬件令牌),否则无法解密。
想象一下 AES - 好吧,AES 只是一个密钥。如果你有密钥,你就进去了。现在想象一下 AES 以这样一种方式修改,即算法本身需要一个额外的事实,在密钥之上和之外——这个来自外部源的额外数据,以及该数据随时间变化的地方。
这存在吗?有名字吗?
【问题讨论】:
-
可能类似于 RSA 密钥的工作原理? “当前密码”在哪里以服务器和授权客户端已知的速率随时间变化?在安全方面,您可以搜索的内容是“双因素安全性”。据我所知,有三个主要的安全因素。你知道的东西(密码),你拥有的东西(门禁卡,RSA 钥匙串 fob 等),你是的东西(指纹,视网膜扫描等)。每个额外的因素都比仅仅将其中一个因素加倍增加了更多的安全性。 (例如,密码 + RSA 密钥优于 2 个密码。)
-
就是这样,除了更多——它实际上是针对数据的加密方式,而不仅仅是为了身份验证。考虑一下我的情况是相反的。与我联系的代理和我需要对代理 (RSA) 进行身份验证不同,在我的情况下,代理(数据库)拥有所有有价值的东西,但它是加密的;我想确保代理只能在我的许可下访问数据,例如这样,如果代理被颠覆,未经我的许可,他仍然无法访问数据。普通的 AES 加密对此没有用,因为代理必须知道密钥。
-
大声笑,有一个密码堆栈交换 - 谢谢你,代码。我刚刚阅读了链接,虽然很有趣,但它们并不是我真正想到的。我认为我的关键问题是解密算法是否需要一个随时间变化的事实 - 几乎就像多方加密一样。
-
我不知道答案。您可以从基于身份的加密 (IBE) 中获得类似的信息。在这种情况下,身份包括时间,例如“bob_129210”,但当然这些更重要。您可以从一次性密码 (OTP) 方案中获得类似的信息,其中时间 t 的密码是时间 t-1 的密码的哈希原像。
标签: encryption