KR20020009328A - 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어플랫폼 및 그 서비스 방법 - Google Patents
안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어플랫폼 및 그 서비스 방법 Download PDFInfo
- Publication number
- KR20020009328A KR20020009328A KR1020000043132A KR20000043132A KR20020009328A KR 20020009328 A KR20020009328 A KR 20020009328A KR 1020000043132 A KR1020000043132 A KR 1020000043132A KR 20000043132 A KR20000043132 A KR 20000043132A KR 20020009328 A KR20020009328 A KR 20020009328A
- Authority
- KR
- South Korea
- Prior art keywords
- secure
- service
- application
- security
- distributed object
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 안전한 소켓 통신을 지원하는 안전한 분산 객체 기반의 응용 개발 플랫폼과 그 서비스 방법을 개시한다.
본 발명에 의하면, 소정의 응용 객체에게 투명하게 보안 서비스를 제공하며, 응용이 투명하게 응용보안 객체에 대한 서비스 요구를 하면, 그에 대한 응답을 받을 수 있도록 매개하는 안전한분산객체미들웨어코아, 응용과 안전한분산객체미들웨어코아 간의 정보를 소정의 응용 프로그램 규약에 따라 중개하는 인터페이스, 응용의 서비스 요구를 받아 통신망을 통해 목표 객체에게 전송하고, 목표 객체로부터의 응답을 수신하여 응용에게 회신하기 위하여 안전한분산객체미들웨어코아에게 전달하며, 이 과정에서 보안 서비스를 실행하는 안전한 소켓 프로토콜 및 안전한 분산객체미들웨어코아와 안전한 소켓 프로토콜 간의 인터페이스를 포함하여, 분산 객체 기반의 응용 개발 플랫폼에서 안전한 소켓 프로토콜을 제공함으로써, 응용은 스스로 보안 문제에 대한 관심을 줄이고, 자신의 응용 자체 문제 해결에 관심을 집중할 수 있도록 함으로써 응용의 개발 시간 및 비용을 줄일 수 있으며, 또한 이러한 보안 서비스를 응용으로부터 투명하게 제공하는 효과가 있다.
Description
본 발명은 응용 개발 플랫폼에 관한 것으로, 특히 다수의 컴퓨터가 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼에 관한 것이다.
과거의 컴퓨팅 환경은 컴퓨터 센터에 중앙 컴퓨터가 존재하고, 각 사용자는 단말기를 통해 중앙 컴퓨터에 접속하여 작업을 수행하는 중앙 집중 구조를 이루고 있었다. 이는 기본적으로 매우 고가인 컴퓨터 자원을 여러 사용자가 공유하여 사용하기 위한 구조였다. 그러나 기술의 발달에 따라 컴퓨터의 성능이 향상되고, 그 가격이 하락하게 됨에 따라, 개인용 컴퓨터의 보급이 확대되었으며, 컴퓨팅 환경도 중앙에 집중되었던 컴퓨팅 능력이 여러 컴퓨터로 분산되고, 이들이 통신망으로 연결된 구조인 분산 컴퓨팅 환경이 주류를 이루고 있다.
분산 컴퓨팅 환경에서는, 여러 개의 통신망 서버(network server), 지역(local) 서버 또는 웹(web) 서버 등이 각자 자신의 서비스를 제공하고, 클라이언트(client)는 개별적인 컴퓨팅 능력을 보유하면서, 이들 서버가 제공하는 서비스를 필요에 따라 이용하는 구조를 이루고 있다. 뿐만 아니라, 이러한 클라이언트/서버 개념은 상대적인 것으로, 어떤 컴퓨터가 특정 서비스 측면에서는 클라이언트로 서비스를 받는 반면, 또다른 서비스 측면에서는 다른 클라이언트에게 서비스를 제공하는 서버로 기능하는 경우가 많다. 개인용 컴퓨터의 확산과 통신망, 특히 인터넷의 발달은 다양한 서버가 인터넷에 접속되어 서비스를 제공하고, 각 개인용 컴퓨터는 인터넷을 통하여 클라이언트로써 이들 서비스를 필요에 따라 이용하는 구조를 일반화시켰다. 이러한 구조는 특히 웹의 발달에 의해 가속화되었다. 또한, 하나의 컴퓨터에서 모든 컴퓨팅을 수행하는 대신, 특정 목적을 수행하는 컴퓨팅을 여러 컴퓨터에서 세부 컴퓨팅으로 분산하여 병렬적으로 처리함으로써 성능 향상을 도모하는 분산 처리 기법이 확대되고 있다.
컴퓨팅 환경의 또다른 중요한 변화는 객체(object) 기반 기술의 도입이다. 객체란 특정 기능 또는 서비스를 수행하는 코드를 추상화시킨 개념이다. 객체 개념에서 중요한 것은 객체가 제공하는 기능에 관심이 집중되고, 그 기능을 어떻게 수행하는가는 외부로부터 감추어진다는 점이다. 즉, 객체는 "what" 측면에서만 외부에 노출되고, "how" 측면에서는 감추어진다. 이러한 객체는 자신의 서비스를 이용하고자 하는 응용 프로그램, 즉, 클라이언트에게 객체에 접근할 수 있는 인터페이스를 제공하여야 한다. 객체 기반의 프로그래밍 언어에서 객체는 특정 클래스(class)의 인스턴스(instance)로 존재하며, 이러한 클래스 개념을 사용하여 코드의 재활용이 가능하게 되었다. 또한, 데이타 베이스 분야에서도 객체 지향 데이타 베이스에 대한 연구가 활발히 진행되고 있다. 요즘 인터넷에서 많이 사용되고 있는 SUN Microsystems의 JAVA도 객체 개념에 기초한 것으로, 특정 플랫폼에 의존하지 않는 실행이 가능함을 특징으로 하고 있다. 오늘날 객체 개념에 기초한 객체 기반 응용의 개발은 하나의 기술 경향을 이루고 있다.
위에서 설명한 분산 처리 환경에 객체 개념이 도입되어 분산 객체 개념이 형성되었으며, 분산 객체 개념에서는 분산 객체로 구현되는 서버에 대한 클라이언트의 서비스 요구와 해당 서버로부터의 응답을 매개하는 역할을 하는 객체 매개 수단, 예를 들어 ORB(Object Request Broker)가 이용된다.
도 1은 이러한 ORB를 채용하고 하부 통신 프로토콜로 TCP/IP를 사용하는 구조에서, 종래의 분산 객체 기반의 응용 개발 플랫폼의 구성도를 개략적으로 도시한 것이다. 도 1은 서비스 요구를 하는 클라이언트 쪽만을 도시하고 있으나, 서버 쪽의 구성도 이와 유사하다.
도 1에 도시된 바와 같이, 종래의 응용 개발 플랫폼은 응용(100)과 분산객체미들웨어(ORB) 간의 인터페이스(110), 분산객체미들웨어 코아(core)(120), 분산객체미들웨어 코아와 하부통신프로토콜간의 인터페이스(130), 하부통신프로토콜(140)로 구성되어 있다.
응용(100)은 크게 군사용 응용, 민간용 응용, 공공기관용 응용으로 구별할 수 있으며, 응용(100)은 서버에 대한 클라이언트의 서비스 요구와 해당 서버로부터의 응답을 매개하는 분산객체미들웨어(ORB)(120)를 통하여 서버에 대한 서비스를 요구한다.
응용과 분산객체미들웨어 코아간 인터페이스(110)는 응용(100)에서 분산객체미들웨어 코아(120)에 접근하는 형식을 정의하는 부분이다.
분산 객체 미들웨어 코아(120)가 실제적으로 서버와 통신을 위해서는 하부의 통신 프로토콜을 사용하여야 한다. 여기서는 클라이언트 측에서 하부 통신 프로토콜(140)을 사용한다고 가정하였다. 하부 통신프로토콜(140)은 인터넷에서 가장 널리 사용되는 표준적인 프로토콜이며, 현재 사용되는 통신 프로토콜은 소켓 프로토콜이다.
분산객체미들웨어 코아와 하부통신프로토콜 간의 인터페이스(130)는 분산객체미들웨어가 실제적으로 하부 통신프로토콜을 통하여 통신망에 접근하기 위하여, 하부 통신프로토콜 계층의 서비스 이용자로써 이들 서비스에 접근하기 위한 인터페이스를 정의한 것이다. 예를 들어, 분산객체미들웨어는 하부 통신프로토콜 헤더의 관련 정보를 파라미터로 설정하여 하부 통신프로토콜을 호출하게 된다.
이러한 종래의 플랫폼에서 보안 문제는 응용(100) 수준에서 직접 처리되었다. 예를 들어, telnet이나 ftp 응용에서 사용자 인증 문제는 이들 응용에서 직접적으로 처리한다. 즉, 응용 수준에서 응용 스스로 보안 서비스를 구현하거나, 외부 보안 서비스를 통하여 보안 문제를 관리하여야 하므로, 응용 개발자는 응용 자체 문제 해결 문제 뿐만 아니라, 보안 문제도 직접 고려하여야 하는 부담이 있었다. 특히, 보안 문제가 중요한 요소가 되는 응용의 경우에 보안 문제의 해결이 응용 개발 노력의 상당 부분을 차지하게 된다.
본 발명이 이루고자 하는 기술적 과제는 상기의 문제점을 해결하기 위해, 응용 수준에서는 보안 문제에 대한 관심을 줄이고, 응용 자체의 문제 해결에 관심을 집중할 수 있도록, 안전한 보안 서비스를 위한 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼 및 그 서비스 방법을 제공하는 것을 목적으로 한다.
도 1은 종래의 분산 객체 기반의 응용 개발 플랫폼의 구성도를 개략적으로 도시한 것이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼의 구성도를 개략적으로 도시한 것이다.
도 3은 본 발명의 바람직한 다른 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼의 구성도를 계층적으로 도시한 것이다.
도 4은 본 발명의 바람직한 다른 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼에서의 분산 객체 응용의 서비스 요구를 처리하는 방법에 대한 흐름도이다.
도 5는 본 발명의 바람직한 또다른 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼에서의 분산 객체 응용의 서비스 요구에 대한 응답을 처리하는 방법에 대한 흐름도이다.
본 발명이 이루고자 하는 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 다수의 컴퓨터가 소정의 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 응용 개발의 안전한 분산객체 미들웨어 플랫폼에 있어서,
소정의 응용 객체에게 투명하게 보안 서비스를 제공하며, 상기 응용이 투명하게 응용보안 객체에 대한 서비스 요구를 하면, 그에 대한 응답을 받을 수 있도록 매개하는 안전한분산객체미들웨어(Secure ORB)코아;
상기 응용과 상기 안전한분산객체미들웨어코아 간의 정보를 소정의 응용 프로그램 규약에 따라 중개하는 인터페이스;
상기 응용의 서비스 요구를 받아 상기 소정의 통신망을 통해 목표 객체에게 전송하고, 상기 목표 객체로부터의 응답을 수신하여 상기 응용에게 회신하기 위하여 상기 안전한분산객체미들웨어코아에게 전달하며, 이 과정에서 소정의 보안 서비스를 실행하는 안전한 소켓 프로토콜; 및
상기 안전한 분산객체미들웨어코아와 상기 안전한 소켓 프로토콜 간의 인터페이스를 포함하는 것을 특징으로 한다.
본 발명이 이루고자 하는 다른 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 다수의 컴퓨터가 소정의 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 응용 개발의 안전한 분산객체 미들웨어 플랫폼의 서비스 방법에 있어서,
(a) 상기 응용의 분산 객체 응용에 대한 서비스 요구를 수신하는 단계;
(b) 상기 수신한 서비스의 요구를 투명하게 객체화하여 보안 설정, 권한 위임, 보안 감사, 보안 영역 관리 및 인증 서비스를 포함하는 서비스를 제공하는 단계;
(c) 상기 서비스 요구를 그 서비스를 요청한 응용의 종류 및 그에 따른 소정의 알고리즘에 따라 암호화를 하는 단계; 및
(d) 상기 (b) 단계 및 (c) 단계에서 서비스를 받고 암호화 된 서비스 요구를 소켓 프로토콜을 이용해서 상기 소정의 통신망을 통해 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명이 이루고자 하는 또 다른 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 다수의 컴퓨터가 소정의 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 응용 개발의 안전한 분산객체 미들웨어 플랫폼의 서비스 방법에 있어서,
(a) 소켓 프로토콜을 이용해서 상기 통신망을 통하여 목표 객체로부터의 응답을 수신하는 단계;
(b) 상기 수신된 응답을 수신하는 응용의 종류와 그에 따른 암호알고리즘에 따라 복호화하는 단계;
(c) 상기 복호화된 응답을 투명하게 객체화하여 보안 설정, 권한 위임, 보안 감사, 보안 영역 관리 및 인증 서비스를 포함하는 서비스를 제공하는 단계; 및
(d) 상기 (c) 단계에서 서비스를 받은 응답을 상기 응용 중 해당되는 응용에게 전달하는 단계를 포함하는 것을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명의 구성 및 동작의 바람직한 실시에를 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼의 구성도를 개략적으로 도시한 것이다. 도 2는 서비스 요구를 하는 클라이언트 쪽만을 도시하고 있으나, 서버 쪽의 구성도 이와 유사하다.
도 2에 도시한 바와 같이, 본 발명의 바람직한 일 실시예에 따른 안전한 분산 객체 기반의 응용 개발 플랫폼은 응용(200)과 안전한 분산객체미들웨어(Secure ORB) 코아(Core) 간의 인터페이스(210), 안전한 분산객체미들웨어(Secure ORB) 코아(220), 안전한 분산객체미들웨어 코아와 외부 보안 알고리즘간의 인터페이스(230), 그리고 안전한 소켓 프로토콜(240)을 포함한다. 이 응용 개발 플랫폼은 인터넷과 같은 통신망을 통해 컴퓨터와 같은 다른 통신망 장치와 연결된다.
도 2의 실시예의 이해를 도모하기 위하여, 우선 분산 객체 시스템에 대하여 객체 매개 수단의 개념을 ORB(Object Request Broker)를 예를 들어 간략히 살펴보기로 한다.
분산 객체 시스템이란 분산 처리 환경에 객체 개념을 도입한 것으로, 이의 대표적인 것으로 OMG(Object Management Group)의 CORBA(Common Object RequestBroker Architecture)와 마이크로소프트사의 COM/DCOM(Distributed Componet Object Model)을 들 수 있다. CORBA는 분산객체미들웨어(ORB)를 사용하는 일반적인 구조로 제안된 것이다.
분산 객체 시스템에서 각 서버의 서비스는 하나의 객체로써 존재하며, 각 클라이언트는 통신망을 통하여 이러한 객체에의 접근을 통하여 서비스를 받게 된다. 분산객체미들웨어(ORB) 구조에서, 객체는 특정 불변의 식별자를 갖는 개체로 캡슐화되며, 그 객체의 서비스는 잘 정의된 인터페이스를 통하여 접근할 수 있다. 클라이언트는 객체에게 특정 서비스를 수행하도록 요청할 수 있으나, 각 객체의 위치나 구현 메카니즘은 감추어져 있다. 분산객체미들웨어(ORB)는 분산 객체에 대한 클라이언트의 서비스 요구와 그 응답을 매개하는 역할을 한다. 여기서 서비스를 제공하는 객체를 목표 객체(target object)라고 칭하며, 분산객체미들웨어는 목표 객체와의 통신에서 다음 측면에서 투명성을 제공한다.
1. 객체 위치(location) : 클라이언트는 목표 객체가 어디에 존재하는지 알 필요가 없다. 통신망 상의 다른 컴퓨터에 존재하는 프로세스에 존재할 수도 있고, 동일 컴퓨터의 다른 프로세스 또는 동일 프로세스에 존재할 수도 있다.
2. 객체 구현 방식(implementation) : 클라이언트는 목표 객체가 어떻게 구현되었는지를 알 필요가 없다. 어떠한 프로그래밍 언어로 작성되었는지, 어떠한 운영 체제 또는 H/W에서 동작하는지 알 필요가 없다.
3. 객체 통신 메카니즘 : 클라이언트는 분산객체미들웨어가 어떠한 하부 통신 프로토콜 메카니즘(예, TCP/IP, 공유 메모리 등)을 사용하여 목표 객체와 통신하는지 알 필요가 없다.
4. 객체 실행 상태 : 클라이어트는 목표 객체에 대한 요구를 할 경우에, 그 객체가 현재 "동작중인(activated)" 상태인지 알 필요가 없다. 분산객체미들웨어는 클라이언트에 투명하게 목표 객체를 개시시킨 후에 서비스 요구를 전달할 것이다.
그러므로 분산객체미들웨어 구조에서, 각 응용 개발자는 자신의 응용 자체 문제 해결에 관심을 집중할 수 있으며, 하부적인 분산 시스템에서의 프로그래밍 문제에 대한 관심을 줄일 수 있다.
도 2의 실시예는 객체 매개 수단으로 분산객체미들웨어 구조를 채용하고 있기 때문에, 응용(200)은 목표 객체의 위치, 구현 방식, 통신 메카니즘, 실행 상태 등에 관계없이 프로그래밍될 수 있다. 또한 아래에서 설명될 안전한 분산객체미들웨어 코아(220)에서 내부적으로 제공되는 보안 서비스 및 암호화, 다양한 외부 보안 암호 알고리즘을 통한 보안 서비스를 투명하게 제공받을 수 있다. 그러므로 응용 개발자는 응용 자체의 문제 해결에만 관심을 집중할 수 있다. 도 2의 실시예에서 객체 매개 수단으로 CORBA의 분산객체미들웨어를 예를 들어 설명하고 있으나, 본 발명이 속하는 기술 분야에서 숙련된 자는 마이크로소프트사의 DCOM 뿐만 아니라, 이와 유사한 다른 종류의 분산 객체 시스템에도 본 발명이 동일하게 적용될 수 있다는 것을 이해할 수 있을 것이다.
응용(200)은 크게 군사용 응용, 민간용 응용, 공공기관용 응용으로 구별할 수 있으며, 이러한 응용의 종류에 따라 각기 다른 외부보안 암호 알고리즘을 선택하여 서비스 받을 수 있다. 이처럼 응용의 각 종류에 따라 다양한 외부보안 알고리즘은 군사용 암호 알고리즘, 민간용 암호 알고리즘, 공공기관용 암호 알고리즘으로 구별된다. 응용의 종류에 따라 각기 다른 암호화부가 선택된다.
응용(200)은 안전한 분산객체미들웨어 코아(220)를 통하여 목표 객체에 대한 서비스 요구를 한다. 이러한 응용과 안전한 분산객체미들웨어 코아 간의 인터페이스(210)는 응용 프로그램 인터페이스(Application Programming Interface; API)를 통하여 정의된다. 클라이언트가 목표 객체에 대한 요구를 하기 위해서는 목표 객체에 의하여 지원되는 동작의 유형을 알아야 하며, 이러한 객체와의 인터페이스는 객체가 지원하는 동작 및 유형을 정의하며, 이를 통하여 객체에 대한 요구를 하게 된다. 또한 이 인터페이스에는 안전한 소켓 프로토콜(Secure Socket Portocol; SSP)에 관련된 정보가 포함될 수 있다.
도 2의 실시예에서 객체 매개 수단인 안전한 분산객체미들웨어 코아(220)는 기본적으로 분산객체미들웨어 코아에 의하여 목표 객체에 대한 투명한 접근의 지원 및 목표 객체에 대한 클라이언트, 즉, 응용의 서비스 요구와 그 응답을 매개하는 역할을 하며, 위에서 설명한 응용과 안전한 분산객체미들웨어 코아(220)간의 잘 정의된 인터페이스(210)를 제공한다. 뿐만 아니라 안전한 분산객체미들웨어 코아(220)는 응용(200)에게 투명하게 다양한 보안 서비스를 제공한다. 여기서 투명한 서비스를 제공한다는 것은 이러한 보안 서비스가 어디에 위치하고 있고, 어떻게 제공되는 등과 같은 측면이 사용자에게 투명하다는 것이다. 그러므로 응용(200)은 도 2의 실시예에서 자신의 서비스 요구에 대한 보안 서비스가 제공된다고 기본적으로 가정하고 자신의 문제 해결만을 위한 프로그래밍을 수행할 수 있다. 이러한 제1실시예에서 보안 서비스는 기본적으로 OMG에서 제시한 CORBA 보안 모델을 준수하나, 본 발명은 CORBA 보안 모델에 한정되는 것은 아님은 이미 언급한 바 있다.
안전한 분산객체미들웨어 코아(220)에서 제공되는 보안 서비스는 다양한 보안 서비스 객체들과 이들에 의하여 호출되는 외부보안 암호 알고리즘 수단을 통하여 제공된다.
안전한 분산객체미들웨어코아(220)와 하부 통신 프로토콜 간의 인터페이스(230)는 안전한 분산객체미들웨어코아(220)가 실제적으로 소켓 통신 프로토콜(240)을 통하여 통신망에 접근하기 위한 인터페이스이다. 이러한 인터페이스는 TCP(미도시)를 통하여 보안 소켓을 사용하는 형태가 될 수도 있을 것이다. 그러나 앞에서 밝힌 바와 같이, 안전한 분산객체미들웨어코아(220)는 하부 통신 프로토콜에 대한 투명성을 보장하므로, 이러한 하부 통신 메카니즘을 응용(200)이 고려할 필요는 전혀 없다.
안전한 소켓 프로토콜(240)은 노드와 노드간의 통신을 지원하는 통신 프로토콜이여 자신의 보안 서비스를 제공한다. 소켓은 일반적인 IPC(InterProcess Communication)를 지원하며, 안전한 분산객체미들웨어코아(220)를 통해 전달되는 응용(200)의 요구를 서비스 대상 객체에게 통신망을 통해 전송하거나 혹은 상기와 같은 요청에 대해 응답하는 정보를 인터페이스(230)를 통해 안전한 분산객체미들웨어코아(220)에게 전달하며 이 과정에서 보안 서비스를 제공한다.
또한 도 2의 실시예에서는 안전한 분산객체미들웨어코아(220)와 하부 통신 프로토콜(250)을 모두 포함하는 구성을 기술하고 있으나, 이들은 선택적으로 포함될 경우에도 보안 서비스가 제공될 수 있다는 것은 자명하다.
도 2의 실시예의 동작을 하나의 예를 들어 설명하면 다음과 같다.
우선 안전한 분산객체미들웨어와의 인터페이스에 따라 작성된 응용(200)이 실행되면, 응용의 서비스 요구는 응용과 안전한 분산객체미들웨어 간의 인터페이스(210)를 통하여 안전한 분산객체미들웨어 코아(220)에 전달되고, 안전한 분산객체미들웨어(Secure ORB) 코아(220)는 각 보안 서비스 객체를 통하여 순차적으로 보안 서비스를 한다. 모든 보안 서비스를 받은 응용(200)의 요구는 안전한 분산객체미들웨어코아와 안전한 소켓 프로토콜간 인터페이스(230)를 통해 안전한 소켓 프로토콜(240)에 전달되며, 안전한 소켓 프로토콜(240)은 자신의 보안 서비스를 수행한 후 소정의 통신망을 통해 목표 객체에게 응용(200)의 요구를 전달한다.
이상에서 본 발명의 바람직한 일 실시예인 안전한 분산 객체 기반의 응용 개발 플랫폼에 대하여 기술하였으며, 계속해서 도 2의 실시예가 각 응용의 유형에 따라 구체적으로 적용되는 모습에 대하여 기술한다.
도 3은 본 발명의 바람직한 다른 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼의 구성도를 계층적으로 도시한 것이다. 도 2의 경우와 마찬가지로 이 응용 개발 플랫폼은 인터넷과 같은 통신망을 통해 컴퓨터와 같은 다른 통신망 장치와 연결된다.
도 3의 응용(300)은 앞에서의 설명과 같이 군사용 응용, 민간용 응용, 공공기관용 응용으로 구분될 수 있고, 암호화부(340)도 각 응용에 따라 군사용 암호화부, 민간용 암호화부, 공공 기관용 암호화부로 분리될 수 있다. 안전한 소켓 프로토콜과 암호화부간 인터페이스(350)도 참조번호 330과 같이 세개의 인터페이스로 분리되어 있다. 민간용 실시예에서는 응용의 유형 중에서 민간용 응용이 분산 객체 기반의 응용 개발 플랫폼에 탑재되고, 암호화부 중에서 민간용 암호화부가 선택적으로 사용되고, 보안 서비스 객체와 암호화부 간의 인터페이스도 해당 인터페이스가 선택적으로 사용된다. 민간용 실시예는 민간용 응용이 적용되는 경우를 설명하나, 군사용 응용 및 공공기관용 응용의 경우에도 해당 암호화부 및 해당 보안 서비스 객체와 외부보안 암호 알고리즘부 간의 인터페이스가 동일한 방식으로 선택적으로 사용될 수 있다.
각 응용의 유형에 따라 각기 다른 암호화부가 선택되어질 수 있으므로, 이에 관한 정보는 응용과 객체 매개 수단인 안전한 ORB 간의 인터페이스(310)를 통하여 안전한 분산객체미들웨어 코아(320)에 전달될 수 있다.
안전한 분산객체미들웨어 코아(320)는 응용의 유형에 따라 각기 다른 암호화부를 사용하여 응용의 요구를 암호화한다. 그러므로 안전한 분산객체미들웨어(320)는 기본적으로 모든 유형의 암호화부를 포함하며, 각 응용의 유형에 따라 해당 암호화부를 선택적으로 사용한다. 그렇지만, 본 발명의 또다른 실시예에서는 개별 암호화부만을 포함하도록 안전한 분산객체미들웨어 코아(220)를 구성하고, 해당 응용의 유형만 지원하도록 구성할 수도 있으며, 이들을 부분적으로 또는 전체적으로 통합된 형태로 구현할 수도 있다.
도 3의 실시예의 안전한 분산객체미들웨어 코아(320) 객체에는 인증 서비스 객체 혹은 인증객체(320f) 및 보안 설정 서비스 혹은 보안설정객체(320a)가 포함되며, 접근 제어 서비스 객체(320b), 보안 영역 관리 서비스 객체(320e), 권한 위임 서비스 객체(320c) 및 보안 감사 서비스 객체(320d)들이 아울러 포함될 수 있다. 또한 강화된 보안 서비스를 제공하기 위하여 다양한 보안 서비스들, 예를 들어, 기밀성 서비스, 데이타 무결성 서비스, 부인 봉쇄 서비스 객체들도 포함될 수 있을 것이다.
보안 설정 서비스(Security Association Service)(320a)란 클라이언트와 서버 사이에 공유 보안 컨텍스트를 설치하고, 클라이언트와 서버가 서로 공유 보안 컨텍스트를 사용하여 안전한 통신(메시지 암호화/복호화)을 제공하는 것을 말한다.
접근 제어 서비스(Access Control Service)(320b)란 인가된 사용자에게만 특정 자원에 대한 접근을 허용하는 것을 말한다. 한 예로 UNIX에서는 사용자의 등급에 따라서 접근 가능한 자원이 구분이 된다.
권한 위임 서비스(Privilege management Service)(320c)란 상황에 따라 지정된 자원을 정당하게 사용할 수 있는 권한을 양도할 수 있게 하는 것을 말한다. 즉, 사용자 A가 어떠한 일을 할 수 없는 상황에 있을 때 B에게 그 일을 대신 하게 하려고 할 때 필요하다. 쉬운 예로 UNIX에서 sudo같은 것이 있다. 이는 root가 아니더라도 특정 사용자로 하여금 shutdown이나 printer setup같은 root의 권한을 가져야만 할 수 있는 작업을 허용한다.
보안 감사 서비스(Security Audit Service)(320d)란 컴퓨터 시스템의 기록과 행동을 독립적으로 조사 관찰함으로써, 보안 침해 사실을 발견하고자 하는 보안 활동을 말한다. 일반적으로 로그 파일(log file)로 기록을 남기는 방식이 사용된다.예를 들어, UNIX나 Windows NT 같은 경우 여러 가지 보안 감사용의 로그 파일이 있다.
보안 영역 관리 서비스(Security Domain Management Service)(320e)에서 보안 영역이란 하나의 보안 정책 즉, 도메인을 안전하게 하기 위해서 객체의 활동을 제한하는 규칙과 기준을 가지고 한 보안 권한 기관(security authority)에 의해서 관리되는 보안 적용 객체들의 집합을 말한다. ORB 기반의 보안에서는 ORB간 보안, 연합 보안 영역, 신뢰 영역, 보호 경계 그리고 기존 표준과 보안 메커니즘의 공존과 같은 쟁점들을 처리할 수 있어야 하며, 보안 정책을 관리하고 집행하는 방법에 대한 문제도 처리할 수 있어야 한다. 이러한 서비스를 제공하는 것이 보안 영역 관리 서비스이다.
인증 서비스(Authentication Service)(320f)란 내가 통신하고 있는 상대방이 정당한가를 확인할 수 있게 하는 것으로 실체 인증(entity authentication)을 의미한다. 즉, 메시지의 수신자 B는 그 메시지가 송신자 A로부터 왔는지 확신할 수 있어야 한다. 따라서 불순한 의도를 품은 공격자 C가 B에게 C 자신이 A인 것처럼 속일 수 없어야 한다. 그리고 내가 받은 메시지의 출처를 명확히 알 수 있도록 하는 것이 메시지 근원 인증(message origin authentication)이다. 일반적으로 디지털 서명이나 상호 인증 프로토콜을 사용하여 인증 서비스를 제공할 수 있다.
기밀성 서비스(Confidentiality Service)(미도시)란 내가 가지고 있는 정보의 내용이 노출되지 않게 하는 것을 말한다. 이 기밀성이 제공된다면 데이터가 저장되어 있는 시스템이 공격을 당해서 외부에 노출되더라도 데이터의 내용은 다른사람이 알 수가 없게 된다. 기밀성을 제공하기 위하여 보편적으로 사용되고 있는 방법이 바로 암호화(encryption)이다. 나중에 암호화된 메시지의 내용을 알아보기 위해서는 복호화(decryption)를 해야 된다.
데이터 무결성 서비스(Data Integrity Service)(미도시)란 메시지 자체가 변경 되었는지 아닌지를 확인할 수 있게 하는 것을 말한다. 송신자 A가 수신자 B에게 메시지를 보낼 때 중간에서 공격자 C가 메시지의 내용을 변조할 수 없도록 하는 것을 말한다. 만약 변조가 된다면 수신자 B는 메시지의 변조 사실을 알 수가 있어야 한다. 예를 들어, cryptographic hash function이나 디지털 서명을 사용하여 이러한 서비스를 제공할 수 있다.
부인 봉쇄 서비스(Non-repudiation Service)(미도시)란 수신자 A는 수신자 B에게 메시지를 보내놓고 나서 나중에 B에게 메시지를 보낸 사실을 부인할 수 없게 하는 것을 말한다. 예를 들어, 이를 위해 디지털 서명이 이용될 수 있다.
이러한 분산객체미들웨어 코아(320)의 보안 서비스 객체들은 필요에 따라 외부보안 암호 알고리즘부(340)를 통하여 응용의 요구에 대한 암호화를 수행한다. 외부보안 암호 알고리즘부(340)는 각 응용(300)의 종류에 대응하여 민간용 암호화부, 공공기관용 암호화부, 군사용 암호화부를 포함할 수 있다. 다시 말해서, 외부보안 암호 알고리즘부(340)는 각 응용(300)에 대응하며 개별 암호화부만을 포함하도록 구성될 수 있을 뿐만 아니라, 이들이 부분적으로 또는 전체적으로 통합된 형태로 구현될 수도 있다.
또한, 외부보안 암호 알고리즘부(340)는 도 2에 도시된 바와 같이 안전한 분산객체미들웨어(Secure ORB) 코아(320) 외부에 위치할 수도 있고, 내부에 존재하면서 안전한 안전한 분산객체미들웨어 코아(320)와 접속될 수도 있다.
안전한 분산객체미들웨어(Secure ORB) 코아(320)와 외부보안 암호 알고리즘부(340) 사이에는 안전한 분산객체미들웨어 코아와 외부 보안 알고리즘간 인터페이스(330)가 존재하며, 이 인터페이스(330)는 외부보안 암호 알고리즘부(340)의 구성에 따라 각 암호화부마다 별개의 인터페이스를 포함할 수 있다. 또한 안전한 분산객체미들웨어 코아(320)에는 미도시된 ORB 코아와 외부보안 암호 알고리즘부(340) 간의 인터페이스, ORB 간의 안전한 상호 운용 프로토콜(SECurity Internet Inter-ORB Protocol; SECIOP)이 포함된다.
안전한 분산객체미들웨어 코아(320)는 목표 객체의 위치나 통신 메카니즘 등에서 투명성을 보장하지만, 실제적인 목표 객체와의 통신을 위해서는 안전한 소켓 프로토콜(360)을 사용하여야 한다. 이는 안전한 소켓 프로토콜과 암호부간 인터페이스(350)를 통해 이루어진다.
본 발명의 실시예인 도 3의 실시예는 기본적으로 동일한 유형의 응용 간에 동일한 암호화부를 사용하는 독립 모드의 동작을 지원할 뿐만 아니라, 각기 다른 응용의 유형에 따라 각기 다른 암호화부를 사용하는 응용간의 연동을 지원할 수 있다. 예를 들어, 안전한 안전한 분산객체미들웨어 코아(320)는 부분적 또는 전체적으로 통합된 형태로 구현되고, 특정 암호화부에 의하여 암호화된 응용의 요구를 복호화한 후, 이를 다시 다른 유형의 암호화부를 사용하여 암호화하는 메카니즘으로 연동이 이루어질 수 있다. 본 발명이 속하는 분야에서 숙련된 자는 이러한 연동 기능을 제공하기 위하여 다양한 메카니즘을 채택할 수 있을 것이다.
안전한 분산객체미들웨어 코아(320)와 외부보안 암호 알고리즘부(340)간의 인터페이스(330)도 응용의 유형에 따른 암호화부마다 별도로 구성된다. 그러나 본 발명이 속하는 분야에서 숙련된 자는 파라미터의 갯수를 조절함에 의하여 모든 암호화부를 포괄하는 단일 인터페이스를 구현할 수도 있을 것이다. 그외의 도 3에서 설명되지 않은 구성 요소는 도 2에서와 동일하다.
이상에서 본 발명의 바람직한 일 실시예인 안전한 분산 객체 기반의 응용 개발 플랫폼 및 이의 적용 모습에 대하여 기술하였으며, 계속해서 본 발명의 또다른 측면에서의 실시예인 분산 객체 응용의 서비스 요구를 처리하는 방법에 대하여 기술한다.
도 4은 본 발명의 바람직한 다른 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼에서의 분산 객체 응용의 서비스 요구를 처리하는 방법에 대한 흐름도이다.
안전한 분산객체미들웨어 코아(320)와의 인터페이스에 따라 작성된 응용의 서비스 요구는 객체 매개 수단인 안전한 분산객체미들웨어 코아에서 수신된다(400 단계).
다음으로 안전한 분산객체미들웨어 코아(320)는 응용으로부터 요구에 대하여 투명하게 순차적으로 다양한 보안 서비스를 제공한다(410 단계). 이러한 보안 서비스에는 인증 서비스 및 보안 설정 서비스가 포함되며, 접근 제어 서비스, 보안 영역 관리 서비스, 권한 위임 서비스, 보안 감사 서비스, 기밀성 서비스, 데이타 무결성 서비스, 부인 봉쇄 서비스 등이 포함될 수 있다.
각 보안 서비스는 응용의 요구에 대한 암호화 단계를 수행한다(420 단계). 도 4는 410 단계에서 하나의 보안 서비스를 제공받는 것을 기준으로 도시하고 있으나, 410 단계에서 제공되는 각 보안 서비스는 각각 필요에 따라 암호화 단계(420 단계)를 수행할 수 있다. 즉, 410 단계와 420 단계는 순차적으로 반복될 수 있다. 또한 암호화를 하는 경우 서비스를 요청한 응용의 종류에 따라 그리고 그에 따른 암호화 방법에 따라 암호화가 된다. 즉 군사용 응용에서 서비스를 요청하면 그에 따라 암호화 알고리즘이 선택될 것이며, 민간용 응용에서 서비스를 요청하면 민간용 응용에 대한 암호화 알고리즘이 선택될 것이다. 암호화 알고리즘은 각 경우마다 다 같을 수도 있을 것이나, 일반적으로 보안이 강조되는 분야일수록 암호화의 수준의 높아야 할 것이다. 다만 암호화의 수준이 높은 경우에는 속도의 문제가 생길 수 있을 것이며, 응용의 종류에 따라 그리고 그에 대한 보안의 정도에 따라 암호화 알고리즘을 결정하면 될 것이다.
안전한 분산객체미들웨어 코아(320)를 통하여 다양한 보안 서비스를 제공받고 암호화된 서비스의 요구는 소켓 프로토콜을 이용해서 서비스를 받는다(430 단계).
이때 응용(200 혹은 300)의 요구를 통신망을 통하여 전송하기 전에 상기 420 단계 및 430 단계에서 보안 서비스를 받고 암호화된 응용의 요구에 대하여 데이터 인증을 포함하는 보안 서비스를 안전한 보안 소켓을 통하여 제공하는 단계를 더 거치는 것이 바람직하다.
상기와 같은 서비스를 받은 응용의 요구는 통신망을 통하여 목표 객체에게 전송된다(440 단계).
도 4에 도시된 실시예에서는 안전한 분산객체미들웨어 코아(320)에서의 보안 서비스를 받는 단계(410, 420 단계)와 소켓 프로토콜을 이용해서 통신 서비스를 받는 단계(430 단계)를 모두 포함하는 방법을 기술하고 있으나, 이들이 선택적으로 수행될 경우에도 안전한 분산 객체 기반의 응용의 서비스 요구가 처리될 수 있다는 것은 자명할 것이다.
이상에서 본 발명의 일 실시예인 분산 객체 응용의 서비스 요구를 처리하는 방법에 대하여 살펴보았으며, 계속해서 본 발명의 또 다른 측면에서의 실시예인 분산 객체 응용의 서비스 요구에 대한 응답을 처리하는 방법에 대하여 기술한다.
도 5는 본 발명의 바람직한 또다른 실시예에 따른 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어 플랫폼에서의 분산 객체 응용의 서비스 요구에 대한 응답을 처리하는 방법에 대한 흐름도이다.
응용의 서비스 요구에 대한 목표 객체로부터의 응답은 통신망을 통하여 수신된다(500 단계). 이때에 소켓 프로토콜을 이용해서 통신망을 통하여 목표 객체로부터의 응답을 수신한다.
이 단계는 통신망을 통하여 응답을 수신한 후, 데이터 인증을 포함하는 보안 서비스를 보안 소켓을 통하여 점검하는 단계를 더 포함하는 것이 바람직하다.
통신망을 통하여 수신된 응답에 대하여 안전한 IP에서 보안 서비스 점검이 수행된다(510 단계). 이러한 보안 점검에는 보안 소켓을 통한 차세대 인터넷 프로토콜인 IPv6의 보안 서비스에 대한 점검, 극대극 서비스 품질 보증에 대한 점검 등이 포함된다.
이러한 IP 보안 점검을 받은 수신된 응답은 ORB로 전달되어, ORB 보안 점검을 받기 전에 우선 복호화된다(520 단계). 복호화되는 때에는 수신된 응답을 받을 응용의 종류와 그에 따른 암호알고리즘에 따라 복호화하게 된다.
복호화된 응답에 대하여 ORB에서 응용으로부터 투명하게 순차적으로 다양한 보안 점검이 수행된다(530 단계). 이러한 보안 점검에는 인증 및 보안 설정에 대한 보안 점검이 포함되며, 선택적으로 접근 제어, 보안 영역 관리, 권한 위임, 보안 감사 등에 대한 보안 점검이 추가로 포함될 수 있다. 각 보안 점검을 위하여는 필요에 따라 미리 암호화되어 있는 응답을 복호화 단계(520 단계)를 통하여 복호화할 필요가 있다. 도 5는 530 단계에서 하나의 보안 서비스에 대한 점검을 수행하는 것을 기준으로 도시하고 있으나, 530 단계에서 수행되는 각 보안 점검은 각각 필요에 따라 미리 복호화 단계(520 단계)를 수행할 수 있다. 즉, 520 단계와 530 단계는 순차적으로 반복될 수 있다.
이러한 보안 점검을 통과한 목표 객체로부터의 응답은 최종적으로 해당되는 응용에게 전달된다(540 단계).
제 3 실시예에서는 안전한 IP에서의 보안 점검 단계(510 단계)와 안전한 ORB에서의 보안 점검 단계(520, 530 단계)를 모두 포함하는 방법을 기술하고 있으나, 이들이 선택적으로 수행될 경우에도 안전한 분산 객체 응용의 서비스 요구에 대한 응답이 처리될 수 있다는 것은 자명할 것이다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
또한 상기의 실시예에서는 인터넷을 통한 경우를 예시하였으나, 다른 통신망, 예를 들어 공중전화망을 이용하여 구현하는 것도 이미 언급한 바와 같이 가능하며, 본 발명에 따른 각 단계는 일반적인 프로그래밍 기법을 이용하여 소프트웨어적으로 또는 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 분야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.
그리고 본 발명의 일부 단계들은, 또한, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될수 있다.
본 발명에 의하면, 다수의 컴퓨터가 소정의 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 응용 개발의 안전한 분산객체 미들웨어 플랫폼에 있어서, 소정의 응용 객체에게 투명하게 보안 서비스를 제공하며, 상기 응용이 투명하게 응용보안 객체에 대한 서비스 요구를 하면, 그에 대한 응답을 받을 수 있도록 매개하는 안전한분산객체미들웨어코아, 응용과 안전한분산객체미들웨어코아 간의 정보를 소정의 응용 프로그램 규약에 따라 중개하는 인터페이스, 응용의 서비스 요구를 받아 통신망을 통해 목표 객체에게 전송하고, 상기 목표 객체로부터의 응답을 수신하여 상기 응용에게 회신하기 위하여 상기 안전한분산객체미들웨어코아에게 전달하며, 이 과정에서 보안 서비스를 실행하는 안전한 소켓 프로토콜 및 안전한 분산객체미들웨어코아와 안전한 소켓 프로토콜 간의 인터페이스를 포함함으로 해서, 분산 객체 기반의 응용 개발 플랫폼에서 안전한 소켓 프로토콜을 제공함으로써 응용은 스스로 보안 문제에 대한 관심을 줄이고, 자신의 응용 자체 문제 해결에 관심을 집중할 수 있도록 함으로써 응용의 개발 시간 및 비용을 줄일 수 있으며, 또한 이러한 보안 서비스를 응용으로부터 투명하게 제공하는 효과가 있다. 또한 응용의 유형에 따른 암호화부를 통합적으로 구비함으로써 군사용, 민간용 및 공공기관용 응용을 모두 지원할 수 있고, 동일한 유형의 응용 간의 상호 동작 뿐만 아니라 상이한 유형의 응용 간의 연동도 가능하게 하는 효과가 있다.
Claims (8)
- 다수의 컴퓨터가 소정의 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 응용 개발의 안전한 분산객체 미들웨어 플랫폼에 있어서,소정의 응용 객체에게 투명하게 보안 서비스를 제공하며, 상기 응용이 투명하게 응용보안 객체에 대한 서비스 요구를 하면, 그에 대한 응답을 받을 수 있도록 매개하는 안전한분산객체미들웨어(Secure ORB)코아;상기 응용과 상기 안전한분산객체미들웨어코아 간의 정보를 소정의 응용 프로그램 규약에 따라 중개하는 인터페이스;상기 응용의 서비스 요구를 받아 상기 소정의 통신망을 통해 목표 객체에게 전송하고, 상기 목표 객체로부터의 응답을 수신하여 상기 응용에게 회신하기 위하여 상기 안전한분산객체미들웨어코아에게 전달하며, 이 과정에서 소정의 보안 서비스를 실행하는 안전한 소켓 프로토콜; 및상기 안전한 분산객체미들웨어코아와 상기 안전한 소켓 프로토콜 간의 인터페이스를 포함하는 것을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체 기반의 응용 개발 플랫폼.
- 제 1항에 있어서, 상기 안전한분산객체미들웨어코아는,상기 응용으로부터 투명하게 제공하는 보안 서비스로써 인증 서비스 및 보안설정 서비스를 포함하는 보안 서비스 객체를 포함하고,상기 각 보안 서비스 객체의 요청에 따라 응용의 요구에 대한 암호화를 수행하는 암호화부; 및상기 보안 서비스 객체와 상기 암호화부 간의 인터페이스를 더 포함함을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체 기반의 응용 개발 플랫폼.
- 제 1항 또는 제 2항에 있어서,상기 안전한 소켓 프로토콜은 데이터 인증을 포함하는 보안 서비스를 보안 소켓을 통하여 제공하는 것을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체 기반의 응용 개발 플랫폼.
- 제 1항에 있어서,상기 안전한분산객체미들웨어코아로부터의 서비스 요구를 상기 서비스 요구를 한 응용의 종류와 소정의 암호 알고리즘에 따라 암호화하여 상기 안전한 분산객체미들웨어코아와 안전한 소켓 프로토콜간 인터페이스에 전달하고, 서비스 요구에 대해 암호화되어 상기 안전한 분산객체미들웨어코아와 안전한 소켓 프로토콜간 인터페이스를 통해 수신되는 서비스의 응답을 복호화하는 외부보안암호알고리즘부; 및상기 안전한분산객체미들웨어코아에서 보안 서비스를 제공하기 위해서 상기안전한분산객체미들웨어코아와 상기 외부보안알고리즘부간의 데이터를 상기 소정의 암호 알고리즘과 연동하여 송수신 중개하는 안전한분산객체미들웨어코아와 외부보안알고리즘부간 인터페이스를 더 포함하는 것을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체 기반의 응용 개발 플랫폼.
- 다수의 컴퓨터가 소정의 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 응용 개발의 안전한 분산객체 미들웨어 플랫폼의 서비스 방법에 있어서,(a) 상기 응용의 분산 객체 응용에 대한 서비스 요구를 수신하는 단계;(b) 상기 수신한 서비스의 요구를 투명하게 객체화하여 보안 설정, 권한 위임, 보안 감사, 보안 영역 관리 및 인증 서비스를 포함하는 서비스를 제공하는 단계;(c) 상기 서비스 요구를 그 서비스를 요청한 응용의 종류 및 그에 따른 소정의 알고리즘에 따라 암호화를 하는 단계; 및(d) 상기 (b) 단계 및 (c) 단계에서 서비스를 받고 암호화 된 서비스 요구를 소켓 프로토콜을 이용해서 상기 소정의 통신망을 통해 전송하는 단계를 포함하는 것을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체의 서비스 방법.
- 제 5항에 있어서, 상기 (d) 단계는,응용의 요구를 통신망을 통하여 전송하기 전에 상기 (b) 단계 및 (c) 단계에서 보안 서비스를 받고 암호화된 응용의 요구에 대하여 데이터 인증을 포함하는 보안 서비스를 안전한 보안 소켓을 통하여 제공하는 단계를 더 포함하는 것을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체의 서비스 방법.
- 다수의 컴퓨터가 소정의 통신망으로 연결된 분산 처리 환경에서의 안전한 소켓 통신을 지원하는 응용 개발의 안전한 분산객체 미들웨어 플랫폼의 서비스 방법에 있어서,(a) 소켓 프로토콜을 이용해서 상기 통신망을 통하여 목표 객체로부터의 응답을 수신하는 단계;(b) 상기 수신된 응답을 수신하는 응용의 종류와 그에 따른 암호알고리즘에 따라 복호화하는 단계;(c) 상기 복호화된 응답을 투명하게 객체화하여 보안 설정, 권한 위임, 보안 감사, 보안 영역 관리 및 인증 서비스를 포함하는 서비스를 제공하는 단계; 및(d) 상기 (c) 단계에서 서비스를 받은 응답을 상기 응용 중 해당되는 응용에게 전달하는 단계를 포함하는 것을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체의 서비스 방법.
- 제 7항에 있어서, 상기 (a) 단계는,통신망을 통하여 응답을 수신한 후, 데이터 인증을 포함하는 보안 서비스를 보안 소켓을 통하여 점검하는 단계를 더 포함하는 것을 특징으로 하는 안전한 소켓 통신을 지원하는 안전한 분산 객체의 서비스 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000043132A KR20020009328A (ko) | 2000-07-26 | 2000-07-26 | 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어플랫폼 및 그 서비스 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000043132A KR20020009328A (ko) | 2000-07-26 | 2000-07-26 | 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어플랫폼 및 그 서비스 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020009328A true KR20020009328A (ko) | 2002-02-01 |
Family
ID=19680107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000043132A KR20020009328A (ko) | 2000-07-26 | 2000-07-26 | 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어플랫폼 및 그 서비스 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20020009328A (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852666A (en) * | 1996-07-01 | 1998-12-22 | Sun Microsystems, Inc. | Capability security for distributed object systems |
KR19990038924A (ko) * | 1997-11-07 | 1999-06-05 | 정선종 | 분산객체 시스템에서 보안 서비스 제공을 위한 논리적 통신로 설치방법 |
KR20010001717A (ko) * | 1999-06-08 | 2001-01-05 | 양태연 | 안전한 분산 객체 기반의 응용 개발 플랫폼 및 그 서비스 방법 |
-
2000
- 2000-07-26 KR KR1020000043132A patent/KR20020009328A/ko not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852666A (en) * | 1996-07-01 | 1998-12-22 | Sun Microsystems, Inc. | Capability security for distributed object systems |
KR19990038924A (ko) * | 1997-11-07 | 1999-06-05 | 정선종 | 분산객체 시스템에서 보안 서비스 제공을 위한 논리적 통신로 설치방법 |
KR20010001717A (ko) * | 1999-06-08 | 2001-01-05 | 양태연 | 안전한 분산 객체 기반의 응용 개발 플랫폼 및 그 서비스 방법 |
Non-Patent Citations (1)
Title |
---|
논문(응용이 보안 서비스 인터페이스를 사용하여 데이터를 보호한 후 소켓 통신인터페이스를 사용하여 전송하는 구조를 가진 분산 객체 보안 시스템(제2장, 제3장, 제5장)1998.08 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1461720B1 (en) | Dynamic file access control and management | |
US6408336B1 (en) | Distributed administration of access to information | |
US6961783B1 (en) | DNS server access control system and method | |
RU2501081C2 (ru) | Многофакторная защита контента | |
US6105027A (en) | Techniques for eliminating redundant access checking by access filters | |
US7752431B2 (en) | Virtual distributed security system | |
US6178505B1 (en) | Secure delivery of information in a network | |
KR100971854B1 (ko) | 보안 서버 키 동작을 제공하기 위한 시스템 및 방법 | |
AU733109B2 (en) | Methods and apparatus for controlling access to information | |
US20040264697A1 (en) | Group security | |
US20040216150A1 (en) | Systems and methods for providing object integrity and dynamic permission grants | |
WO2000000879A2 (en) | Generalized policy server | |
Humphrey et al. | Accountability and Control of Process Creation in Metasystems. | |
Gritzalis et al. | Addressing threats and security issues in World Wide Web technology | |
Popescu et al. | A security architecture for object-based distributed systems | |
Stoker et al. | Toward Realizable Restricted Delegation in Computational Grids1 | |
Ashley et al. | Applying authorization to intranets: architectures, issues and APIs | |
KR20020009744A (ko) | 다양한 암호알고리즘을 지원하는 안전한 분산객체미들웨어 플랫폼 및 그 서비스 방법 | |
KR20020009328A (ko) | 안전한 소켓 통신을 지원하는 안전한 분산객체 미들웨어플랫폼 및 그 서비스 방법 | |
Gymnopoulos et al. | GRID security review | |
KR20010001717A (ko) | 안전한 분산 객체 기반의 응용 개발 플랫폼 및 그 서비스 방법 | |
Herman et al. | Creating the virtual enterprise with VE gateways | |
Kong et al. | Protected data paths: delivering sensitive data via untrusted proxies. | |
EP1105809A2 (en) | Generalized policy server | |
Such et al. | Kerberos-based secure multiagent platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |