6.3 무선 응용프로토콜 개요
6장. 무선네트워크 보안
개요
무선 응용 프로토콜(WAP)
Wireless Application Protocol
WAP 포럼에서 개발한 통합 표준
응용
모바일 폰, 페이저(비퍼), PDA
호환성
모든 기존 무선 네트워크 기술(예를 들면 GSM, CDMA, TDMA) 및 IP, XML, HTML, HTTP 등 인터넷 기술과 호환
WAP는 보안 기능도 포함
최신 버전 WAP 2.0
목포해양대 해양컴퓨터공학과
WAP 규격
WWW 프로그래밍 모델에 기반한 프로그래밍 모델
XML과 무선 마크업 언어(WML: Wireless Markup Language)
모바일 무선 단말기에 적합한 소형 브라우저 규격
경량 통신 프로토콜 스택
무선 전화 응용(WTA: Wireless Telephony
Application)을 위한 프레임워크
운용 개요 (1)
WAP 프로그래밍 모델 요소
클라이언트
게이트웨이
오리지널 서버
목포해양대 해양컴퓨터공학과
운용 개요 (2)
게이트웨이와 오리지널 서버 사이의 트래픽은 HTTP를 이용해 전달
무선 도메인에서는 게이트웨이가 프록시 서버로도 사용
모바일 무선 장비의 부족한 계산 능력을
보완할 때 게이트웨이 프로세서 사용
운용 개요 (3)
WAP 기반구조
목포해양대 해양컴퓨터공학과
운용 개요 (4)
동작 순서
모바일 사용자가 WAP 이용하여 일반 웹서버의 콘텐츠를 브라우징
웹 서버는 HTML-코딩된 페이지 형식으로 콘텐츠를 제공하며 표준 웹 프로토콜 스택(HTTP/TCP/IP)을 이용해서 전송
HTML 콘텐츠는 HTML 필터를 통과
필터는 HTML 콘텐츠를 WML 콘텐츠로 변환
WML 콘텐츠는 HTML/TCP/IP를 이용하여 프록시로 우선 전송
프록시는 WML을 좀 더 작은 형태인 2진 WML로 변환하고 WAP 프로토콜 스택을 이용하여 모바일 네트워크 사용자에게 전송
운용 개요 (5)
WAP 구조 설계
두 가지 무선 웹 접근 제한사항을 극복
제한사항
모바일 모드 제한사항
작은 화면 크기, 입력 기능 제한
무선 디지털 네트워크의 낮은 속도
휴대용 모바일 노드의 입/출력 능력 제한
3G 무선 네트워크
4G 무선 네트워크
목포해양대 해양컴퓨터공학과
WML(1)
무선 마크업 언어(Wireless Markup Language)
제한된 통신 용량, 제한된 화면 크기 및 제한된 사용자 입력 기능을 가진 장비에서 콘텐츠와 양식을 표현하기 위해 설계
키패드, 스타일러스 펜 및 기타 모바일 장비에 흔히 사용되는 입력 기능과 함께 동작하도록 설계
스마트폰에 사용되는 상대적으로 큰 화면뿐만 아니라, 작은 장비에서 사용되는 두 줄짜리 디스플레이 같은 다양한
디스플레이 지원
중요 특징
텍스트와 이미지 지원:
텍스트와 제한된 이미지 표현을 위한 형식과 레이아웃 명령어를 제공
WML (2)
중요 특징 (계속)
Deck/card 조직 비유:
WML 문서는‘card’라고 하는 작고 잘 정의된 사용자 상호작용 단위 분해
사용자는 여러 card를 옮겨 다니면서 내비게이션
하나의 card는 하나 혹은 그 이상의 상호작용 단위(메뉴, 텍스트 스크린, 텍스트 입력 필드)를 표현
WML ‘deck’은 HTML 페이지와 유사한데, 페이지 안에서 웹 주소(URL)에 의해 인식되는 콘텐츠 전송 단위
Card와 Deck 사이의 내비게이션을 위한 지원:
WML은 내비게이션이나 스크립트를 실행하기 위해 사용되는 이벤트 처리를 준비
목포해양대 해양컴퓨터공학과
WAP 구조 (1)
WAP 구조 (2)
WAP 프로토콜 구조
5-계층 모델
각 계층의 서비스를 정의하고 인접 계층 간 인터페이스 규격을 지정
WAP 스택 상의 몇몇 서비스는 상황에 따라 두 가지 이상의 서로 다른 프로토콜을 이용하여
제공될 수 있기 때문에 프로토콜 스택을 다양하게 구성 가능
공통서비스의 경우 여러 계층에서 접근
보안 서비스(Security Service)
서비스 탐색(Service Discovery) 서비스
목포해양대 해양컴퓨터공학과 12
WAP 구조 (3)
보안 서비스
암호 라이브러리(Cryptographic Libraries):
응용 프레임워크 계층의 라이브러리
데이터 무결성과 부인방지를 위한 시그너처 생성 서비스를 제공
인증(Authentication):
WAP은 클라이언트와 서버의 인증을 위해 다양한 서비스를 제공
세션 서비스 계층에서, 클라이언트를 프록시와 응용 서버에 인증하기 위해 HTTP 클라이언트 인증을 사용
전송 서비스 계층에서 클라이언트와 서버를 인증하기
WAP 구조 (4)
보안 서비스 (계속)
신원(Identity):
WAP Identity 모듈(WIM: WAP Identity Module)은
사용자를 확인하고 인증하기 위한 정보를 저장하고 처리
PKI:
공개키 암호와 인증서 이용과 관리를 위한 보안 서비스 집합.
목포해양대 해양컴퓨터공학과
WAP 구조 (5)
보안 서비스 (계속)
안전 전송(Secure Transport):
전송 서비스 계층 프로토콜은 데이터그램 및 네트워크 연결상에서 안전한 전송을 위해 정의
WTLS: 데이터그램 상에서 안전한 전송을 위해 정의
TLS: TCP와 같은 네트워크 연결상 안전한 전송을 위해 정의
안전 전달자(Secure Bearer):
어떤 전달자 네트워크는 전달자-수준 보안을 제공
예: IP 네트워크는 (특히 IPv6의 경우) IPsec에 전달자-수준 보안을 제공
목포해양대 해양컴퓨터공학과 15
WAP 구조 (6)
서비스 탐색
WAP 클라이언트와 웹 서버가 상호 간에 기능과 서비스를 결정할 수 있도록 하는 서비스 모음
EFI:
응용 프로그램은 외부 기능 인터페이스(EFI: External Functional Interface)를 이용해서 장비가 어떤 외부 기능과 서비스를 사용할 수 있는지 탐색
권한설정(Provisioning):
네트워크 서비스에 접근하는 데 필요한 파라미터를 장비에 제공
목포해양대 해양컴퓨터공학과
WAP 구조 (7)
서비스 탐색 (계속)
내비게이션 탐색(Navigation Discovery):
내비게이션 수행 과정 동안 새로운 네트워크 서비스(예:
안전한 Pull 프록시)를 발견할 수 있음
WAP 전송-레벨 종단-대-종단 보안(WAP Transport-Level End-to-End Security) 규격에서 내비게이션 탐색
프로토콜의 예를 볼 수 있음
서비스 검색(Service Lookup):
이름 디렉터리 검색을 통해 서비스 파라미터를 확인
이 서비스의 예로는 도메인 네임 서비스(DNS: Domain
WAP 구조 (8)
무선 응용 환경
WAE(Wireless Application Environment)
모바일 전화, 페이저(비퍼), PDA 같은 무선 장비의 응용 프레임워크를 규격화
WAE는 WAP가 지원하는 응용프로그램과 장비 개발을 쉽게 하기 위한 도구와 형식의 집합
WAE User Agents:
사용자 무선 장비상에 동작하며 특정한 기능(예를 들면 콘텐츠 디스플레이)을 제공
목포해양대 해양컴퓨터공학과
WAP 구조 (9)
무선 응용 환경 (계속)
무선 전화 응용(WTA: Wireless Telephony Applications):
저작자에게 고급 모바일 네트워크 서비스를 제공하는 통화와 기능 제어 메커니즘을 위한 전화기법마다 다른 확장 집합
응용 개발자는 WTA를 사용하여, 전화 통화를
시작하고 전화 네트워크 이벤트에 반응하는 초소형 브라우저를 개발
목포해양대 해양컴퓨터공학과 19
WAP 구조 (10)
무선 응용 환경 (계속)
표준 콘텐츠 인코딩(Standard Contents Encoding):
WAE 사용자 에이전트가 편리하게 웹 콘텐츠를 탐색할 수 있도록 정의
서버쪽에는 콘텐츠 생성기 존재
모바일 터미널 사용자 에이전트가 보낸 요청에 대한 대답으로 표준 콘텐츠 형식을 생성하는 CGI 스크립트와 같은, 원본서버 상의 응용이나 서비스
WAE는 특정 표준 콘텐츠 생성기를 지정하지는 않음
HTTP를 보내는 서버상에서 구동되는 다양한 콘텐츠 생성기 존재
목포해양대 해양컴퓨터공학과
WAP 구조 (11)
무선 응용 환경 (계속)
푸시(Push):
서버의 푸시(Push) 전송을 수신하는 서비스
웹 클라이언트의 요청에 대한 응답이 아니라 서버가 스스로 개시하여 보내는 전송
이 서비스는 Push-OTA(Push Over The Air) 세션 서비스에 의해 지원
멀티미디어 메시징(Multimedia Messaging):
이메일이나 문자 메시지와 같은 멀티미디어
메시지를 WAP 장비로 전송하고 처리할 수 있는
기능을 제공
WAP 프로토콜 구조 (1)
WAP 클라이언트가 WAP 게이트웨이를 통하여 WAP 서버에 연결할 수 있는 일반적인 프로토콜 스택 구성
목포해양대 해양컴퓨터공학과
WTP 프로토콜 구조 (2)
WSP(Wireless Session Protocol)
세션 서비스를 위해 응용 프로그램에 두 가지 인터페이스를 지원
연결형 세션 서비스
WTP상에서 동작
비연결형 서비스
안정적이지 않은 전송 프로토콜인 WDP상에서 동작
WSP는 HTTP에 기반하고, 약간 추가하고 변형시켜 무선 채널에서 사용할 목적에 최적화한 결과물
제한사항
낮은 전송률 및 범위 제한과 셀 과부하에 민감하여 끊어짐 현상이 나타난다
WAP 프로토콜 구조 (3)
WSP (계속)
질의와 응답의 개념을 토대로 한 트랜잭션 기반 프로토콜
WSP 프로토콜 데이터 단위(PDU: Protocol Data Unit) 구성요소
WLM
WMLScript나 이미지를 포함하는 몸체
몸체에 있는 데이터 정보
트랜잭션 자체 정보를 포함하는 헤더
WSP는 또한 클라이언트가 요청하지 않아도 서버가 데이터를 전송하는 Push 동작을 정의
목포해양대 해양컴퓨터공학과 24
WAP 프로토콜 구조 (4)
WTP(Wireless Transaction Protocol)
WTP는 WAP 브라우저 같은 사용자 에이전트와 응용 서버 사이에 브라우징이나 전자상거래
트랜잭션과 같은 동작을 위해서 요청과 응답을 전달하여 트랜잭션을 관리
WTP는 안정적인 전송 서비스를 지원하지만, TCP의 오버헤드를 많이 줄인다
가벼운 클라이언트용으로 구현하는 데 적합
전송률이 낮은 무선 링크에 적합한 경량급
프로토콜
WAP 프로토콜 구조 (5)
WTP (계속)
WTP 기능
3개 클래스 트랜잭션 서비스
선택적 사용자-대-사용자 안정성:
WTP 사용자는 각각 수신된 메시지 확인 시작
수신확인응답(acknowledgment)에 선택적 대역외 (OOB: Out-of-Band) 데이터 사용
전송 메시지의 수를 줄이기 위한 PDU 붙이기와 지연된 수신확인응답
비동기 트랜잭션
목포해양대 해양컴퓨터공학과
WAP 프로토콜 구조 (6)
WTP (계속)
WTP는 연결형이라기보다는 트랜잭션 기반
WTP에서는 연결의 명시적인 설정이나 제거는 없으며, 대신 안정적인 비연결형 서비스가 존재
WTP는 WSP나 다른 상위 계층 프로토콜이 호출할 수 있는 세 종류의 트랜잭션 클래스를 지원
클래스0: 결과 메시지 없는 안정적이지 않은 호출 메시지
클래스1: 결과 메시지 없는 안정적인 호출 메시지
클래스2: 안정적인 결과 메시지를 가진 안정적인 호출 메시지
WAP 프로토콜 구조 (7)
WDP(Wireless Datagram Protocol)
WDP는 상위 계층 WAP 프로토콜을 모바일 노드와 WAP 게이트웨이 사이에서 사용되는 통신 방법에 적합하게 변형
변형은 하위 네트워크에 적합하도록 데이터를
분할하거나, 하위 네트워크와 기타 다른 방식으로 인터페이스
WDP는 다양한 하위 네트워크의 세세한 부분을 WAP의 다른 계층으로부터 감추는 역할
어떤 경우 WAP가 IP상에서 구현
목포해양대 해양컴퓨터공학과