KR20050065986A - 웹서비스에 대한 메시지 보안 처리 시스템 및 방법 - Google Patents

웹서비스에 대한 메시지 보안 처리 시스템 및 방법 Download PDF

Info

Publication number
KR20050065986A
KR20050065986A KR1020030097162A KR20030097162A KR20050065986A KR 20050065986 A KR20050065986 A KR 20050065986A KR 1020030097162 A KR1020030097162 A KR 1020030097162A KR 20030097162 A KR20030097162 A KR 20030097162A KR 20050065986 A KR20050065986 A KR 20050065986A
Authority
KR
South Korea
Prior art keywords
security
message
soap
security processing
processing
Prior art date
Application number
KR1020030097162A
Other languages
English (en)
Other versions
KR100576722B1 (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 KR1020030097162A priority Critical patent/KR100576722B1/ko
Priority to US10/937,040 priority patent/US8051283B2/en
Publication of KR20050065986A publication Critical patent/KR20050065986A/ko
Application granted granted Critical
Publication of KR100576722B1 publication Critical patent/KR100576722B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 웹서비스에 대한 메시지 보안 처리 시스템 및 방법에 관한 것으로, SOAP(Simple Object Access Protocol)-RPC(Remote Procedure Call) 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스에 대한 메시지 보안 처리 시스템은, 상기 클라이언트와 서버 각각에 대해 응용 프로그램이 자신의 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트(Security Context) 객체에 설정할 수 있도록 하는 보안 인터페이스; 상기 보안 인터페이스로부터 상기 보안 컨텍스트 객체를 전달받아, 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 요청 메시지에 대한 보안 처리를 수행하거나, 상기 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 응답 메시지에 대한 보안 처리를 수행하는 보안처리 핸들러; 및 상기 보안처리 핸들러에 의해 호출되어, 상기 보안 처리에 필요한 XML(eXtensible Markup Language) 보안 처리 기능을 지원하는 XML 보안 처리 유닛을 포함한다.

Description

웹서비스에 대한 메시지 보안 처리 시스템 및 방법{System and method for processing message security for web services}
본 발명은 정보보호 기술에 관한 것으로, 특히 웹서비스에 대한 메시지 보안 처리 장치 및 방법에 관한 것이다.
웹서비스는 XML(eXtensible Markup Language), HTTP(HyperText Transfer Protocol), SOAP(Simple Object Access Protocol), WSDL(Web Service Description Language), UDDI(Universal Description, Discovery, and Integration Protocol) 등의 웹 표준 기술들을 활용하여 클라이언트와 서버가 상호 연동할 수 있도록 하는 기술로, 그 사용이 널리 확산되고 있다.
웹서비스에서는 메시지 교환을 위해 SOAP을 사용한다. SOAP은 모든 네트워크 프로토콜, 특히 HTTP에서 RPC(Remote Procedure Calls)와 Messaging을 지원해 주는 XML 기반의 프로토콜이다. SOAP은 이진 형태(binary format) 대신에 XML 기반의 프로토콜을 사용하여, 플랫폼간, 프로그래밍 언어간, 컴포넌트 모델간의 상호 운용성이 뛰어나다.
웹서비스 및 SOAP 은 전자상거래 등의 높은 보안성이 요구되는 응용 서비스에 널리 적용되고 있어 이에 대한 정보보호 기술의 적용이 매우 중요하며, 이에 대한 메시지 수준에서의 보안을 제공하기 위해 민간전자상거래표준화기구인 오아시스(Organization for the Advancement of Structured Information Standards: OASIS)에서 WS-Security(Web Services Security)를 표준화하고 있다.
SOAP 메시지 보안 표준에서는 SOAP 메시지에 대한 인증(Authentication), 무결성(Integrity), 기밀성(Confidentiality), 부인봉쇄(Non-Repudiation), 및 보안토큰(security token)을 교환하기 위한 표준을 정의하고 있다. SOAP 메시지에 대한 무결성, 부인봉쇄, 인증을 제공하기 위해 W3C의 XML 전자서명을 확장하여 적용하였고, 기밀성을 제공하기 위해 W3C의 XML 암호를 확장하여 적용하였으며, 공개키 등의 정보를 교환하기 위해 다양한 형태의 보안토큰을 정의하였다. 또한 재전송 공격(Replay Attack) 등을 방지하기 위해 타임스탬프(Timestamp) 관련 기능도 추가하였다.
SOAP 메시지 보안 표준에서는 보호하고자 하는 메시지에 대한 전자서명이 XML 전자서명 기법을 이용해 생성되어 SOAP 헤더 내에 있는 Security Header라는 이름의 XML 엘리먼트 내에 포함되고, 기밀성이 요구되는 메시지에 대한 암호문이 XML 암호 기법을 이용해 XML 형태의 암호문으로 생성되어 Security Header 엘리먼트 내부 혹은 SOAP Body 내부에 포함된다. 또한 전자서명을 검증하기 위한 공개키 정보가 Security Header 내부의 Security Token 엘리먼트에 포함되어 상대방에 전달된다. 이와 함께, 생성된 SOAP 메시지에 대한 타임스탬프가 SOAP 헤더 내부에 포함될 수 있어 어플리케이션에서 이를 이용하여 재전송 공격을 감지할 수 있다.
SOAP을 이용해 메시지를 전달하는 방법은 RPC(Remote Procedure Call)와 Messaging 두 가지 형태가 있다. SOAP Messaging은 응용 프로그램에서 직접 전달하고자 하는 메시지를 SOAP 메시지 형태로 구성하여 전송하는 방법이고, SOAP RPC는 응용 프로그램에서 직접 SOAP 메시지를 생성하지 않고 로컬에 있는 함수를 호출하듯 원격지 서버의 함수를 호출하면 SOAP 엔진에서 이를 SOAP 메시지 형태로 바꾸어 서버에 전달해 주는 방식이다. SOAP RPC 방식은 응용 프로그램이 직접 전달하고자 하는 파라미터를 SOAP 메시지 형태로 변형하지 않아도 되는 편리성을 제공해 준다. 하지만 SOAP 메시지 보안을 적용하기 위해서는 전송되는 SOAP 메시지를 액세스하여 이에 대한 전자서명, 암호 등의 처리를 수행하여야 하나, SOAP RPC를 사용할 경우 어플리케이션 수준에서 직접 SOAP 메시지를 액세스 할 수 없기 때문에 보안 모듈 적용에 어려움이 따른다.
또한 SOAP 메시지 보호를 위해서는 응용 프로그램의 요구 사항에 맞추어 전자서명, 암호, 타임 스탬프 삽입 등의 정보보호 처리가 다양한 형태로 조합되어 다양한 선택사항에 따라 처리 수 있어야 하며 이를 위해서는 일반적이고 간단한 보안처리 설정 방법이 제공되어야 한다.
하지만 기존의 SOAP 메시지 보안 표준에서는 SOAP 메시지의 헤더에 보안 관련 정보를 추가하는 구문과 처리 절차만을 명시하였을 뿐, 위와 같은 문제에 대한 해결 방법은 언급하지 않고 있다.
본 발명이 이루고자 하는 기술적 과제는, 웹서비스 메시지 보안기술을 웹서비스 환경에 적용하는 데 있어 응용 프로그램의 요구 사항에 맞추어 웹서비스에서 교환되는 메시지에 대한 인증, 무결성, 부인봉쇄, 기밀성 등을 제공할 수 있는 보안 처리 시스템 및 방법을 제공하는데 있다.
본 발명이 이루고자 하는 기술적 과제는, SOAP 메시지 보안 기술을 SOAP RPC에 간단하게 적용할 수 있고, SOAP Messaging에도 유사한 인터페이스를 사용할 수 있는 보안 처리 시스템 및 방법을 제공하는데 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 SOAP(Simple Object Access Protocol)-RPC(Remote Procedure Call) 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스에 대한 메시지 보안 처리 시스템에 있어서, 상기 클라이언트와 서버 각각은, 응용 프로그램이 자신의 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트(Security Context) 객체에 설정할 수 있도록 하는 보안 인터페이스; 상기 보안 인터페이스로부터 상기 보안 컨텍스트 객체를 전달받아, 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 요청 메시지에 대한 보안 처리를 수행하거나, 상기 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 응답 메시지에 대한 보안 처리를 수행하는 보안처리 핸들러; 및 상기 보안처리 핸들러에 의해 호출되어, 상기 보안 처리에 필요한 XML(eXtensible Markup Language) 보안 처리 기능을 지원하는 XML 보안 처리 유닛을 포함하는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 의한 SOAP-Messaging 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스에 대한 메시지 보안 처리 시스템에 있어서, 상기 클라이언트와 서버 각각은, 응용 프로그램이 자신의 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트 객체에 설정할 수 있도록 하는 보안 인터페이스; 상기 응용 프로그램으로부터 SOAP 메시지 및 보안 컨텍스트 객체를 직접 전달받아 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 요청 메시지에 대한 보안 처리를 수행하거나, 상기 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 응답 메시지에 대한 보안 처리를 수행하고, 상기 보안처리 결과를 상기 응용 프로그램에게 전달해 주는 보안처리 핸들러; 및 상기 보안처리 핸들러에 의해 호출되어, 상기 보안 처리에 필요한 XML 보안 처리 기능을 지원하는 XML 보안 처리 유닛을 포함하는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 의한 SOAP(Simple Object Access Protocol)-RPC(Remote Procedure Call) 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 요청 메시지에 대한 보안 처리 방법은 (a) 웹서비스 클라이언트가 응용프로그램을 통해 자신이 보내고자 하는 요청 메시지와 받을 응답 메시지에 대한 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트(Security Context) 객체에 설정하는 단계; (b) 클라이언트측 보안처리 핸들러가 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 요청 메시지에 대한 보안 처리를 수행하는 단계; (c) SOAP 클라이언트 엔진이 상기 (b) 단계에서 수행된 상기 보안처리 결과를 SOAP 메시지 형태로 SOAP 서버엔진에게 전송하는 단계; (d) 상기 SOAP 서버엔진에 의해 웹서비스 서버가 초기화되어, 상기 클라이언트로부터 수신된 상기 요청 메시지와 상기 클라이언트에게 돌려줄 상기 응답 메시지에 대한 보안요구 사항을 상기 보안 컨텍스트 객체에 설정하는 단계; 및 (e) 서버측 보안처리 핸들러가 상기 (d) 단계에서 설정된 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 수신된 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 의한 SOAP(Simple Object Access Protocol)-RPC(Remote Procedure Call) 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 응답 메시지에 대한 보안 처리 방법은 (a) 웹서비스 서버가 SOAP 서버 엔진을 통해 SOAP 메시지를 서버측 보안처리 핸들러에게 넘겨주는 단계; (b) 상기 보안처리 핸들러가 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 클라이언트에게 전송할 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계; (c) 상기 SOAP 서버엔진이 상기 (b) 단계에서 수행된 보안처리 결과를 SOAP 메시지 형태로 SOAP 클라이언트 엔진에게 전송하는 단계; (d) 상기 SOAP 클라이언트 엔진이 클라이언트측 보안처리 핸들러를 호출하여 상기 수신된 SOAP 메시지를 넘겨주는 단계; 및 (e) 상기 보안처리 핸들러가 상기 보안 컨텍스트 객체의 상기 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 의한 SOAP-Messaging 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 요청 메시지에 대한 보안 처리 방법은 (a) 웹서비스 클라이언트가 응용프로그램을 통해 자신이 보내고자 하는 요청 메시지와 받을 응답 메시지에 대한 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트(Security Context) 객체에 설정하는 단계; (b) 상기 웹서비스 클라이언트가 상기 (a) 단계에서 생성된 상기 보안 컨텍스트 객체와, 서버로 보내기 위해 생성한 SOAP 메시지를 어플리케이션 형태로 구현된 클라이언트측 보안처리 핸들러에게 파라미터로 전달하는 단계; (c) 상기 보안처리 핸들러가 상기 웹서비스 클라이언트에 의해 직접 호출되어, 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여, 전달받은 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계; (d) SOAP 클라이언트 엔진이 상기 (c) 단계에서 수행된 상기 보안처리 결과를 상기 웹서비스 클라이언트에 의해 전달받아 SOAP 메시지 형태로 SOAP 서버엔진에게 전송하는 단계; (e) 상기 SOAP 서버엔진에 의해 웹서비스 서버가 초기화되어, 수신된 상기 요청 메시지와 상기 클라이언트에게 돌려줄 상기 응답 메시지에 대한 보안요구 사항을 상기 보안 컨텍스트 객체에 설정하는 단계; (f) 상기 보안 컨텍스트 객체 및 (d) 단계에서 수신된 상기 SOAP 메시지를 어플리케이션 형태로 구현된 서버측 보안처리핸들러로 전달하는 단계; 및 (g) 상기 서버측 보안처리핸들러가 상기 웹서비스 서버에 의해 직접 호출되어, 상기 (e) 단계에서 설정된 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여, 수신된 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 의한 SOAP-Messaging 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 응답 메시지에 대한 보안 처리 방법은 (a) 웹서비스 서버가 수신된 SOAP 메시지에 대해 SOAP 메시지 형태의 응답을 생성하여 서버측 보안처리 핸들러에게 상기 SOAP 응답 메시지를 넘겨주는 단계; (b) 상기 보안처리 핸들러가 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 전달받은 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계; (c) 상기 SOAP 서버엔진이 상기 (b) 단계에서 수행된 보안처리 결과를 상기 웹서비스 서버에 의해 전달받아 SOAP 메시지 형태로 SOAP 클라이언트 엔진에게 전송하는 단계; (d) 웹서비스 클라이언트가 상기 SOAP 클라이언트 엔진으로부터 응답 메시지를 전달받은 후 클라이언트측 보안처리 핸들러를 직접 호출하여 상기 수신된 SOAP 메시지를 넘겨주는 단계; 및 (e) 상기 보안처리 핸들러가 상기 보안 컨텍스트 객체의 상기 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 한다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 SOAP-RPC에 대한 보안처리 시스템의 블록도이다. 도 1을 참조하면, SOAP RPC 환경은 클라이언트 측에는 SOAP 클라이언트 엔진(SOAP Client Engine ; 100), 스텁(Stub) 오브젝트(170), 및 웹서비스 클라이언트(180)가 포함되고, 서버측에는 SOAP 서버 엔진(SOAP Server Engine ; 200), 타이(Tie) 오브젝트(270), 및 웹서비스 서버(280)가 포함되며, 웹서비스 클라이언트(180)와 웹서비스 서버(280)는 웹서비스 환경에서 수행되며 각각 클라이언트와 서버 역할을 하는 응용 프로그램이다.
스텁 오브젝트(170)에는 웹서비스 서버(280)에서 제공하는 것과 동일한 이름의 함수가 들어있다. 웹서비스 클라이언트(180)가 웹서비스의 함수를 호출하여 사용하기 위해 스텁 오브젝트(170)에 있는 같은 이름의 함수를 호출하면, 이에 대한 요청은 스텁 오브젝트(170)와 SOAP 클라이언트 엔진(100)을 거쳐 SOAP Message 형태로 변환되어 서버에 전달된다. 서버에 전달된 SOAP 메시지는 서버측의 SOAP 서버 엔진(200)과 타이 오브젝트(270)를 거쳐 함수 호출 메시지로 변환되어 원격지에 있는 웹서비스 서버(280)의 함수를 호출하게 된다. 호출된 함수의 수행결과가 서버에서 클라이언트로 전달되는 과정은, SOAP 메시지가 클라이언트에서 서버로 전달되는 경로와 대칭 된다. 이와 같은 원격지의 함수 호출 방법을 RPC(Remote Procedure Call)라 칭한다.
도 1에서 SOAP RPC에서의 메시지 보안 처리 적용을 위해 추가된 구성요소는 보안처리 핸들러(Security Handler ; 120, 220), XML 보안 처리 유닛(XML Security Unit ; 130, 230), 및 보안 인터페이스(Security Interface ; 140, 240)이다.
보안처리 핸들러(120, 220)는 SOAP 메시지 핸들러(SOAP Message Handler) 형태로 구성되어, SOAP 클라이언트/서버 엔진(100, 200)의 핸들러 체인(110, 210) 내에 설치된다. SOAP 메시지 핸들러는 SOAP RPC 사용시 RPC(Remote Procedure Call) 과정에서 주고받는 SOAP 메시지를 응용 프로그램이 직접 액세스하도록 함으로써, 헤더 추가 등과 같은 SOAP 메시지에 대한 추가적인 처리를 해줄 수 있도록 한다. 따라서, 보안처리 핸들러(120, 220)를 SOAP 메시지 핸들러 형태로 설치하게 되면, RPC 클라이언트와 서버 사이에 오고 가는 SOAP 메시지를 응용프로그램이 액세스하여 이에 대한 전자서명, 암호 등의 SOAP 메시지 보안 처리를 수행할 수 있게 된다.
SOAP RPC에 대한 메시지 보안 처리를 위해서는 SOAP 런타임 환경에 보안처리 핸들러(120, 220)를 설치해야 한다. 보안처리 핸들러(120, 220)를 설치하는 방법은, 설정 파일에 호출할 핸들러 및 호출되는 순서를 지정하는 방법과, 응용 프로그램에서 핸들러 및 호출되는 순서를 지정하는 방법이 있다. 이 때, 핸들러(120, 220)를 사용하도록 지정하지 않으면 보안처리 핸들러(120, 220)가 수행하는 메시지 보안처리는 수행되지 않게 된다.
SOAP 메시지 보안 처리시 각 응용 프로그램의 보안 요구 사항이 각각 다르고 SOAP 메시지 보안 처리에는 많은 옵션이 존재한다. 따라서 어플리케이션의 요구 사항에 맞추어 전자서명, 암호, 타임 스탬프 삽입 등의 정보보호 처리가 다양한 형태로 조합되어 다양한 선택사항에 따라 처리될 수 있어야 한다.
이를 위해 기존에는 메시지 핸들러 코드 내부에 직접 전자서명, 암호와 관련된 파라미터 설정을 해주고, 메시지에 대해 전자서명을 할 것인지, 암호화를 할 것인지, 암호화를 한 후 서명을 할 것인지 아니면 서명을 한 후 암호화를 할 것인지 등의 각 보안 처리 기능들의 조합 방식을 코드 내부에 집어넣었다. 그러나, 응용 프로그램마다 요구 사항이 다르기 때문에 이러한 방법을 쓸 경우 각 응용 프로그램마다 각각의 보안 처리 핸들러를 작성해야 하며, 이들 각각을 SOAP 엔진에 설치해야 하기 때문에 매우 비효율적인 문제를 가지고 있었다. 그리고, SOAP 메시지 핸들러에서 보안 파라미터 설정을 하도록 할 경우 사용자로부터 파라미터 설정 선택 사항을 프로그램 수행시 입력받는 것이 불편했었다.
이와 같은 문제를 해결하기 위해 본 발명에서 보안 인터페이스(140, 240)는 응용 프로그램이 SOAP 보안처리를 위한 옵션을 설정할 수 있도록 해준다. 보안 인터페이스(140, 240)를 통해 응용 프로그램은 자신의 보안 요구사항에 맞도록 전자서명, 암호화 등과 같은 보안처리에 필요한 보안 토큰 정보, 서명이나 암호화 할 부분, 사용할 알고리즘 등을 설정하고, 메시지에 대해 전자서명을 할 것인지, 암호화를 할 것인지, 암호화를 한 후 서명을 할 것인지 아니면 서명을 한 후 암호화를 할 것인지 등의 각 보안 처리 기능들의 조합 방식을 지정하며, 이들 설정을 포함하는 보안 컨텍스트(Security Context) 객체를 생성하여 보안처리 핸들러(120, 220)에게 전달한다. 이 때 구성되는 Security Context 객체의 구조는 다음과 같다.
도 2는 보안 처리 정보 전달을 위한, 본 발명의 바람직한 실시예에 따른 Security Context 객체(500)의 구조를 보여주는 도면이다.
도 2를 참조하면, 본 발명에 따른 Security Context 객체(500)는 요청 큐(Request Queue ; 520)와 응답 큐(Response Queue ; 540)의 두 개의 객체를 포함한다. 요청 큐(520)에는 요청 메시지에 대한 보안 처리를 위한 단위 보안처리 객체가 삽입되고, 응답 큐(540)에는 응답 메시지에 대한 보안 처리를 위한 단위 보안처리 객체가 응용 프로그램에서 지정한 순서대로 삽입된다.
단위 보안처리 객체는 SOAP 메시지 보안 처리를 위해 XML 전자서명을 하여 SOAP Message 헤더에 추가하는 Sign 객체, 이를 검증하는 Verify 객체, SOAP 메시지에 대한 XML 암호화를 수행하여 SOAP 메시지 헤더 및 바디에 삽입하는 Encrypt 객체, 및 Encrypt 객체를 복호화하는 Decrypt 객체 등이 있고, 이밖에 타임스탬프를 삽입하는 객체, 타임스탬프를 검사하는 객체, SOAP 메시지에 대한 추가 처리를 수행하는 객체 등이 있다.
SOAP 메시지 보안을 사용할 때, 다수 번의 서명과 암호가 처리되면 보안 처리된 메시지의 헤더에는 이들이 적용된 순서 정보가 들어있는데, 그 외에도 상기 순서 정보를 해석하여 적절한 순서로 복호화 및 검증을 수행하는 복호 및 검증(Decrypt & Verify) 객체도 있을 수 있다. 이밖에, 응용 프로그램에서 자신이 필요로 하는 단위 보안처리 객체를 직접 작성하여 큐에 삽입하여 처리되도록 할 수도 있다.
전자서명, 암호 등의 보안 처리를 수행할 경우에는 공개키 정보 전달을 위한 보안토큰(security token), 처리 대상에 대한 위치정보를 나타내는 URI(Uniform Resource Identifier) 정보, 사용하는 알고리즘 등의 파라미터 설정이 필요하며, 이들 파라미터들은 해당 보안 처리 객체 내부에 포함되어 전달된다.
Security Context(500)는 클라이언트와 서버에서 따로 생성하여 사용되며, 요청 큐(520)와 응답 큐(540)에는 요청 메시지 처리에 사용할 객체와, 응답 메시지 처리에 사용할 객체가 원하는 처리 순서대로 각각 삽입된다.
보안처리 핸들러(120, 220)는 Security Context(500)를 전달받아 요청 메시지를 처리할 때는 요청 큐(520)에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 보안 처리를 수행하고, 응답 메시지를 처리할 때는 응답 큐(540)에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 보안 처리를 수행한다. 예를 들어, 요청 메시지를 서명하고 그 다음 암호화 하고자 할 경우, 응용 프로그램은 요청 큐(520)에 서명객체를 삽입하고 그 다음 암호 객체를 삽입한다. 보안처리 핸들러(120, 220)는 Security Context(500)를 전달받아 서명 객체에 포함되어 있는 설정 파라미터를 이용하여 보안처리 함수를 호출하여 서명을 처리하고, 그 다음 암호 객체를 꺼내어 메시지에 대한 암호 처리를 수행하게 된다.
모든 보안 처리 객체는 동일한 인터페이스를 구현한다. 따라서, 보안처리 핸들러(120, 220)는 보안처리 수행시 동일한 방법으로 해당 객체의 기능을 사용할 수 있게 된다. 즉, 보안 처리 객체가 요청 큐(520)나 응답 큐(540)에 있는 보안처리 객체를 하나씩 차례대로 꺼내어 각 객체에 대해 동일한 이름과 파라미터의 메쏘드(method)를 호출하면 해당 객체가 제공하는 보안처리가 수행되게 된다. 이렇게 할 경우, 보안처리와 관련된 설정은 응용 프로그램에서 모두 처리하고, 보안 처리 핸들러(120, 220)에서는 어떤 응용 프로그램의 요청을 처리하든지 간에 전달된 객체를 순서대로 하나씩 호출하여 수행하기만 하면 되므로, 응용 프로그램마다 따로 보안처리 핸들러를 만들어 설치할 필요 없이 하나의 핸들러를 공통적으로 사용할 수 있게 된다. 또한 어플리케이션에서 모든 보안관련 파라미터 설정을 할 수 있기 때문에 사용자로부터 보안 처리 관련 선택사항을 입력받는 것도 쉬워진다.
Security Context(500)를 보안처리 핸들러(120, 220)에 전달하는 방법은 SOAP 구현 제품에 따라 차이가 있지만, 보통 스텁 객체(170)나 타이 객체(270)에 파라미터를 넘겨주게 되면, Security Context(500)가 SOAP 메시지 컨텍스트에 포함되어 SOAP 보안처리 핸들러(120, 220)로 전달된다.
도 1에서 XML 보안 처리 유닛(130, 230)은 보안처리 핸들러(120, 220)에 의해 호출되어, SOAP 메시지 보안 처리에 필요한 기능들을 제공한다. XML 보안 처리 유닛(130, 230)은 XML 전자서명 유닛(XML Signature Unit ; 131, 231), XML 암호 유닛(XML Encryption Unit ; 132, 232), 보안토큰 처리기(Security Token Processor ; 133, 233), 암호 라이브러리(Crypto Library ; 134, 234), 및 기타 유틸리티들(Utilities ; 135, 235)로 구성된다.
XML 전자서명 유닛(131, 231)은 Security Context(500)에 들어가 있는 Sign 및 Verify 객체가 서명 혹은 검증을 수행할 때 호출하여 사용한다.
XML 암호 유닛(132, 232)은 Security Context(500)에 들어가 있는 Encrypt 및 Decrypt 객체가 XML 암호 혹은 복호 처리를 수행할 때 호출하여 사용한다.
보안토큰 처리기(133, 233)는 XML 전자서명이나 암호 처리시 필요한 공개키 정보를 포함하고 있는 보안 토큰에 대한 처리를 수행한다. 암호 라이브러리(134, 234)는 전자서명 알고리즘 및 암호 알고리즘 등과 같이 암호 처리에 필요한 알고리즘들을 제공한다. 그리고, 기타 유틸리티들(135, 235)에는 XML 보안 처리와 관련된 응용 프로그램들을 실행시키는 기능을 제공한다.
도 3은 본 발명의 바람직한 실시예에 따른 SOAP-Messaging에 대한 보안처리 시스템의 블록도이다. 도 3을 참조하면, SOAP-Messaging 환경은 클라이언트 측에는 웹서비스 클라이언트(380) 및 SOAP 클라이언트 엔진(SOAP Client Engine ; 300)이 포함되고, 서버측에는 SOAP 서버 엔진(SOAP Server Engine ; 400), 및 웹서비스 서버(480)가 포함되며, 웹서비스 클라이언트(380)와 웹서비스 서버(480)는 웹서비스 환경에서 수행되며 각각 클라이언트와 서버 역할을 하는 응용 프로그램이다.
SOAP-Messaging에서는 응용 프로그램이 보내고자 하는 메시지를 직접 SOAP 메시지 형태로 생성하여 보내고, 메시지를 받을 때도 SOAP 메시지를 그대로 수신하여 이를 처리한다. 따라서, SOAP RPC에 존재하는 스텁 객체와 타이 객체가 필요 없게 된다. 또한, 응용 프로그램이 직접 SOAP 메시지를 액세스 할 수 있으므로, SOAP 메시지 핸들러와 같은 메커니즘을 사용할 필요 없이 응용 프로그램에서 직접 SOAP 메시지에 대한 보안처리를 수행할 수 있게 된다.
본 발명에서 SOAP Messaging을 위한 메시지 보안 처리를 위해 추가된 구성요소로는 보안처리 핸들러(Security Handler ; 320, 420), XML 보안 처리 유닛(XML Security Unit ; 330, 430), 및 보안 인터페이스(Security Interface ; 340, 440)가 있으며, 이들은 SOAP RPC와 논리적으로 유사한 구조를 갖는다. 차이점은 SOAP RPC에서는 보안처리 핸들러(120, 220)가 SOAP 메시지 핸들러 형태로 SOAP 엔진(100, 200) 에 설치되지만, SOAP Messaging의 경우에는 보안처리 핸들러(320, 420)가 일반 어플리케이션으로 구성되어 응용 프로그램에서 직접 호출한다는 점이다. 보안 인터페이스(340, 440)와 XML 보안 처리 유닛(330, 430)은 SOAP RPC의 경우와 동일하다. 따라서, 중복되는 설명을 피하기 위해 중복되는 부분에 대한 상세 설명은 생략하기로 한다.
보안처리 핸들러(320, 420)는 보안 인터페이스(340, 440)로부터 응용 프로그램에서 설정한 Security Context 객체(500)를 전달받는다. Security Context 객체(500)는 SOAP RPC의 경우와 동일한 형태로 구성된다(도 2 참조). 보안처리 핸들러(320, 420)는 응용 프로그램으로부터 송수신하려는 SOAP 메시지를 직접 전달받아 Security Context(500)에 설정된 대로 보안처리를 수행하고, 그 결과를 다시 응용 프로그램에게 전달해 준다. 응용 프로그램은 보안 처리된 메시지를 SOAP 엔진(300, 400)을 이용해 송수신한다.
이와 같이 SOAP Messaging을 사용할 경우에도 응용 프로그램에서 직접 호출하여 사용할 수 있는 보안처리 핸들러(320, 420)를 사용하여 SOAP RPC의 경우와 유사한 형태로 보안처리를 수행하게 되면, 응용 프로그램 개발자는 SOAP RPC 와 SOAP Messaging 모두에 대해 유사한 인터페이스를 사용할 수 있게 된다. 따라서, 응용 프로그램 개발이 용이해 지며, 보안관련 설정을 손쉽게 할 수 있게 된다.
도 4는 본 발명에 따른 SOAP-RPC 사용시 요청 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
도 1 및 도 4를 참조하면, 웹서비스 클라이언트(180)는 자신이 보내고자 하는 요청(request)과 받을 응답(response)에 대한 보안처리 설정을 위해, 보안 인터페이스(140)를 통해 보안처리 객체들을 선택하고, 선택된 객체들을 처리 순서대로 Security Context 객체(500)의 요청 큐(520)와 응답 큐(540)에 각각 삽입하여, 클라이언트에서의 보안 처리를 위한 Security Context 객체(500)를 생성한다(1100 단계). 이 때, 각 보안 처리 객체에 대한 보안 파라미터도 함께 설정된다.
1100 단계에서 생성된 Security Context 객체(500)는 SOAP 메시지 핸들러인 보안처리 핸들러(120)로 전달된다(1110 단계). Security Context(500)를 보안처리 핸들러(120)에 전달하는 방법은 SOAP 구현 방식에 따라 차이가 있지만, 통상 Security Context(500)를 스텁 객체(170)에 넘겨주게 되면, 상기 Security Context(500)가 SOAP 메시지 컨텍스트에 포함되어 보안처리 핸들러(120)로 전달된다.
Security Context 객체(500)가 보안처리 핸들러(120)로 전달되고 나면, 웹서비스 클라이언트(180)는 RPC(Remote Procedure Call)를 수행한다(1120 단계). RPC 호출은 스텁(170)을 거쳐 SOAP 클라이언트 엔진(100)에게 전달되며, 상기 호출 메시지는 SOAP 메시지 형태로 변환된다. 이 경우, 상기 요청 메시지에 대해 보안처리 핸들러(120)가 호출되도록 응용프로그램에 설정되어 있으므로, SOAP 클라이언트 엔진(100)은 보안처리 핸들러(120)를 호출하고 SOAP 메시지를 넘겨준다(1130 단계).
보안처리 핸들러(120)는 1110 단계에서 전달받은 Security Context 객체(500)의 요청 큐(520)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 서명 및 암호화 처리)를 수행한다(1140 단계). 그리고 나서, SOAP 클라이언트 엔진(100)은 1140 단계에서 보안 처리된 SOAP 메시지를 서버로 전송한다(1150단계).
계속해서, SOAP 서버 엔진(200)은 SOAP 클라이언트 엔진(100)으로부터 SOAP 메시지를 수신하고(2100 단계), 해당 웹서비스 서버(280)를 초기화한다. 초기화시 웹서비스 서버(280)는 자신이 받는 요청과 돌려줄 응답에 대한 보안처리 설정을 위해, 필요한 보안처리 객체들을 보안 인터페이스(240)를 통해 선택하고, 처리할 순서대로 Security Context 객체(500)의 요청 큐(520)와 응답 큐(540)에 각각 집어넣는다. 이때 각 보안 처리 객체에 대한 보안 파라미터도 함께 설정된다. 그 결과, 서버에서의 보안 처리를 위한 Security Context 객체(500)가 생성된다(2110 단계).
2110 단계에서 생성된 Security Context 객체(500)는 서버 쪽에 설치되어 있는 SOAP Message 핸들러인 보안처리 핸들러(220)에게 전달된다(2120 단계). Security Context(500)를 보안처리 핸들러(220)에게 전달하는 방법은 SOAP 구현 제품에 따라 차이가 있지만, 보통 타이 객체(270)를 통해 전달된다. 이 경우, 요청 메시지에 대해 보안처리 핸들러(220)가 호출되도록 응용프로그램에 설정되어 있으므로, SOAP 서버 엔진(200)은 보안처리 핸들러(220)를 호출하여 SOAP 메시지를 넘겨준다(2130 단계). 2110 단계 내지 2130 단계에서, 웹서비스가 초기화되는 시점과, 보안처리 핸들러(220)에 대한 파라미터 전달 방법 등은 SOAP 구현 제품에 따라 다소 차이가 있을 수 있다.
보안처리 핸들러(220)는 2120 단계에서 전달받은 Security Context 객체(500)의 요청 큐(520)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 복호화 및 서명 검증 처리)를 수행한다(2140 단계). 그리고 나서, 2140 단계에서 처리된 SOAP 메시지를 Remote Procedure에 대한 호출로 바꾸어 웹서비스 서버(280)가 제공하는 Remote Procedure가 수행되도록 한다(2150 단계).
도 5는 본 발명에 따른 SOAP-RPC 사용시 응답 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
도 4 및 도 5를 참조하면, 웹서비스 서버(280)는 도 4의 2150 단계에서 수행된 Remote Procedure 호출의 응답을 리턴하며, 이 결과는 타이 객체(270)를 거쳐 SOAP 서버 엔진(200)에 전달된다(2200 단계). 이 때, 상기 응답 메시지는 SOAP 메시지 형태로 변환된다.
이 경우, 응답 메시지에 대해 보안처리 핸들러(220)가 호출되도록 응용프로그램에 설정되어 있으므로, SOAP 서버 엔진(200)은 보안처리 핸들러(220)를 호출하여 SOAP 메시지를 넘겨준다(2210 단계). 보안처리 핸들러(220)는 도 4의 2120 단계에서 전달받았던 Security Context 객체(500)의 응답 큐(540)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 서명 및 암호화 처리)를 수행한다(2220 단계). 그리고 나서, SOAP 서버 엔진(200)은 2220 단계에서 보안 처리된 SOAP 메시지를 클라이언트에게 전송한다(2230 단계).
이어서, SOAP 클라이언트 엔진(100)은 SOAP 서버 엔진(200)으로부터 보안 처리된 SOAP 응답 메시지를 수신한다(1200 단계). 이 경우, 응답 메시지에 대해 보안처리 핸들러(120)가 호출되도록 응용프로그램에 설정되어 있으므로, SOAP 클라이언트 엔진(100)은 보안처리 핸들러(120)를 호출하고, 수신된 SOAP 메시지를 넘겨준다(1210 단계).
보안처리 핸들러(120)는 도 4의 1110 단계에서 전달받았던 Security Context 객체(500)의 응답 큐(540)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 복호화 및 서명 검증 처리)를 수행한다(1220 단계). 그리고 나서, SOAP 클라이언트 엔진(100)은 1220 단계에서 처리된 SOAP 메시지를 Remote Procedure Call에 대한 응답으로 바꾸어 웹서비스 클라이언트(180)에게 리턴 한다(1230 단계).
계속해서, SOAP Messaging에서의 메시지 보안 처리 절차를 살펴보면 다음과 같다. 아래에서 상세히 설명되겠지만, SOAP Messaging에서의 메시지 보안 처리 절차는 SOAP RPC에서의 보안 처리 절차와 매우 유사하며, 차이점은 SOAP RPC에서는 보안처리 핸들러(120, 220)가 SOAP 메시지 핸들러 형태로 SOAP 엔진에 설치되지만, SOAP Messaging의 경우는 보안처리 핸들러(320, 420)가 일반 어플리케이션으로 작성되어 응용 프로그램에서 직접 호출된다는 점이다.
도 6은 본 발명에 따른 SOAP Messaging 사용시 요청 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
도 3 및 도 6을 참조하면, 먼저 웹서비스 클라이언트(380)는 보안 인터페이스(340)를 이용하여 자신이 보내고자 하는 요청과 받을 응답에 대한 보안처리 설정을 하기 위해, 필요한 보안처리 객체들을 선택하고, 선택한 객체들을 처리할 순서대로 Security Context 객체(500)의 요청 큐(520)와 응답 큐(540)에 각각 집어넣는다. 이때 각 보안 처리 객체에 대한 보안 파라미터도 함께 설정된다. 그 결과, 클라이언트에서의 보안 처리를 위한 Security Context 객체(500)가 생성된다(3100 단계).
3100 단계에서 생성된 Security Context 객체(500)는 일반 어플리케이션 형태로 구현된 보안처리 핸들러(320)에게 파라미터로 전달된다(3110 단계). 웹서비스 클라이언트(380)는 서버에 보내기 위해 생성한 SOAP 메시지를 보안처리 핸들러(320)에게 파라미터로 전달하고(3120 단계), 보안처리 핸들러(320)를 직접 호출한다(3130 단계).
보안처리 핸들러(320)는 3110 단계에서 전달받은 Security Context 객체(500)의 요청 큐(520)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 서명 및 암호화 처리)를 수행한다(3140 단계). 그리고 나서, 웹서비스 클라이언트(380)는 3140 단계에서 보안 처리된 SOAP 메시지를 전달받아 SOAP 클라이언트 엔진(300)을 통해 서버로 전송한다(3150 단계).
이어서, SOAP 서버 엔진(400)은 SOAP 클라이언트 엔진(300)으로부터 보안 처리된 SOAP 메시지를 수신하여(4100 단계), 해당 웹서비스 서버(480)를 초기화한다. 초기화시 웹서비스 서버(480)는 자신이 받는 요청과 돌려줄 응답에 대한 보안처리 설정을 위해 필요한 보안처리 객체들을 선택하고, 선택된 객체들을 처리할 순서대로 Security Context 객체(500)의 요청 큐(520)와 응답 큐(540)에 각각 집어넣는다. 이때 각 보안 처리 객체에 대한 보안 파라미터도 함께 설정된다. 그 결과 서버에서의 보안 처리를 위한 Security Context 객체가 생성된다(4110 단계). 4110 단계에서 생성된 Security Context 객체(500) 및 4100 단계에서 수신된 SOAP 메시지는, 서버측에 일반 어플리케이션 형태로 구현되어 있는 보안처리 핸들러(420)에게 전달된다 (4120 단계).
이어서, 웹서비스 서버(480)는 직접 보안처리 핸들러(420)를 호출하고(4130 단계), 보안처리 핸들러(420)는 4120 단계에서 전달받은 Security Context 객체(500)의 요청 큐(520)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 복호화 및 서명 검증 처리)를 수행한다(4140 단계). 이어서, 웹서비스 서버(480)는 4140 단계에서 처리된 SOAP 메시지를 넘겨받아 처리한다(4150 단계).
도 7은 본 발명에 따른 SOAP Messaging 사용시 응답 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
도 6 및 도 7을 참조하면, 웹서비스 서버(480)는 도 6의 4150 단계에서 전달받은 SOAP 메시지를 처리하여 SOAP 메시지 형태의 응답을 생성한다(4200 단계). 그리고 나서, 웹서비스 서버(480)는 보안처리 핸들러(420)를 호출하여, 4200 단계에서 생성된 SOAP 응답 메시지를 넘겨준다(4210 단계).
보안처리 핸들러(420)는 도 6의 4120 단계에서 전달받았던 Security Context 객체(500)의 응답 큐(520)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 서명 및 암호화 처리)를 수행한다(4220 단계). 그리고, 웹서비스 서버(480)는 4220 단계에서 보안 처리된 SOAP 메시지를 SOAP 서버 엔진(400)을 통해 클라이언트에게 전송한다(4230 단계).
계속해서, 웹서비스 클라이언트(380)는 SOAP 클라이언트 엔진(300)을 통해 SOAP 서버 엔진(400)으로부터 보안 처리된 SOAP 응답 메시지를 수신한다(3200 단계). 웹서비스 클라이언트(380)는 직접 보안처리 핸들러(320)를 호출하고, 수신된 SOAP 메시지를 넘겨준다(3210 단계).
보안처리 핸들러(320)는 도 6의 3110 단계에서 전달받았던 Security Context 객체(500)의 응답 큐(540)에 들어 있는 단위 보안처리 객체를 하나씩 호출하여, 전달받은 SOAP 메시지에 대한 보안 처리(예를 들면, 복호화 및 서명 검증 처리)를 수행한다(3220 단계). 그리고, 웹서비스 클라이언트(380)는 3220 단계에서 처리된 SOAP 메시지를 리턴 받는다(3230 단계).
앞에서 설명한 바와 같이, 본 발명에 따른 SOAP RPC와 SOAP Messaging에 대한 보안처리 방법은, Security Context에 다양한 보안 처리 객체를 추가하여 새로운 보안 처리 기능이 적용될 수 있도록 한다. 따라서, 응용 프로그램의 요구 사항에 맞추어 웹서비스에서 교환되는 메시지에 대한 인증, 무결성, 부인봉쇄, 기밀성 등을 제공할 수 있고, 웹서비스 메시지 보안기술을 웹서비스 환경에 적용하는 데 있어 OASIS의 WS-Security(Web Services Security) 기술 이외의 SOAP 메시지에 대한 다양한 보안 기술에도 쉽게 적용할 수 있게 된다. 또한, 본 발명에 따른 웹서비스에 대한 메시지 보안 처리 시스템 및 방법은 SOAP RPC와 SOAP Messaging 모두에 대해 유사한 인터페이스를 사용하므로, 응용 프로그램의 개발이 용이해 지고, 보안관련 설정을 손쉽게 수행할 수 있게 된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에 설명한 바와 같이, 본 발명에 의한 웹서비스에 대한 메시지 보안 처리 시스템 및 방법에 의하면, 웹서비스 메시지 보안기술을 웹서비스 환경에 적용하는 데 있어 응용 프로그램의 요구 사항에 맞추어 웹서비스에서 교환되는 메시지에 대한 인증, 무결성, 부인봉쇄, 기밀성 등을 제공할 수 있게 된다.
그리고, 본 발명에서는 서로 다른 보안 요구사항을 갖는 다양한 응용 프로그램에 대해 단 하나의 공통적인 보안처리 핸들러만이 사용되므로, 메시지 보안 처리를 수행할 수 있어, 응용 프로그램의 개발이 용이해 진다.
그리고, 본 발명에 의한 SOAP RPC와 SOAP Messaging에 대한 보안처리 방법은 Security Context에 다양한 보안 처리 객체를 추가하여 새로운 보안 처리 기능을 적용할 수 있으므로, WS-Security (Web Services Security) 기술 이외의 SOAP 메시지에 대한 다양한 보안 기술에도 쉽게 적용될 수 있다.
뿐만 아니라, 본 발명에 의한 SOAP RPC와 SOAP Messaging에 대한 보안처리 방법은 SOAP RPC와 SOAP Messaging 모두에 대해 유사한 인터페이스를 사용하므로, 보안관련 설정을 손쉽게 수행할 수 있게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 SOAP-RPC에 대한 보안처리 시스템의 블록도이다.
도 2는 보안 처리 정보 전달을 위한, 본 발명의 바람직한 실시예에 따른 보안 컨텍스트(Security Context) 객체의 구조를 보여주는 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 SOAP-Messaging에 대한 보안처리 시스템의 블록도이다.
도 4는 본 발명에 따른 SOAP-RPC 사용시 요청 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
도 5는 본 발명에 따른 SOAP-RPC 사용시 응답 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
도 6은 본 발명에 따른 SOAP Messaging 사용시 요청 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
도 7은 본 발명에 따른 SOAP Messaging 사용시 응답 메시지에 대한 보안 처리 절차를 나타낸 흐름도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
100, 300 : SOAP 클라이언트 엔진
200, 400 : SOAP 서버 엔진
120, 220, 320, 420 : 보안처리 핸들러
130, 230, 330, 430 : XML 보안 처리 유닛
140, 240, 340, 440 : 보안 인터페이스

