KR20050026478A - Network attached encryption - Google Patents

Network attached encryption Download PDF

Info

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
Application number
KR1020057000614A
Other languages
Korean (ko)
Inventor
토마스 파운턴
앨란 프린델
Original Assignee
인그리안 네트웍스, 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인그리안 네트웍스, 인코퍼레이티드 filed Critical 인그리안 네트웍스, 인코퍼레이티드
Publication of KR20050026478A publication Critical patent/KR20050026478A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C3/00Typewriters for ciphering or deciphering cryptographic text
    • G09C3/04Typewriters 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/08Typewriters 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Abstract

A method and apparatus are provided for managing cryptographic keys and performing cryptographic services within server or other computing environments. An appliance functions as a cryptographic key server (16) to secure cryptographic keys and provide cryptographic operations as a network service.

Description

암호화된 네트워크{Network Attached Encryption} Network Attached Encryption

본 발명은 데이터 보안 분야에 관한 것으로, 특히 암호화된 네트워크 서비스 및 네트워크 환경에 보안 암호키를 제공하는 것에 관한 것이다.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)

네트워크를 경유하여 암호키 서버에 결합된 원거리 장치에 암호 서비스를 제공하기 위한 암호키 서버에 있어서,An encryption key server for providing a cryptographic service to a remote device coupled to an encryption key server via a network, 상기 암호키 서버는 상기 암호키 서버상에서 실행되는 보안 네트워크 인터페이스 엔진, 상기 보안 네트워크 인터페이스 엔진은 The cryptographic key server is a secure network interface engine running on the cryptographic key server. 적어도 하나의 원거리 장치와 함께 보안 네트워크 통신 채널을 개설할 수 있고;Establish a secure network communication channel with at least one remote device; 상기 적어도 하나의 원거리 장치에서 수신된 보안된 암호 서비스 요청을 언마셜(unmarshal) 할 수 있으며, Unmarshal a secure cryptographic service request received at the at least one remote device, 상기 적어도 하나의 원거리 장치로 보안 암호 서비스 응답을 마셜(marshal)하고 전송할 수 있고;Marshal and send a secure cryptographic service response to the at least one remote device; 상기 암호키 서버상에서 수행되는 암호 서비스 엔진, 상기 보안 네트워크 인터페이스 엔진과 양-방향 통신에 구비되는 상기 암호 서비스 엔진, 상기 보안 네트워크 인터페이스 엔진을 경유하여 적어도 하나의 원거리 장치에 의해 요청되는 암호 서비스를 공급할 수 있는 암호 서비스 엔진을 포함하는 것을 특징으로 하는 암호키 서버.Provide a cryptographic service requested by at least one remote device via a cryptographic service engine performed on the cryptographic key server, the cryptographic service engine provided for bi-directional communication with the secure network interface engine, and the secure network interface engine. An encryption key server comprising a cryptographic service engine. 제 1항에 있어서, 상기 적어도 하나의 장치는 어플리케이션 서버인 것을 특징으로 하는 암호키 서버.The cryptographic key server of claim 1, wherein the at least one device is an application server. 제 1항에 있어서 상기 보안 네트워크 인터페이스 엔진은 상기 보안 네트워크 통신 채널이 보안 소켓 레이어(SSL) 포로토콜에 따라 개설되는 것과 같이 배열되는 것을 특징으로 하는 암호키 서버.2. The cryptographic key server of claim 1, wherein the secure network interface engine is arranged as the secure network communication channel is established in accordance with a secure socket layer (SSL) protocol. 제 1항에 있어서, 상기 네트워크 인터페이스 엔진은 상기 보안 네트워크 통신 채널이 전송 레이어 보안(TLS) 프로토콜에 따라 개설되는 것과 같이 배열되는 것을 특징으로 하는 암호키 서버.2. The cryptographic key server of claim 1, wherein the network interface engine is arranged such that the secure network communication channel is established in accordance with a transport layer security (TLS) protocol. 제 1항에 있어서, 상기 보안 네트워크 인터페이스 엔진은 보안 소켓 레이어(SSL) 프로토콜과 전송 레이어 보안(TLS) 프로토콜을 포함한 다중 통신 프로토콜을 지원하고, 상기 네트워크 인터페이스 엔진은 상기 적어도 하나의 장치에 의해 선택되는 프로토콜에 따라서 상기 보안 네트워크 통신 채널을 개설하기 위한 상기 적어도 하나의 장치에 응답하는 것을 특징으로 하는 보안 키 서버.10. The system of claim 1, wherein the secure network interface engine supports multiple communication protocols including a secure socket layer (SSL) protocol and a transport layer security (TLS) protocol, wherein the network interface engine is selected by the at least one device. And respond to the at least one device for establishing the secure network communication channel in accordance with a protocol. 제 1항에 있어서, 상기 보안 서비스 엔진과 상기 보안 네트워크 인터페이스엔진은 상기 보안 키 서버에서 실행되는 단일 프로세스의 요소인 것을 특징으로 하는 보안 키 서버.2. The security key server of claim 1, wherein the security service engine and the security network interface engine are elements of a single process running on the security key server. 제 1항에 있어서, 상기 보안 서비스 엔진은 암호화와 복호화 기능을 수행할 수 있는 것을 특징으로 하는 보안 키 서버.The security key server of claim 1, wherein the security service engine is capable of performing encryption and decryption functions. 제 7항에 있어서, 상기 암호화 및 복호화 기능은 The method of claim 7, wherein the encryption and decryption function 대칭 블록 암호;Symmetric block ciphers; 일반 암호 모드;Normal password mode; 스트림 암호 모드;Stream cipher mode; 공개-키 암호화;Public-key cryptography; 공개-키 시스템을 위한 패딩 스킴;Padding scheme for public-key system; 키 배열 스킴;Key array scheme; 타원 곡선 암호화;Elliptic curve encryption; 단 방향 해쉬 기능;One-way hash function; 메시지 인증 코드;Message authentication code; 해쉬 기능에 기초한 암호 구조;Cryptographic structure based on hash function; 가상 랜덤 수 생성;Virtual random number generation; 키 도출 기능에 근거한 암호;Cryptography 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)압축/해제; compression / decompression of DEFLATE (RFC 1951), which supports gzip (RFC 1952) and zlib format (RFC 1950); 고속 자중 정밀 정수(bignum) 및 다항식 연산;Fast self-weight precision bignum and polynomial operations; GF(p)와 GF("2") 및 프라임 수 생성 및 인증을 포함하는 유한 필드 연산; 및Finite field operations including GF (p) and GF ("2") and prime number generation and authentication; And 프라임 수 생성 및 인증을 포함하는 것을 특징으로 하는 암호키 서버.A cryptographic key server comprising prime number generation and authentication. 제 7항에 있어서, 상기 암호화 및 복호화 기능은 The method of claim 7, wherein the encryption and decryption function DES, 3DES, AES, RSA, DSA, ECC, RC6, MARS, Twofish, Serpent, CAST-256, DESX, RC2, RC5, Blowfish, Diamond2, TEA, SAFER, 3-WAY, Gost, SHARK, CAST-128, Square, Shipjack, ECB, CBC, CTS, CFB, OFB, counter mode(CTR), Panama, ARC4, SEAL, WAKE, Wake-OFB, BlumBlumshub, ElGamal, Nyberg-Rueppel(NR), Rabin, Rabin-Williams(RW), LUC, LUCELG, DLIES(variants of DHAES), ESIGN padding schemes for public-key system:PKCS#1 v2.0, OAEP, PSSR, IEE P1363 EMSA2, Diffie-Hellman(DH), Unified Diffie-Hellman(DH2), Menezes-Qu-Vanstone(MQV), LUCDIF, XTR-DH, ECDSA, ECNR, ECIES, ECDH, ECMQV, SHA1, MD2, MD4, MD5, HAVAL, RIPEMD-160, Tiger, SHA-2(SHA-256, SHA-384, 및 SHA-512), Panama, MD5-MAC, HMAC, XOR-MAC, CBC-MAC, DMAC, Luby-Packoff, MDC, ANSI X9.17 appendix C, PGP's RandPool, PBKDF1, PBKDSF2 from PKCS #5 를 포함하는 것을 특징으로 하는 보안 키 서버.DES, 3DES, AES, RSA, DSA, ECC, RC6, MARS, Twofish, Serpent, CAST-256, DESX, RC2, RC5, Blowfish, Diamond2, TEA, SAFER, 3-WAY, Gost, SHARK, CAST-128, Square, Shipjack, ECB, CBC, CTS, CFB, OFB, counter mode (CTR), Panama, ARC4, SEAL, WAKE, Wake-OFB, BlumBlumshub, ElGamal, Nyberg-Rueppel (NR), Rabin, Rabin-Williams (RW ), LUC, LUCELG, variants of DHAES (DLIES), ESIGN padding schemes for public-key system: PKCS # 1 v2.0, OAEP, PSSR, IEE P1363 EMSA2, Diffie-Hellman (DH), Unified Diffie-Hellman (DH2 ), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH, ECDSA, ECNR, ECIES, ECDH, ECMQV, SHA1, MD2, MD4, MD5, HAVAL, RIPEMD-160, Tiger, SHA-2 (SHA-256) , SHA-384, and SHA-512), Panama, MD5-MAC, HMAC, XOR-MAC, CBC-MAC, DMAC, Luby-Packoff, MDC, ANSI X9.17 appendix C, PGP's RandPool, PBKDF1, PBKDSF2 from PKCS A security key server comprising # 5. 제 1항에 있어서, 상기 보안 서비스 엔진은 서명 및 인증 기능을 수행할 수 있는 것을 특징으로 하는 보안 키 서버.The security key server of claim 1, wherein the security service engine is capable of performing a signature and authentication function. 제 10항에 있어서, 상기 서명 및 인증 기능은 RSA 및 DSA를 포함하는 것을 특징으로 하는 보안 키 서버.12. The security key server of claim 10, wherein the signing and authentication function comprises an RSA and a DSA. 제 1항에 있어서, 상기 암호 서비스 엔진은 해쉬(hash)연산을 수행할 수 있는 것을 특징으로 하는 보안 키 서버.2. The security key server of claim 1, wherein the cryptographic service engine is capable of performing a hash operation. 제 10항에 있어서, 상기 해쉬 연산은 SHA-1이 동반되는 HMAC를 포함하는 것을 특징으로 하는 보안 키 서버.11. The secure key server of claim 10, wherein the hash operation comprises an HMAC accompanied by SHA-1. 제 1항에 있어서, 상기 암호 서비스 엔진은 상기 암호 서비스의 수행하는 상태에 따라서 암호 서비스를 위한 요구의 허가를 결정하고 인증할 수 있는 것을 특징으로 하는 보안 키 서버.2. The security key server of claim 1, wherein the cryptographic service engine is capable of determining and authenticating authorization of a request for a cryptographic service in accordance with the performing state of the cryptographic service. 제 14항에 있어서, 상기 암호 서비스를 위한 요구의 인증은 적어도 다음을 포함하는 하나이상의 셋의 식별번호를 확인하는 것을 특징으로 하는 보안 키 서버.15. The security key server of claim 14, wherein the authentication of the request for cryptographic services identifies at least one set of identification numbers comprising at least: 암호 서비스를 위한 요청을 하는 클라이언트; A client making a request for cryptographic services; 암호 서비스를 위한 상기 클라이언트의 요구한 상기 적어도 하나의 원거리 장치; Said at least one remote device requested by said client for cryptographic services; 상기 적어도 하나의 원거리 장치 상에서 수행되는 함수 또는 프로그램.A function or program executed on the at least one remote device. 제 14항에 있어서, 암호 서비스를 위한 요구의 인증을 결정하는 것은 다음을 포함하는 적어도 하나 이상의 허락된 인증 특권을 포함하는 것을 특징으로 하는 암호키 서버.15. The cryptographic key server of claim 14, wherein determining the authentication of the request for cryptographic services includes at least one or more authorized authentication privileges, including: 암호 서비스를 요청하는 클라이언트;A client requesting cryptographic services; 상기 클라이언트가 암호 서비스를 요청한 적어도 하나의 원거리 장치;At least one remote device from which the client requests cryptographic services; 상기 원거리 장치에서 수행되는 함수 또는 프로그램.A function or program executed on the remote device. 제 16항에 있어서, 암호 서비스를 위해 인증 요청을 결정하는 동작은 상기 암호 서비스를 위한 요청이 암호 서비스를 위한 상기 요청과 관련된 요청자의 특권안에 존재하는지 여부를 판단하는 것을 더 포함하는 것을 특징으로 하는 암호키 서버.17. The method of claim 16, wherein determining the authentication request for cryptographic services further comprises determining whether the request for cryptographic services is present in the requestor's privileges associated with the request for cryptographic services. Encryption key server. 제 1항에 있어서, 상기 암호 서비스 엔진은 암호 서비스를 위한 요청을 추적할 수 있는 것을 특징으로 하는 암호키 서버.2. The cryptographic key server of claim 1, wherein the cryptographic service engine is capable of tracking requests for cryptographic services. 제 1항에 있어서, 상기 암호키 서버는 암호 서비스를 수행하는 상기 암호 서비스 엔진에 의해 사용되는 개인 키를 공급할 수 있는 개인 키 엔진을 더 포함하는 것을 특징으로 하는 암호키 서버.2. The cryptographic key server of claim 1, wherein the cryptographic key server further comprises a private key engine capable of supplying a private key used by the cryptographic service engine to perform cryptographic services. 제 1항에 있어서, 상기 암호키 서버는 네트워크 보안 장치인 것을 특징으로 하는 암호키 서버.The encryption key server of claim 1, wherein the encryption key server is a network security device. 제 1항에 있어서, 상기 암호키 서버는 상기 암호 서비스 엔진과 상기 보안 네트워크 인터페이스 엔진을 제공하는 컴퓨터 하드웨어 구조를 가지고, 상기 컴퓨터 하드웨어 구조는 The computer hardware structure of claim 1, wherein the cryptographic key server has a computer hardware structure for providing the cryptographic service engine and the secure network interface engine. 데이터 버스;Data bus; 상기 데이터 버스와 양 방향으로 결합된 중앙처리장치;A central processing unit coupled to the data bus in both directions; 상기 데이터 버스와 양방향으로 결합된 영구저장장치;A permanent storage device coupled to the data bus in both directions; 상기 데이터 버스와 양방향으로 결합된 일지저장장치;A journal storage device coupled to the data bus in both directions; 상기 데이터 버스와 양방향으로 결합된 네트워크 입출력 장치;A network input / output device coupled to the data bus in both directions; 상기 데이터 버스와 양방향으로 결합된 암호화 가속 카드;An encryption accelerator card coupled in both directions with the data bus; 상기 데이터 버스와 양 방향으로 결합되고 개인 키를 저장하기 위한 하드웨어 보안 모듈; 및A hardware security module coupled in both directions with the data bus and storing a private key; And 스마트 카드 인터페이스를 포함하는 것을 특징으로 하는 암호키 서버.An encryption key server comprising a smart card interface. 제 21항에 있어서, 상기 하드웨어 보안 모듈은 탬퍼 레지스턴트(tamper resistant)장치인 것을 특징으로 하는 암호키 서버.22. The cryptographic key server of claim 21, wherein the hardware security module is a tamper resistant device. 제 21항에 있어서, 상기 개인 키는 상기 하드웨어 보안 모듈로 로드되고 암호화된 포맷으로 저장되는 것을 특징으로 하는 암호키 서버.22. The cryptographic key server of claim 21, wherein the private key is loaded into the hardware security module and stored in an encrypted format. 제 21항에 있어서, 상기 개인 키는 상기 암호화된 개인 키를 저장한 스마트 카드를 경유하여 상기 하드웨어 보안 모듈에 로드되는 것을 특징으로 하는 암호키 서버.22. The cryptographic key server as claimed in claim 21, wherein the private key is loaded into the hardware security module via a smart card storing the encrypted private key. 제 24항에 있어서, 상기 암호키 서버는 상기 개인키가 k 스마트 카드가 삽입된 이후에 상기 암호키 서버에 의해 유일하게 접근되는 방법에 의하는 k-out-of n 비밀 분배를 제공하는 것을 특징으로 하는 암호키 서버.25. The method of claim 24, wherein the cryptographic key server provides k-out-of n secret distribution in a manner that the private key is uniquely accessed by the cryptographic key server after a k smart card is inserted. Encryption key server. 네트워크를 경유하여 암호키 서버에 결합된 원거리 장치에 암호 서비스를 제공하기 위한 암호키 서버에 있어서,An encryption key server for providing a cryptographic service to a remote device coupled to an encryption key server via a network, 데이터 버스와 양 방향 결합된 암호 가속기;A cryptographic accelerator coupled to the data bus in both directions; 스마트 카드 인터페이스 장치;Smart card interface devices; 상기 데이터 버스와 양방향 결합되고 데이터 보안을 위해 적합한 하드웨어 보안 모듈을 포함하고,A hardware security module coupled to said data bus and suitable for data security, 상기 보안 데이터는 k-out-of-n 스마트 카드가 상기 스마트 카드 인터페이스 장치에 삽입되었을 때에만 접근이 가능한 것을 특징으로 하는 암호키 서버.And the secure data is accessible only when a k-out-of-n smart card is inserted into the smart card interface device. 다수의 어플리케이션을 호스팅하고, 네트워크를 경유하여 다수의 클라이언트에게 서비스를 제공하는 어플리케이션 서버에 있어서,An application server that hosts a plurality of applications and provides services to a plurality of clients via a network, 상기 어플리케이션 서버는 The application server 원거리 암호키 서버에 의해 수행되는 상기 다수의 암호 서비스 중 적어도 하나의 암호 서비스를 호출할 수 있는 암호 어플리케이션 프로그램 인터페이스(API); A cryptographic application program interface (API) capable of invoking at least one cryptographic service of said plurality of cryptographic services performed by a remote cryptographic key server; 원거리 암호키 서버와 보안 네트워크 통신 체널을 개설할 수 있는 보안 네트워크 인터페이스를 포함하는 것을 특징으로 하는 암호키 서버.An encryption key server comprising a secure network interface for establishing a secure network communication channel with a remote encryption key server. 제 27항에 있어서, 상기 암호 API는 원거리 암호 서비스를 요청하기 위한 상기 보안 네트워크 인터페이스 엔진을 이용할 수 있는 것을 특징으로 하는 암호키 서버.28. The cryptographic key server of claim 27, wherein the cryptographic API can use the secure network interface engine to request a remote cryptographic service. 제 27항에 있어서, 상기 암호 API는 상기 다수의 어플리케이션에 자바 암호 확장(JCE)으로써 노출되어 있는 것을 특징으로 하는 암호키 서버.28. The cryptographic key server of claim 27, wherein the cryptographic API is exposed to the plurality of applications as a Java cryptographic extension (JCE). 제 27항에 있어서 상기 암호 API는 암호화 서비스 제공자(CSP)를 경유하여 노출되고, 상기 암호 API는 동적 연결 라이브러리로써 구현되는 것을 특징으로 하는 암호키 서버.28. The cryptographic key server of claim 27, wherein the cryptographic API is exposed via a cryptographic service provider (CSP), and the cryptographic API is implemented as a dynamic link library. 제 27항에 있어서, 상기 암호 API는 MS-CAPI를 경유하여 노출되는 것을 특징으로 하는 암호키 서버.28. The cryptographic key server of claim 27, wherein the cryptographic API is exposed via an MS-CAPI. 다수의 함수 및 프로그램을 실행하는 장치에 있어서,In an apparatus for executing a plurality of functions and programs, 상기 장치는 네트워크 인터페이스 엔진과 암호 어플리케이션 프로그램(API)를 포함하고, The apparatus includes a network interface engine and a cryptographic application program (API), 상기 인터페이스 엔진은 상기 장치상에서 실행되며, 적어도 하나의 원거리 암호키 서버에 보안 네트워크 통신 채널을 개설할 수 있고, 적어도 하나의 원거리 암호키 서버에 암호 서비스를 위한 보안 요청을 마셜(marshal) 및 전송하며, The interface engine runs on the device, may establish a secure network communication channel to at least one remote cryptographic key server, marshal and transmit a security request for cryptographic service to at least one remote cryptographic key server. , 상기 API는 상기 장치상에서 실행되며, 상기 보안 네트워크 인터페이스 엔진에 양 방향으로 결합되고, 대응하는 다수의 암호 서비스를 호출할 수 있는 함수 및 프로그램의 표준 셋을 제공하며, The API is executed on the device, coupled to the secure network interface engine in both directions, and provides a standard set of functions and programs capable of invoking corresponding multiple cryptographic services, 적어도 다수의 암호 서비스 중 하나는 상기 적어도 하나의 암호키 서버에 의해 원거리에서 수행되며, 상기 암호 API는 상기 암호 서비스를 요청하기 위한 보안 네트워크 인터페이스 엔진을 이용하기 위해 적어도 하나의 원거리 암호 서비스를 위한 요청에 응답하는 것을 특징으로 하는 장치.One of at least a plurality of cryptographic services is performed remotely by the at least one cryptographic key server, and the cryptographic API requests for at least one remote cryptographic service to use a secure network interface engine to request the cryptographic services. Responsive to the device. 암호키 서비스를 제공하기 위해서 컴퓨터로 구현된 방법에 있어서, In the computer-implemented method for providing a cryptographic key service, 네트워크 키 서버상에 개인 키 셋을 개설하는 단계;Establishing a private key set on a network key server; 네트워크 장치와 상기 네트워크 키 서버사이에 보안 통신 채널을 개설하는 단계;Establishing a secure communication channel between a network device and the network key server; 상기 보안 네트워크 통신 채널을 경유하여 상기 네트워크 장치에서 네트워크 키 서버에 암호키 서비스를 위한 요청을 수신하는 단계;Receiving a request for an encryption key service from a network key server at the network device via the secure network communication channel; 암호키 서비스를 위한 상기 요청을 인증하는 단계;Authenticating the request for an encryption key service; 암호키 서비스를 위한 상기 요청의 인증을 결정하는 단계;Determining authentication of the request for an encryption key service; 상기 요청인 인증되었을 때, 상기 개인 키를 이용한 상기 네트워크 키 서버에 암호키 서비스를 위한 상기 요청을 수행하는 단계를 포함하는 컴퓨터로 구현된 방법.And when the request is authenticated, performing the request for an encryption key service to the network key server using the private key. 제 33항에 있어서, 상기 네트워크 서버상에 개인 키를 개설하는 단계는 상기 새인 키 셋을 암호화하는 복호화하는 과정을 포함하는 것을 특징으로 하는 컴퓨터로 구현된 방법.34. The computer-implemented method of claim 33, wherein establishing a private key on the network server comprises decrypting the new key set. 제 33항에 있어서, 상기 개인 티의 셋을 복호화 하는 과정은 k-out-of-n 비밀 분배 방법을 사용하여 행하는 것을 특징으로 하는 컴퓨터로 구현된 방법.34. The computer-implemented method of claim 33, wherein decrypting the set of personal tees is performed using a k-out-of-n secret distribution method. 제 33항에 있어서, 상기 보안 네트워크 통신 채널을 개설하는 방법은 SSL프로토콜을 이용하는 것을 특징으로 하는 컴퓨터로 구현된 방법.34. The computer-implemented method of claim 33, wherein the method of establishing a secure network communication channel uses an SSL protocol. 제 33항에 있어서, 상기 보안 네트워크 통신 채널을 개설하는 방법은 TLS프로토콜을 이용하는 것을 특징으로 하는 컴퓨터로 구현된 방법.34. The computer-implemented method of claim 33, wherein the method of establishing a secure network communication channel uses a TLS protocol. 제 33항에 있어서, 상기 요청을 인증하는 방법은 34. The method of claim 33 wherein the method of authenticating the request is 암호 서비스를 요청하는 클라이언트;A client requesting cryptographic services; 상기 클라이언트가 암호서비스를 위해 요청하는 상기 네트워크 장치 및The network device that the client requests for cryptographic services; 상기 네트워크 장치상에서 수행되는 함수 및 프로그램을 포함하는 적어도 하나 이상의 셋(set)의 식별자를 인증하는 것을 특징으로 하는 컴퓨터로 구현된 방법.And authenticate at least one set of identifiers comprising functions and programs performed on said network device. 제 33항에 있어서, 상기 인증을 결정하는 방법은 34. The method of claim 33 wherein the method of determining authentication is 암호 서비스를 요청하는 클라이언트;A client requesting cryptographic services; 상기 클라이언트가 암호서비스를 위해 요청하는 상기 네트워크 장치 및The network device that the client requests for cryptographic services; 상기 네트워크 장치상에서 수행되는 함수 및 프로그램을 포함하는 적어도 하나 이상의 셋(set)에 허락된 인증 특권을 결정하는 것을 특징으로 하는 컴퓨터로 구현된 방법.And determine an authentication privilege granted to at least one or more sets comprising functions and programs performed on the network device. 제 38항에 있어서, 상기 요청의 인증을 결정하는 방법은 상기 요청이 암호 서비스를 위한 상기 요청과 연관된 요청자의 권리안에 있는지를 결정하는 것을 특징으로 하는 컴퓨터로 구현된 방법.39. The computer-implemented method of claim 38, wherein the method of determining authentication of the request determines whether the request is within the requestor's rights associated with the request for cryptographic services. 제 33항에 있어서, 암호 서비스를 위한 모든 요청을 추적하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현된 방법.34. The computer-implemented method of claim 33, further comprising tracking all requests for cryptographic services. 네트워크 암호키 서비스를 제공하기 위한 컴퓨터로 구현된 방법에 있어서,In the computer-implemented method for providing a network encryption key service, 어플리케이션 서버에 암호 API를 통합하는 단계;Integrating a cryptographic API into the application server; 상기 암호 API를 경유하여 상기 어플리케이션 서버상에 수행되는 다수의 어플리케이션에 암호 서비스를 노출하는 단계;Exposing cryptographic services to a plurality of applications running on the application server via the cryptographic API; 상기 어플리케이션 서버와 원거리 암호키 서버사이에 보안 네트워크 통신 채널을 개설하는 단계;Establishing a secure network communication channel between the application server and a remote cryptographic key server; 상기 암호 API에 어플리케이션에서 암호 서비스를 위한 요청을 수신하는 단계;Receiving a request for a cryptographic service from an application to the cryptographic API; 상기 암호키 서버로 전송을 위한 암호 서비스를 위한 상기 요청을 마셜(marshal)하는 단계;Marshalling the request for a cryptographic service for transmission to the cryptographic key server; 상기 보안 네트워크 통신 채널을 경유하여 상기 암호키 서버로 암호 서비스를 위한 마셜(marshal)된 요청을 전송하는 단계;Sending a marshalled request for a cryptographic service to the cryptographic key server via the secure network communication channel; 상기 보안 네트워크 통신 채널을 경유하여 상기 요청에 응답을 수신하는 단계;Receiving a response to the request via the secure network communication channel; 상기 응답을 언마셜(unmarshal)하는 단계; 및Unmarshaling the response; And 상기 암호 API를 경유하여 상기 요청된 어플리케이션에 알맞은 응답을 제공하는 단계를 포함하는 컴퓨터로 구현된 방법.Providing a response appropriate for the requested application via the cryptographic API. 서버 시스템 내부에 암호키를 보안하기 위한 방법에 있어서,A method for securing an encryption key inside a server system, 컴퓨터로 구현된 방법은Computer-implemented method 복호화된 데이터를 사용하기 위한 암호화된 키를 키 서버에 저장하는 단계; 및Storing an encrypted key in the key server for using the decrypted data; And 상기 키서버는 보안 통신 채널을 사용하는 상기 서버 시스템의 적어도 하나의 구성과 통신하는 것을 특징으로 하는 컴퓨터로 구현된 방법.The keyserver is in communication with at least one configuration of the server system using a secure communication channel. 서버 시스템 내부에 암호키를 보안하기 위한 방법에 있어서,A method for securing an encryption key inside a server system, 컴퓨터로 구현된 방법은Computer-implemented method 키 서버상에 복호화된 데이터를 사용하는 암호키를 저장하는 단계; 및Storing an encryption key using the decrypted data on the key server; And 상기 키 서버는 상기 네트워크 시스템의 적어도 하나의 요소에 대신하여 암호 연산을 수행하는 네트워크 장치로써 작동하는 것을 특징으로 하는 컴퓨터로 구현된 방법.And the key server acts as a network device performing cryptographic operations on behalf of at least one element of the network system. 제 44항에 있어서, 상기 암호 연산은 보안 소켓 레이어(SSL) 프로토콜 하에서 행해지는 것을 특징으로 하는 방법.45. The method of claim 44, wherein said cryptographic operation is performed under a secure socket layer (SSL) protocol. 제 44항에 있어서, 상기 암호 연산은 전송 레이어 보안(TLS) 프로토콜 하에서 행해지는 것을 특징으로 하는 방법.45. The method of claim 44, wherein said cryptographic operation is performed under a transport layer security (TLS) protocol. 제 44항에 있어서, 민감한 데이터는 복호화된 형태로 상기 네트워크 시스템에 저장되는 것을 특징으로 하는 방법,45. The method of claim 44, wherein the sensitive data is stored in the network system in decrypted form. 네트워크 시스템 안에서 암호키를 보안하기 위해서 암호키 서버 장치에 있어서, 상기 암호키 서버는 암호키를 저장하고 저장된 암호키에 접근을 제어하는 것을 특징으로 하는 암호키 서버 장치.An encryption key server device for securing an encryption key in a network system, the encryption key server storing the encryption key and controlling access to the stored encryption key. 제 48항에 있어서, 상기 접근은 암호 연산을 위해 단독으로 상기 저장된 키의 적어도 하나에 사용되는 것을 특징으로 하는 암호키 서버 장치.49. The apparatus of claim 48, wherein said access is used for at least one of said stored keys alone for cryptographic operations. 제 48항에 있어서, 상기 접근은 암호화 연산을 위해 독립적으로 상기 저장된 암호키의 적어도 하나를 사용하는 것을 특징으로 하는 암호키 서버 장치.49. The apparatus of claim 48, wherein said access uses at least one of said stored encryption keys independently for cryptographic operations. 서버 시스템내부에 민감 정보를 보호하기 위한 암호 장치에 있어서,An encryption device for protecting sensitive information inside a server system, 데이터 통신 버스;Data communication bus; 상기 데이터 통신 버스에 양 방향 결합된 중앙 처리장치;A central processing unit bidirectionally coupled to the data communication bus; 데이터 버스;Data bus; 상기 데이터 통신 버스와 양 방향으로 결합된 중앙처리장치;A central processing unit coupled to the data communication bus in both directions; 상기 데이터 통신 버스와 양방향으로 결합된 영구저장장치;A permanent storage device coupled to the data communication bus in both directions; 상기 데이터 통신 버스와 양방향으로 결합된 일지저장장치;A journal storage device coupled to the data communication bus in both directions; 상기 데이터 통신 버스와 양방향으로 결합된 네트워크 입출력 장치;A network input / output device coupled to the data communication bus in both directions; 상기 데이터 통신 버스와 양방향으로 결합된 암호화 가속 카드;An encryption accelerator card coupled in both directions with the data communication bus; 상기 데이터 통신 버스와 양 방향으로 결합되고 개인 키를 저장하기 위한 하드웨어 보안 모듈 및A hardware security module coupled to the data communication bus in both directions and for storing a private key; 상기 데이터 통신 버스와 결합된 스마트 카드 인터페이스를 포함하는 암호 장치.And a smart card interface coupled with the data communication bus. 네트워크 시스템에서 암호 서비스를 제공하기 위한 컴퓨터로 구현된 방법에 있어서,In the computer-implemented method for providing cryptographic services in a network system, 키 서버상상에 암호키를 안전하게 로딩하는 단계;Securely loading an encryption key onto a key server; 상기 네트워크 시스템의 첫 번째 구성요소와 상기 키 서버 사이에 보안 전송 세션을 개설하는 단계;Establishing a secure transport session between the first component of the network system and the key server; 상기 키 서버에 상기 첫 번째 구성요소를 포함하는 상기 네트워크의 적어도 하나 이상의 요소를 인증하는 단계;Authenticating to the key server at least one or more elements of the network including the first component; 상기 키 서버에 상기 첫 번째 구성요소를 포함하는 상기 네트워크의 적어도 하나 이상의 요소를 인증을 결정하는 단계; Determining authentication with the key server at least one or more elements of the network including the first component; 상기 키 서버에 상기 첫 번째 구성요소에서 암호 연산을 위한 요청을 생성하는 단계;Generating a request for cryptographic operation in the first component to the key server; 상기 요청이 인증과 인증을 결정하는 과정과 연관된 결과에 기초한 상기 키 서버에 의해 수행되는지를 결정하는 단계;Determining whether the request is performed by the key server based on a result associated with the authentication and the determination of the authentication; 상기 요청이 인증된 것이라면, 상기 키 서버상에 상기 요청된 암호 연산을 수행하는 단계; 및 상기 보안 전송 세션을 경유하여 상기 키 서버에서 상기 첫 번째 구성요소로 상기 요청된 암호 연산의 결과를 제공하는 단계를 포함하는 컴퓨터로 구현된 방법.If the request is authenticated, performing the requested cryptographic operation on the key server; And providing the result of the requested cryptographic operation from the key server to the first component via the secure transport session. 네트워크 시스템에서 데이터를 보호하는 방법에 있어서, 컴퓨터로 구현되는 방법은 In a method of protecting data in a network system, a computer-implemented method is 어플리케이션 서버로 라우팅된 데이터를 가로채고 검사하기 위한 그룹 키를 배분하는 암호 서버의 미리 정의된 그룹의 부분인 네트워크 장치를 제공하는 단계를 포함하고, Providing a network device that is part of a predefined group of cryptographic servers that distributes a group key for intercepting and inspecting data routed to the application server; 상기 네트워크 장치는 The network device 상기 데이터가 민감 데이터인지를 결정하는 단계;Determining whether the data is sensitive data; 상기 데이터가 인감한 것이면 복호화 데이터를 형성하기 위하여 암호 서버의 미리 정의된 그룹에 의해 분배된 그룹 키를 사용하여 상기 데이터를 복호화 하는 단계;If the data is seal, decrypting the data using a group key distributed by a predefined group of cryptographic servers to form decrypted data; 상기 어플리케이션 서버과 관련된 저장매체상에 복호화된 데이터를 저장하는 단계 및Storing the decrypted data on a storage medium associated with the application server; and 만약 적어도 하나 이상의 백-엔드 어플리케이션 서버가 상기 데이터를 접근하는 것을 인증한다면, 상기 저장장치에서 상기 복호화된 데이터를 재생하고 상기 복호화된 데이터를 암호화하기 위한 암호 서비스의 미리 정의된 그룹을 고용하도록 적어도 하나 이상의 백-엔드 어플리케이션 서버를 허락하는 단계를 수행할 수 있는 것을 특징으로 하는 컴퓨터로 구현되는 방법If at least one back-end application server authenticates access to the data, at least one of the storage devices employs a predefined group of cryptographic services to play the decrypted data and encrypt the decrypted data. Computer-implemented method characterized in that the step of allowing the above back-end application server
KR1020057000614A 2002-07-12 2003-07-11 Network attached encryption KR20050026478A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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