'XML Security'에 해당되는 글 2건
Web Services Security :: 2009/04/29 22:26
최근 엔터프라이즈 업체들의 SOA 도입과 XML 관련 기술의 성숙화로 웹서비스는 다양한 분야에서 확대되어 가는 추세이다. 한편 그동안 웹서비스 확장에 걸림돌의 하나였던 것 중의 하나가 보안 문제였다. 하지만 최근에 많은 사양들이 제안되었고, 이들을 실제로 구현되면서 여러가지 형태로 보안과 관련된 문제를 해결하고 있다.
웹서비스 보안의 크게 전송 레벨(Transport-Level) 보안과 메시지 레벨(Message-Level) 보안으로 나눌 수 있다. 다음은 웹서비스 보안의 구성을 표현한 그림이다.

웹서비스와 관련된 표준은 다양한 사양들로 구성되어 있고, 상당히 혼란스러워 보인다. 이들 표준들은 WS-*라고 표기하기도 하는데, WS-* 표준은 상호 의존적인 관계를 가지고 있다. 웹서비스 보안(WS-Security)은 OASIS 위원회에서 정한 표준으로 현재 버전 1.1이다.

아파치에서 구현하고 있는 웹서비스 보안 관련 프로젝트들이다.
참조:
http://en.wikipedia.org/wiki/WS-Security
http://www.oasis-open.org/specs/index.php
웹서비스 보안의 크게 전송 레벨(Transport-Level) 보안과 메시지 레벨(Message-Level) 보안으로 나눌 수 있다. 다음은 웹서비스 보안의 구성을 표현한 그림이다.

웹서비스와 관련된 표준은 다양한 사양들로 구성되어 있고, 상당히 혼란스러워 보인다. 이들 표준들은 WS-*라고 표기하기도 하는데, WS-* 표준은 상호 의존적인 관계를 가지고 있다. 웹서비스 보안(WS-Security)은 OASIS 위원회에서 정한 표준으로 현재 버전 1.1이다.
- WS-Addressing: 메시지의 엔드-투-엔드 엔드포인트 보안을 위해 웹서비스 엔드포인트를 확인하는 XML 프레임워크를 제공한다.
- WS-Policy: 웹서비스 제공자는 서비스가 제공되기 위한 조건(또는 정책)을 정의할 수 있다. WS-Policy 프레임워크는 웹서비스 제공자가 정책을 정의하고 웹서비스 애플리케이션을 통해 처리할 수 있는 환경을 제공한다.
- WS-Security: XML Signature를 이용한 데이터 무결성과 XML Encryption을 이용한 암호화 기능을 제공하는 SOAP 보안 익스텐션을 정의하고 있다. 또 WSSecurity는 WS-Security 헤더에 인증, 권한할당 등의 목적으로 다양한 종류의 바이너리/XML 보안 토큰을 삽입하는 방법을 정의한 프로파일을 포함한다.
- WS-ReliableMessaging: 웹서비스 엔드포인트 간의 안정적인 메시지 전송을 확인, 관리하기 위한 프레임워크를 정의한다. WS-RM은 SOAP 메시징 구조(SOAP 바인딩)에 그 기초를 두고 있으며, 안정적인 메시지 전송을 위해 WS-Security, WS-Policy, WS-Addressing 등에 의존한다.
- WS-SecurityPolicy: WS-Policy 프레임워크의 문맥에서 사용되는 보안 정책 정의 셋을 규정하고 있다. WS-SecurityPolicy 정의(assertion)는 커뮤니케이션 경로 상에서 메시지 보안을 보장하는 방법을 기술한다.
- WS-Trust: WS-Security만을 사용하는 메시지 교환 환경에서는 메시지 교환에 참여하는 양자가 보안 정보의 공유를 위해 사용되는 보안 토큰의 종류에 미리 합의하였다고 가정하지만, 이러한 사전 합의가 존재하지 않는 경우 메시지 교환 이전에 트러스트(trust) 관계가 성립되어야 한다. SOAP/WS-Security 기반 메시지를 교환하는 당사자 간의 트러스트는 WS-Trust 스펙을 기준으로 성립된다.
- WS-SecureConversation: WS-Security와 WS-Trust를 활용하며, WS-SecureConversation은 커뮤니케이션 당사자 간의 보안 컨텍스트 생성 및 공유를 정의한다.
- WS-Federation: WS-Security와 WS-Trust에 정의된 모델을 기반으로 하며, 아이덴티티, 속성, 인증, 권한할당 정보의 (인터넷 도메인을 통한) 보안 배포를 지원한다.
- Security Assertion Markup Language (SAML): XML 문서를 통해 인터넷 상의 보안 정보를 공유하기 위한 개방형 프레임워크이다.

아파치에서 구현하고 있는 웹서비스 보안 관련 프로젝트들이다.
- XML Security: XML Signature & XML Encryption 구현
- WSS4J: Axis와 XML Security를 기반으로 OASIS Web Services Security (WS-Security) 구현
- Rampart: WSS4J를 기반으로 WS-Security를 구현한 Apache Axis2 모듈
참조:
http://en.wikipedia.org/wiki/WS-Security
http://www.oasis-open.org/specs/index.php
XML Security Standards :: 2009/04/28 21:55
/XML
XML 정규화(Canonicalization)은 XML 데이터에 대한 표준적인 형태를 나타내며, 전자서명(Digital Signature)은 데이터에 대한 무결성 및 인증, 부인방지를 기능을 제공하며, 암호화(Encryption)는 허가되지 않은 제3자로부터 데이터를 보호한다. XML 보안과 관련한 아파치 서브 프로젝트는 XML Security이다.
XML 보안 표준에 관련된 주요 링크이다.
XML 보안 표준에 관련된 주요 링크이다.
- Canonical XML
http://www.w3.org/TR/xml-c14n - Exclusive XML Canonicalization
http://www.w3.org/TR/xml-exc-c14n/ - XML Signature
http://www.w3.org/TR/xmldsig-core/ - XML Encryption
http://www.w3.org/TR/xmlenc-core/ - XML Key Management
http://www.w3.org/TR/xkms2/