Claims (14)

  1. SOAP(Simple Object Access Protocol)-RPC(Remote Procedure Call) 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스에 대한 메시지 보안 처리 시스템에 있어서, 상기 클라이언트와 서버 각각은,
    응용 프로그램이 자신의 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트(Security Context) 객체에 설정할 수 있도록 하는 보안 인터페이스;
    상기 보안 인터페이스로부터 상기 보안 컨텍스트 객체를 전달받아, 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 요청 메시지에 대한 보안 처리를 수행하거나, 상기 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 응답 메시지에 대한 보안 처리를 수행하는 보안처리 핸들러; 및
    상기 보안처리 핸들러에 의해 호출되어, 상기 보안 처리에 필요한 XML(eXtensible Markup Language) 보안 처리 기능을 지원하는 XML 보안 처리 유닛을 포함하는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  2. 제 1 항에 있어서,
    상기 보안처리 핸들러는 SOAP 메시지 핸들러인 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  3. SOAP-Messaging 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스에 대한 메시지 보안 처리 시스템에 있어서, 상기 클라이언트와 서버 각각은,
    응용 프로그램이 자신의 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트 객체에 설정할 수 있도록 하는 보안 인터페이스;
    상기 응용 프로그램으로부터 SOAP 메시지 및 보안 컨텍스트 객체를 직접 전달받아 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 요청 메시지에 대한 보안 처리를 수행하거나, 상기 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 응답 메시지에 대한 보안 처리를 수행하고, 상기 보안처리 결과를 상기 응용 프로그램에게 전달해 주는 보안처리 핸들러; 및
    상기 보안처리 핸들러에 의해 호출되어, 상기 보안 처리에 필요한 XML 보안 처리 기능을 지원하는 XML 보안 처리 유닛을 포함하는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  4. 제 1 항 또는 제 3 항에 있어서,
    상기 응용 프로그램은, 상기 클라이언트의 웹서비스 클라이언트와, 상기 서버의 웹서비스 서버 내에 탑재되는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  5. 제 1 항 또는 제 3 항에 있어서,
    상기 응용 프로그램은, 자신의 보안 요구사항에 맞도록 전자서명, 암호, 보안처리에 필요한 보안 토큰 정보, 서명이나 암호화 할 부분 및 사용할 알고리즘을 설정하고,
    상기 메시지에 대해 전자서명을 할 것인지, 암호화를 할 것인지, 암호화를 한 후 서명을 할 것인지, 또는 서명을 한 후 암호화를 할 것인지를 나타내는 각 보안 처리 기능들의 조합 방식을 지정하며,
    상기 설정을 포함하는 상기 보안 컨텍스트 객체를 생성하는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  6. 제 1 항 또는 제 3 항에 있어서,
    상기 보안 컨텍스트 객체의 상기 요청 큐에는 요청 메시지의 보안 처리를 위한 복수 개의 단위 보안처리 객체들이 상기 응용 프로그램에서 지정한 순서대로 삽입되고,
    상기 응답 큐에는 응답 메시지의 보안 처리를 위한 복수 개의 단위 보안처리 객체들이 상기 응용 프로그램에서 지정한 순서대로 삽입되는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  7. 제 6 항에 있어서, 상기 요청 큐 및 상기 응답 큐는,
    상기 메시지에 대한 XML 전자서명을 하여 상기 메시지의 헤더에 추가하는 Sign 객체;
    상기 XML 전자서명을 검증하는 Verify 객체;
    상기 메시지에 대한 XML 암호화를 수행하여 상기 메시지 헤더 및 바디에 삽입하는 Encrypt 객체;
    XML 암호문을 복호화하는 Decrypt 객체;
    타임스탬프를 삽입하는 타임스탬프 삽입 객체;
    상기 타임스탬프를 검사하는 타임스탬프 검사 객체; 및
    상기 메시지에 대한 추가 처리를 수행하는 추가 처리 객체를 포함하는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  8. 제 6 항에 있어서,
    상기 요청 큐 및 상기 응답 큐는, 다수 번의 서명과 암호가 처리된 경우 상기 메시지의 헤더에 저장되어 있는 적용 순서 정보를 해석하여 적절한 순서로 복호화 및 검증을 수행하는 복호 및 검증 객체를 더 포함하는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  9. 제 6 항에 있어서,
    상기 응용 프로그램은 자신이 필요로 하는 단위 보안처리 객체를 직접 작성하여 상기 요청 큐 또는 상기 응답 큐에 삽입하는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  10. 제 7 항에 있어서, 상기 XML 보안 처리 유닛은
    상기 보안 컨텍스트에 포함된 상기 Sign 객체 또는 상기 Verify 객체에 의해 호출되어 서명 혹은 검증 처리를 수행하는 XML 전자서명 유닛;
    상기 보안 컨텍스트에 포함된 상기 Encrypt 객체 또는 상기 Decrypt 객체에 의해 호출되어 XML 암호 처리 혹은 복호 처리를 수행하는 XML 암호 유닛;
    XML 전자서명 또는 암호 처리시 필요한 공개키 정보를 포함하는 보안 토큰에 대한 처리를 수행하는 보안토큰 처리기;
    암호 처리에 필요한 알고리즘들을 제공하는 암호 라이브러리; 및
    XML 보안 처리와 관련된 응용 프로그램을 실행시키는 적어도 하나 이상의 유틸리티를 포함하는 것을 특징으로 하는 웹서비스에 대한 메시지 보안 처리 시스템.
  11. SOAP(Simple Object Access Protocol)-RPC(Remote Procedure Call) 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 요청 메시지에 대한 보안 처리 방법에 있어서:
    (a) 웹서비스 클라이언트가 응용프로그램을 통해 자신이 보내고자 하는 요청 메시지와 받을 응답 메시지에 대한 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트(Security Context) 객체에 설정하는 단계;
    (b) 클라이언트측 보안처리 핸들러가 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 요청 메시지에 대한 보안 처리를 수행하는 단계;
    (c) SOAP 클라이언트 엔진이 상기 (b) 단계에서 수행된 상기 보안처리 결과를 SOAP 메시지 형태로 SOAP 서버엔진에게 전송하는 단계;
    (d) 상기 SOAP 서버엔진에 의해 웹서비스 서버가 초기화되어, 상기 클라이언트로부터 수신된 상기 요청 메시지와 상기 클라이언트에게 돌려줄 상기 응답 메시지에 대한 보안요구 사항을 상기 보안 컨텍스트 객체에 설정하는 단계; 및
    (e) 서버측 보안처리 핸들러가 상기 (d) 단계에서 설정된 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 수신된 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 웹서비스 요청 메시지에 대한 보안 처리 방법.
  12. SOAP(Simple Object Access Protocol)-RPC(Remote Procedure Call) 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 응답 메시지에 대한 보안 처리 방법에 있어서:
    (a) 웹서비스 서버가 SOAP 서버 엔진을 통해 SOAP 메시지를 서버측 보안처리 핸들러에게 넘겨주는 단계;
    (b) 상기 보안처리 핸들러가 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 클라이언트에게 전송할 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계;
    (c) 상기 SOAP 서버엔진이 상기 (b) 단계에서 수행된 보안처리 결과를 SOAP 메시지 형태로 SOAP 클라이언트 엔진에게 전송하는 단계;
    (d) 상기 SOAP 클라이언트 엔진이 클라이언트측 보안처리 핸들러를 호출하여 상기 수신된 SOAP 메시지를 넘겨주는 단계; 및
    (e) 상기 보안처리 핸들러가 상기 보안 컨텍스트 객체의 상기 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 웹서비스 응답 메시지에 대한 보안 처리 방법.
  13. SOAP-Messaging 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 요청 메시지에 대한 보안 처리 방법에 있어서:
    (a) 웹서비스 클라이언트가 응용프로그램을 통해 자신이 보내고자 하는 요청 메시지와 받을 응답 메시지에 대한 보안 요구사항에 맞도록 전자서명, 암호, 및 타임스탬프 삽입 관련 정보를 보안 컨텍스트(Security Context) 객체에 설정하는 단계;
    (b) 상기 웹서비스 클라이언트가 상기 (a) 단계에서 생성된 상기 보안 컨텍스트 객체와, 서버로 보내기 위해 생성한 SOAP 메시지를 어플리케이션 형태로 구현된 클라이언트측 보안처리 핸들러에게 파라미터로 전달하는 단계;
    (c) 상기 보안처리 핸들러가 상기 웹서비스 클라이언트에 의해 직접 호출되어, 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여, 전달받은 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계;
    (d) SOAP 클라이언트 엔진이 상기 (c) 단계에서 수행된 상기 보안처리 결과를 상기 웹서비스 클라이언트에 의해 전달받아 SOAP 메시지 형태로 SOAP 서버엔진에게 전송하는 단계;
    (e) 상기 SOAP 서버엔진에 의해 웹서비스 서버가 초기화되어, 수신된 상기 요청 메시지와 상기 클라이언트에게 돌려줄 상기 응답 메시지에 대한 보안요구 사항을 상기 보안 컨텍스트 객체에 설정하는 단계;
    (f) 상기 보안 컨텍스트 객체 및 (d) 단계에서 수신된 상기 SOAP 메시지를 어플리케이션 형태로 구현된 서버측 보안처리핸들러로 전달하는 단계; 및
    (g) 상기 서버측 보안처리핸들러가 상기 웹서비스 서버에 의해 직접 호출되어, 상기 (e) 단계에서 설정된 상기 보안 컨텍스트 객체의 요청 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여, 수신된 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 웹서비스 요청 메시지에 대한 보안 처리 방법.
  14. SOAP-Messaging 형태로 클라이언트와 서버간에 메시지를 주고받는 웹서비스 응답 메시지에 대한 보안 처리 방법에 있어서:
    (a) 웹서비스 서버가 수신된 SOAP 메시지에 대해 SOAP 메시지 형태의 응답을 생성하여 서버측 보안처리 핸들러에게 상기 SOAP 응답 메시지를 넘겨주는 단계;
    (b) 상기 보안처리 핸들러가 보안 컨텍스트 객체의 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 전달받은 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계;
    (c) 상기 SOAP 서버엔진이 상기 (b) 단계에서 수행된 보안처리 결과를 상기 웹서비스 서버에 의해 전달받아 SOAP 메시지 형태로 SOAP 클라이언트 엔진에게 전송하는 단계;
    (d) 웹서비스 클라이언트가 상기 SOAP 클라이언트 엔진으로부터 응답 메시지를 전달받은 후 클라이언트측 보안처리 핸들러를 직접 호출하여 상기 수신된 SOAP 메시지를 넘겨주는 단계; 및
    (e) 상기 보안처리 핸들러가 상기 보안 컨텍스트 객체의 상기 응답 큐에 들어있는 보안처리 객체를 하나씩 순서대로 호출하여 상기 SOAP 메시지에 대한 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 웹서비스 응답 메시지에 대한 보안 처리 방법.
