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