HMAC

MAC는 Message Authentication code(메시지 인증 코드)의 줄임말로, 메시지를 인증하기 위해서 사용하는 정보다. A 유저가 인터넷으로 연결된 B 유저에게 라고 메시지를 보냈다고 가정해보자. 이 메시지에서 "A"가 보냈다는 것은 매우 중요한 정보를 담고 있으며, 따라서 위조 혹은 변조되면 안 된다. 메시지가 인터넷을 가로지르면 아래의 두...

ElasticCache 기반 메시징 애플리케이션 개발

AWS에서 제공하는 인프라와 서비스들을 이용해서 대량의 메시지를 교환하는 메시징 애플리케이션을 만들어보려 한다. 메시지는 을 이용한다. 아래와 같은 구성을 가질 것이다.PUB/SUB은 REDIS 고유의 기능으로 구현에 어려움은 없다. 1. 채팅방에 해당하는 Topic을 만든다. 1. 메시지 수신자는 해당 Topic을 구독(REDIS SUBSCRIBE)한다...

bcrypt

bcrypt는 Blowfish를 기반으로 만들어진 "단방향 암호화 해싱함수"로 1999년 USENIX에서 발표됐다. Rainbow table 공격을 막기 위해서 를 사용하며, 암호검사 요청이 반복될 수록 cost를 늘림으로써, 무차별 대입 공격(brute-force search)을 막을 수 있다. cost는 반복횟수로 2^n 이다. bcrypt 함수는 Op...

Consistent hashing

Consistent hashingConsistent hashing는 Key의 집합을 K, 슬롯의 크기를 N라고 했을 때, N의 갯수가 바뀌더라도 대부분의 키들이 슬롯을 그대로 사용할 수 있는 해싱 기법을 의미한다. 슬롯이 추가되거나 삭제됐을 때, K/n만큼만 조정된다. 추가된 노드만큼 재 조정되는 것이니, consistent 하다고 할 수 있다. 다른 해...