Web Service XML Security 과 목 : 데이터베이스 보안 지도교수 : 용 환 승 학 과 : 정보보호학과 학 번 : 032ISI04 이 름 : 이 은 진
목 차 Web Service 소개 Web Service 구현 예제 Web Service Security XML Security 목 차 Web Service 소개 Web Service 구현 예제 Web Service Security XML Security References
I. Web Service 소개 Web Service 정의 W3C Definition 웹 서비스는 타 비즈니스 주체(회사, 기관, 단체 등)나 소프트웨어 프로그램들이 접근이 가능하도록 비즈니스 주체에 의해서 인터넷상에 XML기반의 메시지 교환을 통해서 제공되는 비즈니스 서비스 W3C Definition A Web Service is a software application identified by a URL, whose interfaces and binding are capable of being defined, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via internet-based protocols.
I. Web Service 소개 Web Service Architecture
I. Web Service 소개 Web Service Architecture
I. Web Service 소개 Web Service 특징 XML 기반 구조 Message/웹서비스 Description/Registry Interface등 웹 서비스 관련 모든 정보들은 XML로 표현되거나 교환된다. Message 기반 구조 다양한 메시징 방법을 제공한다. 프로그래밍 언어 독립적 XML 메시지에 대한 문법적(Syntactic), 의미론적(Semantic) 협의만 이 요구됨. 동적인 서비스 바인딩: Dynamic Discovery, Binding, Execution 인터넷을 통한 접근 Loosely coupled 산업 표준(Industry Standard) 기반 SOAP/WSDL/UDDI
I. Web Service 소개 SOAP(Universal Description, Discovery, and Integration) SOAP의 설계 목적 Simplicity 가독성이 뛰어난 XML을 사용 쉽게 구현하고 사용하도록 설계 Extensibility SOAP의 개방적 구조와 확장 구조 ebXML등의 메시지 포맷은 SOAP 메시지를 확장 사용 SOAP 스펙의 구성 요소 메시지의 구조를 나타내는 Message Envelope 데이터의 표현법을 나타내는 Encoding Rule 원격 함수 호출에 대한 RPC Convention 하부 통신 프로토콜인 (HTTP, SMTP)등과의 바인딩을 나타내는 Binding with transport protocols
I. Web Service 소개 SOAP(Universal Description, Discovery, and Integration) SOAP메세지 구조
I. Web Service 소개 SOAP(Universal Description, Discovery, and Integration) SOAP메세지 예제
I. Web Service 소개 WSDL(Web Services Description Language) WSDL 정의 웹 서비스를 기술하는데 사용되는 XML로 구성된 언어 웹서비스의 Communication endpoints 정의
I. Web Service 소개 WSDL(Web Services Description Language) <definitions> <types> 사용된 데이터형을 나타내는 XML스키마 <message> 메시지에 대한 서술 <portType> <operation> 입출력메시지 참조 <binding> 호출에 사용되는 네트워크 프로토콜에 대한 서술 <binding> 서비스와 클라이언트간의 통신방법 기술 <service> <port> 실제 서비스의 위치 참조
I. Web Service 소개 UDDI(Universal Description, Discovery, and Integration) UDDI 정의 웹 서비스를 통해서 접근이 가능한 비즈니스 정보의 등록 표준을 정의 통신 프로토콜로는 SOAP 메시지를 사용 Business Entity 3가지 모델 White Pages : 주소, 연락처, 이메일 주소등 일반적인 BusinessEntity에 대한 접근 정보 Yello Pages : 산업별 코드, 제품 공통코드, 및 지리 정보 코드 등을 등록함으로써, 검색 서비스의 용이성 제공 Green Pages : 서비스를 직접 이용하기 위한 기술 적인 정보를 포함 웹서비스에 대한 WSDL파일의 위치 정보 및 기타 프로토콜 등에 대한 정보를 표현
I. Web Service 소개 UDDI(Universal Description, Discovery, and Integration) Public UDDI Registry
II. Web Service 구현 예제 구현 환경 J2SDK 1.4.1 J2EE 1.3.1 JWSDP 1.1
II. Web Service 구현 예제 Accessing the EIS Using the Web service
II. Web Service 구현 예제
II. Web Service 구현 예제 Web Service Request UDDI로부터 Webservice End point lookup해서 접근
II. Web Service 구현 예제 WSDL 문서
WSDL 참조로 작성된 JAX-RPC Client II. Web Service 구현 예제 WSDL 참조로 작성된 JAX-RPC Client
III. Web Service Security 웹 서비스 보안 스택 보안 매커니즘 보안 보호 예 보안 표준 /Spec 서비스 검색 서비스 레지스트리 보안 UDDI 서비스 레지스트리 보안 특성 WSDL 문서에 대한 보호 UDDI WSDL 트랜잭션 라우팅 메시징 보안 데이터 암호화 디지털 서명 키 관리와 인증정보 관리 XML Encrytion XML Signature WS-Security XKMS 전송 데이터 번송 보안 128비트 SSL을 이요한 HTTPS 보안 HTTPS IPSec 인터넷 네트워크 연결 보안 전용 회선 또는 라우터 수준의 암호화 VPN 게이트웨이 플렛폼 운영체제 보안 침투 테스트 호스트간의 키 교환 각 운영체제 보안 강화 전문적인 침투 테스트
III. Web Service Security 웹 서비스 보안 프레임워크 보안 기술 (또는 표준) 보안 요구사항 키 관리 XKMS 호스트 보안 강화 인증,기밀성,추적가능성,부인방지 인증 SAML과 디렉토리 서버를 통한 싱글사인온 인증,자격부여,추적가능성,가용성 트랜잭션 보안 XML 암호화, XML-DSIG XACML, WS-Security 클라이언트 및 호스트 보안 자격부여,기밀성,가용성,데이터무결성,부인방지 웹 서비스 객체 UDDI 설정 파일과 WSDL 보안 강화 데이터 무결성, 가용성
III. Web Service Security 인증서버 예(SSO : Single Sign On) :다수의 서비스를 단 한번의 Login 으로 기업의 업무시스템이나 인터넷 서비스에 접속할 수 있도록 해주는 보안 응용 시스템 SSO (Single Sign ON) 인증 및 권한 DB 업무 1 업무 2 업무 3 업무 4 …… ID/Password 인증서 통합 로그인 사 용 그 룹 별 접 근 / 권 한 제 어 사용자 SSO Admin 사용 권한 접근/권한관리
III. Web Service Security 인증서 발급 ( CA ) PKI 보안환경에서 필수적으로 사용되는 인증서를 발급받기 위한 사용자의 신원정보를 인증기관(CA)에 등록하고, 사용자정보의 관리 및 가입자의 인증서 관리를 보다 효율적으로 * CA : Certificate Authority 등록대행기관 (RA) 인증기관 (CA) 사용자 정보 사용자등록 신규발급요청 갱신발급요청 인증서 인터넷 인터넷 대면확인 RA 관리자 사용자
III. Web Service Security 웹 서비스 보안 관련 표준화 기구 및 산출 표준들 SAML(Security Assertion Markup Language)
* SOAP : Simple Object Access Protocol IV. XML Security XML 보안 메시지 서버의 데이터 흐름도 * SOAP : Simple Object Access Protocol RDBMS DB to XML enQueue http TCP/IP XML Converter XML Signature XML Encryption SOAP 메시지 클라이언트 인터넷 XML to DB RDBMS deQueue http TCP/IP TCP/IP XML Converter 영구저장장치 File or DBMS Signature Verification XML Decription SOAP 메시지 클라이언트 메시지 서버
V. References S. Jeelani Basha 외 8인공저, Professional Java Web Servcie, 정보문화사 J2EE : http://java.sun.com XML Signature : http://www.w3.org/TR/xmldsig-core/ SAML , XACML : http://www.oasis-open.org WS-Security : http://www-106.ibm.com/developerworks/webservices/library/ws-secure/ http://msdn.microsoft.com/webservice/default.aspx?pull/library/ XACML(Extensible Access Control Markup Language Technical Committee