KR101071131B1 - 메시지 암호화 방법, 메시지 암호화를 돕기 위한 방법 및 컴퓨터 프로그램 프로덕트 - Google Patents

메시지 암호화 방법, 메시지 암호화를 돕기 위한 방법 및 컴퓨터 프로그램 프로덕트 Download PDF

Info

Publication number
KR101071131B1
KR101071131B1 KR1020030082078A KR20030082078A KR101071131B1 KR 101071131 B1 KR101071131 B1 KR 101071131B1 KR 1020030082078 A KR1020030082078 A KR 1020030082078A KR 20030082078 A KR20030082078 A KR 20030082078A KR 101071131 B1 KR101071131 B1 KR 101071131B1
Authority
KR
South Korea
Prior art keywords
certificate
client
destination
electronic message
request
Prior art date
Application number
KR1020030082078A
Other languages
English (en)
Other versions
KR20040044376A (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 KR20040044376A publication Critical patent/KR20040044376A/ko
Application granted granted Critical
Publication of KR101071131B1 publication Critical patent/KR101071131B1/ko

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

목적지 클라이언트로 전송되어야 할 전자 메시지를 암호화할 경우, 소스 클라이언트가 목적지 클라이언트에 대응하는 인증서 전체를 액세스하지 않는 인증서-기반 암호화 메카니즘이 제공된다. 대신에, 소스 클라이언트는 단지 인증서 서버로부터 인증서의 일부분만을 요구한다. 그 부분은 암호화 정보를 포함하지만, 인증서에서의 자기-검증 정보의 일부 또는 심지어 전체를 포함하지 않을 수 있다. 인증서 서버는 바람직하게는 소스 클라이언트로 암호화 정보를 전송하기 전에 인증서의 정당성 입증을 수행한다. 만약 인증서 서버가 소스 클라이언트에 의해 신뢰될 경우라면, 인증서는 소스 클라이언트에 의해 개별적으로 확인될 필요은 없다.
암호화, 전자 메시지, 소스 클라이언트, 목적지 클라이언트, 인증서, 인증서의 일부분

Description

메시지 암호화 방법, 메시지 암호화를 돕기 위한 방법 및 컴퓨터 프로그램 프로덕트{SYSTEM AND METHOD FOR TRANSMITTING REDUCED INFORMATION FROM A CERTIFICATE O PERFORM ENCRYPTION OPERATION}
본 발명의 상술한 장점 및 특징과 그 외의 장점 및 특징이 얻어질 수 있는 방식을 서술하기 위하여, 앞서 간략히 서술한 본 발명의 보다 자세한 서술이 첨부된 도면에 도시된 특정 실시예를 참조로 하여 묘사될 것이다. 도면은 본 발명의 대표적인 실시예를 나타낸 것일 뿐, 본 발명의 범위를 제한하고자 하는 것으로 이해되어서는 안 된다는 점을 이해해야 하며, 본 발명은 도면의 사용을 통하여 특정된 채 자세하게 기술되고 설명될 것이다.
도 1은 본 발명의 특징을 구현하기에 적합한 무선 장치를 도시하는 도면.
도 2는 목적지 클라이언트로 전송되는 전자 메시지를 암호화하기 위하여 인증서 서버로부터의 정보를 이용하는 소스 클라이언트를 포함하는 본 발명의 특징이 채용되기에 적합한 네트워크 환경을 도시하는 도면.
도 3은 본 발명의 특징에 따라, 1개 이상의 목적지 클라이언트에게 전송되는 전자 메시지를 소스 클라이언트가 암호화하는 방법 및 인증서 서버가 동일한 것을 용이하게 하는 방법에 대한 흐름도.
도 4는 본 발명의 특징에 따라, 인증서에 대한 요구의 데이터 구조를 도시하 는 도면.
도 5는 본 발명의 특징에 따라, 요구에 대한 응답의 데이터 구조를 도시하는 도면.
도 6은 본 발명의 특징에 따라, 인증서(또는 그 일부)를 사용하여 암호화된 전자 메시지의 데이터 구조를 도시하는 도면.
도 7은 본 발명의 특징에 따라, 자기-검증 정보를 갖지 않는 인증서의 일 부분의 데이터 구조를 도시하는 도면.
도 8은 종래 기술에 따라, 자기 정당성 정보를 포함하는 전체 인증서의 데이터 구조를 도시하는 도면.
본 출원은 2002년 11월 20일 출원되고 발명의 명칭이 "암호화 동작을 수행하기 위해 인증서로부터 감소된 정보를 전송하는 시스템 및 방법(System and Method for Transmitting Reduced Information from a Certificate to Perform Encryption Operation)"인 미국 가출원 번호 제60/428,080호에 대한 우선권을 주장한 것이다.
본 발명은 보안 통신에 관한 것이다. 보다 구체적으로, 본 발명은 통신의 암호화(encryption)를 위해 인증서(certificate)를 사용하는 것에 관한 것이다.
계산 및 네트워킹 기술은 우리가 작업을 하고 유희를 즐기는 방식을 변형해 오고 있다. 네트워크 기술의 발전에 따라, 단순한 네트워크-인에이블 계산 시스템은 "인터넷"이라고 종종 불리우는 집적을 통해 전 세계에 산재되어 있는 수백만의 다른 계산 시스템 중 하나와 통신을 할 수 있다. 그와 같은 계산 시스템은, 데스크탑, 랩탑, 또는 태블릿(tablet) 개인용 컴퓨터, 개인 휴대 단말기(PDA), 전화기, 디지털 네트워크를 통해 통신할 수 있는 임의의 다른 컴퓨터 또는 장치를 포함할 수 있다.
네트워크를 통하여 통신을 하기 위하여, 하나의 계산 시스템(여기에서는 "소스 계산 시스템" 또는 "소스 클라이언트"라고 부름)은 전자 메시지를 만들거나 액세스하고, 네트워크를 통하여 다른 계산 시스템(여기에서는 "목적지 계산 시스템" 또는 "목적지 클라이언트"라고 부름)으로 전자 메시지를 전송한다. 전자 메시지가 이-메일이거나 순간 메시지(instant message)인 경우 전자 메시지는 사용자에 의해 판독될 수 있거나, 수신 계산 시스템에서 동작하는 애플리케이션에 의해 판독될 수도 있다. 전자 메시지는, 사용자가 적절히 도와주면서 발송 계산 시스템에서 동작하는 애플리케이션에 의해 만들어질 수 있다.
그와 같은 전자 메시징은 계산 시스템으로 하여금 정보를 주고 받고 그에 의해 전에 알지 못하였던 방식으로 관련 사용자들에게 서비스를 제공하는 이점이 있기는 하지만, 전자 메시지는 가로채기(interception)를 당하기 쉽다. 전자 메시지 내용의 민감도에 따라서, 이것은 매우 유해할 수 있으며, 어떤 경우에는 큰 재앙이 될 수도 있다. 가로채기로부터 보호하기 위하여, 전자 메시지는 종종 암호화되어, 어떤 이진 시퀀스("키"라고 부름)를 갖는 사람들이 전자 메시지를 해독하여 전자 메시지에 나타내어진 정보를 액세스할 수 있게 된다. 수신 계산 시스템만이 전자 메시지를 해독하기 위해 필요한 키에 대한 액세스를 갖도록 하기 위해 많은 노력을 기울이고 있다. 따라서, 중도의 인터셉터(Interceptor)는 매우 많은 노력 없이 전자 메시지의 암호화된 형태에 대한 액세스를 갖게 된다.
대칭 암호화에 있어서는, 전자 메시지를 암호화하는데 사용된 키가 전자 메시지의 해독에도 사용될 수 있다. 비대칭 암호화에 있어서는, "공개 키(public key)" 및 "개인 키(private key)"가 특정 계산 시스템과 연관된다. 공개 키는 넓고 다양한 계산 시스템들에 알려지도록 되는 반면에, 개인 키는 공개되지 않는다. 개인 키는 공개 키를 사용하여 암호화된 임의의 메시지를 해독하는데 사용될 수 있다. 수신 계산 시스템은 그 계산 시스템에 대한 것으로 의도된 전자 메시지를 해독할 수 있는 유일한 전자 시스템이어야 하기 때문에, 개인 키는 공개 키보다 민감하다.
암호화를 용이하게 하기 위하여, 전송 계산 시스템은 종종 수신 계산 시스템과 연관된 전자 인증서에 액세스한다. 도 8은 종래 기술에 따른 인증서(800)의 데이터 구조를 도시한다. 인증서(800)는 정당성 확인 정보(validation information; 803)를 포함한다. 정당성 확인 정보(803)는 전송 계산 시스템으로 하여금, 인증서가 진정으로 수신 계산 시스템에 대응한 것이며 인증서가 취소된 것이 아님을 확인할 수 있도록 한다. X.509 인증서는 현재 널리 사용되는 인증서의 한 형태이다. X.509 인증서의 정당성 확인 정보는, 예를 들어, 인증서가 목적지 계산 시스템에 대응하는 것인지 여부를 검증하기 위해 액세스 될 수 있는 URL을 포함할 수 있다. X.509 인증서의 정당성 확인 정보는 인증서가 취소된 것인지 여부를 나타내기 위하여 인증서 취소 리스트를 포함할 수도 있다.
X.509 인증서(800)는 또한, 전송 계산 시스템으로 하여금 인증서를 식별할 수 있도록 하기 위한 인증서 식별 정보(802)를 포함한다. 예를 들어, X.509 인증서는 키 식별자 또는, 발행자 식별자 및 일련 번호의 조합을 포함할 수 있다.
인증서(800)는 또한 암호화 정보(801)(예를 들어, X.509 인증서에서의 공개 키)를 포함할 수도 있다. 암호화 정보는, 전송 계산 시스템으로 하여금 그 인증서에 대응하는 목적지 계산 시스템에 의해 해독될 수 있는 방식으로 전자 메시지를 암호화할 수 있게 한다. 예를 들어, 전송 계산 시스템이 목적지 계산 시스템에 대응하는 공개 키를 사용하여 전자 메시지를 암호화할 경우, 목적지 계산 시스템은 이상적으로는, 그 전자 메시지를 해독하는데 필요한 대응 개인 키를 갖는 유일한 계산 시스템일 것이다.
인증서가 부호화의 순간에 사용될 때 중요한 경우가 존재한다. 예를 들어, S/MIME를 사용하는 이-메일을 암호화할 때, 통상적으로, 수신 계산 시스템에 대한 인증서는 부호화를 수행하는 데에 있어 전송 계산 시스템을 돕기 위하여 전송 시스템 자체에서 사용된다. MIME(Multipurpose Internet Mail Extension)는 인터넷을 통하여 전송될 수 있도록 비-ASCII 메시지를 포매팅하기 위한 기준이다. 많은 이-메일 클라이언트들이 MIME을 지원하며, MIME는 인터넷 메일 시스템을 통하여 그래픽, 오디오 및 비디오 파일을 보내고 받을 수 있게끔 한다. MIME는 Internet Engineering Task Force(IETF)에서 1992년에 정한 것이다. S/MIME는 MIME 표준을 따르는 이-메일 메시지 내용을 암호화 및 해독하는 방식을 정의하는 표준이다. S/MIME는 상술한 공개 키 부호화 기술에 기초한 것이다. S/MIME는 상이한 이-메일 애플리케이션을 사용하고 있을지라도 보안 이-메일 메시지를 다른 사람에게 보낼 수 있도록 할 것이기 때문에, 보다 널리 사용될 것으로 예상된다.
특히 한정된 메모리를 갖는 휴대 장치에 대하여 S/MIME에 의해 정의된, 인증서 기반 암호화 기술이 널리 채택되고 사용된 구현이 잠재적으로 존재한다. 현재, 인증서 기반 암호화에서 메시지를 암호화하기 위하여, 전체 인증서가 액세스된다. X.509 인증서는 종종 각 인증서 당 1 킬로 바이트(Kb)보다 훨씬 큰 크기를 가질 수 있다. 인증서는 전통적으로 메시지의 잠재적인 수신자 각각에 대하여 사용된다. 어떤 메시지들은 많은 수신자를 가질 수 있고, 그 결과 인증서를 저장하기 위해 필요한 메모리의 양을 증가시킨다. 이것은, 상대적으로 제한된 메모리 및 프로세서 처리 능력을 일반적으로 갖고 있는 휴대 장치에서 동작할 경우 동작을 매우 느리게 할 수 있다.
더욱이, 전송 계산 시스템은 대기 시간이 길고 대역폭이 적은 접속(예를 들어, 다이얼-업 또는 무선 접속)을 통하여 다른 계산 시스템으로부터 인증서들을 종종 얻게 된다. 특히, 인증서는 이-메일 사용자에 의한 액세스를 위하여 중앙 저장소 또는 디렉토리에 종종 저장된다. 인증서의 크기는 느린 네트워크 접속을 통하여 저장소들에 접속된 이-메일 사용자들에게 강한 영향을 준다. 따라서, 메모리, 프로세서 및 대역폭 조건을 감소시키는 인증서 기반 암호화 기술이 유리하게 된다.
종래 기술의 상술한 문제점들은 본 발명의 특징에 의해 극복되며, 본 발명은, 암호화 순간에 전체 인증서가 사용되지 않고 그 결과 암호화 순간에 메모리 및 프로세서 자원을 보존하는 인증서 기반 암호화 메카니즘에 관한 것이다. 더욱이, 암호화 지점이 인증서로의 액세스를 이미 갖고 있지 않은 경우, 전체 인증서보다 더 작은 것이 암호화 지점으로 전송되어, 그 결과 전체 인증서를 (저장하고) 전송하는 경우에 비하여 대역폭(및 메모리)을 보존한다.
본 발명의 특징은, 소스 클라이언트가 1개 이상의 목적지 클라이언트로 전송되는 전자 메시지에 대한 암호화 지점이 되는 네트워크 환경에서 구현될 수 있다. 인증서는 전자 메시지에 대한 잠재적인 목적지 클라이언트들에게 대응 인증서를 제공하는 인증서 서버로부터 액세스 될 수 있다. 인증서는 인증서에 대한 액세스를 갖고 있는 이로 하여금, 인증서에 대응하는 엔티티(entity)에 의해 해독될 수 있는 방식으로, 전자 메시지를 암호화할 수 있도록 하는 암호화 정보를 포함한다. 인증서는 또한 인증서에 대한 액세스를 갖고 있는 이로 하여금, 인증서가 유효한 것임을, 즉 인증서가 대응 엔티티에 진정으로 속하는 것이며 취소되지 않은 것임을 검증할 수 있도록 하는 자기-검증 정보를 포함한다.
소스 클라이언트는 목적지 클라이언트에 전송된 전자 메시지를 액세스하고, 전자 메시지가 암호화되어야 할 것임을 결정한다. 소스 클라이언트는 목적지 클라이언트에 대응하는 인증서 중 일부분만을 액세스하는 요구(request)를 생성한다. 이 부분은 암호화 정보를 포함하지만, 자기-검증 정보의 일부 또는 전부를 갖고 있지 않을 수 있다. 그 이후에 소스 클라이언트는 요구를 인증서 서버에 보내고, 인 증서 서버는 요구를 수신하여 인증서의 요구된 부분만을 응답으로 되돌려 보낸다.
되돌려 보내지는 인증서의 부분은 전체 인증서보다 훨씬 크기가 작을 수 있다. 따라서, 요구된 부분만을 돌려보내는 것은 인증서 서버 및 소스 클라이언트 사이에 요구되는 대역폭을 대폭 감소시킬 수 있다. 소스 클라이언트가 응답을 수신하면, 암호화 정보는 목적지 클라이언트에 의해 해독될 수 있도록 전자 메시지를 암호화하는 데 사용된다.
부호화 처리는 전자 메시지의 내용을 곧장 암호화하기 위하여 공개 키를 사용하는 것을 포함할 수 있다. 그와 달리, 복수의 목적지 클라이언트가 메시지를 수신할 경우, 전자 메시지의 내용은 다른 키(예를 들어, 세션 키)를 가지고 암호화될 수 있다. 전자 메시지는 각 목적지 클라이언트를 위해 대응 공개 키를 가지고 암호화되는 세션 키를 포함할 수도 있다.
따라서, 전체 인증서보다 더 작은 것이 전송되고 암호화에 사용되므로, 소스 클라이언트에서의 메모리 및 처리 자원이 보존된다. 이것은 소스 클라이언트가, 제한된 프로세서 및 메모리 자원을 갖고 종종 다른 네트워크와 제한된 대역폭의 접속을 갖는 휴대 장치인 경우 특히 중요하다. 본 발명은 전자 메시지의 보안 뿐만 아니라 타이밍이 중요한 경우 특히 유용하다.
인증서의 자기-검증 정보는 인증서의 요구된 부분에 포함되지 않을 수 있음에 주목한다. 인증서의 유효성을 검증할 수 있도록 하는 것과 관련하여 보안을 유지하기 위해, 인증서 검증은 인증서 서버에 의하여 수행될 수 있다. 인증서 서버가 정당성을 수행하는 경우 소스 클라이언트가 독립적으로 인증서의 정당성을 검사하지 않고 인증서가 유효하다는 결론을 내릴 수 있을 정도로, 인증서 서버는 소스 클라이언트에 의해 미리 신뢰받는 것이 바람직하다.
본 발명의 부가적인 특징 및 장점은 이하 기술될 것이며, 기술된 것으로부터 자명한 것도 있으며, 본 발명의 실행에 의해 알게 될 수도 있을 것이다. 본 발명의 특징 및 장점은 첨부된 청구범위에서 특별히 지적된 기구 및 조합에 의해 실현되고 얻을 수 있다. 본 발명의 이러한 특징 및 다른 특징들은 다음의 기재 사항 및 첨부된 청구범위로부터 보다 충분히 분명해 질 것이며, 이하 기술되는 바와 같이 본 발명의 실시에 의해 알게 될 것이다.
본 발명의 특징은 목적지 클라이언트(destination client)에게 보내지는 전자적 메세지를 암호화할 때, 소스 클라이언트(source client)가 목적지 클라이언트와 관련된 전체 인증서에 액세스하지 않는 인증서에 기초한 암호화 메카니즘에 관한 것이다. 대신, 소스 클라이언트는 인증서 서버로부터 인증서의 부분만을 요구한다. 상기 부분은 암호화 정보를 포함하지만, 약간의 또는 전부의 인증서 자기 검증 정보(self validation information)가 결여되어 있을 수 있다. 확인이 실행되면, 상기 인증서 서버는 소스 클라이언트에 암호화 정보를 보내기에 앞서 어떠한 인증서 확인을 수행한다. 특히 상기 인증서 서버가 소스 클라이언트에 의해 신뢰된다면 인증서는 소스 클라이언트에 의해 각각 확인될 필요가 없다.
소스 클라이언트는 메세지를 암호화하기 위해, 인증서["미니 인증서(mini-certificate)" 또는 "부분 인증서(partial certificate)"로서 이 글에서 관련될 수 있다]의 더욱 한정된 부분을 사용한다. 부분 인증서는 전체 인증서보다 훨씬 작기 때문에, 이는 인증서에 기초한 암호화의 수행에 사용되는 메모리 및 프로세서의 리소스를 감소시키며, 또한 인증서 서버와 소스 클라이언트 사이의 대역폭에 대한 요구도 감소시킨다.
본 발명의 실시예는 이하에서 상세하게 설명되는 바와 같이, 다양한 컴퓨터 하드웨어를 포함하는 컴퓨팅 장치라는 특수하거나 일반적인 목적을 포함할 수 있다. 본 발명의 범위 내의 실시예들은 또한 저장된 데이터 구조 또는 컴퓨터로 실행할 수 있는 명령들을 갖거나 수행하기 위한 컴퓨터 판독 가능 매체를 포함할 수 있다. 그러한 컴퓨터 판독 가능 매체는 일반 또는 특수한 목적의 컴퓨터에 의해 액세스될 수 있는 어떠한 이용가능한 매체일 수 있다. 예컨대, 다음으로 한정하는 것은 아니지만, 그러한 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM, 다른 광 디스크 저장 장치, 자기 디스크 저장 장치, 다른 자기 저장 장치 또는 컴퓨터가 수행할 수 있는 명령이나 일반 또는 특수 목적의 컴퓨터에 의해 액세스 가능한 형태에서 요구되는 프로그램 코드 수단을 수행 또는 저장하는데 사용될 수 있는 다른 매체와 같은 물리적 저장 매체를 포함할 수 있다. 상기 컴퓨터 판독 매체는 영구 메모리(persistent memory), 런-타임 메모리(run-time memory) 또는 양자의 조합일 수 있다.
도 1 및 관련 논의는 발명이 실행되는 적절한 컴퓨팅 환경의 간략하면서도 일반적인 설명을 제공하기 위한 것이다. 요구되지 않음에도 불구하고, 본 발명은 컴퓨팅 장치들에 의해 실행되는 프로그램 모듈과 같은 컴퓨터로 실행가능한 명령들의 일반적인 배경 내에서 설명될 것이다. 일반적으로, 프로그램 모듈은 특정 태스 크(task) 또는 특정 추상 데이터 유형(abstract data type)들을 수행하는 루틴(routine), 프로그램, 객체(object), 요소(component), 데이터 구조(data structure)와 같은 것들을 포함한다.
도 1을 참조하면, 본 발명의 특징을 위한 적절한 동작 환경은 무선 장치(100)의 형태에서, 일반 목적의 컴퓨팅 장치를 포함한다. 상기 무선 장치(100)는 모바일 전화의 외관을 가지고 있지만, 지금은 많은 다양한 장치들이 본 발명의 특징을 이용함으로써, 무선 네트워크를 통해 커뮤니케이션을 할 수 있으며, 이득을 얻을 수 있다. 예를 들어, 랩탑 컴퓨터(laptop computer), 태블릿 컴퓨터(tablet PCs), PDA(Personal Digital Assistants) 및 기타 무선 장치들이 이용 가능하다. 다른 무선 장치의 형태는 앞으로 더욱 발전할 것이다. 본 발명의 특징은 무선 장치의 특정 형태에 한정되지 않는다.
무선 장치(100)는 사용자가 입력 사용자 인터페이스(input user interface; 103)를 통해 정보를 입력할 수 있게 하는 사용자 인터페이스(101)를 포함한다. 사용자는 출력 사용자 인터페이스(output user interface; 102)를 통해 나타내어지는 정보를 보게 된다. 상기 사용자 인터페이스는 무선 장치의 형태 요소에 따라 다양하게 변경될 수 있다. 다만, 본 실시예에서는, 무선 장치(100)가 랩탑 컴퓨터이므로, 출력 사용자 인터페이스(102)는 시각적인 정보를 사용자에게 나타내는 디스플레이(105) 뿐만 아니라, 사용자에게 청각적인 정보를 나타내는 스피커(104)를 포함한다.
상기 입력 사용자 인터페이스(103)는 청각적인 정보를 전자적 형태로 만들기 위한 마이크로폰(106)을 포함한다. 또한, 상기 입력 사용자 인터페이스(103)는 사용자가 정보를 무선 장치(100)에 입력할 수 있도록 하는 다이얼링 제어(dialing controls) 및 네비게이션 제어(navigation controls)를 포함한다.
프로그램 코드 수단은 메모리(112)에 저장되는 하나 이상의 프로그램 모듈을 포함한다. 상기 하나 이상의 프로그램 모듈은 운영 시스템(operating system; 113), 하나 이상의 응용 프로그램(application programs; 114), 다른 프로그램 모듈(115) 및 프로그램 데이터(116)를 포함할 수 있다. 상기 하나 이상의 프로그램 모듈은 메모리(휘발성인 경우) 안에서 기술되어지거나, 메모리(비휘발성인 경우)로부터 로딩되며, 나아가 프로세서(111)를 사용하여 처리된다. 상기 프로그램 코드 수단은 휘발성 메모리 뿐만 아니라 비휘발성 메모리도 포함할 수 있으며, 그 형태는 무선 장치의 타입에 따라 크게 변경될 수 있다.
도 1은 본 발명을 위한 적절한 동작 환경을 나타내는 바, 본 발명의 특징은 무선 네트워크를 통해 커뮤니케이션을 할 수 있는 어떠한 무선 장치에도 이용될 수 있다. 도 1에서 도시되고 있는 무선 장치는 단지 도시일 뿐이며, 실현 가능한 본 발명의 특징내에서 환경의 폭넓은 다양성의 작은 부분만을 나타내고 있는 것은 결코 아니다.
도 2는 이용되는 본 발명의 특징내에서 네트워크 환경(200)을 도시한다. 상기 네트워크 환경(200)은 소스 클라이언트 컴퓨팅 시스템(210)을 포함한다. 상세한 설명 및 청구범위에서, "컴퓨팅 시스템(computing system)"은 하나 이상의 프로세서를 사용하는 소프트웨어의 실행을 가능하게 하는 하드웨어 요소들의 조합 또는 어떠한 하드웨어 요소이다. 상기 컴퓨팅 시스템은 프로세싱 능력을 가진 시스템이거나 장치일 수 있다. 컴퓨팅 시스템은, 현재 존재하거나 미래에 개량될 것인지 여부를 불문하고, 예를 들어 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, PDA, 모바일 전화기(mobile telephone) 또는 기타 프로세싱 시스템이거나 장치일 수 있다. 예를 들어, 소스 클라이언트(210)는 필요하면 소스 클라이언트(210)에게 인증서(또는 그 부분)를 제공하기 위해 동작하는 인증서 서버(220)의 서비스들을 수신한다. 예를 들어, 소스 클라이언트(210)는 수직으로 점들(235)에 의해 나타내어지는 바와 같은 잠재적으로 많은 것 사이에서 목적지 클라이언트들(231, 232, 233, 234)의 어떤 하나를 포함하는 하나 이상의 목적지 클라이언트(230)에게 보내지는 전자 메세지에 액세스한다(아무튼 전자 메세지를 생성한 것임). 소스 클라이언트(210) 및 목적지 클라이언트들(231, 232, 233 및 234)은 무선 장치(100)를 위해 상술한 바와 같이 구성될 수 있으며, 또는 여기서 설명한 컴퓨팅 시스템의 정의 내에 속하는 어떤 다른 형태를 취할 수 있다.
도 3은 소스 클라이언트 컴퓨팅 시스템이 본 발명의 특징에 따라 인증서 서버의 도움으로 적어도 하나의 목적지 클라이언트에게 보내지는 메세지를 암호화하는 방법(300)에 대해 도시하고 있다. 상기 방법(300)의 단계 중 몇몇 단계는 "소스 클라이언트"라는 제목 아래에 있는 도 3의 좌측 컬럼 아래에 나타내어지는 바와 같이 소스 클라이언트(210)에 의해 수행될 수 있다. 상기 방법(300)의 다른 단계들은 "인증서 서버"라는 제목 아래에 있는 도 3의 우측 컬럼에 나타내어지는 인증서 서버(220)에 의해 수행된다.
상기 소스 클라이언트(210)는 적어도 하나의 목적지 클라이언트에 전송될 수 있는 전자 메세지에 액세스한다(단계 301). 상기 전자 메세지는 로컬 메모리로부터 액세스되거나, 수신 컴퓨팅 시스템으로 배달하기 위한 다른 컴퓨팅 시스템으로부터 수신될 수 있다. 나아가, 상기 전자 메세지는 목적지 클라이언트에 보내지는 전자 메세지의 최종 버전의 임시 버전일 수 있다.
소스 클라이언트(210)는 전자 메세지가 목적지 클라이언트에의 전송 전에 암호화되는 것으로 결정한다(단계 302). 이 결정은 목적지 클라이언트 또는 목적지 클라이언트가 속하는 어느 그룹의 클라이언트와 관련있는 특정한 설정인 구성의 설정이나 소스 클라이언트의 사용자로부터의 요구에 응답하여 이루어 질 수 있다.
상기 소스 클라이언트(210)는 상기 목적지 클라이언트에 대응하는 전체 인증서에 로컬 액세스 없이 목적지 클라이언트에 암호화하는 인증서에 기초한 암호화를 수행하기 위해 기능적이면서 결과 지향적인 단계를 수행한다(단계 303). 이 결과 지향적인 단계는 결과를 완성하기 위해 어떤 대응하는 단계들을 포함한다. 그러나, 실시예에서는, 단계 303은 대응하는 단계들 304, 305 및 309를 포함한다.
특히, 상기 소스 클라이언트(210)는 목적지 클라이언트에 대응하는 인증서의 부분에만 액세스하는 요구를 발생시킨다. 이 부분은 부분 인증서(700)로서 도 7에 도시된 인증서일 수 있다. 상기 부분 인증서(700)는 목적지 클라이언트에 의해 복호화될 수 있는 전자 메세지를 암호하기 위해 필요한 암호화 정보(701)를 포함한다. 상기 부분 인증서(700)의 암호화 정보(701)는 전체 인증서의 암호화 정보(801)와 유사할 수 있다. 예를 들어, 전체 인증서(800)가 X.509 인증서이면, 암호화 정보(701)는 목적지 클라이언트의 소유인 개인 키(private key)에 대응하는 공개 키(public key)일 수 있다.
상기 부분 인증서(700)는 또한 부분 인증서(700)에 대응하는 전체 인증서(800)를 식별하는 인증서 암호화 정보(702)를 포함할 수 있다. 상기 인증서 암호화 정보(702)는 예를 들어, 전체 인증서의 인증서 식별 정보(802)의 적어도 한 부분을 포함할 수 있다. 예를 들어, 전체 인증서(800)가 X.509 인증서이면, 인증서 식별 정보(702)는 키 식별자(key identifier) 또는 이를 대신하거나 이에 더하여 인증 송신자 ID(certification issuer identifier)와 인증서 일련 번호(certificate serial number)를 포함할 수 있다. 또한 몇몇 확인 정보(803)가 부분 인증서(700)에 포함될 수 있음에도 불구하고, 확인 정보(803)는 부분 인증서에 포함되는 것으로 설명되지는 않는다. 부분 인증서(700)는 전체 인증서(800)의 정보 중 많은 부분을 포함하지 않기 때문에, 부분 인증서(700)의 크기는 전체 인증서(800)의 크기보다 상당히 작을 수 있다.
소스 클라이언트(210)가 인증서의 부분에 액세스하려는 요구를 발생시킨 후에(단계 304), 상기 소스 클라이언트(210)는 인증서 서버(220)에 상기 요구를 전송한다(단계 305). 상기 전송은 화살표(211A)에 의해 나타내어지는 바와 같이, 송신 클라이언트(210)로부터 인증서 서버(220)로 이동하는 요구에 의해 도 2에 나타내어진다.
도 4는 본 발명에 따른 요구(211)의 데이터 구조를 도식적으로 도시하고 있다. 요구(211)는 헤더 정보(401)를 포함한다. 상기 헤더 정보(401)는 전송 프로 토콜에 의해 사용되는 어떤 정보를 포함할 수 있다. 예를 들어, 전자 메세지가 하이퍼 텍스트 전송 프로토콜(Hyper Text Transfer Protocol; HTTP) 요구이면(예를들어 HTTP POST 요구), 상기 요구(211A)는 HTTP 헤더 정보를 포함할 것이다. 요구를 전송하기 위한 HTTP 프로토콜의 사용은 인증서 서버(220)가 소스 클라이언트가 있는 로컬 네트워크 상이 아니라, 인터넷 상을 통해서만 액세스 가능한 경우에 있을 때에 유용하다.
상기 요구(211)는 또한 목적지 클라이언트(402)의 ID를 포함한다. 상기 ID는 예컨대, 목적지 클라이언트나 클라이언트들과 관련있는 URL, IP 어드레스 또는 이메일 어드레스의 형태일 수 있다. 상기 ID가 개인 목적지 클라이언트의 미정의 이름 형태이면, 인증서 서버(220)는 또한 특정 목적지 클라이언트에 이름을 결정하고, 요구된 부분 또는 전체 인증서가 인증서 서버에 의해 소스 클라이언트에게 제공됨과 동시에 소스 클라이언트에게 상기 결정을 제공한다. ID가 배포 리스트(distribution list)의 미정의 이름 형태이면, 인증서 서버는 배포 리스트를 확장하고, 배포 리스트에 대응하는 목적지 클라이언트들 각각에 대한 상기 부분 또는 전체 인증서를 소스 클라이언트(210)에게 되돌려준다. 배포 리스트 상의 엔티티는 잠재적인 하나 이상의 자식(child) 배포 리스트 뿐만 아니라, 개인들도 포함할 수 있다. 배포 리스트의 확장은 배포 리스트에서 직접 식별된 첫번째로 포함하는 개인에 의해 배포 리스트에 포함되는 각각의 개인을 식별하고, 하나 이상의 다른 자식 배포 리스트에 대해 같은 확장을 반복 수행하는 것을 의미한다. 개인들이 자식 또는 다른 자손 배포 리스트내에서만 식별된다 하더라도, 이러한 반복 프로세 스를 통해 인증서 서버(220) 또는 도시되지 않은 다른 결정 서버 및/또는 소스 클라이언트(210)로의 결정 메커니즘 내부에 의해 개별적으로 이루어질 수 있다.
요구(211)는 또한 인증서의 전체 버전이 요구되었는지{전체 버전 필드(404)에 의해 나타내어짐} 또는 인증서의 부분 버전이 요구되었는지{부분 버전 필드(405)에 의해 나타내어짐} 여부의 지시를 포함하는 인증서 요구(403)를 포함한다. 인증서 요구에 대응하는 하나 이상의 목적지 클라이언트가 있으면, 요구는 전체 버전의 인증서가 모든 목적지 클라이언트들에 대해 요망되거나, 또는 인증서의 부분 버전이 모든 목적지 클라이언트들에 대해 요망된다는 것을 지정할 수 있다. 또한, 상기 요구는 부분 인증서가 목적지 클라이언트들의 지정된 그룹에 대해서만 되돌려지고, 전체 인증서가 나머지에 대해 되돌려진다고 지정할 수 있다. 나아가, 상기 요구는 전체 인증서가 목적지 클라이언트들의 지정된 그룹에 대해서만 되돌려지고, 부분 인증서가 나머지에 대해 되돌려진다고 지정할 수 있다. "getcert"요구의 형태 내에서 특정 인증서의 요구의 예가 설명된다.
상기 "getcert" 명령은 HTTP POST 요구내에 있을 수 있으며, 요구가 인증서를 위한 것임을 식별하기 위해 텍스트 "cmd=getcerts"를 포함할 수 있다.
어드레스 필드인 "addrs=[ADDRESS]"는 인증서가 요망되는 하나 이상의 목적지 클라이언트들의 하나 이상의 어드레스 리스트를 나타낼 수 있다. 대문자들은 직각의 괄호내에 포함되며, 이는 대문자들에 의해 설명되는 타입의 실제 값은 직각의 괄호와 그 메세지의 내용을 대체할 것임을 의미한다. 예를 들어, [ADDRESS]는 목적지 클라이언트의 실제 어드레스에 의해 대체되거나 또는 미정의 이름이 인증서 서버에 의해 어드레스로 결정될 것이다. "getcerts"명령을 통해 결정 데이터는 클라이언트에게 되돌려지지 않으며, 단지 결정된 어드레스를 위한 인증서만이 되돌려진다.
임의의 필드인 "minicert=[t/f]"가 참(true)으로 설정되면 인증서 서버(220)는 전체 인증서 보다도 부분 인증서를 되돌리게 된다. 그렇지 않고 값이 거짓(false)이거나 minicert 필드가 존재하지 않으면, 전체 인증서가 되돌려진다. 상기 minicert 필드는 addrs 필드에 의해 나타내어지는 특정 목적지 클라이언트에 대응할 수 있으며, 또는 요구 내의 addrs 필드에 의해 나타내어지는 몇몇 또는 모든 목적지 클라이언트를 나타낼 수 있다.
인증서 서버(220)는 소스 클라이언트(210)로부터의 요구를 수신하고(단계 306), 상기 요구가 단지 부분 인증서에 대한 것인지 결정하고(단계 307), 상기 목적지 클라이언트에 대해 부분 인증서만을 되돌려줌으로써 응답한다(단계 308). 도 2를 참조하면, 인증서 서버(220)는 응답(212)을 화살표(212A)에 의해 나타내어지는 바와 같이 소스 클라이언트(210)에게 되돌려준다.
도 5는 응답(212)의 예시적인 데이터 구조를 도시하고 있다. 상기 응답은 헤더 정보(501)을 포함한다. 예를 들어, 요구(211)가 HTTP 요구이면, 상기 응답(212)은 HTTP 응답일 수 있으며, 그러한 경우에, 상기 헤더 정보는 HTTP 응답 헤더 정보이다. 상기 응답은 또한 전자 메세지의 목적지 클라이언트들의 각각에 대한 인증서(503)를 포함할 수 있다. 상기 인증서는 요소(504)에 의해 나타내어지는 바와 같이 전체 인증서일 수 있으며, 또는 요소(505)에 의해 나타내어지는 바와 같이 부분 인증서일 수 있다. 그러나, 본 발명의 특징에 따르면, 부분 인증서는 전자 메세지를 수신하는 적어도 하나의 목적지 클라이언트를 위해 되돌려진다.
다음은 HTTP POST 응답(라인 번호는 명확성을 위해 부가됨) 내에 끼워 넣어진 응답을 위한 하나의 가능한 스키마를 나타낸다.
1. <a:response xmlns:a="http://schemas.microsoft.com/exchange/webmail">
2. <a:cert>[CERTIFICATE]</a:cert>
3. </a:response>
라인 1 및 3을 통해 "응답" XML 요소를 나타낸다. 속성 "xmlns"는 XML요소에 대응하는 명칭 공간(namespace)을 나타내고, XML 요소의 의미를 분석 및 해석하는데에 사용된다.
라인 2는 요구에서 addrs 필드에 의해 나타내어졌던 각 목적지 클라이언트(또는 어드레스가 배포 리스트인 경우 목적지 클라이언트의 그룹)에 대해 반복될 수 있다.
cert 요소의 내용은 인증서 또는 addrs 요소에 대응하는 인증서이며, 이는 다음 형태를 취할 수 있다(라인 번호는 명확성을 위해 부가됨).
1. [DWORD:cert 요소의 전체 내용의 크기]
2. [DWORD:cert 요소가 포함하는 인증서를 위한 수령자의 전체 수(수령자가 정해지지 않으면 0이 될 수 있음)]
3. [DWORD:발견된 인증서의 전체 수(유효한 인증서가 발견되지 않으면 0이 될 수 있음)]
4. [인증서 1]
5. .
6. .
7. .
8. [인증서 M]
라인 1 내지 3은 cert 요소의 전체 내용에 대한 정보를 나타내는 DWORD들이다. 라인 4 내지 8은 복수의 인증서 섹션이 있음을 나타낸다. 이 경우에, 상기 인증서는 인증서 1 부터 M까지 포함하고, 라인 5 내지 7은 첫번째와 M번째 인증서 사이의 변동 가능한 수를 나타내는 수직 점들이다. 각 인증서 섹션은 다음과 같이 구조화될 수 있다(라인 번호는 명확성을 위해 부가됨).
1. [WORD:인증서의 크기]
2. [WORD:플래그들(인증서가 전체 또는 부분 인증서인지 여부 및 인증서가 키 ID에 의해 식별되었는지 여부를 나타낼 수 있음)]
3. [부분 또는 전체 인증서 자체]
도 2 및 3의 보다 일반적인 예로 돌아가 보면, 소스 클라이언트(210)는 서버로부터 인증서의 단지 요구되는 부분만을 수신한다(단계 309). 이 단계에서, 소스 클라이언트(210)는 이제 전자 메시지가 보내져야 할 목적지 클라이언트들 각각에 의한 수신을 위해 전자 메시지를 암호화화도록 준비된다. 전자 메시지가 보내져야 할 목적지 클라이언트들 중 일부 또는 심지어 전체를 위해서, 단지 부분 인증서만이 리턴되므로, 또한 부분 인증서는 전체 인증서보다 훨씬 작으므로(아마 크기의 오더만큼 차이가 남), 인증서는 인증서 서버(220)로부터 소스 클라이언트로 더 적은 대역폭을 사용하면서 훨씬 빠르게 전달될 것이다.
다음으로, 소스 클라이언트는 전자 메시지를 암호화하기 위해 부분 인증서내의 암호화 정보를 사용한다. 전술한 바와 같이, 암호화 정보(701)는 도 7의 부분 인증서(700)내에 표시된다. 예를 들어, 암호화 정보는 전자 메시지가 보내져야 할 목적지 클라이언트에 대응하는 공개 키일 수 있다.
만약 전자 메시지가 복수의 목적지 클라이언트들로 보내져야 할 경우, 전자 메시지는 각각의 목적지 클라이언트에 대하여 암호화될 수 있다. 이것은 각 목적지 클라이언트에 대한 컨텐트를 각 목적지 클라이언트에 대한 대응 공개 키를 사용하여 개별적으로 암호화함으로써 수행될 수 있다. 그러나, 만약 다수의 목적지 클라이언트가 있을 경우라면, 이것은 매우 프로세서 집약적인 태스크일 수 있으며, 그 결과 전자 메시지를 전달하는데에 많은 메모리와 대역폭의 사용을 초래할 수 있다.
프로세서, 메모리 및 대역폭 요구를 줄이기 위해, 전자 메시지는 대안적으로 도 6에 도시된 전자 메시지(600)와 같이 구조화될 수 있다. 전자 메시지의 컨텐트(601)가 세션 키(602)를 사용하여 암호화된다. 각 목적지 클라이언트에 대응하는 공개 키를 사용하여 세션 키(602)를 암호화함으로써, 그 목적지 클라이언트에게 세션 키(602)가 제공된다. 예를 들어, 전자 메시지(600)가 각각의 공개 키들(1 내지 4)을 가지는 목적지 클라이언트들(231 내지 234)의 각각에 보내져야 한다고 가정해 보자. 그 경우, 세션 키(602)는 공개 키들(1 내지 4)을 가지고 각 각 암호화될 수 있다.
키 식별자(612)는, 키 식별자(612)에 의해 식별되는 공개 키(1)를 사용하여 암호화된 세션 키(602)와 연관된다. 키 식별자(613)는, 키 식별자(613)에 의해 식별되는 공개 키(2)를 사용하여 암호화된 세션 키(602)와 연관된다. 송신자 식별자(issuer identifier; 614A)와 일련 번호(614B)의 조합은, 공개 키(3)를 사용하여 암호화된 세션 키(602)와 연관된다. 송신자 식별자(615A)와 일련 번호(615B)의 조합은, 615A와 615B의 조합에 고유한 공개 키(4)를 사용하여 암호화된 세션 키(602)와 연관된다. 메시지(213)를 수신하면, 각 목적지 클라이언트는 키 식별자, 또는 송신자 식별자와 일련 번호의 조합을 사용하여, 세션 키의 어떠한 암호화된 형태가 복호화될 수 있을지를 결정할 수 있다. 다음으로, 그 목적지 클라이언트는 세션 키를 복호화하고, 그 세션 키를 사용하여 컨텐트를 복호화한다.
따라서, 안전한 통신이 감소된-크기의 인증서를 사용하여 가능해지기 때문에, 메모리, 프로세서, 및 네트워크 대역폭 자원이 보존되며, 안전한 전자 메시지를 보내기 위해 요구되는 시간도 감소된다.
본 발명은 그것의 정신이나 주요한 특성에서 벗어나지 않고도 다른 특정 형태로 구현될 수 있다. 기재된 실시예는 모든 점에서 단지 예시적인 것이며 제한적인 것은 아니라는 것이 고려되어야 한다. 그러므로, 본 발명의 범위는 앞선 설명보다는 첨부된 청구항에 의해 지시되어야 한다. 청구항의 의미 및 동등 범위내에 드는 모든 변화는 본 발명의 범위내에 포함되어야 한다.

Claims (36)

  1. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보(self-verification information)를 포함함- 의 정당성을 입증하고 상기 소스 클라이언트로 제공할 수 있는 하나 이상의 인증서 서버(certificate server)들을 포함하는 네트워크 환경에서, 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하기 위한 방법에 있어서,
    상기 소스 클라이언트가 상기 복수의 목적지 클라이언트들 중 하나의 목적지 클라이언트로 전송되어야 할 전자 메시지에 액세스하는 단계;
    상기 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 목적지 클라이언트에 대응하는 인증서의 부분 인증서 -상기 부분 인증서는 상기 목적지 클라이언트에 대응하는 인증서의 전체가 아니라 일부분만을 포함하며, 상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-에 대한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 인증서의 단지 일부분만을 액세스하기 위한 상기 요구는 하이퍼 텍스트 전송 프로토콜(Hyper Text Transfer Protocol; HTTP)을 이용하는, 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 암호화된 전자 메시지를 상기 목적지 클라이언트로 전송하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 인증서의 상기 요구된 일부분은 상기 목적지 클라이언트의 공개 키(public key)를 포함하는 방법.
  7. 제6항에 있어서, 상기 암호화된 전자 메시지는,
    세션 키(session key)를 사용하여 암호화된 전자 메시지를 나타내는 제1 데이터 필드; 및
    상기 공개 키를 사용하여 암호화된 상기 세션 키를 나타내는 제2 데이터 필드를 포함하는 방법.
  8. 제6항에 있어서, 상기 요구된 일부분은 상기 인증서의 일련 번호 및 상기 인증서 송신자(certificate issuer)를 더 포함하는 방법.
  9. 제8항에 있어서, 상기 암호화된 전자 메시지는,
    세션 키를 사용하여 암호화된 전자 메시지를 나타내는 제1 데이터 필드; 및
    상기 공개 키를 사용하여 암호화된 상기 세션 키, 상기 인증서 송신자, 및 상기 일련 번호를 나타내는 제2 데이터 필드를 포함하는 방법.
  10. 제6항에 있어서, 상기 요구된 일부분은 상기 인증서의 키 식별자를 더 포함하는 방법.
  11. 제10항에 있어서, 상기 암호화된 전자 메시지는,
    세션 키를 사용하여 암호화된 전자 메시지를 나타내는 제1 데이터 필드; 및
    상기 공개 키를 사용하여 암호화된 상기 세션 키 및 키 식별자를 나타내는 제2 데이터 필드를 포함하는 방법.
  12. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 의 정당성을 입증하고 상기 소스 클라이언트로 제공할 수 있는 하나 이상의 인증서 서버들을 포함하는 네트워크 환경에서, 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하기 위한 방법에 있어서,
    상기 소스 클라이언트가 상기 복수의 목적지 클라이언트들 중 하나의 목적지 클라이언트로 전송되어야 할 전자 메시지에 액세스하는 단계;
    상기 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 목적지 클라이언트에 대응하는 인증서의 일부분 -상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-만을 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계
    를 포함하고,
    상기 목적지 클라이언트는 상기 전자 메시지의 암호화된 형태가 전송되어야 할 제1 목적지 클라이언트이고, 상기 제1 목적지 클라이언트에 대응하는 인증은 제1 인증서이며, 상기 전자 메시지는 또한 제2 목적지 클라이언트에도 전송되어야 하고, 상기 방법은,
    상기 제2 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 제2 목적지 클라이언트에 대응하는 제2 인증서의 단지 일부분 -상기 일부분은 상기 제2 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함- 만을 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 제2 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 제2 인증서내의 상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서, 상기 제1 인증서의 일부분을 액세스하기 위한 상기 요구와 상기 제2 인증서의 일부분을 액세스하기 위한 요구는 동일한 요구인, 방법.
  14. 제12항에 있어서, 상기 암호화된 전자 메시지를 전송하는 단계를 더 포함하는 방법.
  15. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 의 정당성을 입증하고 상기 소스 클라이언트로 제공할 수 있는 하나 이상의 인증서 서버들을 포함하는 네트워크 환경에서, 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하기 위한 방법에 있어서,
    상기 소스 클라이언트가 상기 복수의 목적지 클라이언트들 중 하나의 목적지 클라이언트로 전송되어야 할 전자 메시지에 액세스하는 단계;
    상기 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 목적지 클라이언트에 대응하는 인증서의 일부분 -상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-만을 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계
    를 포함하고,
    상기 목적지 클라이언트는 상기 전자 메시지의 암호화된 형태가 전송되어야 할 제1 목적지 클라이언트이고, 상기 제1 목적지 클라이언트에 대응하는 인증은 제1 인증서이며, 상기 전자 메시지는 또한 제2 목적지 클라이언트에도 전송되어야 하고, 상기 방법은,
    상기 제2 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 제2 목적지 클라이언트에 대응하는 제2 인증서 전체를 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 제2 인증서 전체를 수신하는 단계; 및
    상기 제2 인증서내의 상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서, 상기 제1 인증서의 일부분을 액세스하기 위한 상기 요구와 상기 제2 인증서 전체를 액세스하기 위한 요구는 동일한 요구인, 방법.
  17. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서 사용하기 위한 컴퓨터 판독가능 저장 매체로서,
    상기 소스 클라이언트에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 소스 클라이언트로 하여금 제1항의 방법을 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 가지는 컴퓨터 판독가능 저장 매체 .
  18. 제17항에 있어서, 상기 소스 클라이언트에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 소스 클라이언트가, 상기 암호화된 전자 메시지를 상기 목적지 클라이언트로 전송하는 단계를 더 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 더 가지는 컴퓨터 판독가능 저장 매체.
  19. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서 사용하기 위한 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 저장 매체는, 상기 소스 클라이언트에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 소스 클라이언트가,
    상기 소스 클라이언트가 상기 복수의 목적지 클라이언트들 중 하나의 목적지 클라이언트로 전송되어야 할 전자 메시지를 액세스하는 단계;
    상기 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 목적지 클라이언트에 대응하는 인증서의 일부분 -상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-만을 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계를 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 가지고,
    상기 목적지 클라이언트는 상기 전자 메시지의 암호화된 형태가 전송되어야 할 제1 목적지 클라이언트이고, 상기 제1 목적지 클라이언트에 대응하는 인증은 제1 인증서이며, 상기 전자 메시지는 또한 제2 목적지 클라이언트에도 전송되어야 하고,
    상기 컴퓨터 판독가능 저장 매체는, 상기 소스 클라이언트에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 소스 클라이언트가,
    상기 제2 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 제2 목적지 클라이언트에 대응하는 제2 인증서의 단지 일부분 -상기 일부분은 상기 제2 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함- 만을 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 제2 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 제2 인증서내의 상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계를 더 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 더 가지는 컴퓨터 판독가능 저장 매체.
  20. 제19항에 있어서, 상기 제1 인증서의 일부분을 액세스하기 위한 상기 요구와 상기 제2 인증서의 일부분을 액세스하기 위한 요구는 동일한 요구인, 컴퓨터 판독가능 저장 매체.
  21. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서 사용하기 위한 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 저장 매체는, 상기 소스 클라이언트에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 소스 클라이언트가,
    상기 소스 클라이언트가 상기 복수의 목적지 클라이언트들 중 하나의 목적지 클라이언트로 전송되어야 할 전자 메시지를 액세스하는 단계;
    상기 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 목적지 클라이언트에 대응하는 인증서의 일부분 -상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-만을 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계를 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 가지고,
    상기 목적지 클라이언트는 상기 전자 메시지의 암호화된 형태가 전송되어야 할 제1 목적지 클라이언트이고, 상기 제1 목적지 클라이언트에 대응하는 인증은 제1 인증서이며, 상기 전자 메시지는 또한 제2 목적지 클라이언트에도 전송되어야 하고,
    상기 컴퓨터 판독가능 저장 매체는, 상기 소스 클라이언트에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 소스 클라이언트가,
    상기 제2 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계;
    상기 제2 목적지 클라이언트에 대응하는 제2 인증서의 전체를 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 제2 인증서의 전체를 수신하는 단계; 및
    상기 제2 인증서내의 상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계를 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 더 가지는 컴퓨터 판독가능 저장 매체.
  22. 제17항에 있어서, 상기 컴퓨터 판독가능 저장 매체는 물리적 기록매체인, 컴퓨터 판독가능 저장 매체.
  23. 제17항에 있어서, 상기 컴퓨터 판독가능 저장 매체가 적어도 부분적으로 런-타임 메모리(run-time memory)를 포함하는 컴퓨터 판독가능 저장 매체.
  24. 제17항에 있어서, 상기 컴퓨터 판독가능 저장 매체가 영구 메모리(persistent memory)를 포함하는 컴퓨터 판독가능 저장 매체.
  25. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서, 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하기 위한 방법에 있어서,
    상기 소스 클라이언트가 상기 복수의 목적지 클라이언트들 중 하나의 목적지 클라이언트로 전송되어야 할 전자 메시지를 액세스하는 단계;
    상기 목적지 클라이언트로의 전송 전에 상기 전자 메시지가 암호화되어야 할지를 결정하는 단계; 및
    상기 목적지 클라이언트에 대응하는 인증서 전체에 대한 액세스 없이, 부분 인증서에 대한 액세스를 갖고서 상기 목적지 클라이언트에 대해 암호화하는, 인증서-기반 암호화를 수행하기 위한 단계
    를 포함하는 방법.
  26. 제25항에 있어서, 상기 목적지 클라이언트에 대응하는 인증서 전체에 대한 액세스 없이 상기 목적지 클라이언트에 대해 암호화하는, 인증서-기반 암호화를 수행하기 위한 상기 단계는,
    상기 목적지 클라이언트에 대응하는 인증서의 단지 일부분 -상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함- 만을 액세스하기 위한 요구를 생성하는 단계;
    상기 인증서 서버로 상기 요구를 전송하는 단계;
    상기 인증서 서버로부터 상기 인증서의 상기 요구된 일부분만을 수신하는 단계; 및
    상기 암호화 정보를 사용하여 상기 전자 메시지를 암호화하는 단계
    를 포함하는 방법.
  27. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서, 상기 인증서 서버가 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하는 것을 돕기 위한 방법에 있어서,
    상기 소스 클라이언트로부터 요구를 수신하는 단계;
    상기 요구가 상기 목적지 클라이언트에 대응하는 인증서의 부분 인증서 -상기 부분 인증서는 상기 목적지 클라이언트에 대응하는 인증서의 전체가 아니라 일부분만을 포함하며, 상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하는 데에 필요한 암호화 정보를 포함함- 에 대한 것인지를 결정하는 단계; 및
    상기 소스 클라이언트로부터의 상기 요구에 응답하여, 상기 소스 클라이언트로 상기 인증서의 상기 요구된 일부분을 반환하는 단계
    를 포함하는 방법.
  28. 제27항에 있어서, 상기 요구는 HTTP 요구인, 방법.
  29. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서, 상기 인증서 서버가 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하는 것을 돕기 위한 방법에 있어서,
    상기 소스 클라이언트로부터 요구를 수신하는 단계;
    상기 요구가 상기 목적지 클라이언트에 대응하는 인증서의 일부분 -상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-만을 액세스하기 위한 것인지를 결정하는 단계; 및
    상기 소스 클라이언트로부터의 상기 요구에 응답하여, 상기 소스 클라이언트로 상기 인증서의 상기 요구된 일부분을 반환하는 단계
    를 포함하고,
    상기 목적지 클라이언트는 제1 목적지 클라이언트이고, 상기 인증서는 제1 인증서이고,
    상기 방법은,
    상기 요구가 제2 목적지 클라이언트에 대응하는 제2 인증서의 단지 일부분 -상기 일부분은 상기 제2 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함- 만을 액세스하기 위한 것인지를 결정하는 단계; 및
    상기 소스 클라이언트로부터의 상기 요구에 응답하여, 상기 소스 클라이언트로 상기 제2 인증서의 상기 요구된 일부분을 반환하는 단계를 더 포함하는 방법.
  30. 제29항에 있어서, 상기 제1 인증서의 상기 요구된 일부분과 상기 제2 인증서의 상기 요구된 일부분은, 상기 요구에 대한 동일한 응답으로 반환되는, 방법.
  31. 제30항에 있어서, 상기 응답은 HTTP 응답인, 방법.
  32. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서 사용하기 위한 것이고, 상기 인증서 서버가 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하는 것을 돕기 위한 방법을 구현하기 위한 컴퓨터 판독가능 저장 매체로서,
    상기 인증서 서버에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 인증서 서버가,
    상기 소스 클라이언트로부터 요구를 수신하는 단계;
    상기 요구가 상기 목적지 클라이언트에 대응하는 인증서의 부분 인증서 -상기 부분 인증서는 상기 목적지 클라이언트에 대응하는 인증서의 전체가 아니라 일부분만을 포함하며, 상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-에 대한 것인지를 결정하는 단계; 및
    상기 소스 클라이언트로부터의 상기 요구에 응답하여, 상기 소스 클라이언트로 상기 인증서의 상기 요구된 일부분을 반환하는 단계
    를 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 가지는 컴퓨터 판독가능 저장 매체.
  33. 소스 클라이언트와 복수의 목적지 클라이언트들을 포함하고, 상기 소스 클라이언트는 상기 복수의 목적지 클라이언트들로 전자 메시지들을 전송할 수 있으며, 하나 이상의 목적지 클라이언트들의 적어도 일부에 대한 인증서들 -각 인증서는 대응 목적지 클라이언트로 암호화하기 위해 필요한 암호화 정보, 및 상기 인증서가 실제로 상기 대응 목적지 클라이언트에 대응하며 상기 인증서가 취소되지 않았음을 결정할 수 있도록 하는 자기-검증 정보를 포함함- 을 상기 소스 클라이언트로 제공할 수 있는 인증서 서버를 포함하는 네트워크 환경에서 사용하기 위한 것이고, 상기 인증서 서버가 상기 소스 클라이언트가 상기 목적지 클라이언트들 중 적어도 하나로 전송되어야 할 메시지를 암호화하는 것을 돕기 위한 방법을 구현하기 위한 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 저장 매체는, 상기 인증서 서버에서 하나 이상의 프로세서들에 의해 실행될 경우 상기 인증서 서버가,
    상기 소스 클라이언트로부터 요구를 수신하는 단계;
    상기 요구가 상기 목적지 클라이언트에 대응하는 인증서의 일부분 -상기 일부분은 상기 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함-만을 액세스하기 위한 것인지를 결정하는 단계; 및
    상기 소스 클라이언트로부터의 상기 요구에 응답하여, 상기 소스 클라이언트로 상기 인증서의 상기 요구된 일부분을 반환하는 단계를 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 가지고,
    상기 목적지 클라이언트는 제1 목적지 클라이언트이고, 상기 인증서는 제1 인증서이고,
    상기 컴퓨터 판독가능 저장 매체는, 상기 인증서 서버에서 상기 하나 이상의 프로세서들에 의해 실행될 경우 상기 인증서 서버가,
    상기 요구가 제2 목적지 클라이언트에 대응하는 제2 인증서의 단지 일부분 -상기 일부분은 상기 제2 목적지 클라이언트에 의해 복호화될 수 있도록 상기 전자 메시지를 암호화하기 위해 필요한 암호화 정보를 포함함- 만을 액세스하기 위한 것인지를 결정하는 단계; 및
    상기 소스 클라이언트로부터의 상기 요구에 응답하여, 상기 소스 클라이언트로 상기 제2 인증서의 상기 요구된 일부분을 반환하는 단계를 더 수행할 수 있도록 하는 컴퓨터-실행가능한 명령어들을 더 가지는 컴퓨터 판독가능 저장 매체.
  34. 제32항에 있어서, 상기 컴퓨터 판독가능 저장 매체는 물리적 기록매체인, 컴퓨터 판독가능 저장 매체.
  35. 제34항에 있어서, 상기 컴퓨터 판독가능 저장 매체는 적어도 부분적으로 런-타임 메모리를 포함하는 컴퓨터 판독가능 저장 매체.
  36. 제34항에 있어서, 상기 컴퓨터 판독가능 저장 매체는 영구 메모리를 포함하는 컴퓨터 판독가능 저장 매체.
KR1020030082078A 2002-11-20 2003-11-19 메시지 암호화 방법, 메시지 암호화를 돕기 위한 방법 및 컴퓨터 프로그램 프로덕트 KR101071131B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42808002P 2002-11-20 2002-11-20
US60/428,080 2002-11-20
US10/462,117 2003-06-13
US10/462,117 US7284121B2 (en) 2002-11-20 2003-06-13 System and method for transmitting reduced information from a certificate to perform encryption operations

Publications (2)

Publication Number Publication Date
KR20040044376A KR20040044376A (ko) 2004-05-28
KR101071131B1 true KR101071131B1 (ko) 2011-10-10

Family

ID=32233680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030082078A KR101071131B1 (ko) 2002-11-20 2003-11-19 메시지 암호화 방법, 메시지 암호화를 돕기 위한 방법 및 컴퓨터 프로그램 프로덕트

Country Status (10)

Country Link
US (1) US7284121B2 (ko)
EP (1) EP1422865A3 (ko)
JP (1) JP4699688B2 (ko)
KR (1) KR101071131B1 (ko)
CN (1) CN100479362C (ko)
AU (1) AU2003257896B2 (ko)
BR (1) BRPI0305273B1 (ko)
CA (1) CA2450052C (ko)
MX (1) MXPA03010476A (ko)
RU (1) RU2346398C2 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284121B2 (en) * 2002-11-20 2007-10-16 Microsoft Corporation System and method for transmitting reduced information from a certificate to perform encryption operations
US7219299B2 (en) 2003-11-19 2007-05-15 Microsoft Corporation Method for blocking dereferencing elements in messages
US7549043B2 (en) * 2004-09-01 2009-06-16 Research In Motion Limited Providing certificate matching in a system and method for searching and retrieving certificates
US7631183B2 (en) 2004-09-01 2009-12-08 Research In Motion Limited System and method for retrieving related certificates
US7640428B2 (en) 2004-09-02 2009-12-29 Research In Motion Limited System and method for searching and retrieving certificates
US7992203B2 (en) 2006-05-24 2011-08-02 Red Hat, Inc. Methods and systems for secure shared smartcard access
US7822209B2 (en) 2006-06-06 2010-10-26 Red Hat, Inc. Methods and systems for key recovery for a token
US8495380B2 (en) * 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
US8098829B2 (en) * 2006-06-06 2012-01-17 Red Hat, Inc. Methods and systems for secure key delivery
US8180741B2 (en) 2006-06-06 2012-05-15 Red Hat, Inc. Methods and systems for providing data objects on a token
US8332637B2 (en) 2006-06-06 2012-12-11 Red Hat, Inc. Methods and systems for nonce generation in a token
US8364952B2 (en) * 2006-06-06 2013-01-29 Red Hat, Inc. Methods and system for a key recovery plan
US8099765B2 (en) 2006-06-07 2012-01-17 Red Hat, Inc. Methods and systems for remote password reset using an authentication credential managed by a third party
US8589695B2 (en) * 2006-06-07 2013-11-19 Red Hat, Inc. Methods and systems for entropy collection for server-side key generation
US9769158B2 (en) * 2006-06-07 2017-09-19 Red Hat, Inc. Guided enrollment and login for token users
US8412927B2 (en) 2006-06-07 2013-04-02 Red Hat, Inc. Profile framework for token processing system
US8707024B2 (en) * 2006-06-07 2014-04-22 Red Hat, Inc. Methods and systems for managing identity management security domains
US7814161B2 (en) 2006-06-23 2010-10-12 Research In Motion Limited System and method for handling electronic mail mismatches
US8806219B2 (en) 2006-08-23 2014-08-12 Red Hat, Inc. Time-based function back-off
US8787566B2 (en) * 2006-08-23 2014-07-22 Red Hat, Inc. Strong encryption
US9038154B2 (en) * 2006-08-31 2015-05-19 Red Hat, Inc. Token Registration
US8977844B2 (en) * 2006-08-31 2015-03-10 Red Hat, Inc. Smartcard formation with authentication keys
US8074265B2 (en) * 2006-08-31 2011-12-06 Red Hat, Inc. Methods and systems for verifying a location factor associated with a token
US8356342B2 (en) * 2006-08-31 2013-01-15 Red Hat, Inc. Method and system for issuing a kill sequence for a token
GB2446199A (en) 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
US8693690B2 (en) * 2006-12-04 2014-04-08 Red Hat, Inc. Organizing an extensible table for storing cryptographic objects
US8813243B2 (en) * 2007-02-02 2014-08-19 Red Hat, Inc. Reducing a size of a security-related data object stored on a token
US8639940B2 (en) * 2007-02-28 2014-01-28 Red Hat, Inc. Methods and systems for assigning roles on a token
US8832453B2 (en) 2007-02-28 2014-09-09 Red Hat, Inc. Token recycling
US9081948B2 (en) * 2007-03-13 2015-07-14 Red Hat, Inc. Configurable smartcard
US8327146B2 (en) * 2008-03-31 2012-12-04 General Motors Llc Wireless communication using compact certificates
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
US9444620B1 (en) * 2010-06-24 2016-09-13 F5 Networks, Inc. Methods for binding a session identifier to machine-specific identifiers and systems thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
KR102437730B1 (ko) * 2016-12-07 2022-08-26 한국전자통신연구원 자원 제약적 환경에서 기기들 간 인증 지원 장치 및 그 방법
US10708237B2 (en) * 2017-03-21 2020-07-07 Keeper Security, Inc. System and method for chat messaging in a zero-knowledge vault architecture
SG11202105077UA (en) * 2018-11-16 2021-06-29 Microsec Pte Ltd Method and architecture for securing and managing networks of embedded systems with optimised public key infrastructure
US11561532B2 (en) * 2020-06-19 2023-01-24 Rockwell Automation Technologies, Inc. Systems and methods for metered automation controller functionality
CN113301058B (zh) * 2021-07-27 2021-10-29 北京国电通网络技术有限公司 信息加密传输方法、装置、电子设备和计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000354031A (ja) 1999-04-06 2000-12-19 Mitsubishi Electric Corp 共通鍵共有方法
US6760752B1 (en) 1999-06-28 2004-07-06 Zix Corporation Secure transmission system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192131B1 (en) * 1996-11-15 2001-02-20 Securities Industry Automation Corporation Enabling business transactions in computer networks
US6615347B1 (en) * 1998-06-30 2003-09-02 Verisign, Inc. Digital certificate cross-referencing
AU2002251480B2 (en) * 2001-04-19 2004-12-09 Ntt Docomo, Inc. Terminal communication system
DE60318825T2 (de) * 2002-03-20 2009-01-22 Research In Motion Ltd., Waterloo Vorrichtung und verfahren zur unterstützung von mehreren zertifizierungstatusanbietern auf einem mobilen kommunikationsgerät
US7284121B2 (en) * 2002-11-20 2007-10-16 Microsoft Corporation System and method for transmitting reduced information from a certificate to perform encryption operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000354031A (ja) 1999-04-06 2000-12-19 Mitsubishi Electric Corp 共通鍵共有方法
US6760752B1 (en) 1999-06-28 2004-07-06 Zix Corporation Secure transmission system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"a mobile subscriber proxy preserving writer-to-reader message security,"IEEE MILCOM '96,Volume 2, Page(s):461 - 467

Also Published As

Publication number Publication date
CN100479362C (zh) 2009-04-15
RU2346398C2 (ru) 2009-02-10
AU2003257896A1 (en) 2004-06-03
CN1505307A (zh) 2004-06-16
RU2003133767A (ru) 2005-04-20
JP4699688B2 (ja) 2011-06-15
AU2003257896B2 (en) 2009-02-05
EP1422865A2 (en) 2004-05-26
CA2450052A1 (en) 2004-05-20
CA2450052C (en) 2013-05-14
MXPA03010476A (es) 2004-10-15
US7284121B2 (en) 2007-10-16
BRPI0305273B1 (pt) 2017-04-04
JP2004173286A (ja) 2004-06-17
BR0305273A (pt) 2004-08-31
US20040096055A1 (en) 2004-05-20
EP1422865A3 (en) 2005-05-11
KR20040044376A (ko) 2004-05-28

Similar Documents

Publication Publication Date Title
KR101071131B1 (ko) 메시지 암호화 방법, 메시지 암호화를 돕기 위한 방법 및 컴퓨터 프로그램 프로덕트
US8489877B2 (en) System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US8825999B2 (en) Extending encrypting web service
US8086842B2 (en) Peer-to-peer contact exchange
US8010795B2 (en) Secure information transfer using dedicated public key pairs
US7610627B1 (en) Secure data exchange technique
US8145707B2 (en) Sending digitally signed emails via a web-based email system
US20080031458A1 (en) System, methods, and apparatus for simplified encryption
US20120054491A1 (en) Re-authentication in client-server communications
US20020144108A1 (en) Method and system for public-key-based secure authentication to distributed legacy applications
KR20060100920A (ko) 웹 서비스를 위한 신뢰되는 제3자 인증
US8352742B2 (en) Receiving encrypted emails via a web-based email system
KR20220123695A (ko) 암호화 방식으로 보안 요청 검증
JP2022543947A (ja) ブラウザクッキーを保護する
US9667605B2 (en) Electronic communication system and method for communication of the same in an open environment
US20080127314A1 (en) Identity management facilitating minimum disclosure of user data
WO2022033350A1 (zh) 注册服务的方法及设备
US8520840B2 (en) System, method and computer product for PKI (public key infrastructure) enabled data transactions in wireless devices connected to the internet
Aravind et al. Combined Digital Signature with SHA Hashing Technique-based Secure System: An Application of Blockchain using IoT
Arvin S. Lat et al. SOUL System: secure online USB login system
Raut et al. SECURE TRANSACTION SYSTEM
EP3346659A1 (en) Communication method for electronic communication system in open environment

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140814

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160831

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 8