KR1020030097162A 2003-12-26 2003-12-26 웹서비스에 대한 메시지 보안 처리 시스템 및 방법 KR100576722B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030097162A KR100576722B1 (ko) 2003-12-26 2003-12-26 웹서비스에 대한 메시지 보안 처리 시스템 및 방법
US10/937,040 US8051283B2 (en) 2003-12-26 2004-09-08 Message security processing system and method for web services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030097162A KR100576722B1 (ko) 2003-12-26 2003-12-26 웹서비스에 대한 메시지 보안 처리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20050065986A true KR20050065986A (ko) 2005-06-30
KR100576722B1 KR100576722B1 (ko) 2006-05-03

Family

ID=34698507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030097162A KR100576722B1 (ko) 2003-12-26 2003-12-26 웹서비스에 대한 메시지 보안 처리 시스템 및 방법

Country Status (2)

Country Link
US (1) US8051283B2 (ko)
KR (1) KR100576722B1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536475B2 (en) * 2002-09-10 2009-05-19 Ge Fanuc Automation North America, Inc. Method and system for management and control of an automation control module
JP3969654B2 (ja) * 2003-03-07 2007-09-05 インターナショナル・ビジネス・マシーンズ・コーポレーション Soapメッセージ作成方法並びに処理方法、情報処理方法、情報処理装置及びプログラム
CN101789951B (zh) * 2004-09-06 2011-12-28 佳能株式会社 信息处理装置及信息处理方法
US7634759B2 (en) * 2004-12-01 2009-12-15 Microsoft Corporation Distributed debugger environment
US8296354B2 (en) * 2004-12-03 2012-10-23 Microsoft Corporation Flexibly transferring typed application data
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
US20060294383A1 (en) * 2005-06-28 2006-12-28 Paula Austel Secure data communications in web services
US7702900B1 (en) * 2005-09-20 2010-04-20 Sprint Communications Company L.P. Web services security test framework and method
US20070067461A1 (en) * 2005-09-21 2007-03-22 Savchenko Vladimir S Token streaming process for processing web services message body information
US7761533B2 (en) * 2005-09-21 2010-07-20 Sap Ag Standard implementation container interface for runtime processing of web services messages
US8745252B2 (en) * 2005-09-21 2014-06-03 Sap Ag Headers protocol for use within a web services message processing runtime framework
US20070101145A1 (en) * 2005-10-31 2007-05-03 Axalto Inc. Framework for obtaining cryptographically signed consent
US7949720B2 (en) * 2006-01-31 2011-05-24 Microsoft Corporation Message object model
US8086859B2 (en) 2006-03-02 2011-12-27 Microsoft Corporation Generation of electronic signatures
US9292619B2 (en) * 2006-06-29 2016-03-22 International Business Machines Corporation Method and system for detecting movement of a signed element in a structured document
GB0616137D0 (en) * 2006-08-14 2006-09-20 British Telecomm Message processing
US20080168273A1 (en) * 2007-01-05 2008-07-10 Chung Hyen V Configuration mechanism for flexible messaging security protocols
US20080165970A1 (en) * 2007-01-05 2008-07-10 Chung Hyen V runtime mechanism for flexible messaging security protocols
US20080178010A1 (en) * 2007-01-18 2008-07-24 Vaterlaus Robert K Cryptographic web service
US8290152B2 (en) * 2007-08-30 2012-10-16 Microsoft Corporation Management system for web service developer keys
CN101247407B (zh) * 2008-03-17 2013-03-13 华为技术有限公司 网络认证服务系统和方法
WO2010017828A1 (en) * 2008-08-14 2010-02-18 Nec Europe Ltd. Secure browser-based access to web services
US8572681B2 (en) * 2009-03-11 2013-10-29 Wic Cdn Inc. Methods and systems for identity verification
US8291432B2 (en) * 2010-12-01 2012-10-16 International Business Machines Corporation Providing invocation context to IMS service provider applications
WO2012090438A1 (ja) * 2010-12-28 2012-07-05 三洋電機株式会社 端末装置
KR20130039175A (ko) * 2011-10-11 2013-04-19 한국전자통신연구원 내부자 위협 탐지 장치 및 방법
US9832649B1 (en) * 2011-10-12 2017-11-28 Technology Business Management, Limted Secure ID authentication
US9009473B2 (en) 2011-10-13 2015-04-14 International Business Machines Corporation Providing consistent cryptographic operations across several applications
US9009472B2 (en) 2011-10-13 2015-04-14 International Business Machines Corporation Providing consistent cryptographic operations
EP2984783B1 (en) * 2013-04-12 2019-03-20 Nokia Solutions and Networks Oy Secure radio information transfer over mobile radio bearer
SE537697C2 (sv) 2013-08-08 2015-09-29 Enigio Time Ab Förfarande för att skapa signaler för tidsstämpling av dokument och förfarande för tidsstämpling av dokument
KR102255366B1 (ko) 2015-04-16 2021-05-25 한국전자통신연구원 Mtm 기반 단문 메시지 서비스 보안 시스템 및 그 방법
US10644882B2 (en) * 2017-04-25 2020-05-05 Bank Of America Corporation Electronic security keys for data security based on quantum particle states

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949877A (en) * 1997-01-30 1999-09-07 Intel Corporation Content protection for transmission systems
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
KR20020003835A (ko) 2001-09-10 2002-01-15 이용배 인터넷을 이용하여 부가가치망 서비스를 제공하는 시스템및 방법
US7454486B2 (en) * 2002-07-09 2008-11-18 Microsoft Corporation Profiling and tracing distributed applications
US20040230943A1 (en) * 2003-05-14 2004-11-18 Hewlett-Packard Development Company, L.P. System and method for managing information technology resources

