KR20100133448A - 컴퓨터 클러스터 시스템들내 통신의 보안 - Google Patents

컴퓨터 클러스터 시스템들내 통신의 보안 Download PDF

Info

Publication number
KR20100133448A
KR20100133448A KR1020107023764A KR20107023764A KR20100133448A KR 20100133448 A KR20100133448 A KR 20100133448A KR 1020107023764 A KR1020107023764 A KR 1020107023764A KR 20107023764 A KR20107023764 A KR 20107023764A KR 20100133448 A KR20100133448 A KR 20100133448A
Authority
KR
South Korea
Prior art keywords
secret key
shared secret
interconnected computers
data
new
Prior art date
Application number
KR1020107023764A
Other languages
English (en)
Other versions
KR101498323B1 (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 KR20100133448A publication Critical patent/KR20100133448A/ko
Application granted granted Critical
Publication of KR101498323B1 publication Critical patent/KR101498323B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

클러스터 머신 프로세싱내 통신 보안을 개선하기 위한 시스템은 데이터를 공동으로 프로세스 할 수 있는 상호연결된 컴퓨터들을 포함할 수 있다. 또한 상기 시스템은 상기 상호연결된 컴퓨터들 중 하나로부터 상기 상호연결된 컴퓨터들 중 다른 것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및/또는 인증을 위해, 상기 상호연결된 컴퓨터들 각각에 의해 사용되는 공유 비밀키를 포함할 수 있다. 상기 시스템은 상기 상호연결된 컴퓨터들 중 하나로부터 상기 상호연결된 컴퓨터들 중 다른 것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및/또는 인증을 위해, 상기 상호연결된 컴퓨터들 각각에 의해 사용되는 새로운 공유 비밀키를 더 포함할 수 있다. 또한, 상기 새로운 공유 비밀키는 상기 복수의 상호연결된 컴퓨터들에 의해 수행되는 데이터의 공동 프로세싱에 부정적인 영향을 미침이 없이, 상기 공유 비밀키와 공존할 수 있다.

Description

컴퓨터 클러스터 시스템들내 통신의 보안{SECURE COMMUNICATIONS IN COMPUTER CLUSTER SYSTEMS}
본 발명은 컴퓨터 시스템 분야에 관한 것으로서, 더욱 상세하게는 클러스터 머신 통신에 관한 것이다.
컴퓨팅 노드들의 분산된 클러스터에서는, 노드들간의 메시지 트래픽에 대해 통신 보안을 제공하는 것이 자주 요청된다. 메시지들은 제어 메시지들과 유저 메시지들로 구별될 수 있다. 제어 메시지들은 주로 상기 클러스터의 상태를 조작하기 위해 상기 클러스터를 포함하는 상기 노드들상의 시스템 관리 소프트웨어 에이전트들과 상기 노드들간에 전송되고, 반면에 유저 메시지들은 주로 클러스터들의 통신 설비들을 통해 상기 노드들상의 애플리케이션 에이전트들간에 애플리케이션 데이터를 전송된다.
각 메시지는 주로 해더 정보와 페이로드로 이루어진 것으로 볼 수 있다. 상기 해더 정보는 주로 상기 클러스터들의 통신 설비들을 통해 상기 메시지의 흐름을 제어하는 데이터를 포함한다. 상기 페이로드는 일반적으로 상기 메시지가 두개의 엔드포인트 에이전트들간에 전송하고 있는 정보를 포함하는데, 상기 엔트 포인트는 시스템 관리자 또는 애플리케이션 엔티티들 중 하나일 수 있다.
보안은 몇가지 방법으로 이러한 차원들(dimensions) 각각을 통해서 제공될 수 있다. 예를 들어, 메시지의 컴포넌트를 포함하는 바이트 시퀀스는, 상기 바이트 시퀀스에 종종 키라고 호칭되는 몇몇 치환 인수를 적용하는 함수를 이용하여 몇가지 방식으로 치환되는 암호화가 사용될 수 있다. 그리고나서 상기 치환된 바이트 시퀀스는 상기 메시지의 컴포넌트의 컨텐츠로서 전송되고, 상기 메시지의 수신자가 상기 수신된 치환 시퀀스로부터 원본 바이트 시퀀스를 얻기 위해, 여함수(complementary function)와 키를 적용한다. 이는 상기 메시지 컴포넌트의 원본 값이 상기 치환 키를 알고 있는 실시자들에 의해서만 얻어질 수 있는 데이터 보안(data privacy)을 제공한다.
또한, 몇몇 종류의 서명 및 검증(인증)이 사용될 수 있다. 인증의 경우, 메시지의 컴포넌트를 포함하는 상기 바이트 시퀀스는 체크섬과 같은 수학함수에 의해 특성화된다. 그리고나서 상기 특성화된 내용이 암호화되고(상술한 바와 같이) 그리고 상기 결과가 특성화된 비변경 바이트 시퀀스를 따라 상기 메시지내에 임베디드된다. 상기 수신자는 상기 바이트 시퀀스에 상기 동일한 특성화를 적용하고, 상기 결과를 암호화하고, 그리고 상기 암호화된 특성을 상기 메시지내 포함된 것과 비교한다. 이는 만약 두 개의 특성화가 동일하다면, 상기 수신자는 상기 메시지 데이터가 수정되지 않았다는 것을 알게 되는 데이터 무결성을 제공한다.
다른 다양한 암호화 알고리즘이 존재한다. 두 개의 주요 서브타입들은 공개키 암호화 및 공유키 암호화이다. 공개키 암호화에서는, 각각 상기 암호화 함수를 적용한 결과를 다른 키를 이용해서 주어진 바이트 스트림으로 변경하는 치환키들 한 쌍(예를 들어 kl,k2)이 사용된다. 다시 말해, K1 키를 이용해서 암호화된 메시지는 K2 키를 이용해서 복호화 될 수 있고 반대도 마찬가지이다.
일반적으로, 클러스터내 각 노드는 두 개의 키들을 생성할 것이다. 상기 노드의 "개인키"로 알려진 하나는 안전화게 보관될 것이고 상기 노드만이 알고 있을 것이다. 상기 노드의 "공개키"로 알려진 다른 키는 다른 모든 노드들과 공유될 것이다.
메시지 컨텐츠의 암호화는 상기 데이터를 암호화하기 위해 상기 수신자의 공개키를 이용하는 전송자에 의해 수행된다. 그리고나서 상기 메시지는 오직 상기 수신자만 알고 있는 상기 수신자의 개인키에 의해서만 복호화될 수 있다.
인증은 상기 전송자의 개인키를 가지고 상기 메시지 특성을 암호화함으로써 수행될 수 있다. 그리고나서 모든 수신자 노드들은 상기 발송자의 공개키를 이용해서 상기 수신된 메시지를 검증하고(그들의 대응하는 특성을 암호화하고 비교), 상기 메시지가 수정되지 않았다는 것뿐만 아니라 작성자(originator)에 의해 발송되었다는 사실을 증명할 수 있다(다른 노드들의 공개키는 상기 메시지내 임베디드된 상기 발신자의 암호화된 톡성이 매치하도록 상기 수신자의 특성을 암호화할 수 없기 때문에). 현재 일반적으로 사용되는 공개키의 타입들은(키의 길이와 암호화하는데 사용되는 치환함수에 의해 구분) RSA-512, RSA-1024 등이 있다.
공유 비밀키(shared secret key) 암호화에서는, 하나의 키 값이 바이트 스트림을 암호화하기 위한 치환에 사용된다. 상기 동일한 함수를 가지고 사용되는 동일한 키값이 상기 암호화된 스트림을 상기 원본으로 치환할 것이다.
클러스터에서 모든 노드들은 메시지를 암호화하고 인증하기 위해 상기 동일한 비밀키 값을 공유한다. 따라서 상기 키값은 상기 클러스터내부의 메시지 보안에 참여하는 모든 에이전트들에 널리 알려지나, 외부 엔티티들에게는 공개되지 않는다.
공유 비밀키 알고리즘은 노드별로 한쌍의 키 대신에, 오직 하나의 키 값만이 생성되고, 상기 컴퓨팅 클러스터내 모든 노드들에게 전파되고(disseminated) 이들에 의해 사용된다는 점에서 공개 키 암호화에 비해 장점이 있다. 다시 언급하자면, 메시지가 각각의 목적 노드들의 공개키를 가지고 그들 노드에 대해 따라 암호화될 필요없이, 몇몇 노드에 의해 상기 공유 키에 의해 암호화된 메시지는 모든 노드들에 발송되고 그들에 의해 복호화될 수 있다.
또한, 공유 비밀키들은 일반적으로 공개/비밀 키들보다 짧고, 따라서 상기 암호화 치환을 구현하는데 사용되는 알고리즘이 정해진 사이즈의 소스 메시지를 실행하는데 더 적은 시간이 소요된다. 현재 일반적으로 사용되는 비밀키 타입들(이 역시도 치환함수와 키 길이에 따라 구별됨)은 DES, 3-DES, AES-256 등이다.
상술한 배경기술의 관점에서, 본 발명의 목적은 클러스터 머신 프로세싱에서 통신 보안을 개선하기 위해 공유 비밀키를 사용하는 시스템을 제공하는 것이다.
본 발명에 따른 상기 및 다른 객체들, 특징들 및 장점들은 클러스터 머신 프로세싱내 통신 보안을 개선하기 위한 시스템에 의해 제공된다. 상기 시스템은 데이터를 공동으로 프로세스할 수 있는 복수의 상호연결된 컴퓨터들을 포함할 수 있다. 또한 상기 시스템은 상기 복수의 상호연결된 컴퓨터들 중 하나로부터 상기 복수의 상호연결된 컴퓨터들 중 다른것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증(authenticate) 중 적어도 하나를 위해, 상기 복수의 상호연결된 컴퓨터들 각각에 의해 사용되는 공유 비밀키(shared secret key)를 포함할 수 있다. 또한 상기 시스템은 상기 복수의 상호연결된 컴퓨터들 중 하나로부터 상기 복수의 상호연결된 컴퓨터들 중 다른것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 상기 복수의 상호연결된 컴퓨터들 각각에 의해 사용되는 새로운 공유 비밀키를 포함할 수 있다. 게다가, 상기 새로운 비밀 공유키는 상기 복수의 상호연결된 컴퓨터들에 의해 수행되는 데이터의 공동 프로세싱에 부정적인 영향을 미치지 않고, 상기 공유 비밀키와 공존한다(coexist).
상기 공유 비밀키 및/또는 새로운 공유 비밀키는 상기 상호연결된 컴퓨터들에 의해 비밀로서 다뤄질 수 있다. 상기 상호연결된 컴퓨터들은 사설 통신 네트워크들 및 공용 통신 네트워크들 중 적어도 하나를 통해서 서로 연결될 수 있다.
상기 상호연결된 컴퓨터들 각각이 상기 복수의 상호연결된 컴퓨터들에 대해 언제 상기 공유된 비밀키를 상기 새로운 공유 비밀키로 대체할지에 대해 투표할 수 있다. 상기 상호연결된 컴퓨터들 각각이 상기 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 수신 데이터를 인증한다.
상기 상호연결된 컴퓨터들 각각이 상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 비밀 공유키로 수신 데이터를 인증한다. 상기 상호연결된 컴퓨터들 각각이 상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 새로운 공유 비밀키로 수신 데이터를 인증한다.
상기 상호연결된 컴퓨터들 각각이, 상기 데이터에 대해 해더 필드내에 상기 공유 비밀키 또는 상기 새로운 공유 비밀키 중 어느 것이 아웃고잉 데이터를 인증하는데 사용되었는지를 표시한다(indicate). 상기 상호연결된 컴퓨터들 각각이, 상기 데이터에 대해서 해더 필드내에 가지고 있는 상기 공유 비밀키 및 상기 새로운 비밀 공유키의 수(count)를 표시한다.
본 발명의 다른 실시예는 클러스터 머신 프로세싱에 대한 통신 보안을 개선하기 위한 방법을 제공한다. 상기 방법은 상기 복수의 상호 연결된 컴퓨터들 중 하나로부터 상기 복수의 상호 연결된 컴퓨터들 중 다른 것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 복수의 상호연결된 컴퓨터들사이에서 공유 비밀키를 사용할 수 있다.
또한 상기 방법은 상기 상호연결된 컴퓨터 각각에 의해 수행되는 데이터의 공동 프로세싱에 부정적인 영향을 미침이 없이, 상기 상호 연결된 컴퓨터들 중 하나로부터 상기 상호연결된 컴퓨터들 중 다른 것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 상기 상호연결된 컴퓨터들 각각에 의해서 새로운 공유 비밀키를 사용할 수 있다.
상기 방법은 상기 상호연결된 컴퓨터 각각에 의해서, 상호 연결된 컴퓨터들의 전체 그룹에 대해 상기 공유 비밀키를 상기 새로운 공유 비밀키로 대치를 투표하는 단계를 더 포함할 수 있다. 결과적으로, 상기 방법은 상기 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 수신 데이터를 인증하는 단계를 더 포함할 수 있다.
또한, 상기 방법은 상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 수신 데이터를 인증하는 단계를 더 포함할 수 있다. 더 나아가, 상기 방법은 상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 새로운 공유 비밀키로 수신 데이터를 인증하는 단계를 더 포함할 수 있다. 또한 상기 방법은 상기 데이터에 대해 해더 파일내에 상기 공유 비밀키 또는 상기 새로운 공유 비밀키 중 어느 것이 아웃고잉 데이터를 인증하기 위해 사용되는지를 표시하는 단계를 더 포함할 수 있다.
도 1은 본 발명과 관련하여 클러스터 머신 프로세싱에서 통신 보안을 증가하기 위한 시스템의 블록도이다.
도 2는 본 발명와 관련하여 방법을 설명하는 흐름도이다.
도 3은 도 2의 방법에 따른 실시예들의 방법을 도시하는 흐름도이다.
도 4는 도 2의 방법에 따른 실시예들의 방법을 도시하는 흐름도이다.
도 5는 도 2의 방법에 따른 실시예들의 방법을 도시하는 흐름도이다.
도 6는 도 1의 본 발명에 따라 예상되는 일 예의 시스템의 블록도이다.
도 7은 도 1의 본 발명에 따라 예상되는 일 예의 시스템의 블럭도이다.
도 8은 도 1의 본 발명에 따라 예상되는 일 예의 시스템의 블럭도이다.
도 9는 본 발명의 하나 또는 그 이상의 실시예들을 포함하는 제품의 일 예를 도시한다.
본 발명은 본 발명의 바람직한 실시예들이 도시된 수반된 도면들을 참고로 이하에서 더욱 상세하게 기술될 것이다. 그러나, 본 발명은 다른 많은 형태들을 포함할 수 있고, 여기서 기술된 실시예들로 한정되는 것으로 인식되어서는 안된다. 그보단, 이러한 실시예들은 이러한 내용이 철저하고 완벽하도록 제공되었으며, 본 기술분야에서 통상의 기술을 가진 자에게 본 발명의 권리범위를 완전하게 전달할 것이다. 유사한 참조번호는 유사한 요소들을 나타낸다.
본 기술분야에서 통산의 기술을 가진자에 의해서 인식될 수 있는 바와 같이, 본 발명은 방법, 시스템 또는 컴퓨터 프로그램 제품으로 포함될 수 있다. 더 나아가, 본 발명은 매체내에 포함된 컴퓨터-사용가능 프로그램 코드를 가지는 컴퓨터-사용가능 저장 매체상의 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
컴퓨터 사용가능 또는 컴퓨터 판독가능 매체라면 그 무엇이라도 사용될 수 있다. 상기 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 예를 들어(한정은 아님) 전자, 자기, 광, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스 또는 전파 매체일 수 있다. 상기 컴퓨터 판독가능 매체의 더 상세한 예들로는(불완전 리스트임) 이하를 포함할 수 있다: 하나 또는 그 이상의 전선들을 가지는 전자 커넥션, 휴대가능한 컴퓨터 디스켓, 하드 디스크, 램, 롬, EPROM 또는 플래시 메모리, 광섬유, 휴대가능한 CD-ROM, 광 저장 디바이스 또는 자기 저장 디바이스.
본 발명의 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 예를 들어 자바, 스몰토크, C++ 등과 같은 객체 지향 프로그래밍 언어로 기록될 수 있다. 그러나, 본 발명의 동작들을 수행하기 위한 상기 컴퓨터 프로그램 코드는 예를 들어 C 프로그래밍 언어나 유사한 프로그래밍 언어들과 같은 종래의 절차적 프로그래밍 언어들로도 기록될 수 있다.
상기 프로그램 코드는 독립형 소프트웨어 패키지로서 상기 유저의 컴퓨터상에서 전체적으로, 상기 유저의 컴퓨터상에서 부분적으로, 유저의 컴퓨터상에서 부분적으로 그리고 원격 컴퓨터상에서 부분적으로, 또는 상기 원격 컴퓨터나 서버상에서 전체적으로 실행될 수 있다. 후자의 경우, 상기 원격 컴퓨터는 LAN이나 WAN을 통해서 상기 유저의 컴퓨터에 연결될 수 있거나, 또는 상기 커넥션이 외부 컴퓨터로 이루어질 수 있다(예를 들어 ISP를 이용해서 인터넷을 통해).
본 발명은 이의 실시예들에 따른 방법들, 장치들(시스템들) 및 컴퓨터 프로그램 제품들의 흐름도들 및/또는 블럭도들을 참고로 이하에서 기술된다. 상기 흐름도들 및/또는 블럭도들의 블럭들의 각각의 조합, 그리고 상기 흐름도들 및/또는 블럭도들의 블럭들의 조합들은 컴퓨터 프로그램 명령들에 의해 구현될 수 있다는 점이 이해되어질 것이다. 이러한 컴퓨터 프로그램 제품들은 범용 컴퓨터, 전용 컴퓨터 또는 머신을 제공하기 위한 다른 프로그램가능한 데이터 프로세싱 장치들의 프로세서로 제공될 수 있고, 이에 상기 컴퓨터나 다른 프로그램가능한 데이터 프로세싱 장치의 프로세서들 통해 실행되는 상기 명령들은, 상기 흐름도 및/또는 블럭도의 블럭이나 블럭들에 기술된 기능들/동작들을 구현하기 위한 수단을 생성한다.
또한 이러한 컴퓨터 프로그램 명령들은 컴퓨터나 다른 프로그램가능한 데이터 프로세싱 장치들이 특정 방법으로 기능하도록 지시할 수 있는 컴퓨터-판독가능 메모리내에 저장될 수 있고, 이에 상기 컴퓨터-판독가능 메모리내 저장된 상기 명령들이 상기 흐름도 및/또는 블럭도의 블럭이나 블럭들에 기술된 기능/동작을 구현하는 명령 수단들을 포함하는 제품을 제공한다.
또한 컴퓨터 구현 프로세스를 제공하기 위해 상기 컴퓨터나 다른 프로그램가능 장치들상에 수행되기 위한 동작 단계들의 시리즈를 일으키도록, 상기 컴퓨터 프로그램 명령들이 컴퓨터나 다른 프로그램가능 데이터 프로세싱 장치들에 로드될 수 있고, 이에 상기 컴퓨터나 다른 프로그램가능 장치들상에서 실행되는 상기 명령들이 흐름도 및/또는 블럭도의 블럭이나 블럭들에 기술된 상기 기능들/동작들을 구현하기 위한 단계들을 제공한다.
도 1을 참고하면, 클러스터 머신 프로세싱내 통신 보안을 개선하기 위한 시스템(10)이 도시되어 있다. 본 기술분야에서 통상의 기술을 가진 자에 의해서 인식될 수 있는 바와 같이, 상기 시스템(10)은 예를 들어 클러스터 프로세싱, 분산된 클러스터 프로세싱 등과 같이 데이터를 공동으로 프로세스할 수 있는 상호연결된 컴퓨터들(12a-12n)을 포함한다. 또한 상기 시스템(10)은, 예를 들어 상기 상호연결된 컴퓨터들(12a-12n) 중 하나로부터 상기 상호연결된 컴퓨터들(12a-12n) 중 다른 것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및/또는 인증하기 위해, 상기 상호연결된 컴퓨터들(12a-12n) 각각에 의해 사용되는 공유 비밀키(14)를 포함한다.
상기 시스템(10)은 예를 들어 상기 상호연결된 컴퓨터들 중 하나로부터 상기 상호연결된 컴퓨터들 중 다른것으로 전송되거나 수신되는 데이터를 암호화, 복호화 및/또는 인증하기 위해, 상기 상호연결된 컴퓨터들(12a-12n) 각각에 의해 사용되는 새로운 공유 비밀키(16)을 더 포함한다. 게다가, 상기 새로운 공유 비밀키(16)는 예를 들어 상기 복수의 상호연결된 컴퓨터들(12a-12n)에 의해 수행되는 데이터의 공동 프로세싱에 악영향 없이, 상기 공유 비밀키(14)와 동시에 존재한다.
일 실시예에서, 상기 공유 비밀키(14) 및/또는 상기 새로운 공유 비밀키(16)는 상기 상호연결된 컴퓨터들(12a-12n)에 의해 비밀로 저장된다. 다시 말해, 상기 공유 비밀키(14) 및/또는 상기 새로운 공유 비밀키(16)는 상기 상호연결된 컴퓨터들(12a-12n)의 외부의 파티들에게는 알려지지 않는다.
본 기술분야에서 통상의 기술을 가진 자들에 의해 인식될 수 있는 바와 같이, 상기 상호연결된 컴퓨터들(12a-12n) 각각은 통신 네트워크(18)의 통신 링크들(15a-15n)을 통해 서로 연결된다. 일 실시예에서, 상기 통신 네트워크(18)는 예를 들어 WAN(wide area network)들, 랜(local area network)들 등과 같은 사설 통신 네트워크(20) 및/또는 인터넷, 셀룰러 통신 네트워크들 등과 같은 공용 통신 네트워크들(22)을 포함한다.
상기 상호연결된 컴퓨터들(12a-12n) 각각은 예를 들어, 상호연결된 컴퓨터들 전체 그룹에 대해 언제 상기 공유 비밀키(14)를 상기 새로운 공유 비밀키(16)로 대체할지를 투표한다(votes). 일 실시예에서, 상기 상호연결된 컴퓨터들(12a-12n) 각각은 전송 데이터를 상기 공유 비밀키(14)로 인증하고, 반면에 수신 데이터를 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키(16)로 인증한다.
다른 실시예에서, 상기 상호연결된 컴퓨터들(12a-12n) 각각은 전송 데이터를 상기 새로운 공유 비밀키(16)로 인증하고, 반면에 수신 데이터를 상기 투표에 따라 상기 공유된 비밀키(14) 또는 상기 새로운 공유 비밀키로 인증한다. 또 다른 실시예에서, 상기 상호연결된 컴퓨터들(12a-12n) 각각은 전송 데이터를 상기 새로운 공유 비밀키(16)로 인증하고, 반면에 수신 데이터를 상기 투표에 따라 상기 새로운 공유 비밀키로 인증한다.
예를 들어 상기 상호연결된 컴퓨터들(12a-12n) 각각은 상기 데이터에 대해 해더 필드내에 상기 공유 비밀키(14) 또는 상기 새로운 공유 비밀키(16) 중 어느 것이 아웃고잉 데이터를 인증하기 위해 사용되었는지를 표시한다. 상기 상호연결된 컴퓨터들(12a-12n) 각각은 상기 데이터에 대해 해더 필드내에 가지고 있는 상기 공유 비밀키(14) 및 상기 새로운 공유 비밀키(16)의 수를 표시한다.
앞서 말한 바와 같이, 상기 시스템(10)은 클러스터 머신 프로세싱내 통신 보안을 개선한다. 예를 들어, 메시지 패싱을 통해 통신하는 컴퓨팅 노드들(예를 들어 상호연결된 컴퓨터들(12a-12n))의 분산된 클러스터내에에서, 메시지들에 대한 보안을 제공하는 것이 요구된다. 메시지들은 전송 데이터, 수신 데이터, 프로세스된 데이터등을 포함한다. 데이터 보안을 위한 메시지 암호화 및 데이터 인증을 위한 메시지 서명/검증을 포함하는 다양한 타입의 메시지 보안이 제공될 수 있다.
DES, AES, RSA 등을 포함하는 다양한 키 타입들을 가진 공개키 암호화 및 공유 비밀키 암호화를 포함하는 현존하는 다양한 알고리즘들이 메시지 보안을 구현하기 위해 존재한다. 분산된 동작들을 공동으로 완료하기 위해 공동 통신 프로토콜들을 수행하는, 노드들(예를 들어 임의의 상호연결된 컴퓨터들(12a-12n))을 컴퓨팅하는 클러스터에서, 메시지 보안을 제공하기 위해 공유 비밀키(14)들을 이용하는 것은 공개/비밀 키 쌍들을 사용하는 것에 비해 다양한 이점들을 가진다. 예를 들어, 하나의 키값(즉 공유 비밀키(14))이 모든 노드들에 의해 사용되는 경우, 이런 키로 보안된 메시지는 모든 노드들(12a-12n)에 의해 이해될 수 있다. 또한. 공유 비밀키 암호화는 일반적으로 상기 공유 비밀키 암호화의 짧은 키 길이들덕에, 공개 키 암호화보다 더 좋은 성능을 제공한다.
분산된 클러스터내 컴퓨팅 노드들(12a-12n)이 그들의 메시지 통신에 대한 보안을 제공하기 위해 공유 비밀키(14)를 사용할 경우, 상기 키 값은 시간이 지남에 따라 위태로워질 수 있다. 따라서 주기적으로 상기 클러스터내 상기 노드들(12a-12n)이, 현재 메시지 통신을 보안하는데 사용되는 공유 비밀키(14)를 메시지 보안을 제공하도록 곧 사용될 새로운 보안 비밀키(16)로 변경하도록 하는 것이 바람직하다. 하나의 키값으로부터 다음으로의 이러한 변경을 완료하는 것은 몇가지 어려움이 존재한다.
예를 들어, 상기 새로운 공유 비밀키(16) 값은 상기 변경을 수행할 노드(12a-12n)로부터 모든 다른 노드들로 전송하기 위해 암호화되어야 하는데, 이는 그렇지 않으면 상기 새로운 키값이 악당에 의해 가로채질 수 있고 이러한 키로 보안된 이후의 모든 통신들이 위태로워질 수 있기 때문이다. 상기 이전의 공유 비밀키(14) 값이 이러한 암호화를 수행하기 위해 사용되어야 한다. 따라서 상기 이전의 공유 비밀키(14) 및 새로운 공유 비밀키(16)는 상기 키 변경 작동중 몇몇 시간 간격동안에 동시에 존재해야 한다.
그렇지 않으면, 만약 몇몇 노드들(12a-12n)이, 다른 노드들이 수신시에 그들이 전송한 메시지들을 복호화하거나 인증하기 위한 상기 새로운 공유 비밀키(16) 값을 사용하는 것이 준비되기 전에, 그러한 메시지들을 보호하기 위해 이 값을 사용하기 시작하면 이렇게 전송된 메시지들은 이러한 수신자들에 의해 접수되지 않을 수 있으므로 클러스터내의 통신들은 붕괴될 것이다. 또한, 모든 노드들이 그들이 전송하는 메시지를 보호하기 위해 상기 새로운 비밀키(16) 값을 이용하기 전에, 만약 몇몇 노드들(12a-12n)이 상기 기존의 공유 비밀키(14) 값을 이용해서 보호된 그들이 수신한 메시지들을 접수하는데 실패하면, 상기 키값 변경은 완료될 수 없을 것이다. 결과적으로, 시스템(10)은 통합 공유 키 업데이트 동작을 지원하기 위한 알고리즘을 제공하는데, 이는 새로운 키를 이용해 공동 메시지 통신들을 보호하기 위해서 공동 소유(commonly-held) 키 Kn를 이용함으로써, 클러스터내 모든 활동 노드들(12a-12n)을 종래 방법으로 이행한다.
본 발명의 다른 실시예는 클러스터 머신 프로세싱내 통신 보안을 개선하기 위한 방법인데, 이는 도 2의 흐름도(30)를 참고로 지금 기술된다. 상기 방법은 블럭 32에서 시작하고, 그리고 블럭 34에서 복수의 상호연결된 컴퓨터들 중 하나에서 상기 복수의 상호연결된 컴퓨터들 중 다른 것으로 전송되고 있거나 수신되고 있는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해 상기 복수의 상호 연결된 컴퓨터들사이에서 공유된 비밀키를 이용하는 것을 포함할 수 있다.
블럭 36에서, 또한 상기 방법은 상기 복수의 상호연결된 컴퓨터들에 의해 수행되는 데이터의 공동 프로세싱에 악영향없이, 상기 상호연결된 컴퓨터들 각각에 의해서 복수의 상호연결된 컴퓨터들 중 하나에서 상기 복수의 상호연결된 컴퓨터들 중 다른 것으로 전송되고 있거나 수신되고 있는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해 새로운 공유 비밀키를 이용하는 것을 포함할 수 있다.
도 3의 흐름도 40을 참고로 지금 기술되는 다른 방법 실시예는 블럭 42에서 시작한다. 블럭 34 및 36에서 도 2의 단계들을 포함할 수 있다. 블럭 44에서 상기 방법은 상호 연결된 컴퓨터들 전체 그룹에 대해서 상기 상호연결된 컴퓨터들 각각에 의해 상기 공유 비밀키를 새로운 공유 비밀키로 대체하는 것을 투표하는(voting) 단계를 더 포함할 수 있다. 상기 방법은 블럭 48에서 종료된다.
도 4의 흐름도 50을 참고로 지금 기술되는 다른 방법 실시예에서, 상기 방법은 블럭 52에서 시작한다. 상기 방법은 블럭 34,36 및 44에서 도 2 및 3의 단계들을 포함할 수 있다. 또한 상기 방법은 블럭 54에서 전송 데이터를 상기 공유 비밀키로 인증하고, 반면 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 수신 데이터를 인증하는 것을 포함할 수 있다. 그리고/또는, 블럭 56에서 상기 방법은 전송 데이터를 상기 새로운 공유 비밀키로 인증하고, 반면에 상기 투표에 따라 수신 데이터를 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 인증하는 단계를 더 포함한다. 그리고/또는, 블럭 58에서 상기 방법은 전송 데이터를 상기 새로운 공유 비밀키로 인증하고, 반면에 상기 투표에 따라 수신 데이터를 상기 새로운 공유 비밀키로 인증하는 단계를 포함한다. 상기 방법은 블럭 60에서 종료한다.
도 5의 흐름도 62를 참고로 여기서 기술된 다른 방법의 실시예에서, 상기 방법은 블럭 64에서 시작한다. 상기 방법은 블럭들 34 및 36에서 도 2의 단계들을 포함할 수 있다. 상기 방법은 블럭 66에서, 상기 데이터에 대해 해더 필드내에 상기 공유 비밀키 또는 상기 새로운 공유 비밀키 중 어느 것이 아웃고잉 데이터를 인증하기 위해 사용되는지를 표시하는(indicating) 단계를 더 포함할 수 있다. 상기 방법은 블록 68에서 종료한다.
상기 시스템 10이 어떻게 작동하는지에 대한 예가 도 6-8을 추가로 참고하여 이하에서 기술된다. 본 예에서, 컴퓨팅 노드들(12a-12n)의 분산된 클러스터는 피어 도메인(peer domain)으로 불리는 엔티티로 구성된다. 상기 이름이 암시하듯이, 상기 피어 도메인내의 모든 노드들(12a-12n)은 상기 도메인에 영향을 주는 작동들을 개시할 수 있다. 상기 피어 도메인의 멤버인 노드(12a-12n)와 온라인인(즉, 액티브하고 도메인 동작들에 참여할 수 있는) 노드의 개념(notion)이 있다.
노드들(12a-12n)은 상술한 상기 공동 프로토콜들과 같은 작업들을 조정하도록(to coordinate) 선택될 수 있으나, 그러한 역할들은 필요에 따라 노드에서 노드로 패스하고, 제어하거나 제어되는 서브셋들에 대해 상기 노드 모집단(population)들에 내재된 차이는 없다. 상기 피어 도메인은 각 노드(12a-12n)상에서 구동하는 인스턴스를 가진 소프트웨어 컴포넌트들 공동에 의해 유지되는데(이하의 구현 실시예 참조), 이는 상기 도메인의 노드들을 거친 특정 컴포넌트의 인스턴스들 사이에서, 그리고 상기 컴포넌트들의 인스턴스들중에서, 제어 메시지들(예를 들어 데이터)을 변경하는 것에 의해 상기 피어 도메인들의 상태를 제어한다.
이러한 제어 메시지들은 그들의 컨텐츠들에 상술한 기법들의 하나 또는 그 이상의 적용함으로써 보호하도록 만들어질 수 있고, 이러한 방법으로 불법 사용자들이 상기 피어 도메인들의 상태와 관련있는 데이터를 획득하는 것으로부터, 또는 그러한 데이터를 수정함으로써 이에 영향을 미치는 것으로부터 차단할 수 있다.
특히, 컴퓨팅 노드들(12a-12n)의 분산된 클러스터들에서는 공동 통신 프로토콜을 구동하는 것이 종종 요구되는데, 여기서 모든 노드들은 (예를 들어 액션을 수행하기 위한 명령을 포함하는) 동일한 메시지를 수신하고 (예를 들어 그들이 상기 액션을 수행하는데 동의했는지 여부의 표시를 이용하여) 어떻게든 이것에 응답한다.
그러한 프로토콜들은 클러스터(12a-12n)내 다양한 기능들을 제공할 수 있는데, 예를 들어 임의의 노드가 다음 단계 S[i+1]로 진행할 수 있기 전에 모든 노드들(12a-12n)이 몇몇 프로세싱 단계 S[i]를 완료해야만 하는 분산 장벽 기능(distributed barrier function)을 구현하거나 또는 몇몇 노드가 예를 들어 클러스터 동작들에 참여하는 것을 정지할 수 있는 것과 같은 몇몇 동작들을 수행하는 것의 합의(모든 노드들로부터의 동의)를 수집하는 것이다.
이러한 프로토콜들은, 다른 것들과 마찬가지로, 상기 프로토콜의 실행에 간섭을 방지하는 것(예를 들어 메시지 인증) 그리고 불법사용자들이 메시지 컨텐츠를 판별하는 것을 방지하는 것(예를 들어 메시지 암호화) 둘 다에서, 메시지 보안의 구현을 위한 후보들이다.
그러한 프로토콜들에서, 일반적으로 몇몇 노드(12a-12n)는 모든 노드들에 대한 상기 메시지의 전송, 응답들의 수집 및 평가, 페일들의 감지 등을 포함하는 상기 프로토콜의 실행을 조정하도록(coordinate) 선택된다. 상기 동일한 메시지가 모든 노드들(12a-12n)로 전송되었기 때문에, 메시지 보안을 구현하기 위해 공개키 암호화를 사용하는 것은 비효율적인데, 이는 각각의 전송자/수신자의 고유 공개/비밀 키 세트들을 사용하여 상기 메시지 데이터에 상기 암호화/서명을 하는 알고리즘의 애플리케이션을 필요로 하기 때문이다. 대신에, 이러한 프로토콜들에 대한 메시지 보안을 구현하기 위해 공유 비밀키(14) 메카니즘을 사용하는 것이 바람직한데, 이는 모든 노드들로 전송전에, 상기 공유 비밀키를 사용해서, 상기 메시지 데이터에 대해 오직 암호화 알고리즘의 하나의 패스만을 필요로 하기 때문이다. 따라서 모든 노드들(12a-12n)은 상기 공유 비밀키(14)의 자신들의 복사본을 이용해서 상기 암호화를 인버트(invert)하고, 그리고 상기 수신된 암호화된 데이터로부터 원본 메시지 컨텐츠를 얻어낼 수 있다.
상기 메시지 보안의 구현을 포함해 이러한 공동 통신 프로토콜들을 구현하기 위한 기능은, 몇몇 잘 알려진 인터페이스를 통해 클라이언트 소프트웨어 엔티티들로 상기 기능을 노출하는 소프트웨어 서비스 레이어들로 자주 패키지된다. 그들은 이러한 내부 액티비티들에 연관된 클라이언트를 요청함이 없이, 상기 프로토콜들 및 모든 노드들(12a-12n)이 현재 메시지 보안을 제공하는데 사용되는 상기 공유된 비밀키(14)의 동일한 복사본을 가지는 것을 보장하는 것과 같은 보조 관리 태스크들의 실행을 관리하는 메카니즘을 구현한다. 이러한 서비스 레이어의 일 예는 IBM사의 그룹 서비스 컴포넌트(Group Services component)이다.
이러한 서비스 레이어에 의한 공유 비밀키(14) 관리의 경우, 이는 다양한 관점에서 복잡한 태스크(task)이다. 예를 들어, 모든 노드들(12a-12n)에 의해 공유될 초기 비밀키(14)값은, 보통 몇몇 노드상에서 생성되고 모든 노드들에 안전하게 전송되어야 한다. 이는 몇몇 방식으로 암호화되어야 하는데, 그렇지 않으면 불법사용자들이 이를 획득할 수 있고, 이후의 메시지 보안을 위태롭게 할 수 있기 때문이다.
또한, 상기 공유 비밀키(14)값은 시간이 흐르면서 다양한 수단에 의해 위태로워질 수 있다. 따라서 정기적 기간마다 또는 명확한 유저 명령에 의해, 상기 클러스터의 노드들(12a-12n)을 거쳐서, 공동 메시지 보안을 위해 현재 사용되는 상기 공유 비밀키를 새로운 공유 비밀키(16) 값으로 대체하고 상기 오래된 값의 사용을 폐기함으로써, 상기 공유 비밀키(14) 값을 리프레시하는 것이 바람직하다.
초기 공유 비밀키(14)값을 모든 노드들(12a-12n)상에 위치시키고 이를 공동 메시지 보안에서 사용하기 위해 상기 현재의 액티브 공유 비밀키로 만들고, 몇몇 장애들(difficulties)을 나타내는 키를 리프레시(refreshing) 하기 위한 몇몇 메카니즘이 있다고 가정하자. 예를 들어, 상기 새로운 공유 비밀키(16) 값은 모든 노드들(12a-12n)로 전송하기 위해 암호화되어야 한다. 또한, 상기 공동으로 보유한 공유 비밀키(14) 값을 새로운 값으로 대체하는 것은 원래 모든 노드(12a-12n)상에서 상기 오래된 키값으로부터 상기 새로운 공유 비밀키(16)로 정연하고(orderly) 동시 적인 변경을 보장해야 하는 합의 동작이다.
더 나아가, 공동 합의 동작들은 그들을 구현하는 상기 메시지 트래픽을 인증하는데 상기 공유 비밀키(14)값을 이용한다. 결과적으로, 새로운 공유 비밀키(16) 값을 분산하고 액티브하는 상기 합의 동작은 그 자체로 그들의 메시지 트래픽을 몇몇 공유 비밀키(14) 값으로 인증하는 것이 필요할 것이다.
더욱이, 새로운 공유 비밀키(16) 값의 분산과 이에 의한 상기 새로운 공유 비밀키(14)값의 대체가 상기 클러스터내 액티브한 모든 노드들(12a-12n)상에 적절하게 시퀀스하지 않는다면, 상기 클러스터는 현재 액티브한 서로다른 공유 비밀키 값들을 가진 노드들의 서브셋들로 분리될 수 있다(sunder). 이러한 서브-클러스터들은 서로다른 공유 비밀 키 값들을 가지고 있기 때문에, 그들은 공동으로 통신할 수 없을 수 있으며, 그들은 각각 서로의 메시지 트래픽을 인증할 수 없을 것이다.
연속적인 키 값들(k(0), k(l),...}의 임의의 세트에서, 모든 k(i)는 보통 서로 구별된다는 것으로 가정된다는 점에 유념해야 한다. 현재 일반적인 키 길이는 모두(even) 32비트들이고 적절한 대체 기간은 1초보다 적지 않고, 이는 효율적으로 사실이다.
시스템(10)은 IBM의 RSCT 클러스터 기술 소프트웨어 레이어의 일부로서 공유 비밀 키 메시지 보안을 구현할 수 있다. 그러한 것을 제공하는데 관련될 수 있는 RSCT의 다수의 컴포넌트들이 있다.
PRM(Phoenix Reliable Messaging)은 메시지 인증을 포함하는 믿을만한 메시징 레이어를 제공할 수 있다. PRM은 그들의 내부 제어 메시지 트래픽에 대해서 다른 RSCT 컴포넌트들에 의한 사용을 위한 것일 수 있고, 다른 IBM 제품들 또는 써드-파티 소프트웨어로서 사용가능한 인터페이스들을 제공하지 않을 수도 있다. 만약 공유 비밀키(14) 값이 상기 클러스터내 현재 액티브라면, PRM은 클라이언트들을 대신하여 발송하고 수신하는 메시지들의 상기 해더 및 페이로드 부분을 서명/검증하는데 이를 사용할 수 있다. PRM은 그 자체로는 상기 키값의 보급 및 업데이트를 관리하지 않을 수 있다.
HAGS(Group Services)는 투표를 통한 협의를 위한 공동 통신 프로토콜들 및 상기 클러스터내 액티브한 노드들(12a-12n)의 라이브의 표시도 제공할 수 있다. HAGS는 자신의 내부 제어 메시지 트래픽을 전송하고 수신하는데 PRM을 사용할 수 있다. 따라서 이의 메시지 무결성은 전송한 메시지들의 PRM의 서명/증명으로 보장된다.
토폴로지 서비스들("HATS")은 HAGS로 노드(12a-12n)의 페일의 신뢰할 수 있는 감지를 제공한다. 결과들은 이론상 합의 투표 및 HAGS와 같은 공동 통신 메카니즘은 노드(12a-12n) 페일들의 정확한 감지기(예를 들어, 노드 라이브(liveness)의 잘못된 부정 또는 긍정 표시를 주지 않는 기기)에 의지할 수 없으면 정확하게 기능하지 않을 수 있다는 점을 보여준다. HATS는 서로에게 전송하는 상기 클러스터의 노드들상의 자신의 에이전트에 상기 내부 제어 메시지들을 서명하는데, PRM을 이용하지 않고 상기 현재의 액티브 공유 비밀키(14) 값을 직접 이용한다.
리소스 모니터링 및 제어 서브시스템(RMC)은 상기 클러스터내 각각의 노드(12a-12n)상에 인스턴스화 될 수 있는 클러스터 리소스 데이터의 일반화된 표시(representation)를 제공한다. RMC는 상기 클러스터내 노드들(12a-12n)에 대한 라이브 정보를 얻기 위한 HAGS의 클라이언트일 수 있고, 그리고 그것의 내부 제어 메시지 트래픽을 전송하고 수신하는데 PRM을 사용할 수 있다.
구성 리소스 관리자(ConfigRM)는, 상기 노드들(12a-12n)의 복제된 표시와 상기 클러스터의 통신 및 연산 리소스들을 포함하는 통신 인터페이스를 포함하는 클러스터 구성 정보를 제공한다. ConfigRM은 이를 클러스터 구성 상태의 변경에 대한 응답 및 합의 승인을 구현하는데 사용하는 HAGS의 클라이언트로서 기능한다. ConfigRM은 상기 클러스터의 노드들을 거쳐 상기 클러스터의 구성 데이터의 표시를 구현하기 위해, RMC의 클라이언트로서 기능한다.
중요하게는, ConfigRM은 상기 클러스터를 거쳐서 상기 비밀키 값을 관리하는 엔티티이다. ConfigRM는 비밀키 값을 생성하고, 상기 클러스터를 거쳐서 이를 전파하고, 그리고 이를 필요에 따라 새로운 값으로 업데이트할 책임이 있을 수 있다. ConfigRM는 상기 키 업데이트 동작을 수행하는데 HAGS의 상기 공동 통신 설비들을 사용할 수 있다.
HAGS는 언제든 "그룹 리더"로서 동작하는 상기 클러스터내 액티브인 몇몇 노드(12a-12n)의 개념(notion)을 유지한다. 상기 현재 HAGS 그룹 리더인, 상기 노드(12a-12n)상에서 구동중인 ConfigRM 코드는 ConfigRm이 생성하는 메시지 데이터상에서 동작하는 합의 통신 프로토콜을 개시하고 제어하기 위해, HAGS 인터페이스를 이용함으로써 공동 통신 프로토콜의 실행을 제어할 수 있다. 일단 상기 프로토콜이 개시되면, HAGS는 모든 노드들(12a-12n)로 상기 특정 공동 동작에 대한 상기 메시지 데이터를 전달하고, 여기서 상기 ConfigRM 에이전트내 프로세싱 쓰레드가 상기 동작에 대한 요청에 응답하기 위해 액티브된다.
상기 쓰레드가 상기 동작을 성공적으로 수행하거나 수행할 생각이 있으면, 그렇게 수행하거나 수행하기 위해 준비하고, 그리고 상기 프로토콜이 진행하는 것을 허용할 생각이 있다는 것을 나타내는 긍정적인 투표로 그들의 노드(12a-12n)상의 상기 HAGS 에이전트에 응답한다. 반대로, 만약 상기 ConfigRM 에이전트 쓰레드가 상기 요청된 동작을 수행하는 것을 할 생각이 없다면, 자신의 HAGS 에이전트에 부정적인 투표로 응답한다. 모든 노드들(12a-12n)상의 HAGS 에이전트들은 상기 그룹 리더 노드상의 HAGS 에이전트로 이러한 로컬 클라이언트 투표들을 포워드하고, 상기 그룹 리더 노드는 상기 결과들을 수집하고(collates) 상기 프로토콜이 진행할 수 있는지 여부를 결정한다.
흔히 이러한 프로토콜들은 액티비티와 투표의 여러 라운드들(rounds)로 이루어지는데, 이는 상기 프로토콜의 단계들(phases)을 효과적으로 포함한다. 각각의 라운드에서, 모든 노드들(12a-12n)은 상기 그룹 리더가 상기 다음 라운드를 개시하기 전에 긍정적인 투표로 응답해야만 한다.
만약 임의의 노드(12a-12n)가 몇몇 라운드에서 긍정적으로 투표하는데 실패하면, 상기 프로토콜은 중단된다(abort). 만약 모든 노드들(12a-12n)이 상기 프로토콜의 모든 라운드에서 긍정적으로 투표하면, 모든 노드들이 각 라운드에서 상기 요청된 동작들을 수행하고 상기 프로토콜은 성공적으로 완료한다.
상기 단계들은 상기 긍정적인 투표의 형태에 의해 구별된다. 예를 들어, 상기 마지막을 제외한 모든 단계들에 대한 투표가 상기 프로토콜의 다음 단계로 계속하기 위한 지시이고, 반면에 마지막 단계에 대한 투표가 상기 프로토콜을 통해 구현된 상기 동작이 입증되고(approved) 따라서 완료됐다라는 지시이다.
상기 그룹 리더는 모든 다른 액티브 노드들(12a-12n)과 같은 방법으로 이러한 투표 단계들에 관여한다는 점에 유념해야 한다. 상기 프로토콜이 완료될때, 상기 공동 통신 서브시스템은 상기 프로토콜의 실행에 필요한 모든 액션의 완료를 마무리 할 수 있도록, 상기 그룹 리더 노드(12a-12n)상의 HAGS의 ConfigRM 클라이언트에 통지한다.
상기 클러스터 공유 비밀키 값의 업데이트를 완료하기 위해, 그룹 리더 노드(12a-12n)상의 상기 ConfigRM 에이전트는 상기 클러스터 공유 비밀키(14) 값을 업데이트하라는 명령을 인식할 것이다. 이 명령은 소프트웨어 타이머나 명확한 유저 명령 등등에 의해 생성될 수 있다. 이러한 명령의 수신시에, 상기 그룹 리더는 현재의 액티브 키값 k[n]을 대체하기 위한 새로운 키값 K[n+1]을 생성할 것이다.
이 시점에서, 상기 그룹 리더는 공유 비밀키(14) 업데이트 메시지를 생성하고(formulate) 이를 상기 공동 통신 서브시스템을 이용해서 상기 클러스터내 액티브 노드들(12a-12n)로 전송한다. 상기 메시지는 상기 새로운 비밀키(16) 값 및 이의 키 버젼 값을 포함할 수 있다. 상기 서브시스템은 상기 클러스터상에 현재 액티브한 상기 공유 비밀키(14) 값을 이용해 전송을 하기 위해 이 메시지를 암호화 할 수 있다.
이 메시지의 수신시, 각 노드(12a-12n)는 상기 메시지로부터 상기 제안된 세로운 비밀키(16) 값과 버젼을 추출하고 복호화할 것이고 그리고나서 합의 투표 라운드들의 시퀀스를 입력할 것이다. 각각의 라운드에서, 아웃바운드 트래픽을 암호화/서명하고 수신된 트래픽을 검증/복호화하는데 사용되는 상기 노드의 공동 통신 서브시스템인 상기 2개의 사용가능한(현재 및 새로) 키값의 서브셋은, 상기 현재의 공유 비밀키(14) 값의 전용 사용으로부터 상기 제안된 새로운 공유 비밀키(16) 값의 전용 사용으로, 모든 노드들(12a-12n)상에서 정연하고 동시적인 변경이 되도록 변경할 것이다.
각 투표 단계의 마지막에서의 이러한 키 값 서브셋들의 시퀀스는 도 6-8내 도시되어 있다. 도 6에서, 전송된 메시지는 오직 상기 현재의 공유 비밀키(14) 값으로만 인증될 것이다. 수신된 메시지들은 상기 현재의 공유 비밀키(14)나 상기 제안된 새로운 공유 비밀키(16) 값중 하나로만 인증될 수 있다.
도 6을 참고로 더 자세하게는, 단계 1이 상기 노드들(12a-12n)상에서 구동할 때, 노드(12n)은 아직 단계 1 변경들을 실행하고 있지 않고, 상기 기존의 공유 비밀키(14)(예를 들어 키 0+)로 전송하고 수신하고 있다. 또한 노드(12c)는 현재 단계 1 변경들을 실행하고 있고, 새로운 공유 비밀키(16, 예를 들어 키 1)을 획득했으나, 아직 이를 사용하고 있지는 않다. 노드(12b)는 단계 1 변경을 완료하고, 새로운 공유 비밀키(16)로 서명된 수신된 패킷들을 수신하고 있으나, 아직 전송된 패킷들을 서명하는데 기존의 공유 비밀키(14)를 사용하고 있다. 노드(12a)는 동일한 일을 하고 있다; 노드(12a) 및 노드(12b)는 노드들(12c-12n)이 단계 1 변경들을 완료할 때까지, 단계 2로 진행할 수 없다. 본 실시예에서, 상기 노드(12x) 시나리오는 몇몇 노드들이 단계 1 장벽을 통과하지 않았기 때문에 발생할 수 없고, 따라서 어떤 노드도 단계 2 장벽을 통과할 수 없다.
도 7에서 전송된 메시지들은 상기 제안된 새로운 공유 비밀키(16) 값으로만 인증될 수 있을 것이다. 수신된 메시지들은 상기 공유 비밀키(14) 또는 상기 제안된 새로운 공유 비밀키(16)값 중 어느 하나로 인증될 수 있다.
도 7을 참고로, 단계 1이 상기 노드들(12a-12n)상에서 완료될 때, 노드(12n)는 단계 1 변경들을 완료하고 기존의 공유 비밀키(14)로 서명된 것을 전송하나, 상기 새로운 공유 비밀키(16) 값으로 서명된 패킷들을 수신한다. 노드(12c)는 동일한 상태에 있다. 노드들(12c-12n)이 상기 단계 1 장벽을 모두 통과한 이후, 모든 노드들(12a-12n)은 현재 상기 새로운 공유 비밀키(16)로 서명된 패킷들을 수신할 준비가 되어 있다.
따라서, 단계 2 변경들을 완료한 노드(12b)는 공유 비밀키(14)로 서명된 수신된 패킷들을 접수하고 있으나, 전송할 패킷들을 서명하는데 새로운 공유 비밀키(16)(예를 들어 키 1+)를 사용하고 있고, 노드들(12c-12n)과 통신할 수 있다. 노드(12a)는 상기 단계 2 변경들을 실행하고 있고 상기 새로운 공유 비밀키(16)로 서명된 패킷들을 수신할 수 있으나, 여전히 상기 기존의 공유 비밀키(14)로 서명된 것들을 전송한다.
도 8에서, 전송된 메시지들은 오직 상기 제안된 새로운 공유 비밀키(16) 값으로만 인증될 수 있고, 수신된 메시지들은 오직 상기 제안된 새로운 키 값으로만 인증될 수 있다. 단계 2가 노드들(12a-12n)상에서 완료되었을 때, 모든 노드들은 현재 상기 새로운 공유 비밀키(16)로 전송된 메시지를 서명하고 있다. 노드 12b는 단계 3 변경들을 실행하고 있고, 상기 새로운 공유 비밀키(16)로 서명된 수신된 패킷들을 단지 접수하기 위해서 시프트(shifting over)를 하고 있다. 노드(12n)은 이미 이 단계가 완료되었고 상기 기존의 공유 비밀키(14)를 폐기하였으나, 모든 노드들(12a-12n)이 전송된 페킷들을 상기 새로운 공유 비밀키(16)로 서명하였기 때문에 이는 문제없다. 본 실시예에서, 상기 노드(12x) 시나리오는 단계 장벽들 때문에 - 노드(12n)은 단계 3을 패스했음- 발생할 수 없고, 따라서 모든 노드들(12a-12n)은 단계 2를 패스해야만 한다.
각 단계에서, 각 노드들의(12a-12b)의 ConfigRM 에이전트는, 메시지 전송 및 수신을 인증하는데 사용하기 위해, 자신의 공동 통신 서브시스템 에이전트들에(예를 들어 우리 솔류션에서는 HAGS, HATS 및 PRM) 키 값들의 적절한 세트를 통지할 것이고, 그리고나서 상기 프로토콜내 다음 단계로 계속할지를 투표할 것이다.
더 나아가, 만약 상기 현재의 공유 비밀키(14)가 "제1"로 고려되고 상기 제안된 새로운 공유 비밀키(16)가 "제2"로 고려되도록, 2개(현재와 제안된 새로운)가 각각의 노드(12a-12n)상에 있을 때 상기 키들에 대한 오더링(ordering)이 유발되었다면, 어느 키가 아웃고잉 메시지들을 인증하는데 발송자에 의해서 사용되었는지와 상기 발송자가 가지는 키들의 수(1 또는 2)가 상기 메시지 해더내 필드들에 의해 표시된다. 따라서 상기 수신자는 상기 인증 동작을 변경하기 위해 적절한 키를 즉시 선택할 수 있다
이 메카니즘은 모든 노드들(12a-12n)을 상기 기존의 공유 비밀키(14)값의 사용에서 상기 새로운 공유 비밀키(16)값의 사용으로 이행하고 그리고 상기 기존의 키를 폐기하는데 충분한데, 이는 상기 노드 값이 단계 1을 완료할 때 그들은 상기 현재 키나 상기 제안된 새로운 키 중 어느 하나로 인증된 접수하지만 상기 전송 메시지는 현재의 키로 인증할 것이기 때문이다.
이는 상기 노드들(12a-12n)이 이미 단계 2를 완료한 노드들을 용인하는(tolerate) 것을 허용하고, 상기 제안된 새로운 공유 비밀키(16)로 그들의 전송된 메시지들을 인증한다. 만약 단계 1을 완료한 후에, 노드들(12a-12n)이 전송된 메시지들을 보호하기 위해 상기 새로운 공유 비밀키(16)를 이용하는 것을 시작하면, 그러한 노드들은 상기 새로운 키값을 아직 얻어내지 못했기 때문에, 그들은 단계 1을 아직 완료하지 않은 노드들과 통신할 수 없을 것이라는 점에 유념해야 한다.
또한, 상기 노드들(12a-12n)이 단계 2를 완료하면, 그들은 상기 현재 공유 비밀키(14)나 상기 제안된 새로운 키 중 어느 하나로 인증된 수신된 메시지들을 접수하면서, 상기 제안된 새로운 공유 비밀키(16)로 전송된 메시지들을 인증할 것이다. 이는 상기 노드들(12a-12n)이 단계 2를 아직 완료하지 않은 노드들을 용인하고, 여전히 상기 현재의 공유 비밀키(14)로 그들의 전송된 메시지들을 인증하는 것을 허용한다. 만약 단계 2를 완료한 후에, 상기 노드들(12a-12n)이 상기 현재의 공유 비밀키(14)로 인증된 수신 메시지들을 접수하는 것을 중지하면, 단계 2를 아직 완료하지 않은 노드들은 여전히 상기 현재의 키 값으로 그들의 전송 메시지들을 보호하고 있기 때문에, 그들은 그러한 노드들과 통신할 수 없다.
더 나아가, 상기 공동 통신 서브시스템이 단계 3에 진입한 노드들(12-12n)을 통지하는(notifies) 때에는, 모든 노드들은 단계 2를 완료했어야 하고, 그리고 어떤 노드도 상기 현재의 공유 비밀키(14)로 자신의 전송 메시지들을 서명하고 있으면 안되고, 모든 노드들은 그들의 전송 메시지들을 상기 제안된 새로운 공유 비밀키(16)로 서명하고 있어야 한다. 따라서 이 시점에서, 모든 노드들(12a-12n)이 상기 제안된 새로운 공유 비밀키(16)로 검증하는 수신 메시지들만을 받아들이는 것은 안전한다. 상기 제안된 새로운 공유 비밀키(16)는 이 시점에서, 상기 새로운 현재 액티브 공유 비밀키가 되고 상기 기존의 대체된 공유 비밀키(14)는 더 이상 사용되지 않고 폐기된다.
본 발명의 다른 실시예는 컴퓨터-구현 프로세스들 및 그러한 프로세스들을 실행하기 위한 장치들의 형태내에 포함될 수 있는 실시예들로 안내되는데, 이는 지금부터 도 9를 참고로 기술된다. 예를 들어 상기 시스템(10)은 하나 또는 그 이상의 네트워크 요소들에 의해 실행되는 컴퓨터 프로그램 코드내에 포함된다.
실시예들은 도 9에 도시된 바와 같이, 제품으로서 유형 매체내에 포함된 명령들을 포함하는 컴퓨터 프로그램 코드 로직(904)을 가진 컴퓨터 사용가능 매체(902)상의 컴퓨터 프로그램 제품(900)을 포함한다. 컴퓨터 사용가능 매체(902)에 대한 바람직한 제품은 플로피 디스켓, CD-ROM들, 하드 드라이브들, USB, 플래시 드라이브들 및 기타 다른 컴퓨터 판독가능 저장 매체를 포함할 수 있는데, 여기서 상기 컴퓨터 프로그램 코드 로직(904)이 컴퓨터로 로드되고 컴퓨터에 의해 실행되면, 상기 컴퓨터가 본 발명을 실행하기 위한 장치가 된다.
예를 들어 실시예들은 컴퓨터 프로그램 코드 로직(904)을 포함하는데, 이것이 저장 매체내 저장되고, 컴퓨터로 로드되거나 및/또는 컴퓨터에 실행되건 간에, 상기 컴퓨터 프로그램 코드 로직(904)이 컴퓨터로 로드되고 컴퓨터에 의해 실행될 때, 상기 컴퓨터가 본 발명을 실행하기 위한 장치가 된다. 범용 마이크로프로세서상에 구현된 경우, 상기 컴퓨터 프로그램 코드 로직(704)이 특정 로직 회로들을 생성하도록 상기 마이크로프로세서의 구성을 분할한다.
또한, 상기 시스템(10)의 능력을 수행하기 위해 머신에 의해 실행가능한 명령들의 적어도 하나의 프로그램을 유형으로 포함하는, 머신에 의해 판독가능한 적어도 하나의 프로그램 저장 디바이스가 제공될 수 있다. 본 제품은 컴퓨터 시스템의 일부로서 포함되거나 따로 판매될 수 있다.
상기 시스템(10)의 성능(capabilities)은 소프트웨어, 펌웨어, 하드웨어나 이들의 몇몇 조합으로 구현될 수 있다.
여기서 기술된 이하의 도면들은 단지 예들이다. 본 발명의 권리범위에서 벗어남이 없이 여기서 기술된 이렇나 도면들이나 단계들(또는 동작들)에 많은 변형들이 있을 수 있다. 예를 들어, 상기 단계들은 다른 순서로 구현될 수 있고, 또는 단계들이 추가, 삭제 또는 수정될 수 있다. 이렇나 변형들 모두는 청구된 발명의 일부로서 고려된다. 더 나아가, 상기 용어들 한, 하나, 상기 등의 사용은 수량의 한정을 나타내는 것은 아니고, 이보단 적어도 하나의 참조된 아이템의 존재를 나타내는 것이다.
본 발명의 바람직한 실시예가 기술되었으나, 본 발명의 기술분야에서 통상의 기술을 가진 자들이 현재 또는 미래에, 이하의 청구항들의 권리범위내에 속하는 다양한 발전들 및 개선들을 만들 수 있음을 인식할 수 있을 것이다. 이러한 청구항들은 처음으로 기술된 본 발명에 대한 바람직한 보호를 유지하기 위해 고려되어야 한다.

Claims (15)

  1. 클러스터 머신 프로세싱(cluster machine processing)에 대한 통신 보안(communication security)을 개선하기 위한 시스템에 있어서,
    데이터를 공동으로 프로세스할 수 있는 복수의 상호연결된 컴퓨터들;
    상기 복수의 상호연결된 컴퓨터들 중 하나로부터 상기 복수의 상호연결된 컴퓨터들 중 다른것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증(authenticate) 중 적어도 하나를 위해, 상기 복수의 상호연결된 컴퓨터들 각각에 의해 사용되는 공유 비밀키(shared secret key); 그리고
    상기 복수의 상호연결된 컴퓨터들 중 하나로부터 상기 복수의 상호연결된 컴퓨터들 중 다른것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 상기 복수의 상호연결된 컴퓨터들 각각에 의해 사용되는 새로운 공유 비밀키;를 포함하되,
    상기 새로운 공유 비밀키는 상기 복수의 상호연결된 컴퓨터들에 의해 수행되는 데이터의 공동 프로세싱에 부정적인 영향을 미치지 않고, 상기 공유 비밀키와 공존하는(coexist)
    시스템.
  2. 제 1항에 있어서,
    상기 복수의 상호연결된 컴퓨터들 각각은
    사설 통신 네트워크들 및 공용 통신 네트워크들 중 적어도 하나를 통해서 서로 연결되는
    시스템.
  3. 제 1항 또는 제 2항에 있어서,
    상기 복수의 상호연결된 컴퓨터들 각각이, 상기 복수의 상호연결된 컴퓨터들에 대해 언제 상기 공유된 비밀키를 상기 새로운 공유 비밀키로 대체할지에 대해 투표하는
    시스템.
  4. 제 3항에 있어서,
    상기 복수의 상호연결된 컴퓨터들 각각이 상기 공유 비밀키로 전송 데이터를 인증하고, 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 수신 데이터를 인증하는
    시스템.
  5. 제 3항에 있어서,
    상기 복수의 상호연결된 컴퓨터들 각각이 상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 비밀 공유키로 수신 데이터를 인증하는
    시스템.
  6. 제 3항에 있어서,
    상기 복수의 상호연결된 컴퓨터들 각각이 상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 상기 투표에 따라 상기 새로운 공유 비밀키로 수신 데이터를 인증하는
    시스템.
  7. 제 1항 내지 제6항 중 어느 한 항에 있어서,
    상기 복수의 상호연결된 컴퓨터들 각각이, 상기 데이터에 대해 해더 필드내에 상기 공유 비밀키 또는 상기 새로운 공유 비밀키 중 어느 것이 아웃고잉 데이터를 인증하는데 사용되었는지를 표시하는(indicate)
    시스템.
  8. 제 1항 내지 제 7항 중 어느 한 항에 있어서,
    상기 복수의 상호연결된 컴퓨터들 각각이, 상기 데이터에 대해서 해더 필드내에 가지고 있는 상기 공유 비밀키 및 상기 새로운 비밀 공유키의 수(count)를 표시하는
    시스템.
  9. 클러스터 머신 프로세싱에 대한 통신 보안을 개선하기 위한 방법에 있어서,
    복수의 상호 연결된 컴퓨터들 중 하나로부터 복수의 상호 연결된 컴퓨터들 중 다른 것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 상기 복수의 상호연결된 컴퓨터들사이에서 공유 비밀키를 사용하는 단계; 및
    상기 복수의 상호연결된 컴퓨터들에 의해 수행되는 데이터의 공동 프로세싱에 부정적인 영향을 미침이 없이, 상기 상호 연결된 컴퓨터들 중 하나로부터 상기 상호연결된 컴퓨터들 중 다른 것으로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 상기 상호연결된 컴퓨터들 각각에 의해서 새로운 공유 비밀키를 사용하는 단계;를 포함하는
    방법.
  10. 제 9항에 있어서,
    상기 상호연결된 컴퓨터 각각에 의해서, 상호 연결된 컴퓨터들의 전체 그룹에 대해 상기 공유 비밀키를 상기 새로운 공유 비밀키로 대치를 투표하는 단계를 더 포함하는 방법.
  11. 제 10항에 있어서,
    상기 공유 비밀키로 전송 데이터를 인증하고, 반면에
    상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 수신 데이터를 인증하는 단계를 더 포함하는
    방법.
  12. 제 10항에 있어서,
    상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 공유 비밀키 또는 상기 새로운 공유 비밀키로 수신 데이터를 인증하는 단계를 더 포함하는
    방법.
  13. 제 10, 11 또는 12항에 있어서,
    상기 새로운 공유 비밀키로 전송 데이터를 인증하고, 반면에 상기 투표에 따라 상기 새로운 공유 비밀키로 수신 데이터를 인증하는 단계를 더 포함하는
    방법.
  14. 제 9항 내지 13항 중 어느 한 항에 있어서,
    상기 데이터에 대해 해더 파일내에 상기 공유 비밀키 또는 상기 새로운 공유 비밀키 중 어느 것이 아웃고잉 데이터를 인증하기 위해 사용되는지를 표시하는 단계를 더 포함하는
    방법.
  15. 유형 매체내 포함된 컴퓨터 프로그램 제품에 있어서,
    클러스터 머신 프로세싱에 대한 통신 보안을 개선하기 위해 상기 유형 매체와 연결된 컴퓨터 판독가능한 프로그램 코드들을 포함하고,
    상기 컴퓨터 판독가능 프로그램 코드는 상기 프로그램이
    상기 복수의 상호연결된 컴퓨터들 중 하나에서 상기 복수의 상호연결된 컴퓨터들 중 다른 하나로 전송되거나 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 복수의 상호연결된 컴퓨터들사이에서 공유 비밀키를 사용하고; 그리고
    상기 복수의 상호연결된 컴퓨터들에 의해 수행되는 데이터의 공동 프로세싱에 부정적인 영향을 미침이 없이, 상기 상호연결된 컴퓨터들 중 하나로부터 상기 상호연결된 컴퓨터들 중 다른 것으로 전송되거나 또는 수신되는 데이터의 암호화, 복호화 및 인증 중 적어도 하나를 위해, 상기 상호연결된 컴퓨터들 각각에 의해 새로운 공유 비밀키를 사용하도록 구성된
    컴퓨터 프로그램 제품.

KR1020107023764A 2008-03-26 2009-03-19 컴퓨터 클러스터 시스템들내 통신의 보안 KR101498323B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/056,202 US8767964B2 (en) 2008-03-26 2008-03-26 Secure communications in computer cluster systems
US12/056,202 2008-03-26
PCT/EP2009/053227 WO2009118268A2 (en) 2008-03-26 2009-03-19 Secure communications in computer cluster systems

Publications (2)

Publication Number Publication Date
KR20100133448A true KR20100133448A (ko) 2010-12-21
KR101498323B1 KR101498323B1 (ko) 2015-03-03

Family

ID=41051044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107023764A KR101498323B1 (ko) 2008-03-26 2009-03-19 컴퓨터 클러스터 시스템들내 통신의 보안

Country Status (5)

Country Link
US (1) US8767964B2 (ko)
EP (1) EP2258093B1 (ko)
KR (1) KR101498323B1 (ko)
CN (1) CN101981889B (ko)
WO (1) WO2009118268A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483616B1 (en) 2005-11-01 2013-07-09 At&T Intellectual Property Ii, L.P. Non-interference technique for spatially aware mobile ad hoc networking
US8355410B2 (en) 2007-08-17 2013-01-15 At&T Intellectual Property I, L.P. Location-based mobile gaming application and method for implementing the same using a scalable tiered geocast protocol
US8702506B2 (en) * 2005-11-30 2014-04-22 At&T Intellectual Property I, L.P. Geogame for mobile device
US8777752B2 (en) 2005-11-30 2014-07-15 At&T Intellectual Property I, L.P. Geogame for mobile device
US20090144548A1 (en) * 2007-11-30 2009-06-04 Motorola, Inc. Authentication while exchanging data in a communication system
US9544922B2 (en) * 2008-09-16 2017-01-10 At&T Intellectual Property I, L.P. Quality of service scheme for collision-based wireless networks
US8234518B2 (en) * 2009-07-21 2012-07-31 Vmware, Inc. Method for voting with secret shares in a distributed system
US8352482B2 (en) 2009-07-21 2013-01-08 Vmware, Inc. System and method for replicating disk images in a cloud computing based virtual machine file system
US8352490B2 (en) 2009-10-22 2013-01-08 Vmware, Inc. Method and system for locating update operations in a virtual machine disk image
US9118428B2 (en) * 2009-11-04 2015-08-25 At&T Intellectual Property I, L.P. Geographic advertising using a scalable wireless geocast protocol
US8712056B2 (en) * 2010-06-03 2014-04-29 At&T Intellectual Property I, L.P. Secure mobile ad hoc network
US10016684B2 (en) 2010-10-28 2018-07-10 At&T Intellectual Property I, L.P. Secure geographic based gaming
US9319842B2 (en) 2011-06-27 2016-04-19 At&T Intellectual Property I, L.P. Mobile device configured point and shoot type weapon
US9161158B2 (en) 2011-06-27 2015-10-13 At&T Intellectual Property I, L.P. Information acquisition using a scalable wireless geocast protocol
US9495870B2 (en) 2011-10-20 2016-11-15 At&T Intellectual Property I, L.P. Vehicular communications using a scalable ad hoc geographic routing protocol
US8744419B2 (en) 2011-12-15 2014-06-03 At&T Intellectual Property, I, L.P. Media distribution via a scalable ad hoc geographic protocol
US20130179951A1 (en) * 2012-01-06 2013-07-11 Ioannis Broustis Methods And Apparatuses For Maintaining Secure Communication Between A Group Of Users In A Social Network
CN103312494A (zh) * 2012-03-14 2013-09-18 中国人民银行印制科学技术研究所 数据分散存储方法、数据还原方法及数据卡
US9071451B2 (en) 2012-07-31 2015-06-30 At&T Intellectual Property I, L.P. Geocast-based situation awareness
US9210589B2 (en) 2012-10-09 2015-12-08 At&T Intellectual Property I, L.P. Geocast protocol for wireless sensor network
US9660745B2 (en) 2012-12-12 2017-05-23 At&T Intellectual Property I, L.P. Geocast-based file transfer
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9882714B1 (en) * 2013-03-15 2018-01-30 Certes Networks, Inc. Method and apparatus for enhanced distribution of security keys
CN103259786A (zh) * 2013-04-16 2013-08-21 浪潮电子信息产业股份有限公司 一种实现hpc集群安全的方法
US9203616B1 (en) * 2013-04-30 2015-12-01 Emc Corporation Multi-server fault tolerant data store update
US20160218866A1 (en) * 2015-01-27 2016-07-28 Qualcomm Incorporated Group key announcement and distribution for a data link group
ES2904528T3 (es) * 2015-02-12 2022-04-05 Visa Int Service Ass Aparatos, métodos y sistemas de procesamiento de cubo de cifrado de múltiples partes
US9940486B2 (en) * 2015-02-23 2018-04-10 Cisco Technology, Inc. Detection of hardware tampering
US9876823B2 (en) * 2015-06-09 2018-01-23 Intel Corporation System, apparatus and method for privacy preserving distributed attestation for devices
US10608817B2 (en) * 2016-07-06 2020-03-31 Masimo Corporation Secure and zero knowledge data sharing for cloud applications
US10567359B2 (en) * 2017-07-18 2020-02-18 International Business Machines Corporation Cluster of secure execution platforms
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US11436344B1 (en) * 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11558357B2 (en) * 2019-11-22 2023-01-17 Baidu Usa Llc Method for key sharing between accelerators with switch
CN111262868B (zh) * 2020-01-17 2021-04-06 中国科学院计算技术研究所 一种基于智能网卡的消息发送方法以及接收方法
CN111404950B (zh) * 2020-03-23 2021-12-10 腾讯科技(深圳)有限公司 一种基于区块链网络的信息共享方法、装置和相关设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035041A (en) * 1997-04-28 2000-03-07 Certco, Inc. Optimal-resilience, proactive, public-key cryptographic system and method
US6064297A (en) 1997-06-12 2000-05-16 Microsoft Corporation Message authentication and key synchronization in home control systems
US6295361B1 (en) * 1998-06-30 2001-09-25 Sun Microsystems, Inc. Method and apparatus for multicast indication of group key change
US20020110245A1 (en) * 2001-02-13 2002-08-15 Dumitru Gruia Method and system for synchronizing security keys in a point-to-multipoint passive optical network
US7181015B2 (en) 2001-07-31 2007-02-20 Mcafee, Inc. Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique
US7245724B1 (en) * 2002-03-08 2007-07-17 Atheros Communications, Inc. Rekey operation with multiplexing capability
US7216226B2 (en) 2002-04-01 2007-05-08 Hewlett-Packard Development Company, L.P. Unique and secure identification of a networked computing node
AU2002323169A1 (en) 2002-04-05 2003-10-27 Ipass, Inc. Method and system for changing security information in a computer network
US7236597B2 (en) 2002-12-20 2007-06-26 Bbn Technologies Corp. Key transport in quantum cryptographic networks
WO2004102871A1 (en) * 2003-05-13 2004-11-25 Telecom Italia S.P.A. A process for secure communication over a wireless network, related network and computer program product
US20050015471A1 (en) * 2003-07-18 2005-01-20 Zhang Pu Paul Secure cluster configuration data set transfer protocol
JP4277754B2 (ja) 2004-07-12 2009-06-10 ソニー株式会社 表示装置の壁掛け支持装置
CN1777099A (zh) 2004-11-15 2006-05-24 中兴通讯股份有限公司 移动通信多播应用中更新组密钥的方法
US20070104104A1 (en) * 2005-11-09 2007-05-10 Abu-Amara Hosame H Method for managing security keys utilized by media devices in a local area network
US8209548B2 (en) * 2006-02-06 2012-06-26 International Business Machines Corporation Secure caching technique for shared distributed caches

Also Published As

Publication number Publication date
CN101981889A (zh) 2011-02-23
WO2009118268A3 (en) 2009-11-19
EP2258093A2 (en) 2010-12-08
WO2009118268A2 (en) 2009-10-01
US8767964B2 (en) 2014-07-01
US20090245518A1 (en) 2009-10-01
CN101981889B (zh) 2014-03-12
EP2258093B1 (en) 2014-03-19
KR101498323B1 (ko) 2015-03-03

Similar Documents

Publication Publication Date Title
KR101498323B1 (ko) 컴퓨터 클러스터 시스템들내 통신의 보안
US11316677B2 (en) Quantum key distribution node apparatus and method for quantum key distribution thereof
US11533297B2 (en) Secure communication channel with token renewal mechanism
US9338150B2 (en) Content-centric networking
CN106104562B (zh) 机密数据安全储存和恢复系统及方法
JP5201716B2 (ja) 暗号モジュール配信システム、暗号管理サーバ装置、暗号処理装置、クライアント装置、暗号管理プログラム、暗号処理プログラム、およびクライアントプログラム
CN110932850B (zh) 通信加密方法及系统
JP2022521525A (ja) データを検証するための暗号方法
US11722466B2 (en) Methods for communicating data utilizing sessionless dynamic encryption
JP2020532177A (ja) データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
CN115766066A (zh) 数据传输方法、装置、安全通信系统及存储介质
KR102008670B1 (ko) 멀티캐스트 그룹을 모니터링하는 장치
CN110581829A (zh) 通信方法及装置
US10158610B2 (en) Secure application communication system
US11563575B2 (en) Communication node, method of operating thereof and collaborative system
KR102413497B1 (ko) 보안 전자 데이터 전송을 위한 시스템 및 방법
Dee et al. Message integrity and authenticity in secure CAN
US11743293B2 (en) Remote attestation transport layer security and split trust encryption
WO2023151427A1 (zh) 量子密钥传输方法、装置及系统
Kartit et al. Improved Methods and Principles for Designing and Analyzing Security Protocols.
Beguinet et al. Formal Verification of a Post-Quantum Signal Protocol with Tamarin
WO2023219787A1 (en) Secure multi-party computation with attestation using a trusted execution environment
Ambika et al. Centralized key distribution protocol using identity-based encryption techniques in cloud computing environments
Prakasha et al. Secure and Efficient User Authentication Using Modified Otway Rees Protocol in Distributed Networks
CN114386054A (zh) 用于消息存储处理和安全认证的控制方法、系统和介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 6