KR20090066152A - 웹 서비스 방법 및 그 장치 - Google Patents

웹 서비스 방법 및 그 장치 Download PDF

Info

Publication number
KR20090066152A
KR20090066152A KR1020070133783A KR20070133783A KR20090066152A KR 20090066152 A KR20090066152 A KR 20090066152A KR 1020070133783 A KR1020070133783 A KR 1020070133783A KR 20070133783 A KR20070133783 A KR 20070133783A KR 20090066152 A KR20090066152 A KR 20090066152A
Authority
KR
South Korea
Prior art keywords
saml
message
web service
assertion
server
Prior art date
Application number
KR1020070133783A
Other languages
English (en)
Other versions
KR100995904B1 (ko
Inventor
이재승
정교일
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020070133783A priority Critical patent/KR100995904B1/ko
Priority to US12/808,456 priority patent/US8683607B2/en
Priority to PCT/KR2008/007206 priority patent/WO2009078609A2/en
Publication of KR20090066152A publication Critical patent/KR20090066152A/ko
Application granted granted Critical
Publication of KR100995904B1 publication Critical patent/KR100995904B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Security & Cryptography (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 웹 서비스 방법 및 그 장치에 관한 것이다. 본 발명에 따른 서비스 장치는 보안을 위해 메시지 보안 게이트웨이, 인증 서버, 인가 서버 및 보안 정책 서버, 유해 사이트 데이터베이스, 응용 서버를 포함한다. 사용자 인증은 SAML 권위 서버의 SAML 어서션(assertion)을 이용한다. 본 발명에 따른 서비스 방법은 메시지 구조를 파악하여, 메시지 구조가 상이해도 보안 기술을 적용할 수 있다.
매쉬업, 싱글 사인 온, 메시지 보안

Description

웹 서비스 방법 및 그 장치 {Method of Web service and its apparatus}
본 발명은 웹 서비스 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 웹 2.0 환경에서 안전한 보안 및 매쉬업 서비스를 제공하는 웹 서비스 방법 및 그 장치에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 정보통신표준개발지원사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2007-P10-17, 과제명:유비쿼터스 웹서비스 표준개발].
'플랫폼으로서의 웹'을 지향하는 웹 2.0 기술이 급속히 보급되고 있으며, 이에 따라 기존의 클라이언트-서버 모델에 기반을 둔 정적인 웹이 변화하고 있다. 웹 2.0은 AJAX, OpenAPI, 매쉬업 등의 기술 활용으로 사용자의 접근성 향상 및 사용자에 의한 손쉬운 서비스와 리소스의 공유 등의 이점을 가져 왔지만, 기존의 웹보다 더 심각한 보안 취약점을 가지고 있다. 웹 2.0은 기존 웹의 보안 문제를 모두 포함하고 있으며, 추가적으로 다양한 클라이언트, 다양한 접근 방법 및 양방향성, asynchronous한 웹 2.0의 동작 방식으로 인해 기존의 웹 응용보다 더욱 공격받을 수 있는 범위가 넓다.
웹 2.0의 보안 문제 중 가장 심각한 것은 매쉬업에 대한 보안 문제로, 매쉬업 어플리케이션은 서도 다른 도메인에 있는 다양한 제 3의 리소스를 결합하여 서비스 구성 요소로 사용하며, 제 3의 리소스 중 하나라도 유해하다면 매쉬업된 서비스 전체에 치명적인 보안 문제가 발생하게 된다. 매쉬업을 위해 가장 많이 사용되고 있는 기술은 AJAX이며, AJAX는 XML, Java Script 등을 많이 사용하기 때문에 이와 관련된 많은 보안 취약점을 가지고 있다. 알려진 공격 방법으로는 XML-DoS, XML message injection and manipulation, session hijacking and theft 등이 있으며, 이를 막으려면 메시지에 대한 인증, 기밀성, 무결성, 부인 봉쇄 뿐만 아니라 메시지 컨텐츠 기반의 유해 메시지 필터링이 필요하다. 웹 관련 공격 트래픽은 80번 포트를 사용하며, 기존의 파이어월은 80번 포트를 열어 놓기 때문에 이러한 공격을 막지 못하며, 메시지 컨텐츠를 분석하여 메시지를 필터링 하여야 한다. 또한 서로 다른 도메인 간의 다양한 리소스가 빈번히 결합됨으로써 이들 리소스 사용자에 대한 SSO(Single Sign-on) 기술 적용이 절실히 필요하며, 알려진 유해 사이트로부터의 접속 및 유해 사이트로의 서비스 요청도 막을 수 있어야 한다.
매쉬업을 위해 가장 많이 사용되고 있는 기술은 AJAX이며, AJAX는 메시지 교환을 위해 XML 뿐만 아니라 JSON, plain text 형태의 메시지도 사용한다. 따라서 이들 모두에 적용 가능한 보안 기술 적용이 필요하다.
따라서 본 발명의 목적은, 웹 환경에서 웹 서비스 요청 메시지의 구조에 무관하게 안전한 웹 서비스를 제공하며 서로 다른 도메인 간의 서비스들을 사용하는 매쉬업 서비스에서 싱글 사인 온(single sign on)을 제공하는 웹 서비스 방법 및 그 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 웹 서비스 방법은, 웹 서비스 요청 수신 메시지를 받는 단계, 상기 수신 메시지에 SAML(Security Assertion Markup Language) 어서션(assertion)이 포함되어 있는지 판단하는 단계, 상기 SAML 어서션이 포함되어 있지 않은 경우 SAML 권위 서버로부터 SAML 어서션을 발급받는 수신 단계, 상기 SAML 어서션을 이용하여 사용자 인증하는 단계, 및 상기 수신 메시지에 따라 웹 서비스를 수행하는 단계를 포함한다.
한편, 본 발명에 따른 웹 서비스 장치는 알려진 유해 사이트들에 대한 정보를 저장하는 유해 사이트 데이터베이스, 상기 유해 사이트들 중 어느 한 사이트에서의 웹 서비스 요청 수신 메시지 및 상기 유해 사이트들 중 어느 한 사이트로의 웹 서비스 요청 발신 메시지를 각각 수신 거부 및 발신 차단하며, 상기 수신 메시지를 분석하여 공격 시도가 있으면 수신 거부하고, 송수신 메시지에 대한 전자서명 및 암복호를 수행하는 메시지 보안 게이트웨이, 상기 수신 메시지에 포함된 SAML 어서션(assertion)을 이용하거나 혹은 상기 수신 메시지에 SAML 어서션이 포함되어 있 지 않은 경우 SAML (Security Assertion Markup Language) 권위 서버로부터 SAML 어서션을 신규 발급받거나, 혹은 전달받은 SAML 아티팩트가 있을 경우 이를 이용하여 기 발급되어 있는 SAML 어서션을 찾아와 사용자를 인증하는 인증 서버, 상기 수신 메시지의 내용 및 상기 SAML 어서션의 속성을 바탕으로 보안 정책상 접근을 허락하는 인가 서버, 보안 정책을 관리하는 정책 서버 및 상기 수신 메시지에 포함된 웹 서비스 요청에 대한 웹 서비스를 수행하는 응용 서버를 포함한다.
본 발명에 따르면, 서로 다른 도메인에 있는 다양한 제3의 리소스를 결합하여 서비스 구성요소로 사용하는 매쉬업 서비스에서, 제3의 리소스 중 유해한 리소스를 차단하며, 웹의 특징을 이용한 공격을 막을 수 있다. 또한 서로 다른 도메인에 속한 웹 서비스 장치 사이에 주고받는 메시지에 대한 인증, 무결성, 부인봉쇄, 기밀성 및 컨텐츠 기반의 메시지 필터링을 제공하며 보안 정책 기반의 접근 제어가 가능하다. 또한 매쉬업 서비스에 싱글 사인 온(single sign on)을 제공하며, XML 기반의 메시지 교환뿐만 아니라 JSON, plain text 메시지 교환을 사용하는 웹 서비스 보안에도 적용 가능하다.
이하 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명에 따른 매쉬업 서비스를 제공하는 웹 서비스 장치를 포함하는 웹 서비스 환경의 블록도이다.
도 1을 참조하면, 웹 서비스 환경은 웹 서비스를 요청하며 웹 서비스를 출력하 는 클라이언트(11)의 브라우저(10), 브라우저의 요청에 따라 웹 서비스를 수행하는 웹 서비스 장치가 있다.
클라이언트(11)는 브라우저(10)를 이용하여 제1 도메인에 속해 있는 제1 웹 서비스 장치(100)의 응용 서비스를 사용한다. 제1 도메인의 제1 웹 서비스 장치는 제2 및 제3 도메인에 속해있는 제2 및 제3 웹 서비스 장치(102, 103)의 응용 서비스를 결합한 매쉬업 서비스를 제공한다. 브라우저에 있는 보안 모듈은 Ajax(Asynchronous Java Script And XML) 엔진과 연동하여 이들 메시지에 대한 SSL(Secure Socket Layer), WS-Security 등을 이용한 보안 및 유해 컨텐츠 차단 기능 등을 수행한다.
매쉬업을 위해서는 AJAX가 주로 사용되며, AJAX가 사용하는 메시지는 XML 및 JSON, 그리고 일반 plain text이다. 브라우저에 있는 보안 모듈은 Ajax 엔진과 연동하여 이들 메시지에 대한 SSL(Secure Socket Layer), WS-Security 등을 이용한 보안 및 유해 컨텐츠 차단 기능 등을 수행한다.
각 도메인에 있는 웹 보안 서비스는 매쉬업 서비스에서 서로 다른 도메인에 속한 제3의 서비스들 간에 주고받는 메시지에 대한 인증, 무결성, 부인봉쇄, 기밀성 및 컨텐츠 기반의 메시지 필터링을 제공하고 보안 정책 기반의 접근 제어 및 서로 다른 도메인 간의 서비스들을 사용한 매쉬업 서비스에 싱글 사인 온(Single Sign-On)을 제공한다.
도 2는 본 발명의 일실시예에 따른 웹 서비스 장치의 내부 구조를 나타내는 블록도이다.
웹 서비스 장치(100)는 알려진 유해 사이트들에 대한 정보를 저장하는 유해 사이트 데이터베이스(25), 상기 유해 사이트들 중 어느 한 사이트에서의 웹 서비스 요청 수신 메시지 및 상기 유해 사이트들 중 어느 한 사이트로의 웹 서비스 요청 발신 메시지를 각각 수신 거부 및 발신 차단하며, 상기 수신 메시지를 분석하여 공격 시도가 있으면 수신 거부하는 메시지 보안 게이트웨이(20), 상기 수신 메시지에 포함된 SAML 어서션(assertion)을 이용하거나 혹은 상기 수신 메시지에 SAML 어서션이 포함되어 있지 않은 경우 SAML(Security Assertion Markup Language) 권위 서버로부터 SAML 어서션을 신규 발급받거나, 혹은 전달받은 SAML 아티팩트가 있을 경우 이를 이용하여 기 발급되어 있는 SAML 어서션을 찾아와 이를 이용하여 사용자를 인증하는 인증 서버(30), 상기 수신 메시지의 내용 및 상기 SAML 어서션의 속성을 바탕으로 보안 정책상 접근을 허락하는 인가 서버(40), 및 상기 수신 메시지에 따른 응용 서비스를 수행하는 응용 서버(70)를 포함한다. 웹 서비스 장치(100)는 정책 서버(50) 및 방화벽(15)을 더 포함할 수도 있다.
방화벽(Firewall)(15)은 네트워크 레벨에서의 메시지 보안을 처리한다.
메시지 보안 게이트웨이(Message Security Gateway)(90)는 SSL 및 WS-Security로 보호된 요청 메시지에 대한 복호화 및 검증, 외부로 나가는 메시지에 대한 메시지 보호를 담당한다. 요청 메시지에 대한 복호화 및 검증 후 메시지의 내용을 분석하여 XML-DoS, XML message injection and manipulation 등의 XML 관련 공격 및 SQL injection 등의 웹 해킹, 유해 스크립트 등이 있는지 조사한다.
유해 사이트 데이터베이스(25)에는 알려진 유해한 웹 사이트에 대한 정보가 저 장되며, 메시지 보안 게이트웨이(20)는 이들 사이트로부터의 요청 메시지 혹은 이들 사이트에 대한 서비스 요청, 이들 사이트들을 구성 요소로 하는 매쉬업 서비스 사용을 차단한다.
인증 서버(Authentication Server)(30)는 단일 도메인 내에서의 사용자 인증을 담당하며, 인증시 SAML 권위 서버(SAML Authority Server)로부터 발급받은 SAML 어서션(assertion)을 사용한다. SAML 권위 서버는 다수 도메인의 사용자 ID 관리 및 인증 기능을 수행하며, SAML 어서션을 발급한다.
인가 서버(Authorization Server)(40)는 클라이언트 및 인증 서버(30)로부터 전달받은 사용자 속성 정보를 이용해 서비스 요청에 대한 접근제어를 수행한다.
정책 서버(Policy Server)(50)는 인가 서버(40)로 들어온 서비스 요청에 대하여, 정책 데이터베이스(Policy DB)(55)에 관리되고 있는 보안 정책을 바탕으로 정책 결정을 내린다.
응용 서버(Application Server)는 클라이언트로부터의 요청 메시지가 최종적으로 보내지는 곳으로, 응용 서비스를 수행하며 다른 도메인의 제3의 서비스와 결합된 매쉬업 서비스를 제공한다.
클라이언트 및 서버 사이에 오가는 메시지는 SOAP(Simple Object Access Protocol), JSON(JavaScript Object Notation), plain text 등 3가지 형태가 있으며, SOAP 메시지가 사용될 때는 WS-Security가 메시지 보호를 위해 사용되고, 나머지 경우는 SSL을 사용한다.
도 3은 본 발명의 웹 서비스 방법의 일실시예에 따른 순서도이다.
도 3을 참조하면, 인증 서버(30)는 메시지 보안 게이트웨이(20)로부터 인증 요청을 받는다(S310).
인증 서버(30)는 웹 서비스 요청 메시지에 SAML 어서션이 포함되어 있는 지 판단한다(S320). SAML 어서션이 포함되어 있으면, 인증 서버(30)는 SAML 어서션을 이용하여 사용자 인증을 한다(S360).
SAML 어서션이 포함되어 있지 않으면, 인증 서버(30)는 웹 서비스 요청 메시지에 SAML 아티팩트가 포함되어 있는지 판단한다. SAML 아티팩트는 다른 서버에서 이미 발행되어 있는 SAML 어서션을 찾는데 사용될 수 있다.
SAML 아티팩트가 포함되어 있으면, 인증 서버(30)는 SAML 아티팩트를 이용하여 SAML 권위 서버로부터 기 발급되어 있는 SAML 어서션을 찾아온다 (S350). 즉, 인증 서버(30)는 SAML 아티팩트를 SAML 권위 서버에 전달하고, SAML 권위 서버는 전달 받은 SAML 아티팩트를 이용하여 이전에 발급되어 있던 해당 SAML 어서션을 찾아 인증 서버(30)에 전달한다. 인증 서버(30)는 발급 받은 SAML 어서션을 이용하여 사용자를 인증한다.
SAML 어서션과 SAML 아티팩트가 모두 포함되어 있지 않을 경우, 인증 서버 (30)는 SAML 권위 서버에 인증 정보를 전달하여 신규로 SAML 어서션을 발급받아 이를 사용한다.
도 4는 본 발명의 웹 서비스 방법에 따른 다른 실시예의 순서도이다.
도 4를 참조하면, 응용 서버(70)는 서비스 수행 도중 타 도메인의 서비스 혹은 리소스에 대한 요청을 해야 할 경우, 응용 서버(70)는 다른 웹 서비스 장치에 웹 서비스 요청 메시지를 전송한다.
응용 서버(70)는 다른 장치에 보낼 발신 메시지를 작성한다(S410). 응용 서버(70)는 수신 받았던 요청 메시지의 구조가 SOAP 메시지 구조인지 판단한다(S420). 수신 메시지의 구조가 SOAP 메시지 구조이면 발신 메시지에 SAML 어서션을 포함시킨다(S430). 이는 SOAP 메시지 구조에서는 SAML 어서션을 포함시킬 수 있기 때문이다. 수신 메시지의 구조가 SOAP 메시지 구조가 아니면, 발신 메시지에 SAML 아티팩트를 포함시킨다(S440). SAML 아티팩트는 위에서 설명한 바와 같이, SAML 아티팩트를 참조하여 SAML 권위 서버로부터 기 발급된 SAML 어서션을 찾아올 수 있다.
도 5는 본 발명의 웹 서비스 방법에 따른 또 다른 실시예에 따른 메시지 흐름도이다.
도 5를 참조하면, 제1 웹 서비스 장치(100)는 제2 웹 서비스 장치(102)에 서비스 요청을 한다. 본 실시예는 메시지 구조가 JSON, plain text 등 SOAP 형태가 아닌 메시지를 사용하는 매쉬업 서비스에 대한 보안 서비스 처리 흐름을 설명한다.
클라이언트(11)는 응용 서비스에 대한 요청 메시지를 제1 웹 서비스 장치(100)로 전송한다(S510). 이때 메시지 보호를 위해 SSL을 사용해 메시지를 전송한다.
메시지 보안 게이트웨이(20)는 웹 서비스 장치(100)로 전송되어오는 요청 메시지를 받아 SSL로 보호된 메시지를 복호화하고(S512), 유해 사이트 데이터베이스(25)를 참조하여 이 요청이 유해한 사이트로부터 온 메시지이면 이를 거절한다(S514).
수신된 메시지에 대해 SQL injection 등 알려진 웹 해킹 시도가 있는지 분석한 후(S516) 인증 서버(30)에 인증 요청 메시지를 보낸다(S520).
인증 서버(30)는 요청 메시지에 포함되어 있는 사용자 id, 비밀번호, 인증서 등의 인증 관련 정보를 SAML 권위 서버(90)에 전달한다(S522).
SAML 권위 서버(90)는 전달받은 인증 정보를 바탕으로 사용자에 대한 인증을 수행하고, 인증이 성공하면 SAML 어서션 및 SAML 아티팩트를 생성한다(S526).
SAML 아티팩트는 다른 서버에서 이미 발행되어 있는 SAML 어서션을 찾는데 사용될 수 있다. 다른 도메인으로의 요청 메시지가 SOAP 혹은 XML 형태가 아닐 경우는 요청 메시지에 직접 SAML 어서션을 삽입하는 것이 곤란하므로 본 실시예에서는 SAML 아티팩트만 전달하고, SAML 어서션이 필요한 타 도메인의 서버에서는 SAML 아티팩트를 전달받아 이를 이용해 해당되는 SAML 어서션을 엑세스하여 사용한다.
SAML 권위 서버(90)는 발행한 SAML 어서션 및 artifact를 인증서버(30)에 전달하며(S528), 인증 서버(30)는 전달받은 SAML 어서션에 들어있는 사용자 속성 및 요청 메시지 내용을 인가 서버(40)에 전달한다(S530).
인가 서버(40)는 요청 메시지의 내용 및 SAML 어서션의 속성을 바탕으로 정책 서버에 접근제어에 대한 판단을 요청하여 보안 정책 기반으로 접근을 허락할 것인지를 결정한다(S532).
접근이 허락되면, 요청 메시지가 제1 웹 서비스 장치(100)의 응용 서버(70)에 전달되고(S534), 응용 서버(70)는 요청된 서비스를 수행한다(S536).
응용 서버(70)는 서비스 수행도중 타 도메인의 서비스 혹은 리소스에 대한 요청 을 해야 할 경우 타 도메인에 대한 요청 메시지를 SSL로 보호하여 전송한다(S538). 이때 SAML 권위 서버(90)로부터 발급받았던 SAML 아티팩트를 함께 전달한다(S538). 추가적으로 응용 서버(70)는 유해 사이트 데이터베이스를 검색하여 만약 서비스를 요청하는 서비스가 유해 사이트로 분류되어 있다면 요청을 취소할 수 있다. 메시지에 대한 보호 처리는 응용 서버(70)에서 직접 수행해도 되고 메시지 보안 게이트웨이(20)에 이에 대한 처리를 위임할 수도 있다.
다른 도메인의 제2 웹 서비스 장치(102)의 메시지 보안 게이트웨이(17)에서는 요청 메시지를 수신 받아 이를 복호화하고(S540) 유해 사이트 데이터베이스를 참조하여 이 요청이 유해한 사이트로부터 온 메시지이면 이를 거절한다(S542). 메시지 보안 게이트웨이(17)는 수신된 메시지에 대해 SQL injection 등 알려진 웹 해킹 시도가 있는지 분석한 후(S544) 인증 서버(22)에 인증 요청 메시지를 보낸다(S546).
인증 서버(22)는 요청 메시지와 함께 전달받은 SAML 아티팩트를 SAML 권위 서버(90)에 전달한다(S548).
SAML 권위 서버(90)는 전달받은 SAML 아티팩트를 이용하여 기 발급되어있던 해당 SAML 어서션을 찾아 인증 서버(22)에 전송한다(S550).
인증 서버(22)는 전달받은 SAML 어서션을 확인하여 사용자를 인증한 후 (S552) SAML 어서션에 있는 속성 및 요청 메시지 내용을 인가 서버(42)에 전달한다(S554).
인가 서버(42)는 요청 메시지의 내용 및 SAML 어서션의 속성을 바탕으로 보안 정책 서버에 접근제어에 대한 판단을 요청하여 보안 정책 기반으로 접근을 허락할 것인지를 결정한다(S556).
접근이 허락되면, 요청 메시지가 제2 웹 서비스 장치(102)의 응용 서버(72)에 전달되고(S558) 응용 서버(72)는 요청된 서비스를 수행한다(S560).
응용 서비스 수행 결과는 응용 서버(72) 혹은 메시지 보안 게이트웨이(17)에 의해 SSL로 보호되어 다시 제1 웹 서비스 장치(100)로 전달되며(S562), 제1 웹 서비스 장치(100)의 메시지 보안 게이트웨이(15)는 이를 복호화하고 메시지를 검증한 후 다시 SSL로 보호하여 클라이언트(11)로 결과를 전달한다(S564). 클라이언트(11)는 수신 받은 결과 메시지를 복호화한 후 유해한 메시지가 있는지 검증한 후 이를 사용한다.
도 6은 본 발명의 웹 서비스 방법에 따른 또 다른 실시예에 따른 메시지 흐름도이다.
도 6을 참조하면, 제1 웹 서비스 장치(100)는 제2 웹 서비스 장치(102)에 서비스 요청을 한다. 본 실시예는 메시지 구조가 SOAP 형태인 메시지를 사용하는 매쉬업 서비스에 대한 보안 서비스 처리 흐름을 설명한다.
클라이언트(11)는 응용 서비스에 대한 요청 메시지를 제1 웹 서비스 장치(100)로 전송한다(S610). 이때 메시지 보호를 위해 WS-Security를 사용해 메시지를 전송하며, Username Token 등의 사용자 인증 정보를 함께 전송한다.
메시지 보안 게이트웨이(20)는 요청 메시지를 받아 WS-Security로 보호된 메시지를 복호화 및 전자서명 검증을 수행하고(S612) 유해 사이트 데이터베이스를 참조하여 이 요청이 유해한 사이트로부터 온 메시지이면 이를 거절한다(S614).
메시지 보안 게이트웨이(20)는 수신된 SOAP 메시지에 대한 스키마 검증을 하고 취약점이 있는 XML 메시지가 있는지 분석하여 XML의 취약점을 이용한 공격 시도가 있는지 분석한 후(S616), 인증 서버(30)에 인증 요청 메시지를 보낸다(S620).
인증 서버(30)는 요청 메시지에 포함되어 있는 보안 토큰으로부터 사용자 id, 비밀번호, 인증서 등의 인증 관련 정보를 추출한 후 이를 SAML 권위 서버(90)에 전달한다(S622).
SAML 권위 서버(90)는 전달받은 인증 정보를 바탕으로 사용자에 대한 인증을 수행하고 (S624), 인증이 성공하면 SAML 어서션을 발행한다(S626).
SAML 권위 서버(90)는 발행한 SAML 어서션을 인증서버에 전달하며(S628), 인증 서버(30)는 전달받은 SAML 어서션에 들어있는 사용자 속성 및 요청 메시지 내용을 인가 서버(40)에 전달한다(S630).
인가 서버(40)는 요청 메시지의 내용 및 SAML 어서션의 속성을 바탕으로 보안 정책 서버에 접근제어에 대한 판단을 요청하여 보안 정책 기반으로 접근을 허락할 것인지를 결정한다(S632).
접근이 허락되면, 요청 메시지가 응용 서버(70)에 전달되고(S634) 응용 서버(70)는 요청된 서비스를 수행한다(S636).
응용 서버(70)는 서비스 수행도중 타 도메인의 서비스 혹은 리소스에 대한 요청을 해야 할 경우 타 도메인에 대한 요청 메시지를 WS-Security로 보호하여 전송한다(S638). 이때 SAML 권위 서버(90)로부터 발급받았던 SAML 어서션을 SAML Token 형태로 만들어 WS-Security 메시지에 포함시켜 함께 전달한다. 응용 서버(70)는 유해 사이트 데이터베이스를 검색하여 만약 서비스를 요청하는 서비스가 유해 사이트 로 분류되어 있다면 요청을 취소할 수 있다. 메시지에 대한 보호 처리는 응용 서비스에서 직접 수행해도 되고 메시지 보안 게이트웨이에 이에 대한 처리를 위임해도 할 수도 있다.
제2 웹 서비스 장치(102)의 메시지 보안 게이트웨이(17)에서는 요청 메시지를 수신 받아 이를 복호화 및 전자서명 검증을 수행하고(S640) 유해 사이트 데이터베이스를 참조하여 이 요청이 유해한 사이트로부터 온 메시지이면 이를 거절한다(S642). 메시지 보안 게이트웨이(17)는 수신된 SOAP 메시지에 대한 스키마 검증을 하고 취약점이 있는 XML 메시지가 있는지 분석하여 XML의 취약점을 이용한 공격 시도가 있는지 분석한 후(S644), 인증 서버(22)에 인증 요청 메시지를 보낸다(S646).
인증 서버(22)는 요청 메시지에 함께 포함되어 있던 SAML Token으로부터 SAML 어서션을 추출하고 이를 확인하여 사용자를 인증한 후(S652), SAML 어서션에 있는 속성 및 요청 메시지 내용을 인가 서버(42)에 전달한다(S654).
인가 서버(42)는 요청 메시지의 내용 및 SAML 어서션의 속성을 바탕으로 보안 정책 서버에 접근제어에 대한 판단을 요청하여 보안 정책 기반으로 접근을 허락할 것인지를 결정한다(S656).
접근이 허락되면, 요청 메시지가 제2 웹 서비스 장치(102)의 응용 서버(72)에 전달되고(S658), 응용 서버(72)는 요청된 서비스를 수행한다(S660).
응용 서비스 수행 결과는 응용 서버(72) 혹은 메시지 보안 게이트웨이(17)에 의해 WS-Security로 보호되어 다시 제1 웹 서비스 장치(100)로 전달되며(S662), 제1 웹 서비스 장치(100)의 메시지 보안 게이트웨이(20)는 이를 복호화 및 서명 검증을 하고 메시지를 검증한 후 다시 WS-Security로 보호하여 클라이언트(11)로 결과를 전달한다(S664). 클라이언트(11)는 수신 받은 결과 메시지를 복호화 및 전자서명 검증을 한 후 유해한 메시지가 있는지 검증한 후 이를 사용한다.
상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.
도 1은 본 발명에 따른 안전한 매쉬업 서비스를 제공하는 웹 서비스 장치를 포함하는 웹 서비스 환경의 블록도,
도 2는 본 발명의 일실시예에 따른 안전한 웹 서비스 장치의 내부 구조를 나타내는 블록도,
도 3은 본 발명의 안전한 웹 서비스 방법의 일실시예에 따른 순서도,
도 4는 본 발명의 안전한 웹 서비스 방법에 따른 다른 실시예의 순서도,
도 5는 본 발명의 안전한 웹 서비스 방법에 따른 또 다른 실시예에 따른 메시지 흐름도, 및
도 6은 본 발명의 안전한 웹 서비스 방법에 따른 또 다른 실시예에 따른 메시지 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
20: 메시지 보안 게이트웨이 30: 인증 서버
40: 인가 서버 70: 응용 서버

Claims (14)

  1. 웹 서비스 요청 수신 메시지를 받는 단계;
    상기 수신 메시지에 SAML(Security Assertion Markup Language) 어서션(assertion)이 포함되어 있는지 판단하는 단계;
    상기 SAML 어서션이 포함되어 있지 않은 경우 SAML 권위 서버로부터 SAML 어서션을 전달받아 사용자 인증하는 단계;
    상기 SAML 어서션이 포함되어 있는 경우 상기 SAML 어서션을 이용하여 사용자 인증하는 단계; 및
    상기 인증이 완료되면 상기 수신 메시지에 따라 웹 서비스를 수행하는 단계를 포함하는 웹 서비스 방법.
  2. 제 1 항에 있어서,
    상기 SAML 어서션은 상기 수신 메시지에 SAML 아티팩트(artifact)가 포함되어 있는 경우 상기 SAML 아티팩트를 이용하여 상기 SAML 권위 서버로부터 기 발급되어 있는 SAML 어서션을 전달받은 것을 특징으로 하는 웹 서비스 방법.
  3. 제 1 항에 있어서,
    상기 수신 단계는 상기 수신 메시지에 상기 SAML 어서션 및 상기 SAML 아티팩트가 포함되어 있지 않은 경우,
    상기 수신 메시지에 포함된 인증 관련 정보를 SAML 권위 서버에 전달하여 상기 SAML 어서션을 발급받는 것을 특징으로 하는 웹 서비스 방법.
  4. 제 1 항에 있어서,
    상기 수신 메시지가 기저장된 유해 사이트 주소들 중 한 주소로부터 전송받은 경우, 상기 수신 메시지를 거부하는 단계를 더 포함하는 웹 서비스 방법.
  5. 제 1 항에 있어서,
    상기 수신 메시지에 공격 시도가 있는지 분석하여 상기 공격 시도가 있으면 상기 수신 메시지를 거부하는 단계를 더 포함하는 웹 서비스 방법.
  6. 제 1 항에 있어서,
    상기 수신 메시지의 내용 및 상기 SAML 어서션의 속성을 바탕으로 보안 정책상 접근을 허락할 것인지 결정하는 단계를 더 포함하는 웹 서비스 방법.
  7. 제 1 항에 있어서,
    상기 웹 서비스 수행 중 다른 웹 서비스 장치에 웹 서비스를 요청하는 경우,
    상기 웹 서비스 장치에 웹 서비스 요청 발신 메시지를 전송하는 단계를 더 포함하는 웹 서비스 방법.
  8. 제 7 항에 있어서,
    상기 발신 메시지는 SAML 아티팩트 및 SAML 어서션 중 하나를 포함하는 웹 서비스 방법.
  9. 제 7 항에 있어서,
    상기 수신 메시지의 구조가 SOAP(Simple Object Access Protocol) 메시지 구조인 경우, 상기 발신 메시지는 SAML 어서션을 포함하는 웹 서비스 방법.
  10. 제 7 항에 있어서,
    상기 수신 메시지의 구조가 SOAP(Simple Object Access Protocol) 메시지 구조가 아닌 경우, 상기 발신 메시지는 SAML 아티팩트를 포함하는 웹 서비스 방법.
  11. 제 7 항에 있어서,
    상기 웹 서비스 장치의 주소가 기저장된 유해 사이트 주소들 중 하나인 경우 상기 발신 메시지의 전송을 차단하는 단계를 더 포함하는 웹 서비스 방법.
  12. 알려진 유해 사이트들에 대한 정보를 저장하는 유해 사이트 데이터베이스;
    상기 유해 사이트들 중 어느 한 사이트에서의 웹 서비스 요청 수신 메시지 및 상기 유해 사이트들 중 어느 한 사이트로의 웹 서비스 요청 발신 메시지를 각각 수신 거부 및 발신 차단하며, 상기 수신 메시지를 분석하여 공격 시도가 있으면 수신 을 거부하며, 송수신 메시지에 대한 전자서명 및 암복호 처리를 수행하는 메시지 보안 게이트웨이;
    상기 수신 메시지에 포함된 SAML(Security Assertion Markup Language) 어서션(assertion), 및 상기 수신 메시지에 SAML 어서션이 포함되어 있지 않은 경우 SAML 권위 서버로부터 SAML 어서션을 전달받은 SAML 어서션 중 적어도 하나를 이용하여 사용자 인증하는 인증 서버;
    상기 수신 메시지의 내용 및 상기 SAML 어서션의 속성을 바탕으로 보안 정책상 접근을 허락하는 인가 서버;
    상기 수신 메시지에 포함된 웹 서비스 요청에 대한 웹 서비스를 수행하는 응용 서버를 포함하는 웹 서비스 장치.
  13. 제 12 항에 있어서,
    상기 인증 서버는 상기 수신 메시지에 SAML 아티팩트(artifact)가 포함되어 있는 경우, 상기 SAML 아티팩트를 이용하여 SAML 권위 서버로부터 기 발급되어 있는 SAML 어서션을 전달받는 것을 특징으로 하는 웹 서비스 장치.
  14. 제 12 항에 있어서,
    상기 응용 서버는 다른 응용 서버로 웹 서비스를 요청하는 경우 상기 다른 응용 서버로 상기 발신 메시지를 전송하는 것을 특징으로 하는 웹 서비스 장치.
KR1020070133783A 2007-12-18 2007-12-18 웹 서비스 방법 및 그 장치 KR100995904B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070133783A KR100995904B1 (ko) 2007-12-18 2007-12-18 웹 서비스 방법 및 그 장치
US12/808,456 US8683607B2 (en) 2007-12-18 2008-12-05 Method of web service and its apparatus
PCT/KR2008/007206 WO2009078609A2 (en) 2007-12-18 2008-12-05 Method of web service and its apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070133783A KR100995904B1 (ko) 2007-12-18 2007-12-18 웹 서비스 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20090066152A true KR20090066152A (ko) 2009-06-23
KR100995904B1 KR100995904B1 (ko) 2010-11-23

Family

ID=40795992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070133783A KR100995904B1 (ko) 2007-12-18 2007-12-18 웹 서비스 방법 및 그 장치

Country Status (3)

Country Link
US (1) US8683607B2 (ko)
KR (1) KR100995904B1 (ko)
WO (1) WO2009078609A2 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626363B (zh) * 2008-07-07 2013-03-27 华为技术有限公司 聚合业务装置、系统、聚合业务创建及使用方法
US8555351B2 (en) * 2008-09-29 2013-10-08 International Business Machines Corporation Trusted database authentication through an untrusted intermediary
US8397056B1 (en) * 2009-04-21 2013-03-12 Jackbe Corporation Method and apparatus to apply an attribute based dynamic policy for mashup resources
US8458596B1 (en) 2009-04-21 2013-06-04 Jackbe Corporation Method and apparatus for a mashup dashboard
US9110577B1 (en) 2009-09-30 2015-08-18 Software AG USA Inc. Method and system for capturing, inferring, and/or navigating dependencies between mashups and their data sources and consumers
CN102098211B (zh) * 2009-12-11 2012-08-08 华为技术有限公司 客户端和服务器动态协助的业务聚合方法、服务器和客户端
DE102010028133A1 (de) * 2010-04-22 2011-10-27 Bundesdruckerei Gmbh Verfahren zum Lesen eines Attributs aus einem ID-Token
US9367595B1 (en) 2010-06-04 2016-06-14 Software AG USA Inc. Method and system for visual wiring tool to interconnect apps
KR20120002836A (ko) * 2010-07-01 2012-01-09 삼성전자주식회사 복수의 서비스에 대한 접근 제어 장치 및 방법
US8995992B1 (en) * 2010-09-03 2015-03-31 Cellco Partnership Method and system for secure mobile device number lookup and modification
US8949939B2 (en) * 2010-10-13 2015-02-03 Salesforce.Com, Inc. Methods and systems for provisioning access to customer organization data in a multi-tenant system
US8782397B2 (en) * 2011-01-06 2014-07-15 International Business Machines Corporation Compact attribute for cryptographically protected messages
US9342665B2 (en) * 2011-01-07 2016-05-17 D2L Corporation Systems, methods, and apparatus for facilitating client-side digital rights compliance
US9032490B1 (en) 2012-09-12 2015-05-12 Emc Corporation Techniques for authenticating a user with heightened security
US8949953B1 (en) * 2012-09-12 2015-02-03 Emc Corporation Brokering multiple authentications through a single proxy
US20140095974A1 (en) * 2012-09-28 2014-04-03 Sap Ag Secure html javascript code snippet usage in application integration
US20140254788A1 (en) * 2013-03-11 2014-09-11 Bank Of America Corporation Communication between a mobile device and a call center
KR101502490B1 (ko) * 2013-10-18 2015-03-13 주식회사 케이티 네트워크 트래픽을 감시하는 가입자 단말 및 보안 감시 노드
RU2685994C1 (ru) * 2015-07-15 2019-04-23 Гуанчжоу Уквеб Компьютер Текнолоджи Ко., Лтд. Способ оценки сетевой атаки, способ безопасной передачи данных сети и соответствующее устройство
US9832229B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
US9992163B2 (en) 2015-12-14 2018-06-05 Bank Of America Corporation Multi-tiered protection platform
US9832200B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
US9973500B2 (en) * 2016-04-18 2018-05-15 Bank Of America Corporation Security architecture for authentication and audit
CN109792436B (zh) * 2016-10-12 2021-08-03 华为技术有限公司 一种验证码处理方法及移动终端
CN110750766B (zh) * 2019-10-12 2022-11-04 深圳平安医疗健康科技服务有限公司 权限验证方法、装置、计算机设备和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606659B1 (en) * 2000-01-28 2003-08-12 Websense, Inc. System and method for controlling access to internet sites
US7747856B2 (en) * 2002-07-26 2010-06-29 Computer Associates Think, Inc. Session ticket authentication scheme
US7788711B1 (en) * 2003-10-09 2010-08-31 Oracle America, Inc. Method and system for transferring identity assertion information between trusted partner sites in a network using artifacts
US7594112B2 (en) * 2003-10-10 2009-09-22 Bea Systems, Inc. Delegated administration for a distributed security system
KR20050042694A (ko) * 2003-11-04 2005-05-10 한국전자통신연구원 보안토큰을 이용한 전자거래방법 및 그 시스템
KR100644616B1 (ko) * 2004-06-10 2006-11-10 세종대학교산학협력단 마크업 랭귀지 기반의 단일인증 방법 및 이를 위한 시스템
KR20060063348A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 인터넷에서 인증 assertion을 이용한 접속시간제어 방법
US7562382B2 (en) * 2004-12-16 2009-07-14 International Business Machines Corporation Specializing support for a federation relationship
KR100697344B1 (ko) 2004-12-29 2007-03-20 학교법인 대양학원 유무선 통합 네트워크 환경에서의 단일인증 방법 및 이를위한 시스템
EP1689125A1 (de) 2005-02-08 2006-08-09 Siemens Aktiengesellschaft Verfahren zum authentisierten Aufbau einer Verbindung
US20070136809A1 (en) 2005-12-08 2007-06-14 Kim Hwan K Apparatus and method for blocking attack against Web application
US20070150934A1 (en) * 2005-12-22 2007-06-28 Nortel Networks Ltd. Dynamic Network Identity and Policy management
KR20070077517A (ko) 2006-01-24 2007-07-27 박재철 프로파일 기반 웹 애플리케이션 침입탐지시스템 및 그 방법
US20080282338A1 (en) * 2007-05-09 2008-11-13 Beer Kevin J System and method for preventing the reception and transmission of malicious or objectionable content transmitted through a network
KR20070072835A (ko) 2007-05-21 2007-07-06 이상훈 실시간 웹로그 수집을 통한 웹해킹 대응 방법

Also Published As

Publication number Publication date
WO2009078609A2 (en) 2009-06-25
US8683607B2 (en) 2014-03-25
US20100269149A1 (en) 2010-10-21
KR100995904B1 (ko) 2010-11-23
WO2009078609A3 (en) 2009-10-22

Similar Documents

Publication Publication Date Title
KR100995904B1 (ko) 웹 서비스 방법 및 그 장치
Indu et al. Identity and access management in cloud environment: Mechanisms and challenges
JP5539335B2 (ja) 分散セキュアコンテンツ管理システムに対する認証
Lodderstedt et al. OAuth 2.0 threat model and security considerations
KR20130085472A (ko) 클라우드 컴퓨팅 서비스에서의 보안 시스템
Lonea et al. Identity management for cloud computing
IL266535A (en) A system and method for clear multi-factor authentication and security posture testing
Bazaz et al. A review on single sign on enabling technologies and protocols
Ghazizadeh et al. A trust based model for federated identity architecture to mitigate identity theft
US20060047832A1 (en) Method and apparatus for processing web service messages
Muthuraj et al. Detection and prevention of attacks on active directory using SIEM
Fang et al. XPOLA–An Extensible Capability-based Authorization Infrastructure for Grids
Phan Service oriented architecture (soa)-security challenges and mitigation strategies
Simpson Toward a zero trust metric
Cahill et al. Client-based authentication technology: user-centric authentication using secure containers
Priyadharshini et al. A survey on security issues and countermeasures in cloud computing storage and a tour towards multi-clouds
Mupila et al. A Multi-factor Approach for Cloud Security
Jang System Access Control Technique for Secure Cloud Computing
US11757934B1 (en) Extended browser monitoring inbound connection requests for agentless lateral movement protection from ransomware for endpoints deployed under a default gateway with point to point links
Park et al. A Study of OAuth 2.0 Risk Notification and Token Revocation from Resource Server
Zhang et al. Research on the cross domain identity authentication in federated environment
Alrodhan Identity management systems
Chauhan et al. A Trusted Computing Solution for Security Threats in Federated Identity Management
Deeptha et al. The Preliminary Investigation of SSO Protocol for the Suitability of Mission Critical Applications
Hirai et al. Putting Authorization Servers on User-Owned Devices in User-Managed Access

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141027

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151028

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170223

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 10