KR20050026478A - Network attached encryption - Google Patents
Network attached encryption Download PDFInfo
- Publication number
- KR20050026478A KR20050026478A KR1020057000614A KR20057000614A KR20050026478A KR 20050026478 A KR20050026478 A KR 20050026478A KR 1020057000614 A KR1020057000614 A KR 1020057000614A KR 20057000614 A KR20057000614 A KR 20057000614A KR 20050026478 A KR20050026478 A KR 20050026478A
- Authority
- KR
- South Korea
- Prior art keywords
- cryptographic
- key server
- server
- key
- network
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C3/00—Typewriters for ciphering or deciphering cryptographic text
- G09C3/04—Typewriters for ciphering or deciphering cryptographic text wherein the operative connections between the keys and the type-bars are automatically and continuously permuted, during operation, by a coding or key member
- G09C3/08—Typewriters for ciphering or deciphering cryptographic text wherein the operative connections between the keys and the type-bars are automatically and continuously permuted, during operation, by a coding or key member the connections being electrical
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Abstract
Description
본 발명은 데이터 보안 분야에 관한 것으로, 특히 암호화된 네트워크 서비스 및 네트워크 환경에 보안 암호키를 제공하는 것에 관한 것이다.TECHNICAL FIELD The present invention relates to the field of data security, and more particularly, to providing secure encryption keys for encrypted network services and network environments.
민감한 컨텐츠를 다루는 컴퓨터 시스템은 네트워크 전송과 지역화 된 저장수단사이에 이러한 보안 내용을 보호하기 위해 애쓰고 있다. 예를 들어서, e-상업 웹사이트는 전송 중에 사용자의 신용카드 번호와 사용자 비밀번호를 보호하기 위하여 다양한 메커니즘을 사용한다. 종종 이러한 사이트는 소비자의 컴퓨터에서 웹사이트로 통과하는 동안에 모든 민감 데이터를 보호하기 위하여 잘 알려진 보호 소켓 레이어(Secure Socket Layer, 이하 'SSL')와 전송 레이어 보안(Transport Layer Security, 이하 'TLS') 프로토콜을 사용한다. Computer systems that handle sensitive content are striving to protect this security content between network transport and localized storage. For example, e-commerce websites use various mechanisms to protect the user's credit card number and user password during transmission. Often these sites use the well-known Secure Socket Layer (SSL) and Transport Layer Security (TLS) to protect all sensitive data while passing from the consumer's computer to the website. Use a protocol.
SSL 과 TLS는 오직 웹사이트와 사용자의 컴퓨터에게만 알려진 세션-키,(즉, 암호키)를 사용한 데이터를 암호화하는 것에 의해 전송되는 동안 데이터를 보호한다. 수신 서버는 데이터(유효한 신용 카드 번호)를 처리하고, 종종 서버 데이터베이스에 민감 데이터를 저장한다.SSL and TLS protect data while in transit by encrypting data using session-keys (ie, encryption keys) known only to websites and users' computers. The receiving server processes the data (valid credit card numbers) and often stores sensitive data in a server database.
웹 클라이언트와 내부 웹 서버사이에 SSL 접속을 설정하기 위해 사용되어지는 암호키는 같은 내부 웹 서버에 저장된다. 유사하게, 암호화는 백-엔드 어플리케이션 서버와 데이터베이스 상에 저장되어지는 데이터 상에 행해지고, 암호키는 같은 백-엔드 어플리케이션 서버에 저장된다. 상기 백-엔드 어플리케이션 서버는 보안화가 이루어지지 못한 플랫폼이다.The encryption key used to establish an SSL connection between the web client and the internal web server is stored on the same internal web server. Similarly, encryption is performed on data stored on the back-end application server and the database, and the encryption key is stored on the same back-end application server. The back-end application server is a platform that is not secured.
암호화 과정이 직접적으로 행해지는 웹서버와 어플리케이션 서버는 암호화과정을 처리하기 위해 요구되어지는 것 때문에 낮은 성능을 보여준다. 한가지 접근법으로, 암호화 가속 카드와 같은 고가의 하드웨어가 서버의 성능 향상을 위해 그러한 서버에 사용된다. 그러나, 이것은 각 웹/어플리케이션 서버상에 고가의 암호화 가속기를 설치하기 위해서 비용제약이 따른다.Web servers and application servers, where the encryption process is performed directly, exhibit low performance because of what is required to process the encryption process. In one approach, expensive hardware such as cryptographic acceleration cards are used in such servers to improve server performance. However, this is a cost constraint for installing expensive cryptographic accelerators on each web / application server.
암호키를 보호하는 것뿐만 아니라 암호화 서비스가 필요한 각 웹/어플리케이션 서버상에 비싼 암호화 가속기를 설치하지 않고 암호화 과정을 수행하는데 다른 방법이 필요하다.In addition to protecting cryptographic keys, other methods are needed to perform the encryption process without installing expensive cryptographic accelerators on each web / application server that requires cryptographic services.
도 1은 본 발명의 일 실시예에 따른 네트워크 암호 서비스를 제공하는 컴퓨터 서버 환경 10을 도시한 것이다.1 illustrates a computer server environment 10 for providing a network cryptographic service according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 구조를 도시한 것이다.2 illustrates a software structure in accordance with one embodiment of the present invention.
도 3A는 본 발명의 일 실시예에 따른 네트워크 암호키 서버를 위해 적합한 하드웨어 구도이다.3A is a hardware configuration suitable for a network cryptographic key server according to an embodiment of the invention.
도 3B는 본 발명의 일 실시예에 따른 k-out-of-n 비밀 분배를 제공하는 암호 서버에 관한 개인 키의 백업 및 저장을 위한 동작 150이다.3B is operation 150 for backing up and storing a private key for a cryptographic server that provides k-out-of-n secret distribution in accordance with one embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 네트워크 암호키 서버가 암호 서비스를 제공하는 것에 의해 컴퓨터로 구현된 방법을 도시한 것이다.4 illustrates a computer-implemented method in which a network cryptographic key server in accordance with an embodiment of the present invention provides cryptographic services.
도 5는 본 발명의 일 실시예에 따른 암호 요청의 인증 및 인증분석을 수행하는 컴퓨터로 구현된 방법을 도시한 것이다.Figure 5 illustrates a computer-implemented method for performing authentication and authentication analysis of a password request according to an embodiment of the present invention.
도 6은 어플리케이션 서버상에 구현된 어플리케이션이 표준 암호 API를 통해 원거리와 지역 암호 서비스에 접근 가능하도록 하는 방법을 컴퓨터로 구현된 방법을 도시한 것이다.6 illustrates a computer-implemented method for enabling an application implemented on an application server to access remote and local cryptographic services through standard cryptographic APIs.
도 7은 본 발명의 일 실시예에 따른 암호 서비스 컴퓨팅 환경을 도시한 것이다.7 illustrates a cryptographic service computing environment in accordance with one embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 네트워크 암호키 서비스를 제공하는 네트워크 보안 장치의 시스템 구조를 나타낸 것이다.8 illustrates a system structure of a network security device for providing a network encryption key service according to an embodiment of the present invention.
도 9는 명확한 복호화 네트워크 보안 장치와 암호키 서버를 포함하는 네트워크 구조를 도시한 것이다.9 illustrates a network structure including a clear decryption network security device and an encryption key server.
하기의 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하며, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.In adding reference numerals to components of the following drawings, it is determined that the same components have the same reference numerals as much as possible even if displayed on different drawings, and it is determined that they may unnecessarily obscure the subject matter of the present invention. Detailed descriptions of well-known functions and configurations will be omitted.
도 1은 본 발명의 일 실시예에 따른 네트워크화된 암호화 서비스를 제공하는 컴퓨터 서버환경 10 을 도시한 것이다. 컴퓨터 서버환경 10은 복수의 클라이언트 12, 어플리케이션 서버 14, 암호키 서버 16, 모든 방향으로 결합된 컴퓨터 네트워크 18을 포함한다. 컴퓨터 네트워크 18은 인터넷이나 지역 네트워크와 같은 어떠한 적당한 네트워크의 형태를 가질 수 있다. 양 방향으로 결합된 어플리케이션 서버 14는 네트워크 데이터베이스 20이다. 어플리케이션 서버 14는 컴퓨터 네트워크 18을 경유하여 클라이언트 12에게 요청되어진 서비스를 제공한다. 클라이언트 12에 의하여 요청되어진 서비스는 특별히 암호화 서비스를 포함할지도 모르고, 암호화 서비스를 위한 준비를 재촉할지도 모른다. 예를 들어서, 클라이언트가 요구한 서비스가 네트워크 데이터베이스 20에 민감 데이터의 저장을 요구하거나, 네트워크 데이터베이스 20에서 암호화된 데이터의 검색을 요구할 지도 모른다. 암호키 서버 16은 암호 서비스를 수행하기 위해 어플리케이션 서버 14에 유용하다. 이러한 것은 어플리케이션 서버 14에서 암호화 서비스의 계산에 대한 무거운 짐을 덜어준다.1 illustrates a computer server environment 10 for providing a networked encryption service according to an embodiment of the present invention. The computer server environment 10 includes a plurality of clients 12, an application server 14, an encryption key server 16, and a computer network 18 coupled in all directions. Computer network 18 may take the form of any suitable network, such as the Internet or a local network. The combined application server 14 in both directions is the network database 20. Application server 14 provides the requested service to client 12 via computer network 18. Services requested by client 12 may specifically include cryptographic services, and may prompt preparation for cryptographic services. For example, a service requested by a client may require the storage of sensitive data in network database 20 or the retrieval of encrypted data from network database 20. Cryptographic server 16 is useful for application server 14 to perform cryptographic services. This relieves the burden of computing cryptographic services from application server 14.
이와 관련된 암호키 서버는 통신망 접속 암호 장치(Networked Attached Encryption)로써 알려져 있다. 암호화 서비스의 성질뿐만 아니라 그러한 기능을 구현하기 위한 다양한 메커니즘은 이하 상세하게 기술될 것이다.The associated encryption key server is known as Networked Attached Encryption. The nature of cryptographic services as well as various mechanisms for implementing such functionality will be described in detail below.
도 2는 본 발명의 일 실시예에 따른 어플리케이션 서버 52와 암호키 서버 54을 위한 소프트웨어 구조 50을 나타낸 도식도이다. 도 2의 소프트웨어 구조는 어플리케이션 서버에 제한되지 않으며, 다양하게 구현되는 것이 가능하다. 복수의 컴퓨터 장치와 시스템은 암호키 서버 54의 클라이언트가 될 수 있다. 바람직한 실시예로, 어플리케이션 서버 52와 암호키 서버 54는 보안 네트워크 통신 채널 56을 경유하여 양 방향으로 결합된다. 보안 네트워크 통신 채널 56은 SSL 또는 TLS와 같은 어떠한 적당한 보안 통신 기술을 통하여 실시될 수 있다. 대안으로는, 보안채널이 직접적인 물리적 결합 또는 이 분야의 당업자의 수준에 맞게 구현이 가능하다. 소프트웨어 기반 어플리케이션 52는 단지 암호키 서버의 암호 서비스를 필요로 하는 클라이언트의 한가지 예이다.2 is a schematic diagram illustrating a software structure 50 for an application server 52 and an encryption key server 54 according to an embodiment of the present invention. The software structure of FIG. 2 is not limited to the application server, and may be variously implemented. The plurality of computer devices and systems may be clients of cryptographic key server 54. In a preferred embodiment, application server 52 and cryptographic key server 54 are coupled in both directions via secure network communication channel 56. Secure network communication channel 56 may be implemented via any suitable secure communication technology such as SSL or TLS. Alternatively, the secure channel may be implemented in direct physical coupling or at the level of those skilled in the art. Software-based application 52 is just one example of a client that requires cryptographic services of a cryptographic key server.
도 2의 어플리케이션 서버 52는 복수의 어플리케이션 60, 암호 어플리케이션 프로그램 인터페이스(API), 및 보안 네트워크 인터페이스 엔진 64를 포함한다. 어플리케이션 60은 어플리케이션 서버 52상에서 실행되는 소프트웨어 프로그램이다. 이러한 어플리케이션들은 어플리케이션 서버 52의 지역 유저에게 서비스를 제공하고, 네트워크 접속을 경유하여 먼거리 클라이언트에게 네트워크 서비스를 제공할 것이다.The application server 52 of FIG. 2 includes a plurality of applications 60, cryptographic application program interfaces (APIs), and a secure network interface engine 64. Application 60 is a software program that runs on application server 52. These applications will serve local users of the application server 52 and provide network services to remote clients via network connections.
암호 API 62는 복수개의 암호 서비스를 호출(invoke)할 수 있는 복수의 어플리케이션 60에 의해 표준 셋을 제공한다. 본 발명에 따르면 적어도 하나의 암호서비스는 암호키 서버 54에 의해 먼 거리로 수행된다. 통신망 암호 서비스를 수행하기 위하여, 암호 API 62는 암호 서비스를 요청하기 위하여 암호 네트워크 인터페이스 엔진 64을 이용하기 위한 원거리 암호 서비스를 위해 요청에 민감하다.Cryptography API 62 provides a standard set by a plurality of applications 60 that can invoke a plurality of cryptographic services. According to the present invention, at least one cryptographic service is performed by the cryptographic key server 54 over a long distance. To perform network cryptographic services, cryptographic API 62 is sensitive to requests for remote cryptographic services to use cryptographic network interface engine 64 to request cryptographic services.
암호 API는 바람직하게 어플리케이션 개발자가 그들의 소프트웨어로 쉽사리 통합할 수 있는 표준화된 소프트웨어 암호 API이다. 이와 같이, 암호 API 62는 하위 컴퓨터 환경에 관계된 특별한 형태를 수용한다. 하위 컴퓨터 환경의 몇몇 예는 자바, 마이크로소프트, PKCS #11/Cryptoki Provider, 오라클9i 이고, 이하 그 자세한 내용을 기술하도록 한다.The cryptographic API is preferably a standardized software cryptographic API that application developers can easily integrate into their software. As such, cryptographic API 62 accommodates special forms relating to subordinate computer environments. Some examples of subordinate computer environments are Java, Microsoft, PKCS # 11 / Cryptoki Provider, and Oracle9i, which are described in detail below.
자바 컴퓨팅 환경에서는 암호 API가 자바 암호 확장(Java Cryptography Extensions, 'JEC')으로써 어플리케이션에 노출된다. JEC는 자바 서버 페이지(JSP), 자바 서블릿 또는 엔터프라이즈 자바 빈스(EJB)를 포함한 다양한 소스에 의해서 호출(invoke)된다. JCE를 사용할 수 있는 자바 어플리케이션은 액티브 서버 페이지(ASP)에 의해서 호출된다. 본 발명의 다른 예에서, 어플리케이션 60은 암호 API 62의 도움 없이 암호키 서버 54에 직접적으로 접근할 수 있다.In the Java computing environment, cryptographic APIs are exposed to applications as Java Cryptography Extensions ('JEC'). JEC is invoked by various sources, including Java Server Pages (JSP), Java Servlets, or Enterprise Java Beans (EJB). Java applications that can use JCE are called by Active Server Pages (ASPs). In another example of the present invention, the application 60 can directly access the cryptographic key server 54 without the help of cryptographic API 62.
마이크로소프트's .NET와 같은 ASP 컴퓨팅 환경에서는, 암호 기능이 마이크로소프트 암호 API(MS-CAPI)의 사용으로 통신하는 크립토 서비스 제공자(Crypto Service Provider, 'CSP')를 경유하여 VBScript를 사용하는 것에 의해 노출된다. 이러한 경우에, CSP 또는 암호 API는 많은 암호화 과정을 어플리케이션 60에 노출한 동적 연결 라이브러리(DLL)로써 구현된다. 암호화 기능의 이전 묘사와 암호 API는 웹 어플리케이션 서버의 환경이다. 그러나, 암호기능과 암호 API는 JCE를 사용하지 않는 웹을 기초로 하지 않는 자바 어플리케이션과 MS-CAPI를 호출하는 웹을 기초로 하지 않는 윈도우 어플리케이션과 같은 웹을 기반으로 하지 않은 어플리케이션 서버에 적합하다.In ASP computing environments such as Microsoft's .NET, by using VBScript via the Crypto Service Provider ('CSP'), the cryptographic functions communicate through the use of the Microsoft Cryptography API (MS-CAPI). Exposed. In this case, the CSP or cryptographic API is implemented as a dynamic link library (DLL) that exposes many cryptographic processes to the application 60. The previous description of cryptographic functions and cryptographic APIs are the environment of a web application server. However, cryptographic functions and cryptographic APIs are suitable for non-web-based application servers, such as web-based Java applications that do not use JCE and Windows-based Windows applications that call MS-CAPI.
보안 통신 인터페이스 엔진 64는 원거리 암호키 서버 54와 보안 통신 채널 56을 설립하는 것이 가능하다. 유사하게, 원거리 암호키 서버 54는 보안 네트워크 인터페이스 엔진 64를 가지고 보안 네트워크 통신을 설립하는 것이 가능하다. 어플리케이션 서버 52와 원거리 암호키 서버 54사이에 보안 네트워크 통신 채널 56이 설립된 이후, 보안 네트워크 인터페이스 엔진은 원거리 암호키 서버 54에 암호 서비스를 위한 보안 요청을 전송하고 정렬하고, 보안 서비스를 위한 요청에 보안 응답을 수신하고 정렬하지 않으며, 그러한 응답을 보안 API 62에 전송하는 것이 가능하다. 차례로, 암호 API 62는 요청 어플리케이션 60에 응답을 제공한다.The secure communication interface engine 64 can establish a secure communication channel 56 with a remote cryptographic key server 54. Similarly, remote cryptographic key server 54 is capable of establishing secure network communications with secure network interface engine 64. After a secure network communication channel 56 is established between the application server 52 and the remote cryptographic server 54, the secure network interface engine sends and arranges security requests for cryptographic services to the remote cryptographic server 54 and requests for security services. It is possible to receive and not sort security responses and to send those responses to security API 62. In turn, cryptographic API 62 provides a response to requesting application 60.
보안 네트워크 인터페이스 엔진 64는 어플리케이션 60과 어플리케이션 서버 52의 클라이언트 사이에 보안 통신 채널을 공급하는데 사용되기 위한 어플리케이션 60에 보안 네트워크 서비스를 드러낸다. 도 2에서, 보안 API 62와 보안 네트워크 인터페이스 엔진 64는 어플리케이션 서버 52에서 구현된, 두 개의 다른 프로세스로 나타난다.The secure network interface engine 64 exposes secure network services to the application 60 for use in providing a secure communication channel between the application 60 and the client of the application server 52. In FIG. 2, security API 62 and secure network interface engine 64 are represented by two different processes, implemented in application server 52.
도 2에 다른 참조로써, 암호키 서버 54는 암호 서비스 엔진 70, 보안 네트워크 인터페이스 엔진 72, 및 개인 키 엔진 74를 포함한다. 암호키 서버 54는 보안 네트워크 통신 채널 56을 경유하여 상기 암호키 서버에 결합된 어플리케이션 서버 52에 암호 서비스를 제공하기 위해 적당하다. 보안 네트워크 인터페이스 엔진 72는 어플리케이션 서버 52를 이용하여 보안 네트워크 통신 채널 56을 설립할 수 있다. 유사하게, 어플리케이션 서버 52는 보안 네트워크 인터페이스 엔진 72를 이용하여 보안 네트워트 통신 채널을 설립할 수 있다. 게다가, 보안 네트워크 인터페이스 엔진 72는 어플리케이션 서버 52에서 수신된 보안된 암호 서비스 요청을 정동하지 않거나, 어플리케이션 서버 52에 보안 암호 서비스 응답을 전달하고 전송한다.As another reference to FIG. 2, the cryptographic key server 54 includes a cryptographic service engine 70, a secure network interface engine 72, and a private key engine 74. Encryption key server 54 is suitable for providing cryptographic services to application server 52 coupled to the encryption key server via secure network communication channel 56. The secure network interface engine 72 may establish a secure network communication channel 56 using the application server 52. Similarly, application server 52 may establish a secure network communication channel using secure network interface engine 72. In addition, the secure network interface engine 72 does not affect the secure cryptographic service request received at the application server 52 or forwards and transmits the secure cryptographic service response to the application server 52.
암호키 서버 54상에서 실행되는 암호 서비스 엔진 70은 보안 네트워크 인터페이스 엔진 72에 양 방향으로 결합된다. 암호 서비스 엔진 70은 보안 네트워크 인터페이스 엔진 72를 경유하여 어플리케이션 서버 52에 의해 요청된 보안 서비스를 공급할 수 있다. 보안 서비스는 다음을 포함한다. 1) 해쉬 동작, 2) RSA 와 DSA 같은 서명 및 인증The cryptographic service engine 70 running on the cryptographic key server 54 is coupled in both directions to the secure network interface engine 72. The cryptographic service engine 70 may supply the security service requested by the application server 52 via the secure network interface engine 72. Security services include: 1) hash operation, 2) signatures and authentication such as RSA and DSA
어플리케이션 60에서 나타난 보안 기능은 원거리 클라이언트에 의해 요구되는 가장 바람직한 것이다. 이러한 보안 기능은 어플리케이션 서버 52 혹은 더 바람직하게는 암호 서비스를 성취하는 어플리케이션 서버 52에서 부담을 경감하기 위해서 암호키 서버 54에서 행해지는 것이 틀림없다. 이와 같이, 어떠한 노출된 암호 서비스를 수행할 수 있는 암호 서비스 엔진 70이 어플리케이션 서버 52에 제공하지 않는 것은 바람직한 일이다. 전형적인 노출된 기능은, 이로 한정되는 것은 아니지만, 암호화와 복호화(예로써, DES, 3DES, AES, RSA, DSA, ECC 등), 서명 및 인증(예로써, RSA, DSA 등) 및 해쉬 및 인증(예로써, SHA-1, HMAC등)이 있다. 일반적으로 암호화 및 복호화기능은 다음을 포함한다.The security features presented in application 60 are the most desirable ones required by the remote client. This security function must be done in cryptographic key server 54 to relieve the burden on application server 52 or more preferably on application server 52 achieving cryptographic services. As such, it is desirable that the cryptographic service engine 70, which is capable of performing any exposed cryptographic service, does not provide it to the application server 52. Typical exposed functions include, but are not limited to, encryption and decryption (eg, DES, 3DES, AES, RSA, DSA, ECC, etc.), signing and authentication (eg, RSA, DSA, etc.) and hash and authentication ( For example, SHA-1, HMAC, etc.). In general, encryption and decryption functions include:
대칭 블록 암호Symmetric block cipher
일반 암호 모드Normal password mode
스트림 암호 모드Stream cipher mode
공개-키 암호화Public-key encryption
공개-키 시스템을 위한 패딩 스킴Padding Scheme for Public-Key System
키 배열 스킴Key array scheme
타원 곡선 암호화Elliptic Curve Encryption
단 방향 해쉬 기능One-way hash function
메시지 인증 코드Message verification code
해쉬 기능에 기초한 암호 구조Password structure based on hash function
가상 랜덤 수 생성Generate virtual random numbers
키 도출 기능에 근거한 암호Password based on key derivation function
Shamir의 비밀 분배 스킴과 로빈의 정보 분배 알고리즘(IDA)Shamir's Secret Distribution Scheme and Robin's Information Distribution Algorithm (IDA)
gzip(RFC 1952)와 zlib 포맷(RFC 1950)을 지원하는 DEFLATE(RFC 1951)압축/해제 Compress / decompress DEFLATE (RFC 1951) with support for gzip (RFC 1952) and zlib formats (RFC 1950).
고속 자중 정밀 정수(bignum) 및 다항식 연산Fast self-weighting bignum and polynomial operations
GF(p)와 GF("2") 및 프라임 수 생성 및 인증을 포함하는 유한 필드 연산Finite field operations, including GF (p) and GF ("2") and prime number generation and authentication
개인 키 엔진 74는 암호 연산을 수행하기 위해 요구되는 개인 키를 암호 서비스 엔진 74에 제공한다. 그러한 개인키는 일반적으로 잘 알려진 다양한 메커니즘에 의해 생성되고 저장되며, 본 발명에 의해서 예상되는 다양한 방법에 의해서도 생성 및 저장된다. 개인키를 생성되고 핸들링하기 위한 바람직한 실시예는 도 3과 함께 하기에서 설명된다.Private key engine 74 provides the cryptographic service engine 74 with the private key required to perform cryptographic operations. Such private keys are generally generated and stored by a variety of well known mechanisms, and are also generated and stored by various methods expected by the present invention. A preferred embodiment for generating and handling a private key is described below in conjunction with FIG.
도 2에서, 암호 서비스 엔진 70과 보안 네트워크 인터페이스 엔진 72는 암호 서비스 엔진 70상에서 각각 구현되는 두 개의 다른 프로세스로 나타난다. 이것은 이들의 프로세스의 분리된 변형을 허락한다. 그러나, 본 발명의 다른 구현에서는 암호 서비스 엔진 70과 보안 네트워크 인터페이스 엔진 72가 단일 프로세스로 공급됨을 지시한다.In FIG. 2, cryptographic service engine 70 and secure network interface engine 72 are represented by two different processes that are each implemented on cryptographic service engine 70. This allows for a separate variant of their process. However, another implementation of the present invention indicates that cryptographic service engine 70 and secure network interface engine 72 are supplied in a single process.
도 3A는 본 발명의 일 실시예에 따른 도 2의 암호키 서버 54로써 네트워크 암호키 서버를 위한 적당한 하드웨어 구조 100이다. 하드웨어 구조 100은 중앙처리장치(CPU) 104, 하드디스크와 같은 영구 기억 장치, RAM과 같은 일시기억장치, 네트워크 입출력 장치, 암호화 가속 카드와 같은 암호 장치 112, 하드웨어 보안 모듈(HSM),및 스마트 카드 인터페이스, 모든 양방향으로 결합된 데이터 버스 102를 포함한다. 다른 부가적인 구성요소는 하드웨어 구조 100의 부분일수도 있다. 3A is a suitable hardware architecture 100 for a network cryptographic key server as the cryptographic key server 54 of FIG. 2 in accordance with an embodiment of the present invention. The hardware architecture 100 includes a central processing unit (CPU) 104, permanent storage devices such as hard disks, temporary storage devices such as RAM, network input / output devices, cryptographic devices such as cryptographic acceleration cards 112, hardware security modules (HSMs), and smart cards. Interface, which includes a data bus 102 coupled in all directions. Another additional component may be part of hardware architecture 100.
도 3A에 구현예에 따르면, 개인키 120은 HSM 114로 로드되고, 암호화된 포맷으로 저장된다. 보다 바람직하게는, HSM 114는 템퍼 레지스턴트(tamper resistant) 장치이다. 개인키 120은 단지 소규모이고 미리 정의된 암호키 서버 그룹에서만 알려진 그룹 키를 이용하여 암호화된다. 이러한 그룹 키들은 스마트 카드에 의해 보호된다. 백업 작동이 암호 서버의 미리 정의된 그룹의 하나상에서 실현될 때, 원본 암호키의 암호화된 폼은 백업 파일로써 생성된다. 장치의 미리 정의된 그룹의 부분인 암호 서버는 분리된 암호키를 사용하여 암호화된 키를 복호화 할 수 있다.According to the embodiment of FIG. 3A, the private key 120 is loaded into the HSM 114 and stored in an encrypted format. More preferably, HSM 114 is a tamper resistant device. Private key 120 is encrypted using a group key known only from a small, predefined group of cryptographic servers. These group keys are protected by smart cards. When a backup operation is realized on one of the predefined groups of cryptographic servers, an encrypted form of the original cryptographic key is created as a backup file. The cryptographic server, which is part of a predefined group of devices, can decrypt the encrypted key using a separate cryptographic key.
하나의 실시예로써, 암호 서버는 증가되는 보안을 위해 그룹 키의 k-out-of-n 비밀 분배를 지원한다. 이것은 개인키의 백업 및 복원을 위해 스마트 키를 요구한다는 것을 의미한다. 예를 들어서, 그룹 키 정보가 5개의 스마트 카드(n) 그룹을 가로질러 분배된다면, 그룹 데이터는 스마트 카드 리더 116에 3개의 스마트 카드(k)를 삽입한 이후 접근되도록 세팅될 수 있다. 3개의 스마트 카드보다 적은 것을 가지고 데이터를 접근하기 시도한다면 실패한다. k of n 스킴의 사용은 데이터의 안전을 보장한다. 만약 하나의 카드가 도난당한다면, 그 카드를 홈쳐간 사람은 HSM 114 상에 저장된 구성 데이터를 접근할 수 없다. 왜냐하면, 그 카드의 침탈자는 상기에서 설명된 k of n 범주를 만족할 만한 충분한 카드를 가지고 있지 않기 때문이다. 확실한 구현에 따라서, 도 3B는 그룹 키의 k-out-of-n 비밀분배를 지원하는 암호 서버에 관하여 개인 키의 백업 및 복원을 위한 작동 150이 도시되어 있다. 단계 154에서, 백업을 위한 요청에 응답에서, 적어도 k-out-of-n 스마트 카드가 백업을 위해 요청되는 암호 서버와 관련된 스마트 카드 인터페이스 장치에 삽입되어 있어야 한다. 만약 적어도 k-out-of-n 스마트 카드가 삽입되어 있지 않으면, 단계 156에서, 백업 및 복원을 위한 요청이 거부된다. 만약 적어도 k-out-of-n 스마트 카드가 삽입되어 있으면, 단계 158에서, 백업 및 복원을 위한 요청이 허락된다.In one embodiment, the cryptographic server supports k-out-of-n secret distribution of group keys for increased security. This means that smart keys are required for backup and restore of private keys. For example, if group key information is distributed across five smart card n groups, the group data may be set to be accessed after inserting three smart cards k into the smart card reader 116. Attempts to access data with less than three smart cards will fail. The use of the k of n scheme ensures the safety of the data. If a card is stolen, the person who picked it up cannot access the configuration data stored on the HSM 114. Because the invader of the card does not have enough cards to satisfy the k of n category described above. According to an obvious implementation, FIG. 3B shows an operation 150 for backup and restore of a private key with respect to a cryptographic server that supports k-out-of-n secret distribution of group keys. In step 154, in response to the request for backup, at least a k-out-of-n smart card must be inserted into the smart card interface device associated with the cryptographic server requested for backup. If at least the k-out-of-n smart card is not inserted, then at step 156, the request for backup and restore is denied. If at least a k-out-of-n smart card is inserted, in step 158 a request for backup and restore is allowed.
도 4를 참조하면, 암호키 서버 56 또는 54와 같은 네트워크 암호키 서버에 의해 컴퓨터로 구현되는 방법 200은 앞으로 묘사될 본 발명의 일 실시예에 따라서 암호화 서비스를 제공한다. 초기 단계 202에서, 개인키 셋은 네트워크 키 서버상에 설립된다. 이러한 개인키는 적당한 메커니즘에 따라서 생성되고 유지된다. 바람직하게는, 개인키는 탬퍼-레지스턴트 하드웨어 장치 안에 저장되고, 네트워크상으로 분배되지 않는다. 하지만, 도 3의 HSM114에 참조와 함께 묘사된 것과 같은 프로세스를 통하여 관리된다. 개인키의 세트가 이미 네트워크 키서버상에서 설치된 주어진 어플리케이션 서버에 의한 암호 서비스를 위한 연속적인 요청은 단계 202에 포함되지 않는다.4, a computer-implemented method 200 by a network cryptographic key server, such as cryptographic key server 56 or 54, provides cryptographic services in accordance with one embodiment of the present invention to be described later. In an initial step 202, a private key set is established on a network key server. This private key is generated and maintained according to the appropriate mechanism. Preferably, the private key is stored in a tamper-resident hardware device and is not distributed over the network. However, it is managed through a process as described with reference to HSM114 in FIG. Subsequent requests for cryptographic services by a given application server with a set of private keys already installed on a network key server are not included in step 202.
다음 초기단계 204에서, 보안 네트워크 통신 채널은 어플리케이션 서버와 암호키 서버 사이에 개설된다. 하나의 실시예에서, 연결 풀(pool)은 어떠한 특별한 암호 서비스의 클라이언트가 요청하기 이전에 어플리케이션 서버와 키서버 사이에서 개설된다. 연결 풀은 무한히 유지될 수 있거나, 비활성 때문에 닫혀질지도 모른다. 보안 연결의 개설은 강화된 프로세싱이므로, 보안연결이 개설되기만 하면, 보안연결을 유지하는 것은 효과가 있다. 보안채널은 SSL, TLS와 개설될 수도 있고, 이미 알려진 기술과 함께 개설되는 것도 가능하다. 많은 상황에서, 서버와 클라이언트 인증서를 가지는 HTTPS가 사용되어 질 것이다. 게다가, 단계 204에서 요청 실체(entity)의 주체는 확인, 즉 인증된다. 이것은 어플리케이션 서버의 식별부호의 확인을 포함하고, 어플리케이션 서버상에서 실행되는 어플리케이션의 식별번호의 확인을 포함하며, 적당하다면, 어플리케이션 서버의 클라이언트 요청 서비스의 인증을 포함한다. 만약 요청 실체의 인증이 실패하면, 암호서비스의 요청은 거부된다. 게다가, 어떠한 실시예에서는 요청 실체의 인증이 실패하면, 프로세스 제어는 단계 216으로 이동하고, 이하 설명하는 서비스를 위한 실패 요청과 관련된 정리작업(housekeeping)을 수행한다.In a next initial step 204, a secure network communication channel is established between the application server and the cryptographic key server. In one embodiment, a connection pool is established between the application server and the keyserver before a client of any particular cryptographic service requests it. The connection pool can be kept indefinitely, or may be closed because of inactivity. Since the establishment of the secure connection is an enhanced processing, maintaining the secure connection is effective once the secure connection is established. Secure channels may be established with SSL, TLS, or with known technologies. In many situations, HTTPS with server and client certificates will be used. In addition, in step 204 the subject of the requesting entity is verified, i.e. authenticated. This includes the identification of the identification code of the application server, the identification of the identification number of the application running on the application server and, if appropriate, the authentication of the client request service of the application server. If authentication of the requesting entity fails, the request for cryptographic services is denied. In addition, in some embodiments, if authentication of the requesting entity fails, process control moves to step 216 and performs housekeeping associated with the failure request for the service described below.
개인키가 단계 202에서 개설되면, 보안 네트워크 채널은 단계 204에서 개설되고, 인증 과정은 완료된다. 암호키 서버는 암호서비스를 제공하기 위하여 사용되어 질 수 있다. 따라서, 단계 206에서 키서버는 보안 채널을 경유하여 암호 서비스를 위한 요청을 수신한다. 암호서비스요청을 수신함에 있어서, 키서버는 복호화된 네트워크 포맷에서의 요청을 언마셜할 것이다. 도 2에서 설명한 것처럼, 어떠한 실시예에서, 이것은 보안 네트워크 인터페이스 엔진에 의해서 수행될 것이다. 단계 208에서, 키서버는 암호 서비스 요청의 인가분석을 행할 것이다.If the private key is established in step 202, the secure network channel is established in step 204, and the authentication process is completed. Cryptographic key servers can be used to provide cryptographic services. Thus, in step 206 the keyserver receives a request for cryptographic services via a secure channel. In receiving the cryptographic service request, the keyserver will unmarshal the request in decrypted network format. As described in FIG. 2, in some embodiments, this may be performed by a secure network interface engine. In step 208, the keyserver will perform an authorization analysis of the cryptographic service request.
단계 208의 인가분석은 요청된 서비스가 요청한 클라이언트에게 공급되었는지를 결정한다. 단계 208의 실시예는 도 4와 함께 보다 상세하게 설명될 것이다.The authorization analysis of step 208 determines whether the requested service has been provided to the requesting client. The embodiment of step 208 will be described in more detail in conjunction with FIG. 4.
단계 208이 요청이 성취되었는지를 결정했을 때, 프로세스 제어는 단계 208에서 요청된 암호 서비스를 수행하는 단계 210으로 흐른다. 예를 들어서, 어플리케이션 서버는 데이터가 암호화 또는 복호화 되도록 요청되어 진다. 단계 212에서, 암호키 서버는 보안 채널을 경유하여 어플리케이션 서버에 응답한다. 이것은 네트워크를 가로질러 전송을 위한 보안 포맷으로의 데이터를 마쉘링하는 것을 포함한다. 다음 단계 214에서, 인증된 요청의 만족과 관련된 다양한 정리작업은 성취된다. 하나의 실시예에서, 이러한 것은 암호요청(시간, 클라이언트 식별, 서비스 요청, 만족스런 완료 등)과 관련된 데이터베이스를 유지하는 것을 포함한다.When step 208 determines that the request has been fulfilled, process control flows to step 210 to perform the requested cryptographic service in step 208. For example, an application server may be required to encrypt or decrypt data. In step 212, the cryptographic key server responds to the application server via a secure channel. This involves marshaling data in a secure format for transmission across the network. In a next step 214, various cleanup tasks related to the satisfaction of the authenticated request are accomplished. In one embodiment, this includes maintaining a database associated with cryptographic requests (time, client identification, service request, satisfactory completion, etc.).
단계 208은 요청이 인증단계 208의 실패를 위한 수행되지 않을 때, 단계 216은 서비스를 위한 실패 요청에 관련된 정리기능을 수행한다. 하나의 실시예에서, 이것은 암호요청(시간, 클라이언트 식별, 서비스 요청 등)과 관련된 데이터베이스를 유지하기 위한 것을 포함한다. 이러한 데이터베이스는 공격이 행해지는지 여부를 판단하기 위한 평가를 위해 사용되거나, 시스템의 에러를 결정한다.Step 208 performs a cleanup function related to the failure request for service when the request is not performed for failure of authentication step 208. In one embodiment, this includes maintaining a database associated with cryptographic requests (time, client identification, service request, etc.). This database is used for evaluation to determine whether an attack is being made, or to determine errors in the system.
도 5에서, 본 발명의 일 실시예에 따른 암호요청의 인증분석을 수행하기 위한 컴퓨터로 구현된 방법 208이 상세하게 설명된다. 상기 도 4에서 설명한 바와 같이, 단계 208은 원거리 어플리케이션 서버가 암호키 서버가 어플리케이션 서버를 위해 어떠한 암호 기능을 수행하는 것을 요청할 때, 호출된다. 첫 번째 단계 250에서, 어플리케이션 서버, 어플리케이션, 클라이언트에 허락된 인증 특권은 결정된다. 만약 어플리케이션 서버, 어플리케이션, 클라이언트에 허락된 인증 특권은 결정될 수 없다면, 단계 250의 인증 검사는 실패할 것이다. 단계 250의 인증검사가 실패했을 때, 요청은 단계 252에서 부정된다. 단계 250의 인증 테스트가 성공하면, 단계 254는 특별한 요청이 요청 엔티티의 권리안에 있는지를 결정한다. 예를 들어서, 어플리케이션 서버상에서 운용되는 어떠한 어플리케이션이 어떠한 데이터를 복호화할 권리를 부여받지 못하거나, 같은 어플리케이션이 데이터를 복호화할 권리를 부여받았을 지라도, 어떠한 데이터를 복호화할 권리를 부여받지 못한다. 어떠한 이벤트에서, 요청이 요청 엔터티의 권리안에 존재하지 않으면, 요청은 단계 252에서 부정된다. 요청이 요청 엔터티안에 존재할 때, 요청은 단계 256에서 승인되고, 프로세스 제어는 요청된 암호 서비스의 구현을 위해 시작한다.In FIG. 5, a computer-implemented method 208 for performing authentication analysis of a cryptographic request in accordance with one embodiment of the present invention is described in detail. As described above with reference to FIG. 4, step 208 is invoked when the remote application server requests that the cryptographic key server perform some cryptographic function for the application server. In a first step 250, the authentication privileges granted to the application server, application, and client are determined. If the authentication privileges granted to the application server, application, and client cannot be determined, then the authentication check of step 250 will fail. When the authentication check in step 250 fails, the request is denied in step 252. If the authentication test of step 250 succeeds, step 254 determines whether a particular request is within the rights of the requesting entity. For example, no application running on the application server is granted the right to decrypt any data, or even if the same application is granted the right to decrypt the data, it is not granted the right to decrypt any data. In any event, if the request does not exist in the rights of the requesting entity, the request is negated in step 252. When the request is in the request entity, the request is granted in step 256, and process control begins for the implementation of the requested cryptographic service.
도 6을 참조하면, 어플리케이션 서버상에 구현되는 어플리케이션이 표준 암호 API를 통하여 원거리와 지역 암호 서비스를 접근을 가능하게 하기 위한 컴퓨터로 구현된 방법 300이다. 단계 320과 304는 어플리케이션에 유용한 암호 서비스를 생성하기 위한 초기화 과정이다. 단계 32에서 표준화된 소프트웨어 암호 API는 어플리케이션 서버 내부로 통합된다. 상기 도 2에서 상술한 바와 같이, 암호 API는 어플리케이션 서버의 특별한 컴퓨팅 환경(자바, 마이크로소프트 등)을 위해 고안되어 질 수 있다. 단계 304에서, 암호 서비스는 서비스 요청이 실현되는 어플리케이션 상에서 생성하기 위해 어플리케이션 상에 구현되는 어플리케이션에 노출된다. 암호 제공자는 프로그래머가 암호 API에 의해 유용하게 생성된 표준 암호화를 사용하는 어플리케이션 소프트웨어를 개발할 수 있도록 한다.Referring to FIG. 6, a computer-implemented method 300 for enabling an application implemented on an application server to access remote and local cryptographic services through a standard cryptographic API. Steps 320 and 304 are initialization procedures for creating a cryptographic service useful for an application. In step 32 the standardized software cryptographic API is integrated into the application server. As described above in FIG. 2, the cryptographic API may be designed for a particular computing environment (Java, Microsoft, etc.) of the application server. In step 304, the cryptographic service is exposed to an application implemented on the application to create on the application on which the service request is realized. Cryptographic providers allow programmers to develop application software that uses standard cryptography usefully generated by cryptographic APIs.
단계 306에서 어플리케이션은 암호함수와 서비스를 위해 요청받은 암호 API를 호출한다. 이러한 요청은 요청이 원거리암호 서버를 따라 전달되었는지, 지역적으로 수행되었는지, 어플리케이션 서버가 암호 서비스를 위한 요청이 전달 가능하도록 하기 이전에 지역적으로 몇몇 인증을 수행하였는지를 결정하기 위한 암호 API에 의해 처리된다. 요청이 원거리 암호 서버에 전송되기 위할 때, 단계 208은 마쉘링하고 요청을 전송한다. 바람직한 실시예로써, 마쉘링과 전송은 이전에 개설된 보안 네트워크 전송 채널을 경유하여 보안 네트워크 인터페이스 엔진에 의해서 수행된다. 단계 310에서, 어플리케이션 서버는 암호 서비스 요청에 응답을 수신하고 언마쉘한다. 이 응답은 단계 312에서 암호 API에 공급되고, 암호 API는 적당한 포맷에 요청되는 어플리케이션에 응답을 공급한다.In step 306 the application calls the cryptographic API requested for the cryptographic function and service. This request is handled by the cryptographic API to determine whether the request was delivered along the remote cryptographic server, performed locally, or whether the application server has performed some authentication locally before the request for cryptographic services can be delivered. When the request is to be sent to the remote crypto server, step 208 marshalls and sends the request. In a preferred embodiment, marshalling and transmission are performed by the secure network interface engine via a previously established secure network transport channel. In step 310, the application server receives and unmarshals a response to the cryptographic service request. This response is supplied to the cryptographic API in step 312, which supplies the response to the requested application in the appropriate format.
도 7은 본 발명의 일 실시예에 따른 분배 암호 서비스 컴퓨팅 환경 400을 도시한 것이다. 컴퓨팅 환경 400은 복수의 암호키 서버 402, 복수의 어플리케이션 서버 404, 및 복수의 클라이언트 406, 인터넷과 같은 양방향으로 결합된 광역 네트워크 408을 포함한다. 암호키 서버 402와 어플리케이션 서버 404는 적당한 형태를 이용한다. 예를 들어서, 도 1 내지 도 3에서 상술한 실시예가 바람직할 것이다.7 illustrates a distributed cryptographic service computing environment 400 in accordance with one embodiment of the present invention. Computing environment 400 includes a plurality of cryptographic key servers 402, a plurality of application servers 404, and a plurality of clients 406, a bidirectionally coupled wide area network 408, such as the Internet. The encryption key server 402 and the application server 404 use a suitable form. For example, the embodiment described above in Figures 1-3 will be preferred.
분산된 암호 서비스 컴퓨팅 환경 400의 작용을 구현하기 위한 다양한 방법은 심사숙고된다. 예를 들어서, 복수의 암호키 서버 402는 독립 스타일에서 작동할 수 있으며, 독립적인 스타일에 서비스를 제공할 수 있다. 선택적으로, 특별한 암호키 서버 402는 미리 결정된 부하 균형 스킴에 기초한 다른 암호키 서버에 어플리케이션 서버에서 모든 요청을 지시하는 모든 서비스의 관리자로써 행동할 수 있다.Various methods for implementing the operation of the distributed cryptographic services computing environment 400 are contemplated. For example, the plurality of cryptographic key servers 402 can operate in a standalone style and can provide services in a standalone style. Optionally, the special cryptographic key server 402 can act as an administrator of all services that direct all requests from the application server to other cryptographic key servers based on a predetermined load balancing scheme.
도 8은 네트워크 암호키 서비스를 제공하는 네트워크 보안 장치의 시스템 구조의 블록도이다. 시스템 구조는 복수의 클라이언트 502와 인터넷과 같은 광대역 네트워크 504, 네트워크 보안 장치 506, 어플리케이션 서버 508을 포함한다. 네트워크 보안 장치 506의 제외하고, 모든 도 8의 요소는 상기 도 1 내지 도7에서 설명한 것에 의해서 충분히 이해될 수 있을 것이다.8 is a block diagram of a system structure of a network security device that provides a network cryptographic key service. The system architecture includes a plurality of clients 502 and a broadband network 504 such as the Internet, a network security device 506, and an application server 508. Except for the network security device 506, all of the elements of FIG. 8 will be fully understood by what has been described in FIGS.
네트워크 보안 장치 506은 물리적으로 어플리케이션 서버 508과 네트워크 504사이에 위치한다. 이전의 기술들은 네트워크 보안 장치 및 그들의 일반적인 작동에 익숙할 것이다. 네트워크 보안 장치 506에 의해 제공되는 몇몇 서비스들은 클라이언트 502와 어플리케이션 서버 508사이에서 보안전송을 포함하고, 어플리케이션 서버 508에 억압을 감소하고 유저, SSL ,TLS가속, 투명 암호 서비스, 클라이언트 인증 등을 향상시키는 보안 캐시를 포함한다. 도 8의 실시예에 따라서, 네트워크 보안 서버 506은 어플리케이션 서버 508에 암호키 서비스를 더 제공한다. 네트워크 보안 장치 506은 도 2의 암호키 서버 54에 관련된 상기 묘사된 소프트웨어 구조를 가진다. 이와 같이, 네트워크 보안 장치는 도 3의 암호키 서버에 관련된 상기에서 묘사된 바와 같이 하드웨어 구조 100을 가진다. 상기 도 4내지 도6에서 묘사된 방법은 네트워크 보안 장치와 어플리케이션 서버 508의 작동에 적용된다.The network security device 506 is physically located between the application server 508 and the network 504. Previous techniques will be familiar with network security devices and their general operation. Some services provided by the network security device 506 include secure transport between the client 502 and the application server 508, reducing oppression on the application server 508 and improving user, SSL, TLS acceleration, transparent cryptographic services, client authentication, and so on. Contains a secure cache. According to the embodiment of FIG. 8, the network security server 506 further provides cryptographic key services to the application server 508. Network security device 506 has the depicted software structure related to cryptographic key server 54 of FIG. As such, the network security device has a hardware architecture 100 as depicted above with respect to the cryptographic key server of FIG. 3. The method depicted in FIGS. 4-6 above applies to the operation of the network security device and the application server 508.
도 9는 네트워크 구조를 도시한 것으로써, 복수의 클라이언트, 인터넷과 같은 광역 네트워크, 투명 암호 장치 606, 복수의 어플리케이션 서버 608, 지역 네트워크 610, 적어도 하나의 암호키 서버 612, 적어도 두개 이상의 네트워크 데이터베이스 614, 및 복수의 백-엔드 서버 616을 포함한다. 관련 특허 장치에서 묘사된 바와 같이, 투명 암호 장치 606은 네트워크 604를 경유하여 사이트에 인입되는 모든 요청을 검사하기 위해 구성되고, 인스톨된 개인키 120의 하나를 사용하는 민감 데이터를 부호화한다. 투명 암호 장치 606과 암호키 서버 612는 그룹키를 분배하는 TE어플리케이션의 미리 정의된 그룹멤버와 같은 개인키 120에 로드된다. 다중 어플리케이션 서버 608은 지역 네트워크 610을 경유하여 백-엔드 서버 616으로써 암호키 서버 612에서 암호 서비스를 요청할 수 있다.9 illustrates a network structure, in which a plurality of clients, a wide area network such as the Internet, a transparent cryptographic device 606, a plurality of application servers 608, a local network 610, at least one cryptographic key server 612, and at least two or more network databases 614 are shown. , And a plurality of back-end servers 616. As depicted in the associated patented device, the transparent cryptographic device 606 is configured to inspect all requests entering the site via the network 604 and encodes sensitive data using one of the installed private keys 120. The transparent cryptographic device 606 and cryptographic key server 612 are loaded into a private key 120, such as a predefined group member of the TE application that distributes the group key. Multiple application server 608 may request cryptographic services from cryptographic key server 612 as back-end server 616 via local area network 610.
도해하기 위해서, 인터넷 상의 재정 단체를 가지는 클라이언트 602 레지스터를 가정한다. 이러한 예에서, 어플리케이션 서버 608은 웹 서버이고, 클라이언트 602는 보안 세션을 경유하여 네트워크 604상에 웹서버 608에 신용 카드 넘버를 제공한다. TE장치 606은 신용카드 넘버가 민감한 정보이고, 인스톨된 개인 키120의 하나를 사용하는 이러한 데이터를 부호화하여, 웹 서버 608은 명확하게 민감한 정보를 관리하지 않는다. 유사하게, 신용카드 넘버는 부호화된 형태로 네트워크 데이터베이스 614에 저장된다. 백-엔드 서버 616은 계정 정보를 검색하기 위해서 모든 클라이언트 신용 카드 넘버에 접근하기 위하여 필요하다. 이러한 예로써, 밴-엔드 서버 616은 클라이언트 신용카드 넘버에 접근하기 위해 인증하고, 그 결과로 암호키 서버는 612는 요청되는 것처럼 신용카드 넘버를 암호화한다.To illustrate, assume a client 602 register with financial institutions on the Internet. In this example, the application server 608 is a web server and the client 602 provides a credit card number to the web server 608 on the network 604 via a secure session. The TE device 606 encodes such data using one of the installed private keys 120, the credit card number being sensitive information, so that the web server 608 does not clearly manage the sensitive information. Similarly, the credit card number is stored in network database 614 in encoded form. Back-end server 616 is needed to access all client credit card numbers in order to retrieve account information. As an example, the van-end server 616 authenticates to access the client credit card number, and as a result, the encryption key server encrypts the credit card number as 612 is requested.
지금까지 구성과 의논은 간결하고, 본 발명이 구현될 수 있는 관점에서 적당한 컴퓨팅 환경의 일반적인 묘사로 제공된다. 요구되어 지지는 않지만, 본 발명의 실시예는 일반적인 목적의 컴퓨터(서버, 또는 개인용 컴퓨터)에 의해 수행되는 루틴으로써 컴퓨터 실행가능한 지시의 일반적인 문맥으로 묘사된다. 관련된 종래 기술은 발명의 관점이 인터넷 기구, 손으로 이동 가능한 장치, 입는 것이 가능한 컴퓨터, 셀룰러 또는 모바일폰, 멀티-프로세서 컴퓨터, 마이크로프로세서 기반 혹은 프로그램 소비자 전기기계, 셋톱박스, 네트워크 PCs, 미니컴퓨터, 메인프레임 컴퓨터를 포함하는 다른 컴퓨터 시스템 구성에 실용적이다. The configuration and discussion so far have been concise and provided as a general depiction of a suitable computing environment in terms of which the invention may be implemented. Although not required, embodiments of the invention are depicted in the general context of computer-executable instructions as routines performed by a general purpose computer (server, or personal computer). Related prior art is directed to aspects of the invention such as Internet appliances, handheld devices, wearable computers, cellular or mobile phones, multi-processor computers, microprocessor-based or program consumer electric machines, set-top boxes, network PCs, minicomputers, It is practical for other computer system configurations, including mainframe computers.
본 발명의 관점은 이하에서 설명되는 적어도 하나 이상의 컴퓨터로 실행 가능한 지시자를 수행하기 위한 특별히 프로그램화되고, 구성되고, 구조화된 데이터 프로세서 혹은 특별 목적 컴퓨터에서 구현된다. 사실, 일반적으로 여기에서 "컴퓨터"라는 단어는 상기 장치뿐만 아니라 어떠한 데이타 프로세스를 참조한다. 게다가, 여기에서 사용된 "프로세스"라는 용어는 적어도 하나이상의 중앙처리장치(CPU), 디지털 신호 프로세서(DSP), ASIC을 참조하기 위하여 사용된다. Aspects of the present invention are implemented in a specially programmed, constructed, structured data processor or special purpose computer for performing indicators executable by at least one computer described below. In fact, in general, the word "computer" herein refers to any data process as well as the device. In addition, the term "process" as used herein is used to refer to at least one central processing unit (CPU), digital signal processor (DSP), ASIC.
이전의 명세서에서, 본 발명의 실시예는 구현에서 구현으로 다양화하는 수개의 특별한 항목을 참조하면서 묘사된다. 이와 같이, 본 발명의 출원인에 의해 의도된 유일하고 배척적인 지시자는 어떠한 연속적인 수정을 포함하여 그러한 클레임이 이슈된 특별한 형태에서, 이러한 명세서에서 이슈된 클레임의 셋이다. 그러한 클레임에 포함된 용어를 위해 여기에서 표시된 표현정의는 클레임에 사용된 것처럼 그러한 용어의 의미를 지배한다. 그러므로, 클레임에 명백하게 열거하지 않은 이익 또는 특성, 특성, 속성, 요소, 무제한은 어떠한 방법으로 그러한 클레임의 범위에 제한된다. 따라서, 명세서와 도면은 제한된 감각보다는 도시된 것으로 간주된다.In the foregoing specification, embodiments of the present invention are described with reference to several specific items that vary from implementation to implementation. As such, the only destructive indicator intended by the applicant of the present invention is the set of claims issued in this specification, in the particular form in which such claims are issued, including any subsequent modification. The expression definitions indicated herein for the terms contained in such claims govern the meaning of those terms as used in the claims. Therefore, benefits or features, properties, attributes, elements, and indefinite limitations not expressly listed in a claim are limited in some way to the scope of such claim. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
여기에서 언급된 모든 레퍼런스와 미국특허 및 어플리케이션은 참조에 의해서 구체화된다. 본 발명의 관점은 본 발명의 다른 실시예를 제공하기 위하여 묘사된 다양한 특허 및 어플리케이션의 시스템, 기능 및 개념을 사용하게 위하여 가능하다면 변경할 수 있다. 이것과 다른 변경은 상세한 묘사의 견지에서 본 발명을 생성할 수 있다.All references and U.S. patents and applications mentioned herein are incorporated by reference. Aspects of the invention may be modified if possible to make use of the systems, functions, and concepts of the various patents and applications depicted to provide other embodiments of the invention. These and other changes may produce the invention in light of the detailed description.
본 발명의 어떠한 관점이 어떠한 클레임 형태에 이하 제공되는 동안, 본 발명자는 클레임 형태의 어떠한 숫자에서 다양한 발명의 관점을 심사숙고한다. 예를 들어서, 본 발명의 하나의 관점이 컴퓨터로 읽을 수 있는 매체로 구현가능 하면, 다른 관점은 컴퓨터로 일기 가능한 메체에서 구현될 것이다. 따라서, 본 발명자는 본 발명의 다른 관점을 위해서 부가되는 클레임 폼을 추구하기 위해 어플리케이션을 출원한 후 부가되는 클레임을 추가할 수 있는 권리를 보존한다.While any aspect of the present invention is provided below in any claim form, the inventor contemplates various aspects of the invention in any number of claim forms. For example, if one aspect of the invention is embodied in a computer readable medium, the other aspect will be embodied in a computer readable medium. Accordingly, the inventor preserves the right to add the added claim after filing the application in order to pursue the added claim form for another aspect of the present invention.
Claims (53)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39568502P | 2002-07-12 | 2002-07-12 | |
US60/395,685 | 2002-07-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050026478A true KR20050026478A (en) | 2005-03-15 |
Family
ID=30115910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057000614A KR20050026478A (en) | 2002-07-12 | 2003-07-11 | Network attached encryption |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1540628A4 (en) |
JP (1) | JP2005533438A (en) |
KR (1) | KR20050026478A (en) |
CN (1) | CN1679066B (en) |
AU (1) | AU2003251853A1 (en) |
WO (1) | WO2004008676A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101008896B1 (en) * | 2009-04-16 | 2011-01-17 | 동서대학교산학협력단 | Secure Data Transmission for ATA-based Virtual Storage System |
KR101693249B1 (en) * | 2015-09-08 | 2017-01-06 | 충북대학교 산학협력단 | System and method for managing application |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4961798B2 (en) * | 2005-05-20 | 2012-06-27 | 株式会社日立製作所 | Encrypted communication method and system |
CN101141251B (en) * | 2006-09-08 | 2012-05-23 | 华为技术有限公司 | Method, system and equipment of message encryption signature in communication system |
US20080178010A1 (en) | 2007-01-18 | 2008-07-24 | Vaterlaus Robert K | Cryptographic web service |
US9118665B2 (en) | 2007-04-18 | 2015-08-25 | Imation Corp. | Authentication system and method |
JP4902633B2 (en) * | 2008-12-17 | 2012-03-21 | 日本電信電話株式会社 | Web system and request processing method |
JP2012064995A (en) | 2010-09-14 | 2012-03-29 | Hitachi Ltd | Cryptographic device management method, cryptographic device management server, program, and storage medium |
US9197407B2 (en) | 2011-07-19 | 2015-11-24 | Cyberlink Corp. | Method and system for providing secret-less application framework |
WO2013101731A1 (en) * | 2011-12-29 | 2013-07-04 | Imation Corp. | Cloud-based hardware security modules |
US9590959B2 (en) * | 2013-02-12 | 2017-03-07 | Amazon Technologies, Inc. | Data security service |
US10084818B1 (en) | 2012-06-07 | 2018-09-25 | Amazon Technologies, Inc. | Flexibly configurable data modification services |
US9286491B2 (en) | 2012-06-07 | 2016-03-15 | Amazon Technologies, Inc. | Virtual service provider zones |
US10075471B2 (en) | 2012-06-07 | 2018-09-11 | Amazon Technologies, Inc. | Data loss prevention techniques |
US9705674B2 (en) | 2013-02-12 | 2017-07-11 | Amazon Technologies, Inc. | Federated key management |
US9300464B1 (en) | 2013-02-12 | 2016-03-29 | Amazon Technologies, Inc. | Probabilistic key rotation |
US9367697B1 (en) | 2013-02-12 | 2016-06-14 | Amazon Technologies, Inc. | Data security with a security module |
US10211977B1 (en) | 2013-02-12 | 2019-02-19 | Amazon Technologies, Inc. | Secure management of information using a security module |
US10467422B1 (en) | 2013-02-12 | 2019-11-05 | Amazon Technologies, Inc. | Automatic key rotation |
US10210341B2 (en) | 2013-02-12 | 2019-02-19 | Amazon Technologies, Inc. | Delayed data access |
US9608813B1 (en) | 2013-06-13 | 2017-03-28 | Amazon Technologies, Inc. | Key rotation techniques |
CN105409159B (en) * | 2013-07-18 | 2019-09-06 | 日本电信电话株式会社 | Key storage appts, key keeping method and its recording medium |
US9992190B2 (en) * | 2013-08-22 | 2018-06-05 | Nippon Telegraph And Telephone Corporation | Multi-party secure authentication system, authentication server, intermediate server, multi-party secure authentication method, and program |
CN103532964B (en) * | 2013-10-22 | 2016-09-07 | 邱文乔 | A kind of method verifying TCP connection safety |
CN104717195A (en) * | 2013-12-17 | 2015-06-17 | 中国移动通信集团福建有限公司 | Service system password management method and device |
JP6287282B2 (en) * | 2014-02-04 | 2018-03-07 | 日本電気株式会社 | Information processing apparatus, information processing method, information processing system, and computer program |
CN103916233B (en) * | 2014-03-28 | 2018-05-29 | 小米科技有限责任公司 | A kind of information ciphering method and device |
US9397835B1 (en) | 2014-05-21 | 2016-07-19 | Amazon Technologies, Inc. | Web of trust management in a distributed system |
US9438421B1 (en) | 2014-06-27 | 2016-09-06 | Amazon Technologies, Inc. | Supporting a fixed transaction rate with a variably-backed logical cryptographic key |
JP6792133B2 (en) * | 2014-08-07 | 2020-11-25 | キヤノンマーケティングジャパン株式会社 | Server and its processing method and program |
US9866392B1 (en) | 2014-09-15 | 2018-01-09 | Amazon Technologies, Inc. | Distributed system web of trust provisioning |
CN105991622A (en) * | 2015-03-05 | 2016-10-05 | 阿里巴巴集团控股有限公司 | Message authentication method and device |
CN106157028B (en) * | 2015-04-15 | 2021-03-26 | 航天信息股份有限公司 | Financial IC card multi-time card issuing system and method based on trusted platform |
KR101610182B1 (en) | 2015-06-18 | 2016-04-08 | (주)가바플러스 | Client terminal security apparatus and method of remote learning data service system |
CN105516083A (en) * | 2015-11-25 | 2016-04-20 | 上海华为技术有限公司 | Data security management method, apparatus, and system |
CN105704148A (en) * | 2016-03-24 | 2016-06-22 | 广州三星通信技术研究有限公司 | Method and equipment for security information transmission |
CN106027646B (en) * | 2016-05-19 | 2019-06-21 | 北京云钥网络科技有限公司 | A kind of method and device accelerating HTTPS |
EP3382612A1 (en) * | 2017-03-31 | 2018-10-03 | Siemens Aktiengesellschaft | Processes for computer support of safety-protected satellite navigation systems |
CN109005187A (en) * | 2018-08-21 | 2018-12-14 | 广州飞硕信息科技股份有限公司 | A kind of communication information guard method and device |
CN110912852B (en) * | 2018-09-14 | 2022-04-08 | 阿里巴巴集团控股有限公司 | Method, device and system for obtaining secret key, storage medium and computer terminal |
JP7041650B2 (en) * | 2019-07-31 | 2022-03-24 | 株式会社Sbi Bits | System for recreating private keys |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07170280A (en) * | 1993-12-15 | 1995-07-04 | Ricoh Co Ltd | Local area network |
US5828832A (en) * | 1996-07-30 | 1998-10-27 | Itt Industries, Inc. | Mixed enclave operation in a computer network with multi-level network security |
US6397330B1 (en) * | 1997-06-30 | 2002-05-28 | Taher Elgamal | Cryptographic policy filters and policy control method and apparatus |
JPH1188321A (en) * | 1997-09-02 | 1999-03-30 | Kiyadeitsukusu:Kk | Digital signature generation server |
US6202157B1 (en) * | 1997-12-08 | 2001-03-13 | Entrust Technologies Limited | Computer network security system and method having unilateral enforceable security policy provision |
US6073242A (en) * | 1998-03-19 | 2000-06-06 | Agorics, Inc. | Electronic authority server |
US6484259B1 (en) * | 1999-07-23 | 2002-11-19 | Microsoft Corporation | Methods and arrangements for mapping widely disparate portable tokens to a static machine concentric cryptographic environment |
DE60040612D1 (en) * | 1999-11-10 | 2008-12-04 | Unisys Corp | DANISH AND FLEXIBLE SERVICES |
US7373656B2 (en) * | 2000-10-27 | 2008-05-13 | Sandisk Il Ltd. | Automatic configuration for portable devices |
-
2003
- 2003-07-11 KR KR1020057000614A patent/KR20050026478A/en not_active Application Discontinuation
- 2003-07-11 CN CN038165589A patent/CN1679066B/en not_active Expired - Fee Related
- 2003-07-11 WO PCT/US2003/021695 patent/WO2004008676A2/en active Application Filing
- 2003-07-11 EP EP03764490A patent/EP1540628A4/en not_active Withdrawn
- 2003-07-11 AU AU2003251853A patent/AU2003251853A1/en not_active Abandoned
- 2003-07-11 JP JP2004521666A patent/JP2005533438A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101008896B1 (en) * | 2009-04-16 | 2011-01-17 | 동서대학교산학협력단 | Secure Data Transmission for ATA-based Virtual Storage System |
KR101693249B1 (en) * | 2015-09-08 | 2017-01-06 | 충북대학교 산학협력단 | System and method for managing application |
Also Published As
Publication number | Publication date |
---|---|
EP1540628A2 (en) | 2005-06-15 |
AU2003251853A1 (en) | 2004-02-02 |
CN1679066B (en) | 2011-08-31 |
JP2005533438A (en) | 2005-11-04 |
WO2004008676A3 (en) | 2004-04-01 |
WO2004008676A2 (en) | 2004-01-22 |
CN1679066A (en) | 2005-10-05 |
AU2003251853A8 (en) | 2004-02-02 |
EP1540628A4 (en) | 2010-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20050026478A (en) | Network attached encryption | |
US20060149962A1 (en) | Network attached encryption | |
CA3058236C (en) | Retrieving public data for blockchain networks using highly available trusted execution environments | |
US8626929B2 (en) | Scalable session management using an encrypted session key | |
US10110579B2 (en) | Stateless and secure authentication | |
US9530011B2 (en) | Method and system for provision of cryptographic services | |
EP1714422B1 (en) | Establishing a secure context for communicating messages between computer systems | |
US8719572B2 (en) | System and method for managing authentication cookie encryption keys | |
US6834112B1 (en) | Secure distribution of private keys to multiple clients | |
US9137017B2 (en) | Key recovery mechanism | |
TW202036345A (en) | Program execution and data proof scheme using multiple key pair signatures | |
US11675922B2 (en) | Secure storage of and access to files through a web application | |
US20060117015A1 (en) | Systems and methods for state-less authentication | |
US20080263644A1 (en) | Federated authorization for distributed computing | |
WO2002084938A2 (en) | Controlled distribution of application code and content data within a computer network | |
CN112005522A (en) | Cloud-based key management | |
CN104283880A (en) | Systems and methods for secure workgroup management and communication | |
CN110489996B (en) | Database data security management method and system | |
WO2008089276A2 (en) | Cryptographic web service | |
Koved et al. | Security challenges for Enterprise Java in an e-business environment | |
CN114244508B (en) | Data encryption method, device, equipment and storage medium | |
US9053297B1 (en) | Filtering communications | |
CN116210199A (en) | Data management and encryption in a distributed computing system | |
CA3172049A1 (en) | Exporting remote cryptographic keys | |
CN115529139A (en) | Object serialization-based online software encryption authorization system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |