전체 글 289

커버로스(KERBEROS) 인증

케르베로스? 커버로스? 하튼 그리스로마 신화에 지옥을 지키는 머리 셋달린 강아지에 대해서 알아보자. 케르베로스라는 인증시스템! MIT에서 개발한 네트워크 인증시스템으로서 현재 IETF에서 표준으로 채택되어 있다. 어떠한 경우든 사용자는 서버에 있는 서비스에 접근을 한다. 이에 따라 항상 사용자를 위협하는 요소들이 존재한다. 커버로스는 이런 위협에 대하여 중앙 집중 인증 서버를 사용자에게 제공한다. telnet, ftp, pop과 서비스는 보통 사용자의 패스워드를 평문 형태로 전달하기 때문에 패킷 분석을 하면 다 뽀록난다. 따라서 인가되지 않은 사용자들은 접속할 수 없도록 통제해야 하므로 암호기술을 사용하여 안전하게 인증하는 것이 요구된다. 커버로스 시스템은 방금 전 포스트에 적은 Needham과 Schr..

니덤-슈로더 프로토콜 (Needham-Schroeder Protocol)

이번에는 키 교환 프로토콜 중 Needham-Schroeder 프로토콜이라는 녀석에 대해 한번 알아보자. 제작자 2명은 이름에 나와있다. 이 두사람이 1978년 대칭키와 trent 개념을 사용하여 제안함. 여기선 새로운 기관이 하나 등장한다. KDC(Key Distribution Center) 라는 기관이다. 이름만 보면 딱 직관적으로 키를 분배해주는 기관인 듯 싶다. 어떠한 과정을 거치는지 봅시다. 1. 최초 A는 KDC에게 A,B의 아이디 N1(nonce)을 전송한다. 2. KDC는 여러가지를 A에게 전송한다. - A와 B사이의 세션키 - B의 아이디 - N1 - A와 B의 세션키, A의 아이디를 T와 B의 세션키로 암호화 시킨 값 - 위 모든 내용을 T와 A의 세션키로 암호화 3. A는 B에게 A와..

OTP (One Time Password) 인증

OTP를 이용한 사용자 인증에 대해 알아보자. OTP란 One-Time Password의 약자로, 일회용으로 쓰고버리는 비밀번호라는 말이다. 그때 그때 난수를 생성하여 비밀번호로 사용하면 실시간으로 생기는 비밀번호니까 보안성이 아주 뛰어나다 볼 수 있다. OTP를 이용한 방식에 몇가지 방법들이 있다. 하나씩 살펴보자. 1. Challenge-response method (질의-응답 방식) 서버에서 난수를 생성하여 임의의 수를 만들고 클라이언트에게 그 값을 전송하면 클라이언트가 그 값으로 OTP를 생성하여 응답한 값으로 인증하는 방식이다. A를 클라이언트라고 보면 되고, B를 서버라고 봐라. 1. 최초 A와 B는 서로임을 검증할 수 있는 암호에 대해 동의한다. 2. A는 B에게 로그인 요청을 한다. "아무..

사용자 인증 (User Authentication) 종류

저번에 메세지 인증에 대해서 알아보았으니 이번에는 사용자 인증에 대해 알아보자. 사용자 인증이야 뭐 우리가 항상 하는 로그인 같은 것들이니.. 크게 어려울 내용 없다. 1. Password based authentication (패스워드 기반 인증) 가장 많이 쓰이지? 우리가 늘상하는 패스워드 기반 인증이다. 굉장히 취약하다. 패스워드 파일은 언제든지 도둑맞을 수 있다. 즉 오프라인 상에서도 당할 수 있다는 말임. 리눅스에서 패스워드 파일을 관리하기 위해 여러가지 보안을 해두었다. /etc/passwd 에 처음에 패스워드를 보관해두었었는데, others도 read 권한이 있었으므로 root만 접근할 수 있는 /etc/shadow에 패스워드를 해시함수를 돌려 그 해시값을 저장해 두었다. 이렇게 해두어도 패..

해시 충돌 탐지 - Birthday attack

이전에 해시함수에 대해선 한번 설명을 했다. 그럼 이번에는 이 해시함수의 해시값 충돌을 탐지하는 birthday attack 을 한번 알아보자. 이름이 생일? 공격인데, 왜그런가.. birthday attack 이란 이름은 birthday paradox 에서 시작한다. birthday paradox 란, 한 집단에 23명 이상의 사람이 모이면 그 중 생일이 같은 사람이 적어도 한쌍 이상 있을 확률이 1/2을 넘어간다. 라는 것을 birthday paradox라고 한다. 근데 이게 왜 paradox인데? 파라독스는 역설이란 말인데.. 일단 가정해보자. 내가 지금 속해 있는 집단에 k명이라는 인간들이 들앉아있다. "생일이 같은 사람이 있을 확률이 얼마나 될것 같니?" 라고 물어보면 대부분 생각이 "거의 없지..

반응형