1

现在我正在建立一个个人网站/博客,并且几乎按照我想要的方式得到了它,除了我对如何添加帖子有两种想法。

只有我会添加帖子,对我来说,拥有用户名/用户名密码来登录似乎已经过时了;)。

我正在寻找替代方案来玩耍和试验,我的一个想法是:

生成一个非对称密钥,我个人保留私有密钥,站点拥有公钥。当我尝试添加帖子或修改任何内容时,该站点将生成一个随机字符串,用公钥对其进行加密并显示它。我使用一个小应用程序对此进行解密,我可以将其组合在一起并将未加密的字符串传递回允许修改继续的站点。

我只是想知道我应该注意的任何警告,或者如果有人认为这是一个坏主意,也许我可以尝试另一种选择?

4

5 回答 5

7

为什么不只是有一个用户名和密码,或者让您的网络浏览器记住登录名,或者发回一个不会过期的身份验证 cookie。使用自签名 SSL 证书来保护通信通道。如果您想使用公钥/私钥加密,只需设置一个 SSH 隧道并从您的服务器上的本地主机发布。相信我,重复使用已知的良好加密/安全性比尝试自己动手要好。

于 2009-04-24T07:52:00.787 回答
4

为什么不比您的建议更进一步,将加密的字符串放入 URL 中呢?

例如,将当前日期和时间转换为字符串 - 例如。0904240905 - 使用您的私钥对其进行加密并将其添加到 URL,例如加密字符串http://yoursite.com/admin/dksjfh4d392s在哪里。dksjfh4d392s然后,您的站点有一个 servlet,它从 URL 中提取加密字符串,验证它是否解密到最近的时间,然后为您提供会话 cookie,同时允许您执行管理任务。

于 2009-04-24T08:08:04.680 回答
1

我认为非对称密钥是一个优雅的解决方案——但用户名/密码几乎肯定会更容易实现。

如果您正在构建自己的网站,那么您只是为了好玩(否则您将使用 WordPress、Drupal、Django 等),那么为什么不做一些不同的事情呢?

如果您发现自己想写博客但又无法证明自己的身份,您可能会发现必须随身携带您的 keymat 应用程序可能会受到一些限制。

但是,话虽如此,@Kurt 对加密的想法是正确的——几乎可以肯定,DIY 比使用已经尝试和测试过的东西更糟糕。

于 2009-04-24T08:01:08.953 回答
0

我听过的关于安全的最明智的说法之一是“不要试图重新发明它”。

在线安全经历了如此多的迭代,以至于您提出的任何好主意都极有可能存在一些先前已被发现、考虑和修复的缺陷。

如果您想要“随意”的安全性,请使用用户名和密码保护您的站点。如果您想要“强大”的安全性,请在其上粘贴 SSL 证书。如果您想要“银行”安全性,请添加防击键安全性。

于 2009-04-24T08:06:30.877 回答
0

SSL 客户端证书无论如何都会这样做。为什么不只使用其中之一?

更多人不使用 SSL 客户端证书的主要原因是它们是管理方面的噩梦——您必须让最终用户创建密钥,然后签署他们的证书,然后确保最终用户不会丢失他们的密钥(当他们丢失笔记本电脑时,升级到新的操作系统等),他们通常会这样做,所以当最终用户丢失他们的私钥时,你必须签署 YET MORE 证书。

于 2009-04-24T11:16:15.850 回答