Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用HMAC的API安全性_Api_Security_Authentication_Backbone.js_Hmac - Fatal编程技术网

使用HMAC的API安全性

使用HMAC的API安全性,api,security,authentication,backbone.js,hmac,Api,Security,Authentication,Backbone.js,Hmac,我正在尝试使用HMAC身份验证构建一个Restful API。我找到了几篇帮助我开始工作的文章,但我还有几个问题 HMAC身份验证似乎依赖于私钥,该私钥用于在客户端生成哈希,并用于在服务器端重新创建相同的哈希以进行比较 但这就提出了客户机如何知道密钥的问题。它要么必须在用户登录时通过网络发送,要么必须已经存在于客户端应用程序中 似乎如果它在登录时通过网络发送,就会打开一个安全漏洞。但是如果它已经存在于客户端的主干应用程序中,那么在这种情况下,有人可以很容易地在代码中找到它 我的下一个问题是,如果

我正在尝试使用HMAC身份验证构建一个Restful API。我找到了几篇帮助我开始工作的文章,但我还有几个问题

HMAC身份验证似乎依赖于私钥,该私钥用于在客户端生成哈希,并用于在服务器端重新创建相同的哈希以进行比较

但这就提出了客户机如何知道密钥的问题。它要么必须在用户登录时通过网络发送,要么必须已经存在于客户端应用程序中

似乎如果它在登录时通过网络发送,就会打开一个安全漏洞。但是如果它已经存在于客户端的主干应用程序中,那么在这种情况下,有人可以很容易地在代码中找到它


我的下一个问题是,如果秘密密钥不应该通过电线发送,那么,它首先是如何到达客户端并确保安全的?

是的,通过网络发送安全密钥需要SSL,并且将安全密钥存储在应用程序中不会阻止人们四处挖掘并找到它。您已经遇到了HMAC方案的主要困难。客户端需要安全地嵌入秘密,这通常是不可能的。。。但是我所做的是,为了传输SSL,我加入了SSL。谢谢你的帮助!: