Transcript 10장-2

10장 실제 보안 프로토콜
10.1 전자 메일의 보안
10.2 웹 보안
10.3 무선 랜의 보안
무선 LAN 보안의 두 가지 과제
 단말과 AP의 상호 인증
 단말은 자신이 연결하려는 AP가 자신이 등록된
신뢰할 수 있는 AP인지 어떻게 확인할 것인가?
 AP는 연결하려고 하는 단말이 등록된 단말인지
어떻게 확인할 것인가?
 데이터의 암호화를 위한 키 분배
 데이터 암호화를 위한 세션키(대칭키)를 AP와
단말은 어떻게 공유해서 사용할 것인가?
2
무선 LAN 보안 프로토콜
 WEP(Wired Equivalent Privacy)
1999년 IEEE 802.11 무선 LAN 표준
 40bits의 대칭키와 임의로 선택된 24bits의 초기
벡터(IV)로 조합된 64bits 키의 RC4 암호
알고리즘 사용
 대칭키를 사용한 단말 인증(AP 인증은 안 함)

 802.11i

WEP의 보안 취약점으로 WEP를 대체하기 위하여
2004년 발표
3
WEP
 대칭 키 알고리즘 기반
 기밀성
 단말의 인증
 데이터 무결성
 각 패킷은 다른 키로 암호화
 이전 패킷이 손실되더라도 복호화하는데 지장이 없다.
 AP 내의 모든 단말들은 동일한 키를 사용한다.
 공유하고 있는 대칭키에 의한 단말 인증
 AP 인증은 하지 않는다.
 하드웨어 혹은 소프트웨어로 구현할 수 있다.
4
Nonce와 대칭키를 이용한 개체 인증
Nonce: number (R) used only once –in-a-lifetime
How: Alice는 Bob이 보낸 nonce R을 서로 공유하고 있는
대칭키로 암호화하여 보낸다.
“I am Alice”
R
KA-B(R)
Alic는 존재하고
오직 Alice만이
대칭키를 갖고
있으므로 이
사람은 분명히
Alice이다.
5
WEP 인증(단말 인증)
authentication request
AP
nonce (128 bytes)
nonce encrypted shared key
success if decrypted value equals nonce
6
WEP 암호화 (1)
 쌍방은 공유할 WEP 대칭키(104 bits 혹은 40bits)를 수동으로






설치한다.
송신 노드는 데이터 부분에 대해서 CRC-32를 계산한다. 이것을
ICV로 사용한다.
송신 노드는 매 프레임 마다 24-bit의 initialization vector
(IV)를 임의로 선택한다.
IV를 key에 연결하여 128-bit key를 만든다.
송신 노드는 keyID (8-bit 필드)를 덧 붙인다.
128-bit key를 pseudo random number generator에 입력하여
keystream을 구한다.
(data + ICV)를 RC4로 암호화한다.
encrypted
MAC
헤더
IV
Key
data
ID
ICV
FCS
MAC payload
7
WEP 암호화 (2)
IV
(per frame)
KS: 104-bit
secret
symmetric
key
plaintext
frame data
plus CRC
key sequence generator
( for given KS, IV)
k1IV k2IV k3IV … kNIV kN+1IV… kN+1IV
d1
d2
d3 …
dN
CRC1 … CRC4
c1
c2
c3 …
cN
cN+1 … cN+4
Figure
7.8-new1:마다
802.11새로운
WEP protocol
매 프레임
IV
802.11
IV
header
&
WEP-encrypted data
plus ICV
사용
8
WEP 복호화
암호화
IV
Key
data
ID
ICV
MAC 페이로드
 수신노드는 IV를 추출한다.
 IV와 공유하고 있는 대칭키를 pseudo random
generator에 입력하여 키스트림(keystream)을
구한다.
 키스트림과 암호화된 데이터(+ICV)를 XOR하여
복호화
 ICV로 데이터 무결성 검증

이것은 앞에서 배운 MAC (message authentication code)
혹은 전자 서명과는 다른 방법이다.
9
802.11 WEP encryption
보안 구멍:
 24-bit IV, 프레임 마다 하나의 IV -> IV는 결국 재사용된다.
 IV는 평문으로 전송 -> 재사용된 IV가 드러남
 공격:
 Trudy는 Alice로 하여금 알려진 평문 d1 d2 d3 d4 …을
암호화하도록 한다.
IV
 Trudy 발견: ci = di XOR ki
IV
 Trudy는 ci di를 알고 또한 ki 를 계산할 수 있다.
IV
IV
IV
 Trudy는 연속되는 암호화 키스트림 k1 k2 k3 …을 알
수 있다.
 다음 번 동일한 IV가 사용된다면 Trudy는 복호화할 수
있다.!
802.11i
 단말/AP의 상호 인증(WPA)의 두 가지 형태
 WPA 개인 인증 방식(WPA-PSK)
 WPA 기업(인증 서버를 통한 상호 인증)
 동적인 암호화를 위한 대칭키 분배 절차
 2개의 암호화 알고리즘
 TKIP(Temporal Key Integrity Protocol)- WPA
• 스트림 암호화 알고리즘
• 48bit IV

CCMP – WPA2
• 블록 암호화 알고리즘
• AES와 유사
WPA-PSK 인증 방식
Beacon (인증 방법, 암호 방식)
station
Authenication Request
AP
Authenication Response (success)
Association Request (TKIP, PSK, auth)
Association Response (success. A_ID)
PMK <-PSK <- (password, SSID)
PMK <-PSK
EAPoL-Key msg (AP_nonce, KRC=n)
PTK
KCK, KEK, TK
EAPoL-Key msg ({MIC}KCK, S_nonce, KRC=n)
PTK
KCK, KEK, TK
EAPoL-Key msg ((H(msg,KCK), AP_nonce, KRC=n+1, {GTK}KEK)
H(msg,KCK)으로 AP 인증
GTK(group key) 생성
EAPoL-Key msg (H(msg,KCK), S_nonce, KRC=n+1) H(msg,KCK)으로 단말12인증
13
WPA-PSK 암호화 키
 PTK = Psuedo-Random Function(PMK, AP MAC
addr, STA MAC addr, AP_nonce, S_nonce)
 PTK를 분할해서 Key Confirmation Key(KCK),
Key Encryption Key(KEK), Temporal Key(TK)를
생성
KCK : 상호 인증에 사용 (HMAC에서 사용하는 비밀값)
 KEK : Group Key(GTK)를 암호화해서 보내는데 사용
 TK : 데이터 암호화 키

 TKIP 혹은 CCMP는 TK를 키로 사용하여
데이터를 보낼 때 암호화한다.
14
인증 서버를 이용한 상호 인증
 802.1X에서 규정한 인증서를 기반으로 한
상호 인증

EAP-TLS, EAP-TTLS, Protected EAP
 단말(station)과 인증 서버 간에 상호 인증
 인증 서버는 인증 결과를 AP에게 알려 준다.
 단말이 생성한 pre-master-secret를
사용하여 PMK를 구하고, PSK 방식의 4-way
handshake와 동일한 방식으로 TK와 GTK를
구한다.
15
EAP: extensible authentication protocol
 EAP: 인증을 위한 메시지와 메시지에 포함되는
정보를 규정한 프로토콜
 EAP 메시지는 두 개의 링크를 통해서 전달된다.
station-to-AP (EAP over LAN)
 AP to 인증 서버 (RADIUS over UDP)

wired
network
EAP TLS
EAP
EAP over LAN (EAPoL)
IEEE 802.11
RADIUS
UDP/IP
17