屏蔽状态栏输入状态什么意思?

无需OAuth就可以设计一个安全的REST (Web) API
我的图书馆
无需OAuth就可以设计一个安全的REST (Web) API
OAuth非常复杂,但是考察Amazon的Web服务发现它们并没有使用OAuth,那么是如何保证安全性呢?答案在:,说白了就是HASH,每个客户端第一次发出请求时,将自己的唯一HASH MAC 和请求包发给服务器,以后,服务器就依据这个HMAC来判断客户端的唯一性。看似比较简单,却解决安全的大问题。&(Web) API without OAuth[该贴被banq于 14:18修改过]&无需OAuth就可以设计一个安全的REST (Web) API&日 19:01hi,您好今天下午看到你的文章 并且看了那片英文文章和英文文章里面的一些参考资料我这里有些疑问我还不清楚你所说的唯一性是指什么?客户端发送的HMAC是动态的是变的,不仅仅第一次发送服务端需要记录以后作为一个凭证。同样的是只要在有效的时间内请求相同的http都很得到服务器的相应,这一点只能通过时间范围来控制重复请求。HMAC他也是一个hash算法,目前md5等是可以破解的HMAC不仅仅是由hash所决定的 他还是由私钥决定。HMAC = H( K XOR opad, H(K XOR ipad, text)) 。在v1.0中使用的md5算法 md5(uri+key)的方式 在v2.0中改进了算法机制。还有因为在1.0存在安全漏洞 就是 key=value 和 keyvalu=e是成立的 ,目前版本也做了改进。非常希望能和你交流 学习,我只是一个初学者。 谢谢并且我看了一下AWS的phpsdk的实现方式,下面是HMAC在PHP的中的实现// client$hash = hash_hmac('ripemd160', $xml.$time.$clientId, 'secret');
Then say I am submitting the following array of data via POST.Code:Array(
[xml] =& '&request&Some XML Data Here&/request&'
[expires] =& 'Unix Timestamp?'
[clientId] =& '12345'
[hash] = & 'b8e7ae12510bdfbfe4f7')//On the server side I would then do something along the lines of the followingPHP Code:$key = lookupSecret($_POST['clientId']); $hash = hash_hmac('ripemd160', $_POST['xml'].$_POST['time'].$_POST['clientId'], $key); if($hash === $_POST['hash']){
// proceed } else {
sendResponse(401,'Unauthorized'); }
Designing a Secure&&(Web) API without OAuth/designing-a-secure-rest-api-without-oauth-authentication/RFC 2104 - HMAC: Keyed-Hashing for Message Authenticationhttp://www.faqs.org/rfcs/rfc2104.htmlMaking Secure Requests to Amazon Web Services/articles/1928AWS signature version 1 is insecurehttp://www.daemonology.net/blog/2008-12.html[该贴被Breezedon于 19:08修改过]
TA的推荐TA的最新馆藏[转]&[转]&

我要回帖

更多关于 道德屏蔽状态 的文章

 

随机推荐