클라우드 컴퓨팅 & NoSQL/분산컴퓨팅&클라우드

HMAC을 이용한 REST API 인증 방법 모음

Terry Cho 2013. 3. 16. 01:17


  • HMAC 개념 잡기 - http://nts_story.blog.me/50109958210
  • HMAC 을 이용한 REST 보안 - http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
  • HMAC 프로그래밍 언어별 구현 방법

External links

출처 :http://en.wikipedia.org/wiki/HMAC

더 읽어볼만 한것 : 

OAuth 예제 - http://www.flickr.com/services/api/auth.oauth.html

http://flascelles.wordpress.com/2010/01/04/standardize-hmac-oauth-restful-authentication-schemes/

http://hueniverse.com/2008/10/beginners-guide-to-oauth-part-iii-security-architecture/


HMAC-SHA1 자바 예제 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AuthJavaSampleHMACSignature.html


※ Replay Attack을 방어 하려면

1. Client로 부터 Unique Key를 받아서, 해당 Key 가 중복되서 들어오면 Invalid 처리, 해당 Key를 Session Key처럼 핸들링해서, 일정 시간 내에만 쓸 수 있도록 Memory(Memcache) 같은데 넣어서, 중복이 있는지 비교. 

2. 아니면, currentTime을 보내서, 서버에서 일정 시간 범위 이전 또는 이후 인 경우 Invalid로 처리.

3. http://gamedevforever.com/201 를 보면 OAuth에서 nonce 값을 사용하는 방법이 있는데, 이 방식의 위의 1,2를 포함하는 방식임.