Also Published As

Publication number Publication date
US8051283B2 (en) 2011-11-01
US20050144457A1 (en) 2005-06-30
KR100576722B1 (ko) 2006-05-03

Similar Documents

Publication Publication Date Title
KR100576722B1 (ko) 웹서비스에 대한 메시지 보안 처리 시스템 및 방법
KR100268095B1 (ko) 데이터통신시스템
US7441116B2 (en) Secure resource distribution through encrypted pointers
US7904948B2 (en) Systems for protecting subscriber identification between service and content providers
US8340283B2 (en) Method and system for a PKI-based delegation process
US7200230B2 (en) System and method for controlling and enforcing access rights to encrypted media
JP3657396B2 (ja) 鍵管理システム、鍵管理装置、情報暗号化装置、情報復号化装置、およびプログラムを記憶した記憶媒体
US8185938B2 (en) Method and system for network single-sign-on using a public key certificate and an associated attribute certificate
JP4600851B2 (ja) コンピュータシステム間でメッセージを通信するための安全なコンテキストの確立
US7823187B2 (en) Communication processing method and system relating to authentication information
US11134069B2 (en) Method for authorizing access and apparatus using the method
CN101299753B (zh) 具有web服务安全控制机制的代理服务器
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
JP5062870B2 (ja) 任意通信サービスのセキュリティ確保
MXPA04007546A (es) Metodo y sistema para proporcionar una tercera autenticacion de autorizacion.
US20090158035A1 (en) Public Key Encryption For Web Browsers
US9509504B2 (en) Cryptographic key manager for application servers
US8826000B2 (en) Method and apparatus for supporting cryptographic-related activities in a public key infrastructure
Jeong et al. Java-based single sign-on library supporting SAML (Security Assertion Markup Language) for distributed Web services
CN112131597A (zh) 一种生成加密信息的方法、装置和智能设备
Weeks et al. CCI-Based Web security: a design using PGP
JP4167137B2 (ja) 署名生成方法及びデータ交換システム
Park et al. XML key information system for secure e-trading.
Hongzhao A study on the security mechanism for web services
Hwang et al. A framework for cryptography based accountability and service invocation control for service composition in a multicloud architecture

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: 20120330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 14