반응형
-
개요
-
WTLSWAP(Wireless Application Protocol)에서 안전한 통신을 위해 정의한 보안 프로토콜로, 인터넷의 TCP/IP 위의 TLS(Transport Layer Security)를 바탕으로 무선 환경에 최적화 된 프로토콜
-
TLS와 WTLS는 보안 서비스를 제공
- 기밀성 : 무선 터미널과 WAP 게이트웨이 간에 송.수신 데이터의 외부 유출 방지
- 무결성 : 무선 터미널과 WAP 게이트웨이 간에 송.수신 데이터가 바뀌거나 손상되지 않았음을 보장
- 사용자 인증 : 무선 터미널과 WAP 게이트웨이 간의 상호 인증을 보장
-
- WAP의 구조
-
WTLS의 고려 사항
- WTLS는 TLS를 기반으로 했지만, 무선 환경으로 인하여 TLS와는 다른 몇 가지 고려 사항/특징을 가지고 있음
- SSL/TLS는 TCP/IP 상의 연결 중심 전송(Connection Oriented Transport) 프로토콜 위에서 동작하지만, WTLS는 WDP(Wireless Datagram Protocol) 위에서 동작하므로 데이터그램의 유실, 중복, 순서 바뀜 등을 고려해야 함(즉, 순서 번호(Sequence Number)를 활용)
-
통신 속도에 제한이 있으므로 가능한 한 프로토콜에서 사용하는 통신 데이터를 최소화하여야 함(예를 들어, 사용자 인증을 위한 인증서의 경우 X.509형식의 인증서도 지원하지만 DER 인코딩이 되지 않은 WTLS 인증서를 사용할 수도 있음)
-
X.509
- X.509는 공개키 인증서와 인증알고리즘의 표준 가운데서 공개키 기반(PKI)의 ITU-T 표준이다.
- X.509 인증서는 외부 인증 기간(CA)에서 승인 과정을 통해 발행됨
-
DER 인코딩
- ISO ASN.1 표준에서 정한 부호화 규칙에는 기본 부호화 규칙, 정규 부호화 규칙, 식별 부호화 규칙, XML 부호화 규칙, 묶음 부호화 규칙 등이 있음
- DER은 한정 길이 형식으로 데이터의 길이가 0 ~ 127bit인 경우에는 짧은 길이를, 128bit 이상인 경우에는 긴 길이 형식을 사용하되 그 길이는 최소 옥텟 숫자로 부호화 됨
- 디지털 서명과 같이 유일한 옥텟의 부호화가 필요한 응용 프로그램에서 사용되며, ITU 권고 X.509, X.690과 ISO 8825-1에 정의되어 있음
-
-
무선 단말기의 메모리와 프로세서의 파워가 제한적이므로, 연산이 많이 소요되는 암호 알고리즘 등은 적용되기 어려울 수 있음
-
TLS/WTLS의 구조
-
핸드셰이크 프로토콜3개의 프로토콜로 구성되며, 레코드 프로토콜에서 사용될 보안 파라미터 결정, 클라이언트/서버 인증, 오루 처리 등을 수행
-
핸드셰이크 프로토콜
- 클라이언트와 서버가 WTLS를 이용해 연결을 할 경우 한 세션 동안 보안 서비스에 사용되는 세션키, 암호 알고리즘, 인증서 등과 같은 암호 매개변수를 서로 결정하기 위해 사용
-
TLS에서는 완전-핸드셰이크(Full-Handshake), 단축-핸드셰이크(Abbreviated-Handshake)가 사용되며, WTLS에서는 최적화된 완전-핸드셰이크(Optimized Full-Handshake)가 추가 되어 사용
- 완전-핸드세이크 : 새로운 세션을 시작할 때 사용
- 단축-핸드셰이크 : 기존의 세션을 재개해서 다시 이용할 경우에 사용하며, 인증서 교환과 같은 서버와 클라이언트 인증을 위한 정보는 교환되지 않고, 이전 세션에서 사용한 암호 매개변수로부터 새로운 세션에서 사용될 매개변수들을 생성
- 최적화된 완전-핸드세이크 : WTLS에서 새롭게 추가된 것으로, 서버는 클라이언트 인증을 위해 클라이언트의 인증서를 요청하지 않고, 서버 내에 보관된 클라이언트 인증서를 통해서 클라이언트의 인증을 수행
-
경보(Alert) 프로토콜
- 오류 메시지가 정의되며, 클라이언트나 서버에서 오류가 발생했을 때 오류 메시지를 보내 오류가 발생한 사실을 상대방에게 알리는 역할을 수행
- TLS의 경보에는 경고성(Warning) 수준과 치명적(Fatal) 수준이 정의되어 있고, WTLS에는 중대한(Critical) 수준이 추가되어 있음
-
변경 암호 스펙(Change Cipher Spec) 프로토콜
- 변경 암호 스펙 메시지를 보내거나 받아서 핸드셰이크로 설정된 계류 상태(Pending State)룰 현대 상태(Current State)로 바꾸며, 상대에게 바뀐 상태로 데이터를 보호화겠다는 것을 알리는 일을 수행
-
TLS/WTLS의 상태는 계류 상태와 현재 상태로 나누어져 있음
- 계류 상태 : 서버와 클라이언트가 협상 과정에서 설정된 알고리즘과 키 블록을 임시 저장해 놓은 상태
- 현재 상태 : 레코드 계층에서 실제 데이터를 처리할 때는 항상 현재 상태의 알고리즘과 키 블록을 사용
-
-
레코드 프로토콜
- 데이터를 압축하고, 해시 및 암호화를 수행하여 전송하거나 수신한 데이터를 복호화 및 검사하는 역할을 수행하며, 그 동작 과정은 같음
-
데이터의 단편화(Fragmentation)는 WTLS에서는 수행되지 않는데, 이는 WTLS 하위에 위치하는 UDP 혹은 WDP 계층에서 데이터에 대한 단편화가 이미 이루어지기 때문임
-
-
WTLS의 취약성
-
WTLS 프로토콜WTLS는 TLS를 무선 환경에 최적화하여 수정한 프로토콜이며, 무선환경의 제약된 환경으로 인해 일부 알고리즘의 채택이 안정성에 있어 취약점으로 작용됨
-
WAP 종단간 안정성
- WTLS의 가장 큰 취약점으로 여겨지며, 무선 환경에서 무선 단말기와 실제 데이터가 있는 서버 사이의 종단간 안정성을 보장 할 수 없음
- 이 취약성은 WAP이 사용하는 프로토콜과 인터넷 프로토콜이 서로 다르기 때문에 두 프로토콜의 연결을 위한 스택(WAP 게이트웨이)의 사용으로 인해 발생하는 취약성임
- WAP 게이트웨이에서의 평문 추출시 평문의 노출 가능성이 존재할 수 있음
-
반응형
'밥벌이 > 정보 보호' 카테고리의 다른 글
S/MIME(Secure MIME) (0) | 2010.08.13 |
---|---|
일회용 패드(One Time Pad) (0) | 2010.08.13 |
해시 함수(Hash Function) (0) | 2010.08.13 |
DRM(Digital Right Management) (0) | 2010.08.13 |
SSL(Secure Socket Layer) (0) | 2010.08.13 |