KR20120082461A - 네트워크 내에서 soap 메시지를 프로세싱하는 방법 및 네트워크 - Google Patents
네트워크 내에서 soap 메시지를 프로세싱하는 방법 및 네트워크 Download PDFInfo
- Publication number
- KR20120082461A KR20120082461A KR1020127012964A KR20127012964A KR20120082461A KR 20120082461 A KR20120082461 A KR 20120082461A KR 1020127012964 A KR1020127012964 A KR 1020127012964A KR 20127012964 A KR20127012964 A KR 20127012964A KR 20120082461 A KR20120082461 A KR 20120082461A
- Authority
- KR
- South Korea
- Prior art keywords
- binary content
- soap
- fragment
- message
- processing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
단순한 방식으로 서명 및/또는 암호화된 MTOM 어태치먼트들을 가진 확장 마크업 언어 (eXtended Markup Language; XML) 기반 단순 객체 접근 프로토콜 (Simple Object Access Protocol; SOAP) 메시지들의 단일 패스 스트리밍 프로세싱을 허용하기 위해, 네트워크, 특히 인터넷 프로토콜 (Internet Protocol; IP) 네트워크 내에서 SOAP 메시지를 프로세싱하기 위한 방법이 청구되며, 여기서 SOAP 메시지는 바이너리 컨텐츠를 가진 프래그먼트를 포함하고 있고, 바이너리 컨텐츠는 SOAP 메시지 내의 남아 있는 바이너리 컨텐츠에 대한 레퍼런스를 가진 SOAP 메시지의 메시지 송신 최적화 메커니즘 (Message Trasmission Optimization Mechanism; MTOM) 어태치먼트로 이동될 것이며, 그 어태치먼트는 각각 서명 및 암호화 프로세스에 의해 서명 및/또는 암호화될 것이다. 이 방법은, 서명 프로세스 동안, 서명된 프래그먼트 자체의 해시에 더하여, 바이너리 컨텐츠를 베재한 동일한 프래그먼트가 해싱되고, 및/또는 암호화 프로세스 동안, 프래그먼트 자체의 암호화에 더하여, 바이너리 컨텐츠 대신에 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 프래그먼트가 암호화되는 것을 특징으로 한다. 또한, 그에 따른 네트워크가 바람직하게는 상기 언급된 방법을 수행하기 위해 청구된다.
Description
본 발명은, 네트워크, 특히 인터넷 프로토콜 (Internet Protocol; IP) 네트워크 내에서 단순 객체 접근 프로토콜 (Simple Object Access Protocol; SOAP) 메시지를 프로세싱하는 방법에 관한 것으로, 확장 마크업 언어 (eXtended Markup Language; XML) 기반 SOAP 메시지가 바이너리 컨텐츠를 가진 프래그먼트 (fragment) 를 포함하고 있고, 바이너리 컨텐츠는 SOAP 메시지 내의 남아 있는 바이너리 컨텐츠에 대한 레퍼런스를 가진 SOAP 메시지의 메시지 송신 최적화 메커니즘 (Message Transmission Optimization Mechanism; MTOM) 어태치먼트 (attachment) 로 이동될 것이며, 그 어태치먼트는 각각 서명 및 암호화 프로세스에 의해 서명 및/또는 암호화될 것이다. 또한, 본 발명은, 단순 객체 접근 프로토콜 (Simple Object Access Protocol; SOAP) 메시지가 프로세싱될 수 있는, 네트워크, 특히 인터넷 프로토콜 (Internet Protocol; IP) 네트워크에 관한 것으로, 확장 마크업 언어 (eXtended Markup Languate; XML) 기반 SOAP 메시지가 바이너리 컨텐츠를 가진 프래그먼트를 포함하고 있고, 바이너리 컨텐츠는 SOAP 메시지 내의 남아 있는 바이너리 컨텐츠에 대한 레퍼런스를 가진 SOAP 메시지의 메시지 송신 최적화 메커니즘 (Message Transmission Optimization Mechanism; MTOM) 어태치먼트로 이동될 것이며, 그 어태치먼트는 각각 서명 및 암호화 프로세스에 의해 서명 및/또는 암호화될 것이다.
바이너리 메시지 포맷들과 비교하여 XML 메시지들을 프로세싱하는 것은 매우 자원 소비적이라는 것이 널리 알려져 있는 사실이다. 메시지 또는 메시지 부분들이 XML 보안 수단 (XML 서명, XML 암호화) 을 이용하여 서명 또는 암호화된다면 이 속성은 손상된다. 상기의 언급은, SOAP 이 XML 기반이고, 이용되는 보안 수단 - 웹 서비스 보안 (WS-Security) - 이 XML 보안을 기반으로 하기 때문에 SOAP 메시지들의 경우에도 물론 마찬가지이다. 결과적으로, 웹 서비스 프레임워크 개발자들은, 수년 이래 메시지 프로세싱 플로우의 최적화에 대해 연구하고 있다. 한가지 유망한 접근법은 스트리밍 프로세싱 패러다임이다. 미보안된 메시지들의 경우에는, 그것이 예를 들어, 웹 서비스 프레임워크 Apache Axis2 에서 이미 채택되고 있으며, 보안된 메시지들의 경우에는, 처음의 결과들이 보인다.
현재의 기술, 특히 XML 암호화 및 서명 절차들 및 그에 따른 메시지들의 스트리밍 프로세싱에 관한 정보를 제공하는 문서들은 다음과 같다 :
1. Bartel, Mark, Boyer, John, Fox, Barb, LaMacchia, Brian, 및 Simon, Ed: XML Signature Syntax and Processing, W3C Recommendation, 2002년.
2. Imamura, Takeshi, Dillaway, Blair, 및 Simon, Ed: XML Encryption Syntax and Processing, W3C Recommendation, 2002년.
3. Gudgin, Martin, Mendelsohn, Noah, Nottingham, Mark, 및 Ruellan, Herve: SOAP Message Transmission Optimization Mechanism, W3C Recommendation, 2005년.
4. Gruschka, Nils, Luttenberger, Norbert, 및 Herkenhoner, Ralph: Event-based SOAP Message Validation for WS-SecurityPolicy-enriched Web Services, Proceedings of the 2006 International Conference on Semantic Web & Web Services, 2006년.
5. Govindaraju, Madhusudhan, Slominski, Aleksander, Chiu, Kenneth, Liu, Pu, van Engelen, Robert, 및 Lewis, Michael J.: Toward Characterizing the Performance of SOAP Toolkits, Proceedings of the Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04), IEEE Computer Society, 365 내지 372 페이지, 2004년.
6. Lu, Wei, Chiu, Kenneth, Slominski, Aleksander, 및 Gannon, Dennis: A Streaming Validation Model for SOAP Digital Signature, In The 14th IEEE International Symposium on High Performance Distributed Computing (HPDC-14), 2005년.
7. Imamura, Takeshi, Clark, Andy, 및 Maruyama, Hiroshi: A stream-based implementation of XML Encryption, XMLSEC'02: Proceedings of the 2002 ACM workshop on XML security, ACM Press, 11 내지 17 페이지, 2002년.
SOAP 메시지 프로세싱의 기본적인 문제는 그의 높은 자원 소비이다. 자원 소비는, 메시지 부분들이 암호화 또는 서명될 때 훨씬 더 높다. 스트리밍 메시지 프로세싱은 자원 소비를 저감시키기 위한 한가지 방법이다. 그러나, 보안된 MTOM 어태치먼트들은 네트워크 스트림으로부터의 스트리밍 단일 패스 (one-pass) 프로세싱을 억제한다.
보다 정확하게는, 스트리밍 메시지 프로세싱은, SOAP 메시지가 : (1) MTOM 어태치먼트들을 이용하고 (2) 이들 어태치먼트들 중 하나 이상이 WS-보안을 이용하여 보안된다면, 더 이상 실현가능하지 않다. 그 이유는 다음에서 설명된다. 어태치먼트로서 전송될 SOAP 문서의 바이너리 부분은 MTOM 레퍼런스에 의해 대체된다. 네트워크 상에서는, 먼저 이 SOAP 문서가, 그리고 그 후 바이너리 부분이 MTOM 어태치먼트로서 전송된다. 그러나, 그 어태치먼트는 레퍼런스 위치에서 SOAP 메시지 내부에 사실상 임베딩된다. SOAP 문서에 대한 다수의 통상의 동작들 - 문서 서브트리들의 추출 또는 이동과 같음 - 의 경우에는, 이 속성이 무시될 수 있다. 그러나, 일부 다른 동작들 - 암호화된 컨텐츠의 서명 검증 또는 복호화를 위한 해시 값 계산을 포함함 - 의 경우에는, 어태치먼트가 SOAP 메시지 내부의 레퍼런스를 프로세싱하는 순간에 완전히 판독되어야 한다. 따라서, 이 경우에는, 메시지의 단일 패스 스트리밍 프로세싱이 중단된다.
본 발명의 목적은, 단순한 방식으로 서명 및/또는 암호화된 MTOM 어태치먼트들을 가진 SOAP 메시지들의 스트리밍 프로세싱을 허용하기 위해 네트워크 내에서 SOAP 메시지를 프로세싱하는 방법 및 그에 따른 네트워크를 개선 및 추가 개발하는 것이다.
본 발명에 따르면, 전술한 목적은 특허청구항 제 1 항의 특징들을 포함하는 방법 및 특허청구항 제 13 항의 특징들을 포함하는 네트워크에 의해 달성된다.
특허청구항 제 1 항에 따르면, 이 방법은, 서명 프로세스 동안, 서명된 프래그먼트 자체의 해시에 더하여, 바이너리 컨텐츠를 배제한 동일한 프래그먼트가 해싱되고, 및/또는 암호화 프로세스 동안, 프래그먼트 자체의 암호화에 더하여, 바이너리 컨텐츠 대신에 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 프래그먼트가 암호화되는 것을 특징으로 한다.
특허청구항 제 13 항에 따르면, 네트워크는, 서명 프로세스 동안, 서명된 프래그먼트 자체의 해시에 더하여, 바이너리 컨텐츠를 배제한 동일한 프래그먼트가 해싱될 수 있는 방식으로 구성되는 해싱 수단, 및/또는 암호화 프로세스 동안, 프래그먼트 자체의 암호화에 더하여, 바이너리 컨텐츠 대신에 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 프래그먼트가 암호화될 수 있는 방식으로 구성되는 암호화 수단을 특징으로 한다.
본 발명에 따르면, 송출 SOAP 메시지에 서명 및/또는 암호화된 어태치먼트에 관한 추가적인 정보를 단순히 부가함으로써 서명 및/또는 암호화된 MTOM 어태치먼트들을 가진 SOAP 메시지들의 스트리밍 프로세싱을 허용하는 것이 가능한 것으로 인식되었다. 구체적으로, 서명 프로세스 동안, 서명된 프래그먼트 자체의 해시에 더하여, 바이너리 컨텐츠를 배제한 동일한 프래그먼트가 해싱될 것이며, 적절한 방식으로 SOAP 메시지에 부가될 수 있다. 따라서, 암호화 프로세스 동안, 프래그먼트 자체의 암호화에 더하여, - 바이너리 컨텐츠 대신에 - 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 프래그먼트가 암호화될 것이다. 이 추가적인 정보는 송출 SOAP 메시지에도 부가될 수 있다. 서버측에서의 SOAP 메시지의 프로세싱 동안에는, 송출 SOAP 메시지에 부가된 추가적인 부분들을 기반으로, 서명 및/또는 암호화된 MTOM 어태치먼트들을 가진 SOAP 메시지들의 단일 패스 스트리밍 프로세싱이 가능할 것이다.
바람직하게는, 서명 및/또는 암호화 프로세스 동안, 바이너리 컨텐츠는 텍스트 인코딩된 형태, 바람직하게는 base64 인코딩된 형태로 프래그먼트 내에 존재할 수 있다. 이러한 텍스트 인코딩된 형태에 기초하여, 보통의 서명 및 암호화 기술들이 서명 및/또는 암호화 프로세스 동안 이용될 수 있다.
본 발명의 방법 중에, 특히 - 바이너리 컨텐츠를 배제한 - 추가적으로 해싱된 프래그먼트에 기초한 서명 프로세스 동안, 추가적인 블록이 전송 프로토콜 내에서 이용하기 위해 생성될 수 있다. 바람직하게는, 이러한 추가적인 블록은, 각각의 서명의 변형 엘리먼트에 부가될 수 있는 변형 블록일 수 있다. 상기 언급한 단계들에 기초하여, 보통의 SOAP 메시지들에 대한 단순 확장이 SOAP 메시지들의 단일 패스 스트리밍 프로세싱을 허용하기 위해 가능하다.
- 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 - 추가적으로 암호화된 프래그먼트에 기초한 본 발명의 추가 바람직한 실시형태와 관련하여, 암호화 속성이 전송 프로토콜 내에서 이용하기 위해 생성될 수 있다. 이러한 암호화 속성은 메시지 프로세싱을 위한 서버측에서의 단일 패스 스트리밍을 위해 암호화 블록에 단순히 부가될 수 있다.
바람직하게는, 암호화 속성은 텍스트 인코딩된 형태, 바람직하게는 base64 인코딩된 형태로 존재할 수 있다. 따라서, 보통의 암호화 기술들이 본 발명의 방법 중에 이용될 수 있다.
매우 단순하고 효과적인 방법과 관련하여, 바이너리 컨텐츠에 대한 레퍼런스가 XML-바이너리 최적화된 패키징 (XML-binary Optimized Packaging; XOP) 레퍼런스일 수 있다. 이러한 XOP 레퍼런스는 바이너리 컨텐츠를 원시 메시지 내의 남아 있는 레퍼런스 부분만을 가진 메시지 밖으로 이동시킬 가능성을 제공할 수 있다.
매우 효과적인 단일 패스 스트리밍 프로세싱과 관련하여, SOAP 메시지가 서버측 단일 패스 스트리밍 프로세싱을 위해 직렬화될 수 있다.
서버측 프로세싱 동안 SOAP 메시지의 매우 효과적인 프로세싱과 관련하여, 해시 값들의 계산들이 단일 패스 스트리밍 방식으로 각각 병렬로 수행될 수 있다.
매우 단순하고 신뢰가능한 방법을 제공하기 위해, 웹 서비스 보안 (WS-Security) 이 서명 및/또는 암호화 프로세스들을 위해 이용될 수 있다. 따라서, 상기 방법을 단순화하기 위해 공지된 서명 및/또는 암호화 기술들의 이용이 가능하다.
프래그먼트 내의 바이너리 컨텐츠의 종류는 임의의 특정 애플리케이션에 제한되지 않는다. 바람직한 실시형태 내에서, 바이너리 컨텐츠는 사진, 의학용 이미지 또는 소프트웨어 바이너리들일 수 있다.
본 발명은 전술한 문제를 극복하고, 따라서 암호화 및/또는 서명된 MTOM 어태치먼트들을 가진 SOAP 메시지들의 스트리밍 프로세싱을 가능하게 하기 위해 현재의 웹 서비스 보안 사양 및 메시지 프로세싱 방법에 대한 확장을 도입한다. 보다 구체적으로는, 본 발명은 웹 서비스 보안 사양 XML 서명 및 XML 암호화에 대한 확장을 정의한다. 이들 확장은 웹 서비스 클라이언트 - 본 발명에서 정의된 메커니즘들을 지원함 - 에 의해, 송출 SOAP 메시지에 부가되고, 서명 또는 암호화된 어태치먼트에 관한 추가적인 정보를 포함한다. 웹 서비스 서버 - 본 발명에서 정의된 메커니즘들을 지원함 - 는 이들 확장을 이용하여 단일 패스 스트리밍 방식으로 이 메시지를 효율적으로 프로세싱할 수 있다. 이것은 서버측에서의 보다 높은 성능 및 저감된 자원 소비를 유도한다. 그러나, 표준화된 메시지 포맷은 변경되지 않기 때문에, SOAP 메시지 내부의 서명 및 암호화는 본 발명에서 정의된 메커니즘들을 지원하지 않는 웹 서비스 서버들에 의해서도 여전히 프로세싱될 수 있다.
본 발명은 MTOM 어태치먼트들과 함께 SOAP 보안에 대한 확장을 제공하고 있다. 어태치먼트들을 포함한 완전한 SOAP 메시지의 단일 패스 서버측 스트리밍 프로세싱이 제공되어 있다. 그 결과는 웹 서비스 서버들에 비해 보다 높은 성능 및 저감된 자원 소비이다. 현재의 표준들 및 프레임워크들과의 완전한 하위 호환성 (full backward compatibility) 이 존재한다.
본 발명의 교시를 이로운 방식으로 설계 및 추가 개발하기 위한 여러 방법들이 존재한다. 이것을 위하여, 한편으로는 특허청구항 제 1 항에 종속하는 특허청구항들을, 그리고 다른 한편으로는 도면들에 의해 예시된, 다음의 본 발명의 실시형태들의 바람직한 예들의 설명을 참조하게 될 것이다. 도면의 지원에 의한 본 발명의 바람직한 실시형태들의 설명과 관련하여, 교시의 일반적으로 바람직한 실시형태들 및 추가 개발들이 설명될 것이다.
도 1 은 MTOM SOAP 메시지들의 표준 포맷 및 직렬화를 예시한 도면이다.
도 2 는 서명된 MTOM SOAP 메시지들의 표준 포맷, 프로세싱 및 직렬화를 예시한 도면이다.
도 3 은 암호화된 MTOM SOAP 메시지들의 표준 포맷, 프로세싱 및 직렬화를 예시한 도면이다.
도 4 는 본 발명에 따른 서명된 MTOM SOAP 메시지들을 생성하기 위한 실시형태를 예시한 도면이다.
도 5 는 본 발명에 따른 암호화된 MTOM SOAP 메시지들을 생성하기 위한 실시형태를 예시한 도면이다.
도 6 은 본 발명에 따른 서명된 MTOM SOAP 메시지들의 서버측 프로세싱을 위한 실시형태를 예시한 도면이다.
도 7 은 본 발명에 따른 암호화된 MTOM SOAP 메시지들의 서버측 프로세싱을 위한 실시형태를 예시한 도면이다.
도 2 는 서명된 MTOM SOAP 메시지들의 표준 포맷, 프로세싱 및 직렬화를 예시한 도면이다.
도 3 은 암호화된 MTOM SOAP 메시지들의 표준 포맷, 프로세싱 및 직렬화를 예시한 도면이다.
도 4 는 본 발명에 따른 서명된 MTOM SOAP 메시지들을 생성하기 위한 실시형태를 예시한 도면이다.
도 5 는 본 발명에 따른 암호화된 MTOM SOAP 메시지들을 생성하기 위한 실시형태를 예시한 도면이다.
도 6 은 본 발명에 따른 서명된 MTOM SOAP 메시지들의 서버측 프로세싱을 위한 실시형태를 예시한 도면이다.
도 7 은 본 발명에 따른 암호화된 MTOM SOAP 메시지들의 서버측 프로세싱을 위한 실시형태를 예시한 도면이다.
다음의 도 1 내지 도 7 은 본 발명 및 그의 실시형태들을 설명한다. 도 1 내지 도 3 은 보안 및 암호화된 MTOM 메시지들을 생성하기 위한 표준 접근법을 도시한다. 도 4 내지 도 7 은 본 발명의 방법을 도시한다.
도 1 은 MTOM SOAP 메시지들의 표준 포맷 및 직렬화를 예시하고 있다. 이 도 1 은, MTOM 어태치먼트 (attachment) 들이 생성되는 방법을 예시한다. 좌측에서는, 바이너리 컨텐츠 - 여기서는 사진 - 를 가진 SOAP 메시지 프래그먼트를 볼 수 있다. XML 은 텍스트 포맷이기 때문에, 바이너리 컨텐츠는 단지 텍스트 인코딩된 형태로만 전송될 수 있다. 이에 대한 가장 일반적인 형태는 base64 인코딩이다. - 특히 큰 - 바이너리 컨텐츠의 이런 종류의 핸들링은 일부 문제들을 야기한다. 주로, base64 의 사용은 메모리 내의, 그리고 네트워크 상의 공간 소비를 증가시킨다 (33%). 추가적으로, 큰 SOAP 문서의 핸들링은 보다 어렵고 자원 소비적이다. 이들 문제들을 극복하기 위해, 이전에는, SOAP 메시지로부터 이들 로직의 "외부 문서 부분들" 을 제거하고 그들을 어태치먼트로서 전송할 여러 가능성들이 공표되었다. 이들 중에서도, MTOM 이 예를 들어, 어태치먼트들을 가진 SOAP (SOAP with Attachments; SwA) 의 일부 단점들을 제거하기 때문에 최적의 접근법인 것으로 간주된다.
도 1 에 도시한 바와 같이, MTOM 은 메모리 내부에 메시지들을 저장하기 위해 소위 XOP 인포셋을 이용한다. 이것에 의해, 바이너리 데이터 - 여기서는 사진 - 는, 바이너리 파일에 대한 레퍼런스 (<xop:Include>) 만을 포함하는 SOAP 메시지 외부에서 그의 원시 형태로 유지된다.
마지막으로, 도면의 우측에서는, XOP 인포셋이 네트워크를 통해 전송되는 방법을 볼 수 있다 : 직렬화된 XML 부분 및 바이너리 부분은 전송 프로토콜, 통상 HTTP (HyperText Transfer Protocol) 내부에서 별개의 MIME (Multipurpose Internet Mail Extensions) 블록들로서 전송된다. 이렇게 하여, 바이너리 부분은, 현상태로 - 인코딩 없이 - SOAP 메시지에 대한 어태치먼트로서 전송될 수 있다.
도 2 는 서명된 MTOM SOAP 메시지들의 표준 포맷, 프로세싱 및 직렬화를 예시하고 있다. 도 2 는 MTOM 가능 SOAP 메시지에 대한 서명 생성 프로세스를 도시한다. XOP 인포셋의 중요한 속성은, <xop:Include> 레퍼런스가 "값에 의한 (by value)" 레퍼런스라는 것이며, 즉 모든 동작들은 XML 문서는 물론, 그 문서 내부에 임베딩되는 바이너리 컨텐츠를 다루어야 한다. 다수의 동작들의 경우, 예를 들어, <m:photo> 노드의 이동의 경우, XOP 인포셋 또는 원시 인포셋에 대한 동작이 동등하기 때문에 이것은 고려될 필요가 없다. 그러나, 서명된 노드의 완전한 컨텐츠를 판독 및 해싱하는 것을 요구하는 서명 동작의 경우에는, 이 속성이 고수되어야 한다.
따라서, 도 2 에 도시한 바와 같이, MTOM 어태치먼트를 포함하는 노드를 서명하기 전에, 그 어태치먼트는, 원시 인포셋을 실제로 재형성하는, XML 문서로 임베딩되어야 한다. 그 후, 노드는 base64 인코딩된 바이너리 어태치먼트의 해싱을 포함하여, 서명될 수 있다. 서명 계산 후, XOP 부분이 복원될 수 있고 - 도 2 에는 미도시 - 바이너리 부분이 어태치먼트로서 다시 전송될 수 있다.
이러한 직렬화가 서버측에서 프로세싱된다면, 이것은 단일 패스 스트리밍 방식으로 행해질 수 없다. <m:photo> 노드를 프로세싱한 후에, 해시 계산이 수행될 수 있도록 어태치먼트가 완전히 수신될 때까지 해시 계산은 중단되어야 하는데, 이는 SOAP 프로세싱에 대해 블로킹 거동을 야기한다.
도 3 은 암호화된 MTOM SOAP 메시지들의 표준 포맷, 프로세싱 및 직렬화를 예시하고 있다. 이 도면은 MTOM 어태치먼트를 포함한 SOAP 메시지 프래그먼트를 암호화하기 위한 방법을 예시한다. 다시, 암호화 동작을 적용하기 전에, 어태치먼트는 XML 문서로 재임베딩 - 그리고 base64 인코딩 - 되어야 한다. 암호화 후에, XML 암호화 블록은 암호화된 블록, 상기 예에서는 <m:photo> 엘리먼트를 대신한다. 이 암호화 블록은 다시 - base64 인코딩된 - 바이너리 컨텐츠 노드 : <xenc:CipherData> 엘리먼트의 컨텐츠를 포함한다. 그 후, 이 바이너리 컨텐츠는 XML 문서로부터 추출되고 MTOM 어태치먼트로서 직렬화될 수 있다. - 서명 생성과 대조하여 - 암호화된 메시지의 어태치먼트는 암호화되지 않은 메시지에서와 동일하지 않다는 것이 주목되어야 한다.
암호화되지 않은 XML 문서의 부분들 - 여기서는 <m:photo> 랩퍼 (wrapper) - 이 암호화 프로세스에 의해 어태치먼트로 이동되었기 때문에, 다시, 서버측에서의 프로세싱, 즉 복호화가 단일 패스 스트리밍 방식으로 수행될 수 없다.
도 4 는 본 발명에 따른 서명된 MTOM SOAP 메시지들을 생성하기 위한 방법의 실시형태를 예시하고 있다. 이 도 4 는 MTOM 어태치먼트를 포함하는 프래그먼트에 대한 XML 서명을 생성하기 위한 본 발명의 접근법을 도시한다. 결과의 메시지는 서버측에서 단일 패스 스트리밍 프로세싱을 허용한다 (이하 도 6 참조). 서명 프로세스의 상세는 다음과 같다 : 서명된 프래그먼트 자체 - 상기 예에서는 <m:photo> - 의 해시에 더하여, 동일한 프래그먼트 - 바이너리 컨텐츠를 배제 - 가 해싱된다. 따라서, 각각의 서명의 <ds:Transforms> 엘리먼트에 다음의 변형 블록이 부가된다 :
값들 xpath-of-signed-element 및 xpath-of-wrapping-element 는 서명될 엘리먼트 및 바이너리 컨텐츠의 페어런트 엘리먼트 ("랩핑 엘리먼트") 를 참조하는 XPath 표현들에 의해 대체되어야 한다. 도 4 에 이용되는 예에서, 양자의 표현들은 //m:photo 이다.
도 5 는 본 발명에 따른 암호화된 MTOM SOAP 메시지들을 생성하기 위한 방법의 실시형태를 예시하고 있다. 이 도 5 는 MTOM 어태치먼트를 포함하는 프래그먼트를 암호화하기 위한 본 발명의 접근법을 도시한다. 결과의 메시지는 서버측에서 단일 패스 스트리밍 프로세싱을 허용한다 (이하 도 7 참조). 암호화 프로세스의 상세는 다음과 같다 : "원시 인포셋" - 상기 예에서는 바이너리 컨텐츠를 포함한 엘리먼트 <m:photo> - 으로부터의 프래그먼트에 더하여, "XOP 인포셋" - 상기 예에서는 XOP 레퍼런스를 포함한 엘리먼트 <m:photo> - 으로부터의 동일한 프래그먼트가 암호화된다. 제 2 암호화 동작의 결과가 암호화 블록에 대한 암호화 속성으로서 부가 - base64 인코딩 - 된다. 보다 정확하게는, 다음의 엘리먼트가 <xenc:EncryptionProperties> 블록에 부가된다 :
마지막으로, SOAP 메시지를 직렬화하면서, <xenc:CipherValue> 의 컨텐츠가 MTOM 어태치먼트로서 추출되는 한편, <nec:EncrytedBinaryWrapper> 의 컨텐츠가 XML 문서 내부에 남아 있다. 어태치먼트들이 큰 바이너리 어태치먼트들을 위한 것으로 의도되고 랩퍼가 상당히 작은 것으로 가정되기 때문에, 이것은 어태치먼트들의 원리들에 따른다.
도 6 은 본 발명에 따른 서명된 MTOM SOAP 메시지들의 서버측 프로세싱을 위한 실시형태를 예시하고 있다. 이 도 6 은 이전에 제시된 접근법을 이용하여 생성되는 서명된 메시지들의 제안된 서버측 프로세싱을 도시한다 (도 4 참조). 2 개의 해시 값들 - dig1 및 dig2 - 의 계산들이 단일 패스 스트리밍 방식으로 각각 병렬로 수행되는 것을 알 수 있다. 단일 패스 스트리밍 동안, 클로징 랩핑 엘리먼트들 - 상기 예에서는 </m:photo> 엘리먼트 - 의 캐싱이 수행될 것이다. 그러나, 랩핑 엘리먼트가 상당히 작다는 가정에 기초하여, 이것은 단지 적은 메모리 소비를 의미한다.
마지막 SOAP 메시지 엘리먼트를 판독한 후에, 메시지의 XOP 인포셋 버전이 검증될 수 있다는 것을 알 수 있다.
도 7 은 암호화된 MTOM SOAP 메시지들의 서버측 프로세싱을 위한 실시형태를 예시하고 있다. 이 도 7 은 이전에 제시된 접근법을 이용하여 생성되는 암호화된 메시지들의 제안된 서버측 프로세싱을 도시한다 (도 5 참조). XOP 인포셋의 암호화된 엘리먼트들이 생성되어 스트리밍 방식으로 서비스 애플리케이션으로 포워딩되는 것을 알 수 있다. 단일 패스 스트리밍 동안, 랩핑 엘리먼트들의 캐싱이 수행될 것이며, 이는 어태치먼트를 복호화하는 동안 랩퍼를 제거하는 것을 필요로 하게 된다.
마지막 SOAP 메시지 엘리먼트를 판독한 후에, 메시지의 XOP 인포셋 버전이 완전히 복호화되는 것을 알 수 있다.
서명 및 암호화를 위한 상기 제시된 본 발명의 접근법들은 물론 다양한 애플리케이션들을 제공하기 위해 연속적으로 (seamlessly) 결합될 수 있다. 이렇게 네스팅된 (nested) 보안 메커니즘들은 완전히 지원된다.
본 발명의 이점들은 다음과 같다 : 먼저, 이 방법은 조금이라도 스트리밍 방식으로 서버측 메시지 프로세싱을 가능하게 하는데, 일반적으로 문서 기반 방법들과 비교하여 큰 자원 저감을 야기한다. 추가적으로, SOAP 메시지가 마지막 SOAP 엘리먼트를 판독한 후에 - 즉, 어태치먼트를 판독하기 전에 - 완전히 복호화 및 검증되기 때문에, 이 방법은 예를 들어, 디바이스 태스크들을 개시하기 위한 "초기 프리프로세싱" 을 가능하게 하는데, 이는 어태치먼트를 요구하지 않으며, 또는 어태치먼트 프로세싱 시에 자원을 낭비하지 않고 무효한 메시지 콜의 검출 및 거부를 가능하게 한다.
본 발명은 보안된 MTOM 어태치먼트들의 맥락에서 SOAP 메시지 포맷 및 프로세싱의 확장을 제공하고 있다. 이 보안된 SOAP/MTOM 메시지 포맷의 신규한 이용은 서명 및/또는 암호화된 MTOM SOAP 메시지들의 단일 패스 스트리밍 서버측 프로세싱을 제공하고 있다.
본 발명의 방법의 결과는 서버측 메시지 프로세싱을 위한 메모리 소비 및 컴퓨테이션 비용의 저감이다 (녹색 컴퓨팅). 본 발명의 방법은 관련된 표준들에 대한, 그리고 기존의 웹 서비스 프레임워크와의 완전한 호환성을 제공하고 있다.
여기에 기술된 본 발명의 많은 변형들 및 다른 실시형태들은, 본 발명이 관계하는 당업자에게 전술의 설명 및 관련 도면들에 제시된 교시의 이점을 갖는 것을 상기시킬 것이다. 따라서, 본 발명은 개시된 특정 실시형태들에 제한되지 않고 변형들 및 다른 실시형태들이 첨부된 특허청구항의 범위 내에 포함되는 것으로 의도된다는 것이 이해될 것이다. 특정 용어가 여기에 사용되지만, 그 용어는 제한을 목적으로 하지 않고 일반적이고 단지 설명적 의미로 사용된다.
Claims (13)
- 네트워크, 특히 인터넷 프로토콜 (Internet Protocol; IP) 네트워크 내에서 단순 객체 접근 프로토콜 (Simple Object Access Protocol; SOAP) 메시지를 프로세싱하는 방법으로서,
확장 마크업 언어 (eXtended Markup Language; XML) 기반 SOAP 메시지가 바이너리 컨텐츠를 가진 프래그먼트 (fragment) 를 포함하고 있고, 상기 바이너리 컨텐츠는 상기 SOAP 메시지 내의 남아 있는 상기 바이너리 컨텐츠에 대한 레퍼런스를 가진 상기 SOAP 메시지의 메시지 송신 최적화 메커니즘 (Message Transmission Optimization Mechanism; MTOM) 어태치먼트 (attachment) 로 이동되며, 상기 어태치먼트는 각각 서명 및 암호화 프로세스에 의해 서명 및/또는 암호화되며,
서명 프로세스 동안, 서명된 프래그먼트 자체의 해시에 더하여, 상기 바이너리 컨텐츠를 배제한 동일한 프래그먼트가 해싱되고, 및/또는 암호화 프로세스 동안, 상기 프래그먼트 자체의 암호화에 더하여, 상기 바이너리 컨테츠 대신에 상기 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 프래그먼트가 암호화되는 것을 특징으로 하는 SOAP 메시지를 프로세싱하는 방법. - 제 1 항에 있어서,
서명 및/또는 암호화 프로세스 동안, 상기 바이너리 컨텐츠는 텍스트 인코딩된 형태, 바람직하게는 base64 인코딩된 형태로 상기 프래그먼트 내에 존재하는, SOAP 메시지를 프로세싱하는 방법. - 제 1 항 또는 제 2 항에 있어서,
상기 바이너리 컨텐츠를 배제한 추가적으로 해싱된 프래그먼트에 기초하여, 추가적인 블록이 전송 프로토콜 내에서 이용하기 위해 생성되는, SOAP 메시지를 프로세싱하는 방법. - 제 3 항에 있어서,
상기 추가적인 블록은 각각의 서명의 변형 엘리먼트에 부가될 변형 블록인, SOAP 메시지를 프로세싱하는 방법. - 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
상기 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 추가적으로 암호화된 프래그먼트에 기초하여, 암호화 속성이 전송 프로토콜 내에서 이용하기 위해 생성되는, SOAP 메시지를 프로세싱하는 방법. - 제 5 항에 있어서,
상기 암호화 속성은 암호화 블록에 부가되는, SOAP 메시지를 프로세싱하는 방법. - 제 5 항 또는 제 6 항에 있어서,
상기 암호화 속성은 텍스트 인코딩된 형태, 바람직하게는 base64 인코딩된 형태로 존재하는, SOAP 메시지를 프로세싱하는 방법. - 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
상기 바이너리 컨텐츠에 대한 레퍼런스는 XML-바이너리 최적화된 패키징 (XML-binary Optimized Packaging; XOP) 레퍼런스인, SOAP 메시지를 프로세싱하는 방법. - 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 SOAP 메시지는 서버측 단일 패스 스트리밍 프로세싱을 위해 직렬화되는, SOAP 메시지를 프로세싱하는 방법. - 제 9 항에 있어서,
서버측 프로세싱 동안, 해시 값들의 계산들이 병렬로 수행되는, SOAP 메시지를 프로세싱하는 방법. - 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
웹 서비스 보안 (WS-Security) 이 서명 및/또는 암호화 프로세스들을 위해 이용되는, SOAP 메시지를 프로세싱하는 방법. - 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
상기 바이너리 컨텐츠는 사진, 의학용 이미지 또는 소프트웨어 바이너리들인, SOAP 메시지를 프로세싱하는 방법. - 확장 마크업 언어 (eXtended Markup Language; XML) 기반 단순 객체 접근 프로토콜 (Simple Object Access Protocol; SOAP) 메시지가 프로세싱될 수 있는, 바람직하게는 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 SOAP 메시지를 프로세싱하는 방법을 수행하기 위한 네트워크, 특히 인터넷 프로토콜 (Internet Protocol; IP) 네트워크로서,
상기 SOAP 메시지는 바이너리 컨텐츠를 가진 프래그먼트 (fragment) 를 포함하고 있고, 상기 바이너리 컨텐츠는 상기 SOAP 메시지 내의 남아 있는 상기 바이너리 컨텐츠에 대한 레퍼런스를 가진 상기 SOAP 메시지의 메시지 송신 최적화 메커니즘 (Message Transmission Optimization Mechanism; MTOM) 어태치먼트 (attachment) 로 이동되며, 상기 어태치먼트는 각각 서명 및 암호화 프로세스에 의해 서명 및/또는 암호화되며,
서명 프로세스 동안, 서명된 프래그먼트 자체의 해시에 더하여, 상기 바이너리 컨텐츠를 배제한 동일한 프래그먼트가 해싱될 수 있는 방식으로 구성되는 해싱 수단, 및/또는 암호화 프로세스 동안, 상기 프래그먼트 자체의 암호화에 더하여, 상기 바이너리 컨텐츠 대신에 상기 바이너리 컨텐츠에 대한 레퍼런스만을 포함한 프래그먼트가 암호화될 수 있는 방식으로 구성되는 암호화 수단을 특징으로 하는 네트워크.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2010/001200 WO2011103886A1 (en) | 2010-02-26 | 2010-02-26 | A method for processing a soap message within a network and a network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120082461A true KR20120082461A (ko) | 2012-07-23 |
KR101430840B1 KR101430840B1 (ko) | 2014-08-18 |
Family
ID=43216478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127012964A KR101430840B1 (ko) | 2010-02-26 | 2010-02-26 | 네트워크 내에서 soap 메시지를 프로세싱하는 방법 및 네트워크 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20120265992A1 (ko) |
EP (1) | EP2532134B1 (ko) |
JP (1) | JP5451897B2 (ko) |
KR (1) | KR101430840B1 (ko) |
CN (1) | CN102783114B (ko) |
ES (1) | ES2424769T3 (ko) |
WO (1) | WO2011103886A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120069361A (ko) * | 2010-12-20 | 2012-06-28 | 한국전자통신연구원 | 네트워크 공격 관리 방법 및 시스템, 네트워크 공격 관리를 위한 네트워크 서비스 제공 장치 |
US10015557B2 (en) | 2011-12-31 | 2018-07-03 | Intel Corporation | Content-based control system |
EP2728083A1 (en) | 2012-11-06 | 2014-05-07 | Yesos Ibericos, S.A. | Construction element |
CN102970378A (zh) * | 2012-12-13 | 2013-03-13 | 中国电子科技集团公司第十五研究所 | 二进制数据优化传输系统 |
JP6471614B2 (ja) * | 2015-05-29 | 2019-02-20 | 株式会社リコー | 通信端末、通信システム、通信制御方法、及びプログラム |
CN106534167A (zh) * | 2016-12-06 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种基于xml的网络加密传输方法和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444675B2 (en) * | 2003-02-28 | 2008-10-28 | Hewlett-Packard Development Company, L.P. | Systems and methods for defining security information for web-services |
US20050251676A1 (en) * | 2004-05-05 | 2005-11-10 | Intel Corporation | Method for offloading the digest portion of protocols |
US7441185B2 (en) * | 2005-01-25 | 2008-10-21 | Microsoft Corporation | Method and system for binary serialization of documents |
US7738887B2 (en) * | 2005-10-31 | 2010-06-15 | Microsoft Corporation | Voice instant messaging between mobile and computing devices |
US20070115917A1 (en) * | 2005-10-31 | 2007-05-24 | Microsoft Corporation | MTOM data transfer via TCP |
JP2007179171A (ja) * | 2005-12-27 | 2007-07-12 | Internatl Business Mach Corp <Ibm> | 秘密保持が要求されるモデル用のソフトウエア開発装置 |
JP5108285B2 (ja) * | 2006-11-30 | 2012-12-26 | 株式会社日立製作所 | 署名方法、情報処理装置、および署名プログラム |
JP4989259B2 (ja) * | 2007-03-06 | 2012-08-01 | 株式会社日立製作所 | 署名情報処理方法、そのプログラムおよび情報処理装置 |
WO2009030261A1 (en) * | 2007-09-07 | 2009-03-12 | Nec Europe Ltd. | Method and system for secure web service data transfer |
US8739180B2 (en) * | 2008-01-25 | 2014-05-27 | International Business Machines Corporation | Processing of MTOM messages |
US8689292B2 (en) * | 2008-04-21 | 2014-04-01 | Api Technologies Corp. | Method and systems for dynamically providing communities of interest on an end user workstation |
-
2010
- 2010-02-26 ES ES10710537T patent/ES2424769T3/es active Active
- 2010-02-26 EP EP10710537.1A patent/EP2532134B1/en not_active Not-in-force
- 2010-02-26 CN CN201080064805.2A patent/CN102783114B/zh not_active Expired - Fee Related
- 2010-02-26 WO PCT/EP2010/001200 patent/WO2011103886A1/en active Application Filing
- 2010-02-26 US US13/517,168 patent/US20120265992A1/en not_active Abandoned
- 2010-02-26 KR KR1020127012964A patent/KR101430840B1/ko not_active IP Right Cessation
- 2010-02-26 JP JP2012540294A patent/JP5451897B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5451897B2 (ja) | 2014-03-26 |
CN102783114B (zh) | 2015-09-23 |
EP2532134A1 (en) | 2012-12-12 |
US20120265992A1 (en) | 2012-10-18 |
KR101430840B1 (ko) | 2014-08-18 |
CN102783114A (zh) | 2012-11-14 |
EP2532134B1 (en) | 2013-06-12 |
ES2424769T3 (es) | 2013-10-08 |
JP2013512602A (ja) | 2013-04-11 |
WO2011103886A1 (en) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9530012B2 (en) | Processing extensible markup language security messages using delta parsing technology | |
US11153365B2 (en) | Transfer of files with arrays of strings in soap messages | |
CN105993010B (zh) | 用以提供扩展对象符号数据的方法及设备 | |
KR101430840B1 (ko) | 네트워크 내에서 soap 메시지를 프로세싱하는 방법 및 네트워크 | |
US20180219685A1 (en) | Validating Documents via Blockchain | |
US8375211B2 (en) | Optimization of signing soap body element | |
US20150067006A1 (en) | System and method for transporting files between networked or connected systems and devices | |
EP2842052B1 (en) | File transfer using xml | |
Wen et al. | Two Zero-Watermark methods for XML documents | |
Sinha et al. | A formal solution to rewriting attacks on SOAP messages | |
US20120079275A1 (en) | Content filtering of secure e-mail | |
JP5511270B2 (ja) | 情報処理装置、及び情報処理方法 | |
Islam et al. | An approach to security for unstructured big data | |
Carfizzi | Proposal of improvements for the digital covid-19 certificate | |
Gruschka et al. | Server-side streaming processing of secured MTOM attachments | |
KR20200032379A (ko) | 연결문서 생성 및 열람 방법, 장치, 및 이에 대한 컴퓨터프로그램 | |
CN115459927B (zh) | 一种适用于Flutter应用的对象存储服务签名生成方法 | |
Kaczmarek | Malware instrumentation application to regin analysis | |
Kangasharju | Efficient implementation of XML security for mobile devices | |
Kangasharju | XML messaging for mobile devices | |
Mhatre et al. | Implementation of file transfer using message transmission optimization mechanism (MTOM) | |
Gruschka et al. | Session-Based SOAP Transmission and Processing | |
Mhatre et al. | Architecture for MTOM based file transfer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |