802.1x

  • 유선랜 보안 인증 방식인 802.1x를 WEB과 mac filter 방식의 802.11i 무선랜 인증 방식의 한계를 보완하기 위해서 사용
  • PAP (Password Authentication Protocol)
  • User_ID(Peer_ID)와 Password를 기반으로 한 인증방식
  • CHAP (Challenge Hand Authentication Protocol)
  • Password의 노출이 있는 PAP의 단점을 보완한 인증방식
  • EAP (Extensible Authentication Protocol)
  • LEAP, EAP-TLS, EAP-TTLS, EAP-MS-CHAP-v2등의 확장형 인증 프로토콜
  • 유선상에서 사용하던 인증 방식을 무선에 접목 시킨 방식이다.
  • AP를 서버개념으로 두고 인증 서버를 따로 두는 개념.

802.1x Authentication Protocol

  • PAP (Password Authentication Protocol)
    • Point -to-Point Protocol(PPP)에서 사용하는 인증 프로토콜
    • 가장 일반적인 인증 방식으로 사용자의 ID(peer_ID)와 Password를 이용하여 사용자를 인증하는 방식
    • 대표적인 서비스는 Telnet 이다

  • CHAP (Challenge Handshake Authentication Protocol)
    • PAP의 단점 (ID, Password 노출)을 보안한 인증 프로토콜
    • Password 정보를 평문으로 보내지 않고, server에서 전송한 Challenge Value (CV)를 이용한 ID값과 MD5 Hash value를 이용한 Password를 생성하여 전송함
    • 만약 사용자가 늘어나면 AP의 관리가 힘들고 과부하와 용량의 한계가 생긴다.
    • 그래서 생긴 개념이 RADIUS (Remote Authentication Dial-In User Service) 이다.

    • 참고 : RADIUS (Remote Authentication Dial-In User Service) -인증만 하는 인증 서버
      • NAS(Network Access Server)에 사용자가 접속 요청을 하는 경우 요청된 시스템이나 사용자 를 인증하고 접근 권한을 부여하는 클라이언터/서버 프로토콜
      • 무선랜에서는 NAS 역할을 하는 AP와 인증서버간에 수행됨

  • EAP
    • 다양한 인증 방식 (MD5-challenge, One-Time password, token card등)을 지원 할 수 있는 확 장형 인증 프로토콜
    • Port access Protocol의 약자.
    • EAP는 AP가 Client에게 받은 인증 프로토콜을 RADIUS에게 전달해 주는 역할을 한다.
    • 유선 망에서 사용하는 사용자 인증 프로토콜이지만 무선 망에서 사용자 인증 시에도 사용됨
    • 사용자와 인증서버간 상호인증 기능이 없다는 단점이 있다.
    • EAP-TLS, EAP-TTLS, PEAP, EAP-FAST(PSK를 사용)등으로 보완

  • EAP-TLS(Transport Layer Security)
    • 인증서를 기반으로 하는 클라이언트와 서버의 상호 인증방식
    • 클라이언트가 RADIUS를 못믿기 때문에(Log EAP Attack 등) RADIUS를 인증하는 인증서 기반의 SSL과 동일한 방식의 TLS를 만들게 되있다.
    • TLS는 SSL 3.0 부터 파생된 것으로 기술적으로는 SSL과 같다. 차이점은 SSL은 서버를 인증하고 TLS는 서버와 클라이언트 상호간 인증서를 가지고 인증을 한다.
    • 서버측에서 클라이언트를 인증 할 수 있음
    • 클라이언트는 유효한 서버인지 인증할 수 있음
    • 데이터를 암호화하는 session key를 생성할 수 있음
    • 서버와 클라이언트 모두 인증서 필요
    • 이 방식은 보안상 취약하지 않다 (무결성하다). 하지만 관리상 불편하다.

    • 동작방식

*참고..

TMS : station - AP구간에서 PTK를 만들기 위한 암호화 키

TEK : AP - RADIUS 구간에서 PTK를 만들기 위한 암호화 키

    • 자세한 동작 방식
      • <------인증서, TLS레코드------
        • 이때 station에서는 PSK가 생긴다.
        • 이 PSK를 PRF함수로 돌리면 TMS와 TEK가 만들어진다.
        • TMS를 이용해서 MSK를 만든다.
        • MSK는 64byte로써 앞의 32byte는 PMK가 된다.
      • -------인증서,PSK(Premaster Secret Key), TLS레코드 ----->
        • 이때 RADIUS에서도 PSK가 생긴다.
        • 이 PSK를 PRF함수로 돌려 TMS와 TEK를 만든다.
        • TMS를 이용해서 MSK를 만든다.
      • AP<-----EAP Success-----RADIUS
        • RADIUS에서 AAA-Key(64byte)를 AP에 전달한다.
      • Station<------EAP Success ----AP
        • MSK의 64byte중 앞의 32byte인 PMK를 Station에게 준다.
      • 이작업이 끝나면 PMK 값이 공유가 된다.

*참고

TK : 무선 암호화 TEMP KEY (unicast용)

KEK : 무선 암호화 TEMP KEY (broadcast용)

KCK : 키를 재생산함 (MIC KEY가 된다.)

    • 이후 4Way Hand Shaking
      • Station <-----Anonce----- AP
        • Station은 PMK + Anonce + Snonce + Station`s MAC + AP`s MAC 이 값을 PRF함수로 돌린다.
        • 이 결과값이 PTK이다.
        • 이 PTK를 가지고 TK, KEK, KCK 를 만든다.
      • Station -----Snonce------> AP
        • AP 역시 위와 같은 작업을 수행한다.
      • Station <-------MIC------- AP
      • Station -------MIC-------> AP
        • MSK와 PMK가 같은지 확인하고 세션이 맺어진다.

  • EAP-TTLS
    • EAP-TLS와 비슷한 방식이지만 터널을 뚫고 그 안에서 인증 관련 패킷을 주고받는다.

+ Recent posts