使用HMAC的API安全性
我正在尝试使用HMAC身份验证构建一个Restful API。我找到了几篇帮助我开始工作的文章,但我还有几个问题 HMAC身份验证似乎依赖于私钥,该私钥用于在客户端生成哈希,并用于在服务器端重新创建相同的哈希以进行比较 但这就提出了客户机如何知道密钥的问题。它要么必须在用户登录时通过网络发送,要么必须已经存在于客户端应用程序中 似乎如果它在登录时通过网络发送,就会打开一个安全漏洞。但是如果它已经存在于客户端的主干应用程序中,那么在这种情况下,有人可以很容易地在代码中找到它使用HMAC的API安全性,api,security,authentication,backbone.js,hmac,Api,Security,Authentication,Backbone.js,Hmac,我正在尝试使用HMAC身份验证构建一个Restful API。我找到了几篇帮助我开始工作的文章,但我还有几个问题 HMAC身份验证似乎依赖于私钥,该私钥用于在客户端生成哈希,并用于在服务器端重新创建相同的哈希以进行比较 但这就提出了客户机如何知道密钥的问题。它要么必须在用户登录时通过网络发送,要么必须已经存在于客户端应用程序中 似乎如果它在登录时通过网络发送,就会打开一个安全漏洞。但是如果它已经存在于客户端的主干应用程序中,那么在这种情况下,有人可以很容易地在代码中找到它 我的下一个问题是,如果
我的下一个问题是,如果秘密密钥不应该通过电线发送,那么,它首先是如何到达客户端并确保安全的?是的,通过网络发送安全密钥需要SSL,并且将安全密钥存储在应用程序中不会阻止人们四处挖掘并找到它。您已经遇到了HMAC方案的主要困难。客户端需要安全地嵌入秘密,这通常是不可能的。。。但是我所做的是,为了传输SSL,我加入了SSL。谢谢你的帮助!: