基于JavaScript的HMAC有多安全?

基于JavaScript的HMAC有多安全?,javascript,hmac,Javascript,Hmac,我目前正在设计一个新的基于SaaS的应用程序,它将包括一个RESTful API。我想保护浏览器和API服务器之间的通信。为此,我计划使用“两条腿”的OAuth方法。我的问题是,如果我在浏览器中使用JavaScript HMAC库进行加密,这种方法的安全性如何?这种方法不会暴露密钥吗?关于基于Javascript的客户端“安全性”的一般观察: 您在客户机上用Javascript所做的任何事情对该客户机都是完全可见的;您不能对用户隐藏任何内容 是的,如果您用Javascript向客户端发送私钥,

我目前正在设计一个新的基于SaaS的应用程序,它将包括一个RESTful API。我想保护浏览器和API服务器之间的通信。为此,我计划使用“两条腿”的OAuth方法。我的问题是,如果我在浏览器中使用JavaScript HMAC库进行加密,这种方法的安全性如何?这种方法不会暴露密钥吗?

关于基于Javascript的客户端“安全性”的一般观察:

  • 您在客户机上用Javascript所做的任何事情对该客户机都是完全可见的;您不能对用户隐藏任何内容
  • 是的,如果您用Javascript向客户端发送私钥,它们就不再是私钥
  • 客户端发生的任何事情都是不可信的;你甚至没有任何证据证明客户端正在运行你的代码,你所看到的只是它的结果
  • 如果你试图做一些客户端魔法来保护自己不受第三方的伤害:一个能够造成任何伤害的第三方通常也能够首先截获服务器发送给客户端的所有Javascript
  • 如果您使用SSL保护上述Javascript的传输不受上述第三方的影响。。。您不需要更多的客户端Javascript代码来为该通道添加更多的保护

除此之外,我不完全确定谁应该对谁进行认证,你想对谁保密什么;但希望这些要点能让你思考。

保护哪些人?“安全”并不是一个绝对的问题,它需要至少两名参与者和对值得保护的事物的描述。我想你们错过了问题的要点。我的问题是如何在不公开私钥的情况下在浏览器中加密某些内容。在这一点上,我想我知道答案,但还是要感谢你的投入。