홈네트워크 미들웨어
태그 :
홈 네트워크 환경에서 효과적인 컨텐츠 보호구조와 방안
I. 홈 네트워크 컨텐츠 서비스 구조 및 취약점
가. 컨텐츠 서비스 구조
나. 컨텐츠 서비스 취약점
구분 |
고려사항 |
Seamless Access 측면 |
- Appliance 침해 및 파괴: 외부 침입자에 의한 접속기기 자체의 고유기능 파괴(바이러스등)로 인한 사용 불가 - Appliance 간 비호환성: 기기간 호환성 부족으로 인한 컨텐츠 사용 및 재사용 어려움 -인증절차 복잡성(매번 인증 등)으로 인한 컨텐츠 사용의 편의성 저해 -유/무선NW 장애: 외부 침입에 의한 NW 파괴 및 접속불가, Sniffing/Spoofing, 서비스속도지연현상 -홈 서버 가용성 침해: 홈 서버의 다운 및 속도 저하로 인한 모든 홈 NW 서비스 불가 및 지연 현상 발생 |
컨텐츠 보호 측면 |
- 불법 침입 및 사용: 외부 침입자에 의한 댁내/외 컨텐츠의 파괴(위/변고), 불법 사용, 개인정보/사생활 노출 심각 -불법 배포 및 복제: 사용자에 의한 컨텐츠 불법 복제 및 불법 배포 행위 다양 -인증 정보 위조(정당한 사용자로 오인)를 통한 댁내/외 컨텐츠 불법 사용 |
II. 취약점 해결을 위한 효과적인 컨텐츠 보호 구조와 방안
가. 효과적인 컨텐츠 보호 구조
나. 효과적인 컨텐츠 보호 방안
문) OSGi(Open Service Gateway Initiative)
답)
I. 표준화된 네트워크 미들웨어, OSGi의 개요
가. OSGi(Open Service Gateway Initiative) 정의
- 가전제품이나 보안시스템 및 모바일 장치들을 인터넷에 접속시키기 위한 산업체의 표준방식(de facto)으로 운영체제, 플랫폼에 독립적인 미들웨어 프레임워크
- 표준화된 요구사항, 컴포넌트 구조 등 댁내 분산네트워크 서비스에 최적화된 컴퓨팅 환경을 제공해주는 서비스 플랫폼
나. OSGi의 필요성
- 네트워크 호환성: 홈 네트워크의 부각, 홈-내부, 홈-인터넷 호환성 확보 필요
- 표준 규격 요청: 디바이스간의 물리적 연결, 서비스 배포 및 공유 요청
- 네트워크 상의 단말 혹은 디바이스가 가전에 접근하기 위해서는 표준화된 네트워킹과 미들웨어가 요구됨.
다. OSGi(Open Service Gateway Initiative)의 개념
- 운영체제, 플랫폼에 독립적인 미들웨어 프레임워크 제공
II. OSGi 의 서비스 플랫폼 및 주요 구성요소
가. OSGi의 서비스 플랫폼 개요
- 초고속통신망과 같은 외부 네트워크와 댁내의 디바이스들을 연결하는 네트워크 사이에 위치
- 외부 네트워크 환경과 홈 네트워크 환경의 중재자역할을 담당
나. OSGi 서비스 플랫폼의 주요특징
- 자바기반의 컴포넌트 구조로 설계, 자바 런타임 환경하에서(J2ME, J2SE, J2EE)작동\
- 서비스 기반의 구조를 지향, 서비스는 번들(Bundle)이라는 물리적 묶음에 포함
- 원격관리를 지원하며, 번들 단위로 서비스를 형성, 운영
- 번들을 업데이트하거나 업그레이드를 원격 관리 및 제어 가능
다. OSGi 서비스 플랫폼의 주요기능
- 서비스들간의 연결 및 제어
- 서비스와 OSGi 프레임워크 간의 연결 및 제어\
- OSGi 프레임워크와 외부 서비스 관리 시스템과의 연결 및 제어
III. 번들의 Lifecycle을 관리, OSGi(Open Service Gateway Initiative) 프레임워크
가. OSGi 프레임워크 개념도
- 자바 런타임환경에 각 번들의 Lifecycle (설치/시작/중단/제거/업데이트) 관리
- Application 수행에 필요한 번들간의 공유 및 협력을 지원하기 위한 구조 제공
나. OSGi 프레임워크의 구성요소
구성요소 |
설명 |
L0: Execution Environment |
- 번들간의 동적인 서비스 관계를 관리하며 시스템 내 다른 번들에게 서비스를 제공할 수 있는 기능을 제공. |
L1: Modules |
- Class Loading policy를 정의함. 프레임워크상의 모든 번들에게 패키지(클래스의집합) 공유 (export/import) 기능을 제공함으로써 메모리 자원을 절약 |
L2: Lifecycle Management |
- 번들의 Lifecycle을 관리(설치/시작/중단/제거/업데이트) - 번들과 모듈간의 연결 관리 |
L3: Services Registry |
- Bundle을 동적으로 연결하는 기능 - Publishing-Find-Bind model을 활용 - 미리 정의된 서비스 인터페이스를 통해 접근이 가능 |
Ubiquitous Security |
- 프레임워크 상의 보안을 위한 퍼미션(permission) 관리 서비스 - Java, Java2 Security model을 기반으로 함 |
Bundles |
- 특정 서비스 제공을 위해 개발자가 구현한 OSGi 컴포넌트 - 프로세스처럼 돌아가는 서비스의 묶음. |
IV. OSGi 프레임워크 서비스계층(Service Layer)에서의 수행 역할
가. 서비스 계층의 주요 역할
- 번들의 설치 및 삭제, 시스템 내 다른 번들에게 서비스를 제공할 수 있는 역할 지원
- 번들간의 동적인 관계관리를 위해 SOA와 유사한 서비스 등록, 공유, 배포기능 제공
나. SOA관점에서의 서비스 계층의 역할
SOA 관점 |
수행 역할 |
서비스 등록 |
- 서비스 레지스트리에 서비스 등록하여 서비스 관계관리 역할 수행. - 동적인 서비스 제공이 가능한 구조이며 공통된 플랫폼 기반으로 신규서비스 수용용이 |
서비스 공유 |
- 서비스 레지스트리에서 원하는 서비스 검색하고 개방형 공통API를 제공함. - 서비스 등록/삭제 시, 관련 번들로 알림 |
서비스 배포 |
- 개방형 인프라를 제공하는 역할을 통하여 홈네트워크용으로 개발한 서비스를 텔레매틱스나 모바일 등 다른 영역에도 쉽게 적용할 수 있는 기능을 제공함. |
V. 기업측면에서의 OSGi 활용을 위한 고려사항
가. 총괄적인 관점에서의 홈 네트워크 산업에 대한 접근과 OSGi의 활용
- 홈 네트워크 산업은 한 가지 제품, 한 업종에만 주력이 아닌, 총체적인 서비스 솔루션 지향이 요구되므로 개방형 서비스 플랫폼 도입 검토 측면에서 OSGi의 활용이 필요함.
나. OSGi의 적용을 위한 비즈니스 모델의 확립
- OSGi의 도입의 성공 열쇠는 사용자에게 즐거움과 이익을 줄 수 있게끔 느껴지는 킬러 애플리케이션을 개발하는 것과 그 서비스를 실제 어떻게 Deploy 할 수 있는지에 대한 비즈니스 모델의 확립이 요구
다. OSGi의 서비스에 대한 보안측면에서의 검토와 해결
- 프레임워크 Security의 퍼미션 관리서비스에 대한 적용검토와 추가적인 보안 위험요소와 해결방안 검토필요.
문) 디지털 가전 기기의 상호 호환 네트워크,
I. DLNA의 개요
가. DLNA(Digital Living Network Alliance)의 정의
- 휴대전화나 PC, 디지털 카메라 등에 저장된 디지털 컨텐츠를 홈 N/W를 통해 TV나 프린터 등으로 자유롭게 전송할 수 있도록 해주는 국제 규격
- 2003년 6월 출범한 DHWG(Digital Home Working Group)의 명칭을 변경하여 새롭게 출발한 표준화 기구로 현재는 디지털 가전기기의 상호 호환 규격으로 인식되고 있음
나. DLNA의 목적
- 이미지, 음악, 동영상 등 디지털 컨텐츠를 이기종의 디지털 디바이스에서 쉽게 공유/사용하여 상호 호환성이 높은 홈 네트워크를 실현하기 위함
다. DLNA의 특징
- 이익집단인 업체의 연합체
- PC와 가전제품 및 타 IT기기와의 컨텐츠 공유 가이드라인(표준안) 발표
- 가이드 라인의 준수 여부를 테스트하는 자격증 존재
II. DLNA 개념도 및 디바이스 구성요소
가. DLNA 개념도
나. DLNA 디바이스 구성요소
분류 |
디바이스 |
내 용 |
Home Network Devices |
DMS (Digital Media Server) |
- DMP, DMR과 연결 가능한 컨텐츠 저장소 예) PC와 연결된 NAS(Network Attached Storage) |
DMP (Digital Media Player) |
- DMS와 연결해 컨텐츠의 재생이나 표현 예) TV, 홈씨어터, 음향기기, 게임 콘솔 등 |
|
DMR (Digital Media Renderer) |
- DMC로부터 수신된 컨텐츠의 재생 예) TVs, audio/video receivers, video displays, remote speakers for music |
|
DMC (Digital Media Controller) |
- DMS에서 컨텐츠를 찾아서 DMR을 통해 재현 예) Internet tablets, Wi-Fi 가능한 digital cameras와 personal digital assistants(PDAs) |
|
DMPr (Digital Media Printer) |
- DLNA 홈 네트워크를 통한 프린팅 서비스 제공 예) networked photo printers and networked all-in-one printers |
|
Mobile Handheld Devices |
M-DMS (Mobile Digital Media Server) |
- M-DMP, DMR, DMPr과 유무선 네트워크로 연결된 컨텐츠 저장소 예) mobile phones and portable music players |
M-DMP (Mobile Digital Media Player) |
- DMS나 M-DMS의 컨텐츠를 재생 예) mobile phones and mobile media tablets designed for viewing multimedia content |
|
M-DMU (Mobile Digital Media Uploader) |
- DMS나 M-DMS의 컨텐츠를 재생 예) digital cameras and mobile phones |
|
M-DMD (Mobile Digital Media Downloader) |
- DMS나 M-DMS로부터 컨텐츠를 다운로드 예) portable digital assistants (PDAs) and mobile phones |
|
M-DMC (Mobile Digital Media Controller) |
- DMS나 M-DMS의 컨텐츠를 DMR 기기에 제공 예) personal music player and mobile phones |
|
Home Infrastructure Devices |
M-NCF (Mobile Network Connectivity Function) |
- mobile handheld device와 홈 N/W 연결 제공 |
MIU (Media Interoperability Unit) |
- mobile handheld device와 홈 네트워크에서 요구되는 미디어 포맷에 맞는 컨텐츠 변환기능을 제공 |
- 각 디바이스 간의 연결은 상업용 컨텐츠의 저작권 보호를 위해 DTCP-IP를 사용함
III. DLNA 상호운용성 가이드라인과 계층표준
가. DLNA 상호운용성 가이드라인 1.0
나. DLNA 계층 표준
계층 (Layer) |
정의된 기능 |
표준 |
Link Protection |
상업용 콘텐츠를 홈 N/W에서 보호는 어떻게 할 것인가? |
- DTCP/IP(Digital Transmission Content Protection) over Internet Protocol |
Media Formats |
상호운용성을 위해 미디어 콘텐츠는 어떻게 인코딩할 것이며 식별할 것인가? |
- MPEG2, MPEG4, AVC/G.264, LPCM, MP3, AAC LC, JPEG, XHTML-Print |
Media Transport |
미디어 컨텐츠 전송 방법 |
- HTTP |
Media Management |
미디어 컨텐츠 식별, 관리, 배포방법 |
- UPnP AV 1.0, |
Discovery and Control |
각각의 디바이스(기기)는 어떻게 상호 발견하고 식별할 것인가? |
- UPnP Device Architecture 1.0 |
IP Networking |
유무선 디바이스의 물리적인 연결과 케뮤니케이션 |
IPv4 Protocol Suite |
Connectivity |
Wired: Wireless: |
IV. DLNA의 향후 전망
가. 디지털 컨텐츠의 확산과 미디어 디바이스의 다양화로 인한 보급률 증가
나. 스마트폰, 스마트TV 등 다양한 디지털기기에 DLNA 기능이 기본으로 탑재되어 있는 추세임
다. DLNA가 N스크린 구현을 위한 표준으로 부각되고 있음
라. DRM으로 보호된 상업용 컨텐츠의 보호, 지원 필요성 제기
문) UPnP(Universal Plug and Play)
답)
I. 범용 플러그 앤 플레이 미들웨어, UPnP 의 개요
가. UPnP(Universal Plug and Play)의 정의
1) PC, 주변장치, 지능형 가전제품, 무선 장비 등과 같은 장치들을 네트웍에 접속시켰을 때, 인터넷과 웹 프로토콜을 사용하여 서로를 자동으로 인식할 수 있도록 해주는 표준 미들웨어.
2) 표준 TCP/IP 프로토콜에 근거하여 MS Windows의 주변장치 접속을 위해 채택한 PnP(Plug and Play) 개념을 보다 다양한 장비에 적용할 수있도록 네트워킹에 확장한 기술
나. UPnP의 특징
1) 기기들간 P2P(Peer to Peer) 네트워크 연결구조를 가짐
2) 플랫폼 독립적이어서 다양한 운영체제 및 프로그래밍 언어에 적용 가능
3) 로열티 및 특허 제약이 없음
4) HTTP, XMl 등을 사용하여 인터넷의 자연스러운 확장
5) 비교적 단순하고 가벼운 프로토콜 구조 및 스펙
II. UPnP 의 구성 및 프로토콜 스펙
가. UPnP 의 구성
구성요소 |
설명 |
UPnP 장치 (Device) |
- UPnP 기능이 내장된 가전제품 |
Service |
- 가장 작은 제어단위이며 장치가 사용자에게 제공 - 상태 테이블, 컨트롤 서버, 이벤트 서버로 구성 - 상태 테이블은 상태 변수를 통하여 서비스 상태를 모델링 - 컨트롤 서버는 액션 요청을 받아 이를 실행하며 상태 테이블을 갱신 - 이벤트 서버는 사진의 상태가 바뀔 때, 컨트롤 포인트에게 이를 이벤트로써 알리는 기능 수행 |
Control Point |
- 홈 네트워크에 연결된 장치들을 감지하고 제어 - 장치를 검색하여 서비스 정의와 서비스 목록 취득 - 서비스의 액션을 실행시키고 장치로부터 이벤트 수신 |
나.프로토콜 스펙
- UPnP는 TCP/IP 기술을 바탕으로 HTTP 사용하여 통신
- HTTP, HTTPU(HTTP over UDP), HTTPMU(HTTP Multicast over UDP)
프로토콜 |
설명 |
SSDP |
- Simple Service Discovery Protocol - 네트워크에 연결되어 있는 장비와 사용 가능한 서비스를 검색하기 위한 프로토콜 - HTTP 또는 HTTPMU 상에서 동작하며 네트워크에서 특정 리소스를 찾기 위한 컨트롤 포인터와 네트워크에서 서비스를 제공하는 장치에 대한 통신 방식을 정의 - 컨트롤 포인터가 홈 네트워크에서 SSDP 검색 요청을 전송하면 자신이 제어 가능한 장치 및 서비스들을 검색 가능 |
GENA |
- General Event Notification Architecture - HTTP와 HTTPMU를 이용하여 장치에서 발생한 이벤트 메시지를 전송 - 또한 이벤트의 수신 요청과 수신 거부를 이 프로토콜을 이용하여 전송 가능 |
SOAP |
- Simple Object Access Protocol - 원격 프로시저 호출을 수행하기 위한 XML 문서와 HTTP 프로토콜의 사용 방법을 정의 - SOAP을 이용하여 원격의 장치에게 입력 인자를 포함하여 제어 메시지를 전송할 수 있으며, 이에 대한 응답으로 출력 인자를 전송 받을 수 있음 |
III. UPnP의 네트워크 구성 및 연결 동작
가. UPnP 네트워크 구성
1) UPnP를 지원하는 장비는 제어의 주체가 될 수 있느냐에 따라 제어기(Control Point)와 피제어기(Controlled Device)로 구분
2) 제어기는 다른 장비를 검색하거나 제어하며, 피제어기는 제어기에서 전달되는 명령 수행.
3) UPnP를 지원하지 않는 장비들은 브릿지라는 프로토콜 변환기를 통해 UPnP 네트워크에 접속
4) UPnP 네트워크 동작 단계
0 Control point and device get addresses
1 Control point finds interesting device
2 Control point learns about device capabilities
3 Control point invokes actions on device
4 Control point listens to state changes of device
5 Control point controls device and/or views device status using HTML UI
단계 |
설명 |
주소지정 (Addressing) |
- DHCP(Dynamic Host Configuration Protocol)를 사용하여 IP 주소 할당 - DHCP로 주소 할당을 할 수 없으면 Auto-IP 수행 |
장비 검색 (Discovery) |
1) SSDP 프로토콜 사용 2) Advertising -디바이스는 홈 네트워크에 접속되면 일정한 시간 간격으로 디바이스와 디바이스가 제공하는 서비스들에 대한 정보를 광고(Multicast 광고) -컨트롤 포인트도 항상 새로운 디바이스나 서비스가 홈 네트워크 상에 장착되었는지를 감지하기 위해 이를 청취 3) Searching - UPnP 컨트롤 포인터는 홈 네트워크에 연결됨과 동시에 홈 네트워크 상에서 자신이 관심을 가지는 디바이스와 서비스의 검색을 SSDP 프로토콜에서 정의한 멀티캐스트 채널을 이용하여 수행 - 응답은 검색 메시지를 보낸 호스트로 직접 유니캐스트(Unicast)하여 메시지를 송신 |
장비 명세 (Description) |
- 컨트롤 포인트가 수행한 디바이스 검색 응답에는 간략한 정보만 존재 - 디바이스 상세문서를 얻기 위해 메시지의 LOCATION 필드의 URL에 해당하는 XML 상세 문서를 다운로드 - 디바이스 상세 문서에는 UPnP 포럼에서 표준화한 XML 문서 형식의 디바이스와 서비스에 대한 정보가 기술 - 서비스 상세 문서에는 서비스가 제공하는 명령(Action)들과 서비스 상태 정보를 나타내는 변수들의 변수형과 범위, 기본값 등이 정의 |
제어 (Control) |
- 컨트롤 포인트는 디바이스에 대한 상세 문서에 나타나 있는 서비스 제어 URL에 대하여 명령 요청 메시지를 보냄으로써 디바이스 제어를 행함. 제어 메시지는 XML로 표현되는 SOAP 프로토콜을 사용 |
이벤트 처리 (Eventing) |
- 디바이스에 존재하는 서비스들의 변화된 상태 값들을 컨트롤 포인트에게 알려주는 동작 - 디바이스로부터 발생한 이벤트 메시지는 GENA를 이용한 XML 형식 |
장비의 사용자 인터페이스 (Presentation) |
- 디바이스가 프리젠테이션을 위한 URL을 가지고 있는 경우, 컨트롤 포인트는 URL로부터 페이지를 가져와 디바이스의 상태 값 조회나 제어 기능 부여 - 일반 웹 브라우저 사용 |
IV. 유사 미들웨어 기술과 비교 및 활용
가 유사 미들웨어와 기술 비교
구분 |
HAVi (Home Audio/Video interoperability) |
JINI (Java intelligent network infrastructure) |
UPnP (Universal Plug and Play) |
특징 |
IEEE 1394 기반의 AV기기간의 데이터 전송 및 상호 연동 |
Java 기반의 분산환경에서 IP 네트워크를 사용하여 댁내 자원 공유 |
IP 네트워크와 HTTP프로토콜을 사용하여 홈 네트워크 기기간의 데이터 전송 및 상호연동 |
장점 |
- AV 고속 전송 - P&P지원 - 제조사나 기기종류에 독립적인 설계 - 자바 바인딩을 통한 개방형 API 지원 |
- JVM 사용으로 하드웨어에 독립적 - P&P 기능으로 시스템 구성 간단 - Java 연관 제품과 시스템간 호환성 |
- 웹 기술 사용으로 기기간 제어모델 구현 용이하고 H/W, S/W, OS에 독립적 - HTML사용으로 손쉬운 UI 제공 |
단점 |
고가, AV기기 한정 |
느린 수행속도, 과다한 메모리 사용으로 고비용 |
- CPU 부하문제 - 하위버전 비호환 |
응용 |
AV 기기(TV, DVD 등)간 접속 |
PC 주변기기 및 백색가전 |
PC를 중심으로 한 가전기기 제어 |
주체 |
Sony, Tomson, Phillipse 등의 AV중심 가전회사가 중심이 되어 개발 |
SUN Microsystems가 주도하여 개발 |
Microsoft등 Computer 업계가 중심이 되어 개발 |
나. UPnP 의 활용
- UPnP v2.0에서 인증, 접근제어 등의 보안기능 추가함
- 노키아는 UPnP 기술을 포함한 휴대폰으로 PC, 오디오, TV 사이에서 콘텐츠를 교환하는 리모컨으로 사용할 수 있는 기술 개발