KR102150742B1 - 자동적인 거짓 디지털 인증서 검출 기법 - Google Patents

자동적인 거짓 디지털 인증서 검출 기법 Download PDF

Info

Publication number
KR102150742B1
KR102150742B1 KR1020157025241A KR20157025241A KR102150742B1 KR 102150742 B1 KR102150742 B1 KR 102150742B1 KR 1020157025241 A KR1020157025241 A KR 1020157025241A KR 20157025241 A KR20157025241 A KR 20157025241A KR 102150742 B1 KR102150742 B1 KR 102150742B1
Authority
KR
South Korea
Prior art keywords
certificate
site
current
target site
certificates
Prior art date
Application number
KR1020157025241A
Other languages
English (en)
Other versions
KR20150129739A (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 KR20150129739A publication Critical patent/KR20150129739A/ko
Application granted granted Critical
Publication of KR102150742B1 publication Critical patent/KR102150742B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

컴퓨팅 장치는 거짓 디지털 인증서를 자동으로 검출하기 위해 (예를 들어, 인터넷 또는 다른 네트워크를 통해 액세스되는) 다양한 상이한 사이트로부터 수신된 디지털 인증서를 분석한다. 컴퓨팅 장치는 이들 다양한 상이한 사이트로부터 수신하는 디지털 인증서의 기록을 유지한다. 컴퓨팅 장치와 원격으로 동작하는 인증서 선별 서비스도 이들 다양한 상이한 사이트에 액세스하여 서비스가 이들 사이트로부터 수신하는 디지털 인증서의 기록을 유지한다. 타겟 사이트에 액세스하는 요청에 응답하여, 컴퓨팅 장치는 타겟 사이트로부터 현재 인증서를 수신한다. 컴퓨팅 장치는 타겟 사이트에 대해 이전에 수신된 디지털 인증서들 중 하나 이상, 인증서 선별 서비스로부터 수신된 확인 인증서, 및 디지털 인증서 및/또는 타겟 사이트의 추가적인 특징에 기초하여 현재 디지털 인증서가 진품인지 또는 가짜인지 여부를 판정한다.

Description

자동적인 거짓 디지털 인증서 검출 기법{AUTOMATIC FRAUDULENT DIGITAL CERTIFICATE DETECTION}
컴퓨팅 기술이 발전함에 따라, 컴퓨터는 점점 사람들의 삶에서 흔한 것이 되었다. 그들의 컴퓨터를 사용하는 경우, 사람들은 때때로 중요한 또는 개인적인 성격의 정보를 하나 이상의 다른 장치로 전달하기를 희망할 수 있다. 그러나, 이러한 전달을 행하는 경우, 사용자는 전형적으로 그들이 통신하는 하나 이상의 다른 장치가 정말로 사용자가 신뢰하는 개체(entity)에 의해 동작되고 있다는 검증을 요구한다. 예를 들어, 사용자가 제품을 구매하기 위해 자신의 신용 카드 번호를 다른 장치로 전달하는 경우, 사용자는 전형적으로 이 다른 장치가 정말로 자신이 신뢰하는 개체(예를 들어, 제품을 구매하는 회사, 신용 카드 처리 회사 등)에 의해 동작되고 있다는 검증을 요구한다.
이러한 검증을 수행할 수 있는 한가지 방식은 암호화 키를 특정 개체에 연관시킬 수 있는 디지털 인증서를 사용하는 것이다. 그러나, 악의적인 사용자가 소정의 사용자로 하여금 거짓 인증서를 수용하게 하는 다양한 상이한 공격을 행하여, 그 사용자가 악의적인 사용자에 의해 동작되는 장치와 통신하게 하며 또한 중요한 또는 개인적인 정보를 악의적인 사용자에게 제공하게 한다. 현재 컴퓨터에 존재하는 문제는 사용자가 악의적인 사용자로부터의 거짓 인증서와 신뢰 개체로부터의 정당한 인증서 간을 구별하기 어렵다는 것이다.
본 요약은 이하 발명의 상세한 설명에서 보다 자세히 기술될 선택된 개념들을 단순화된 형식으로 소개하기 위해 제공되는 것이다. 본 요약은 청구대상의 주된 사항 또는 핵심 사항을 밝히기 위한 것이 아니며, 청구대상의 범위를 결정하는데 사용되려는 것도 아니다.
하나 이상의 실시예에 따르면, 장치는 사이트 인증서 맵핑 스토어 및 거짓 인증서 검출 모듈을 포함한다. 거짓 인증서 검출 모듈은 타겟 사이트로부터 현재 인증서를 획득하고 이 현재 인증서를 사이트 인증서 맵핑 스토어 내의 타겟 사이트에 대한 인증서에 비교하도록 구성된다. 현재 인증서가 사이트 인증서 맵핑 스토어 내의 인증서와 일치하는 경우, 현재 인증서는 진품인 것으로 판정된다. 현재 인증서가 사이트 인증서 맵핑 스토어 내의 인증서와 일치하지 않는 경우, 원격 인증서 선별 서비스(remote certificate screening service)로부터 타겟 사이트에 대한 하나 이상의 확인 인증서(confirmation certificate)가 획득되고, 하나 이상의 확인 인증서가 현재 인증서와 일치하는 경우, 현재 인증서의 하나 이상의 특성이 분석되어 현재 인증서가 가짜인지 여부를 판정할 수 있다.
하나 이상의 측면에 따르면, 다수의 사이트에 대한 인증서가 인증서 선별 서비스에서 다수의 인증서 모니터링 시스템으로부터 수신되고, 각 인증서 모니터링 시스템은 물리적으로 상이한 지리적 지역에 위치한다. 다수의 인증서 모니터링 시스템으로부터 수신된 인증서는 저장된다. 다수의 사이트 중 타겟 사이트에 대한 확인 인증서에 대한 요청이 컴퓨팅 장치로부터 수신된다. 다수의 인증서 모니터링 시스템으로부터 수신된 타겟 사이트에 대한 인증서가 획득되고 타겟 사이트에 대한 인증서의 표시가 타겟 사이트에 대한 하나 이상의 확인 인증서로서 컴퓨팅 장치에 반환된다.
도면 전반에 걸쳐 유사한 특징을 참조하는데 동일한 참조번호가 사용된다.
도 1은 하나 이상의 실시예에 따라 자동적인 거짓 디지털 인증서 검출을 구현하는 예시적인 시스템을 나타낸다.
도 2는 하나 이상의 실시예에 따라 사이트 식별자를 사이트에 대한 인증서에 맵핑하는 예시적인 레코드를 나타낸다.
도 3은 하나 이상의 실시예에 따라 인증서 선별 서비스에 의해 수행되는 예시적인 프로세스를 나타내는 흐름도이다.
도 4는 하나 이상의 실시예에 따라 로컬 사이트 인증서 맵핑 스토어로부터의 인증서와 현재 인증서가 일치하지 않는 경우를 보여주는 예시적인 시스템을 나타낸다.
도 5는 하나 이상의 실시예에 따라 거짓 인증서를 자동으로 검출하는 예시적인 프로세스를 나타내는 흐름도이다.
도 6은 본 명세서에서 기술된 다양한 기술들을 구현할 수 있는 하나 이상의 시스템 및/또는 장치를 나타내는 예시적인 시스템을 나타낸다.
본 명세서에서는 자동적인 거짓 디지털 인증서 검출이 개시된다. 컴퓨팅 장치는 거짓 디지털 인증서를 자동으로 검출하기 위해 다양한 상이한 사이트(예를 들어, 인터넷 또는 다른 네트워크를 통해 액세스됨)로부터 수신된 디지털 인증서를 분석한다. 컴퓨팅 장치는 이들 다양한 상이한 사이트로부터 수신하는 디지털 인증서들의 레코드를 유지한다. 컴퓨팅 장치와는 원격으로 또한 독립적으로 동작하는 인증서 선별 서비스는 또한 이들 다양한 상이한 사이트에 액세스하고 서비스가 이들 사이로부터 수신하는 디지털 인증서들의 레코드를 유지한다. 타겟 사이트에 액세스하라는 요청에 응답하여, 컴퓨팅 장치는 타겟 사이트로부터 현재 디지털 인증서를 수신한다. 컴퓨팅 장치는 현재 디지털 인증서를 타겟 사이트로부터 이전에 수신된 마지막 디지털 인증서(last digital certificate)와 비교하여 현재 디지털 인증서가 마지막 디지털 인증서와 일치하는지 여부를 판정한다. 이러한 일치는 다양한 정보에 기초할 수 있는데, 이하에서 설명되는 바와 같이 엄격한 일치에서부터 관대한 일치까지 이른다. 현재 디지털 인증서와 마지막 디지털 인증서가 일치하는 경우, 현재 디지털 인증서는 진품인 것으로 판정된다.
그러나, 현재 디지털 인증서와 마지막 디지털 인증서가 일치하지 않는 경우, 컴퓨팅 장치는 인증서 선별 서비스로부터 하나 이상의 확인 디지털 인증서를 획득한다. 이들 확인 디지털 인증서는 인증서 선별 서비스가 다양한 상이한 사이트로부터 수신하고 그의 디지털 인증서들의 레코드에 유지하는 인증서이다. 컴퓨팅 장치는 현재 디지털 인증서를 하나 이상의 확인 디지털 인증서와 비교한다. 현재 디지털 인증서가 하나 이상의 확인 디지털 인증서와 일치하지 않는 경우, 현재 디지털 인증서는 거짓 디지털 인증서인 것으로 판정된다. 한편, 현재 디지털 인증서가 하나 이상의 확인 디지털 서명과 일치하는 경우, 디지털 인증서 및/또는 사이트의 추가의 특성이 분석되어 현재 디지털 인증서가 진품인지 또는 가짜인지를 판정한다.
도 1은 하나 이상의 실시예에 따라 자동적인 거짓 디지털 인증서 검출을 구현하는 예시적인 시스템(100)을 나타낸다. 시스템(100)은 네트워크(108)를 통해 하나 이상(m개)의 사이트(104) 및 인증서 선별 서비스(106)와 통신할 수 있는 컴퓨팅 장치(102)를 포함한다. 네트워크(108)는 인터넷, 근거리망(LAN), 전화망, 인트라넷, 다른 공중 및/또는 소유형 네트워크, 이들의 조합 등을 포함하는 다양한 상이한 데이터 네트워크 중 하나 이상일 수 있다.
컴퓨팅 장치(102)는 물리적 장치 도는 가상 장치와 같은 다양한 상이한 유형의 장치일 수 있다. 예를 들어, 컴퓨팅 장치(102)는 데스크탑 컴퓨터, 서버 컴퓨터, 랩탑 또는 노트북 컴퓨터, 태블릿 또는 노트패드 컴퓨터, 이동국, 오락 기기, 디스플레이 장치에 통신가능하게 연결된 셋탑 박스, 텔레비전 또는 다른 디스플레이 장치, 셀룰러 또는 다른 무선 전화, 게임 콘솔, 자동차용 컴퓨터 등과 같은 물리적 장치일 수 있다. 컴퓨팅 장치(102)는 또한 물리적 장치에서 실행되는 가상 머신과 같은 가상 장치일 수 있다. 가상 머신은 다양한 상이한 유형의 물리적 장치 중 임의의 장치(예를 들어, 위에서 나열한 다양한 유형의 물리적 장치 중 임의의 장치)에서 실행될 수 있다. 따라서, 컴퓨팅 장치(102)의 범위는 많은 메모리 프로세서 리소스를 갖는 풀 리소스 장치(예를 들어, 개인용 컴퓨터, 게임 콘솔)에서부터 제한된 메모리 및/또는 처리 리소스를 갖는 로우 리소스 장치(예를 들어, 전통적인 셋탑 박스, 핸드헬드 게임 콘솔)까지 이른다.
사이트(104)는 컴퓨팅 장치(102)에 의해 액세스될 수 있는 다양한 상이한 장치 또는 다른 리소스일 수 있다. 사이트(104)는 다양한 방식으로, 예를 들어 URL(uniform resource locator) 또는 다른 URI(uniform resource identifiers)를 사용하여 식별될 수 있다. 하나 이상의 실시예에서, 사이트(104)는 인터넷 및/또는 다른 데이터 네트워크를 통해 액세스되는 웹 페이지이다. 다른 실시예에서, 사이트(104)는 컴퓨팅 장치에서 실행되는 다른 프로그램, 저장 장치, 디스플레이 장치 등과 같은 다른 리소스이다. 사이트(104)는 다양한 상이한 컴퓨팅 또는 다른 하드웨어 장치를 사용하여 구현될 수 있다. 컴퓨팅 장치(102)에 대한 설명과 유사하게, 사이트(104)는 많은 메모리 및 프로세서 리소스를 갖는 풀 리소스 장치에서부터 제한된 메모리 및/또는 처리 리소스를 갖는 로우 리소스 장치에 이르는 장치들을 사용하여 구현될 수 있다.
본 명세서에서 설명되는 기법은 간단히 인증서로도 지칭되는 디지털 인증서를 설명한다. 인증서는 암호화 키(전형적으로 공개/개인 키 쌍 중 공개 키) 및 특정 개체를 식별하여, 암호화 키를 특정 개체에 연관시키거나 결부시킨다. 이하에서 보다 자세히 설명되는 바와 같이, 인증서가 진품인 것으로 판정된 경우, 컴퓨팅 장치(102)는 인증서에서 식별된 공개 키는 인증서에서 식별된 특정 개체와 연관된 것으로 간주할 수 있다. 인증서는 또한 인증 기관일 수 있는 신뢰 기관에 의해 디지털 방식으로 서명된다. 컴퓨팅 장치(102)는 전형적으로 하나 이상의 신뢰 기관의 레코드를 유지하고, 인증서가 이들 신뢰 기관 중 하나에 의해 디지털 방식으로 서명되었음을 검증함으로써 인증서는 조작(예를 들어, 변경)되지 않았음을 검증할 수 있다.
몇몇 경우, 인증서는 하나 이상의 추가 인증서를 통해, 인증 기관에 의해 디지털 방식으로 설명된 최상위(root) 인증서까지 사슬처럼 연결된다(chained). 예를 들어, 최종 인증서(end certificate)로도 지칭되는 인증서는 연관된 인증서를 갖는 개체 A에 의해 디지털 방식으로 설명될 수 있고, 개체 A와 연관된 인증서는 연관된 인증서를 갖는 개체 B에 의해 디지털 방식으로 서명될 수 있고, 개체 B와 연관된 인증서는 연관된 인증서를 갖는 개체 C에 의해 디지털 방식으로 서명될 수 있고, 개체 C와 연관된 인증서는 최상위 인증서로 지칭되는 연관된 인증서를 갖는 인증 기관에 의해 디지털 방식으로 서명될 수 있다. 개체 A, B 및 C와 연관된 인증서는 중간 인증서로 지칭된다. 인증서 체인이 컴퓨팅 장치(102)에 의해 신뢰되는 인증 기관에 의해 디지털 방식으로 설명된 최상위 인증서를 포함하는 경우, 컴퓨팅 장치(102)는 인증서가 부정 조작되지 않은 것으로 검증한다.
인증서가 부정 조작되지 않은 것으로 검증될 수 있을지라도, 인증서는 여전히 거짓 인증서일 수 있음을 주목해야 한다. 예를 들어, 악의적인 사용자는 부정 조작되지 않은 것으로 컴퓨팅 장치(102)에 의해 검증되지만 또한 거짓일 수 있는 인증서를 제공할 수 있다. 본 명세서에서 기술된 기법은 거짓 인증서가 진품 인증서와 자동으로 구별될 수 있게 한다. 진품의 인증서는 암호화 키를, 공개 키를 발행받거나 그 암호화 키를 사용하도록 승인된 특정 개체에 연관시키는 인증서를 지칭한다. 거짓 인증서는 승인되지 않은 또는 거짓된 방식으로 암호화 키를 개체와 연관시키는 인증서를 지칭한다.
컴퓨팅 장치(102)는 사이트 액세스 모듈(112), 거짓 인증서 검출 모듈(114) 및 사이트 인증서 맵핑 스토어(116)를 포함한다. 사이트 액세스 모듈(112)은 예를 들어 컴퓨팅 장치(102)의 사용자로부터의 요청, 컴퓨팅 장치(102)의 또 다른 컴포넌트 또는 모듈로부터의 요청 등에 응답하여 특정 사이트(104)에 액세스한다. 액세스된 사이트는 타겟 사이트로도 지칭된다.
본 명세서에서 기술되는 자동적인 거짓 디지털 인증서 검출 기법은 사이트(104)에 액세스하고 사이트(104)로부터 사이트 식별자 및 인증서를 수신하는 것을 참조하여 설명된다. 인증서는 전형적으로 암호화된 통신과 연계하여, 또는 사이트가 특정 개체에 의해 운영된다는 소정의 확약이 요구되는 다른 상황과 연계하여 사용됨을 주목해야 한다. 예를 들어, 인증서는 전형적으로 SSL(Secure Sockets Layer) 프로토콜을 구현하는 사이트와 같은 보안 통신을 지원하는 사이트용으로 사용된다. 사이트가 특정 개체에 의해 운영된다는 소정의 확약이 요구되지 않는 컴퓨팅 장치에 액세스가능하고 액세스되는 경우 인증서를 제공하지 않는 다수의 사이트가 존재한다. 이러한 사이트는 거짓 인증서 검출 모듈(114)에 의해 무시되고, 이러한 사이트들의 사이트 식별자의 레코드는 수신 또는 유지되지 않는다.
거짓 인증서 검출 모듈(114)은 사이트(104)에 대해 사이트 식별자를 인증서에 맵핑하는 레코드인 사이트 인증서 맵핑 스토어(116)를 유지한다. 맵핑 스토어(116)는 플래시 메모리, 자기 디스크, 데이터베이스 등과 같은 다양한 유형의 저장소를 이용하여 구현될 수 있다. 거짓 인증서 검출 모듈(114)은 맵핑 스토어(116)를 사용하여 사이트(104)로부터 수신된 인증서가 진품인지 또는 가짜인지를 판정한다. 이하에서 보다 자세히 설명되는 바와 같이, 거짓 인증서 검출 모듈(114)은 또한 인증서 선별 서비스(106)로부터 수신된 확인 인증서 및/또는 (예를 들어, 사이트(104)로부터 수신된 인증서의) 추가의 특성을 이용하여 사이트(104)로부터 수신된 인증서가 진품인지 또는 가짜인지를 판정할 수 있다.
거짓 인증서 검출 모듈(114)은 다양한 상이한 방식으로 구현될 수 있다. 하나 이상의 실시예에서, 모듈(114)은 사이트 액세스 모듈(112)의 일부로서 포함된다. 예를 들어, 모듈(112)은 웹 브라우저일 수 있고 모듈(114)은 웹 브라우저의 플러그-인 또는 확장 모듈일 수 있다. 이와 달리, 모듈(114)은 다른 방식으로 구현될 수 있는데, 예를 들어, 컴퓨팅 장치(102)의 인증서 신뢰 검증 시스템의 일부로서 포함되거나, 컴퓨팅 장치(102)의 운영 체제의 일부로 포함되거나, 컴퓨팅 장치(102)의 웹 크롤러(crawler) 또는 검색 엔진의 일부로서 포함되거나, 컴퓨팅 장치(102) 상의 독립형 실행가능 또는 해석가능 프로그램일 수 있다.
사이트 인증서 맵핑 스토어(116)는 사이트(104)에 대한 인증서에 사이트 식별자를 맵핑하는 기록을 유지할 수 있다. 사이트(104)가 사이트 액세스 모듈(112)에 의해 액세스되는 때마다(예를 들어, 요청이 사이트(104)에 전송되는 때마다), 사이트 식별자 및 인증서가 사이트(104)에 의해 사이트 액세스 모듈(112)에 반환된다. 맵핑 스토어(116)는 다양한 사이트(104)로부터 수신된 인증서를 맵핑하는 기록을 유지한다. 하나 이상의 실시예에서, 특정 사이트(104)로부터 인증서가 수신될 때마다, 그 인증의 표시는 맵핑 스토어(116)에 기록된다. 특정 사이트에 대해 수신된 인증서는 그 인증서가 진품인지 또는 가짜인지 여부와 상관없이 맵핑 스토어(116)에 기록될 수 있고, 또는 이와 달리, 인증서가 진품인 경우에만 맵핑 스토어(116)에 기록될 수 있다.
사이트 인증서 맵핑 스토어(116)는 사이트(104)를 식별하기 위해 다양한 상이한 식별자를 사용할 수 있다. 사이트(104)가 서로 구별될 수 있도록 해주는 다양한 상이한 식별자들 중 임의의 식별자가 사이트(104)의 식별자로서 사용될 수 있다. 하나 이상의 실시예에서, 사이트(104)의 식별자는 사이트(104)의 DNS(domain name service) 이름 및 사이트(104)와 연관된 하나 이상의 네트워크 어드레스의 집합(예를 들어, 인터넷 프로토콜(IP) 어드레스)이다. 이와 달리, 사이트(104)는 다른 방식으로 식별될 수 있는데, 예를 들어, 사이트(104)의 DNS 이름만 사용하여, 사이트(104)와 연관된 네트워크 어드레스의 집합만을 사용하여 식별될 수 있다.
각 사이트 식별자에 대해, 식별된 사이트에 대해 앞서 수신된 임의의 개수의 인증서는 사이트 인증서 맵핑 스토어(116)에 유지될 수 있다. 맵핑 스토어(116)는 앞서 수신된 인증서를 특정 기간(예를 들어, 몇 달, 일년) 동안만 저장하도록, 및/또는 앞서 수신된 인증서 중 특정 개수(예를 들어, 50 또는 100개)만을 저장하도록 선택적으로 구성될 수 있다.
하나 이상의 실시예에서, 이전에 수신된 각 인증서에 대해, (중간 및 최상위 인증서를 포함하는) 인증서 체인에서의 최종 인증서 및 임의의 다른 인증서가 맵핑 스토어(116)에 저장된다. 이와 달리, 이전에 수신된 인증서에 대한 다른 정보가 맵핑 스토어(116)에 저장될 수 있다. 예를 들어, 최종 인증서만이 저장될 수 있고, 최종 및 최상위 인증서만이 저장될 수 있다. 이와 달리, 인증서 그 자체를 저장하기 보다는, 인증서를 식별하는 정보, 예를 들어 해수 함수를 최종 인증서(또한 선택에 따라서는 다른 인증서 및 인증서 체인도 포함함)에 적용함으로써 생성된 해시 값, 최종 인증서(또한 선택에 따라서는 다른 인증서 및 인증서 체인도 포함함)에 포함된 공개 키, 최종 인증서(또한 선택에 따라서는 다른 인증서 및 인증서 체인도 포함함) 내의 특정 필드의 값 등이 저장될 수 있다.
특정 사이트(104)에 대해 이전에 수신된 다수의 인증서는 맵핑 스토어(116)에 유지될 수 있다. 이전에 특정 사이트(104)에 대해 가장 최근에 수신된 인증서(이전에 사이트(104)가 가장 최근에 액세스되었을 때 이 특정 사이트(104)로부터 수신된 인증서)는 또한 이 특정 사이트(104)에 대한 최종 인증서로서 지칭된다. 특정 사이트(104)에 대해 이전에 수신된 인증서들 중 하나 이상은 그 특정 사이트(104)로부터 수신된 현재 인증서가 가짜인지 여부를 결정하는데 사용될 수 있으며, 이는 이하에서 보다 자세히 설명된다.
도 2는 하나 이상의 실시예에 따라 사이트에 대해 사이트 식별자를 인증서에 맵핑하는 예시적인 기록(200)을 나타낸다. 기록(200)은 전술한 바와 같이 다양한 상이한 방식 중 임의의 방식으로 사이트를 식별하는 사이트 식별자(202)를 포함한다. 기록(200)은 이전에 수신된 다수의 인증서(204 및 206(1),...,206(x))를 포함한다. 인증서(204)는 사이트에 대한 최종 인증서이며, 다른 이전에 수신된 인증서들은 다수(x)의 이전에 수신된 인증서(206(1),...,206(x))이다.
도 2에는 도시되어 있지 않지만, 다양한 추가의 정보가 선택에 따라 기록(200)에 포함될 수 있음을 이해해야 한다. 예를 들어, 각 인증서(204, 206(1),...,206(x))에 대해, 인증서가 진품인지 또는 가짜인지 여부에 대한 표시가 기록(200)에 포함될 수 있다.
도 1을 참조하면, 사이트 인증서 맵핑 스토어(116)는 로컬 스토어로 지칭되는데, 그 이유는 스토어(116)는 타겟 사이트(104)로부터 수신된 인증서가 가짜인지 여부를 결정할 때 컴퓨팅 장치(102)에 의해 사용되기 때문이다. 맵핑 스토어(116)는 컴퓨팅 장치(102)의 일부, 또는 이와 달리 컴퓨팅 장치(102)와 통신하는 별도의 장치, 예를 들어, 외부 저장 장치, 네트워크(108)를 통해 액세스되는 네트워크 저장 장치 등의 일부로서 구현될 수 있다.
인증서 선별 장치(106)는 인증서 모니터링 시스템(122) 및 사이트 인증서 맵핑 스토어(124)를 포함한다. 인증서 모니터링 시스템(122)은 인증서 획득 모듈(126) 및 인증서 맵핑 검색 모듈(128)을 포함한다. 인증서 획득 모듈(126)은 전술한 사이트 액세스 모듈(112)과 유사하게, 사이트(104)에 액세스하여 그 사이트(104)로부터 사이트 식별자 및 인증서를 수신한다. 모듈(126)에 의해 수신된 사이트 식별자 및 인증서는 사이트 인증서 맵핑 스토어(124)에 기록된다. 맵핑 스토어(124)는 맵핑 스토어(116)와 유사하지만, 사이트 액세스 모듈(112)보다는 인증서 모니터링 시스템(122)에 의해 유지된다. 맵핑 스토어(124)는 각 인증서 및/또는 사이트에 대한 추가의 필드, 예를 들어, 인증서가 처음 보여진 날짜 및/또는 시간, 인증서가 마지막으로 보여진 날짜 및/또는 시간, 사이트가 인증서 모니터링 시스템(122 또는 130)에 의해 액세스된 횟수 등을 선택에 따라 포함할 수 있다. 맵핑 스토어(124)는 맵핑 스토어(116)와 유사하게 사이트 식별자 및 이전에 수신된 인증서를 저장하고, 이들 사이트 식별자 및 이전에 수신된 인증서는 앞서 맵핑 스토어(116)를 참조하여 설명한 바와 같은 다양한 형식을 취할 수 있다.
인증서 획득 모듈(126)은 다양한 시간에 사이트(104)를 액세스할 수 있다. 하나 이상의 실시예에서, 인증서 획득 모듈(126)은 새로운 사이트(104)를 식별하고 액세스하기 위해 네트워크(108)를 통해 액세스가능한 사이트(104)를 크롤링 또는 스캐닝한다. 해당 인증서가 이전에 수신된 이전에 액세스된 사이트는 규칙적인 또는 불규칙적인 간격으로 인증서 획득 모듈(126)에 의해 또 다시 액세스될 수 있다. 따라서, 사이트(104)는 사이트(104) 중 하나에 대한 확인 인증서에 대한 요청과는 무관하게 모듈(126)에 의해 액세스될 수 있다. 다른 실시예에서, 인증서 획득 모듈(126)은 또 다른 컴포넌트 또는 장치로부터의 요청에 응답하여 특정 사이트(104)에 액세스할 수 있다. 예를 들어, 인증서 획득 모듈(126)은 특정 사이트(104)에 대한 확인 인증서에 대한 컴퓨팅 장치(102)로부터의 요청에 응답하여 그 특정 사이트(104)에 액세스할 수 있다.
인증서 맵핑 검색 모듈(128)은 사이트(104)에 대한 확인 인증서에 대한 요청을 컴퓨팅 장치(예를 들어, 거짓 인증서 검출 모듈(114))로부터 수신한다. 특정 사이트(104)에 대한 확인 인증서는 그 사이트(104)를 액세스하는 경우 인증서 획득 모듈(126)에 의해 수신된 특정 사이트(104)에 대한 인증서를 지칭한다. 이러한 확인 인증서는 사이트(104)로부터 컴퓨팅 장치(102)에 의해 수신된 현재 인증서가 가짜인지 여부를 판정할 때 거짓 인증서 검출 모듈(114)에 의해 사용될 수 있으며, 이는 이하에서 보다 자세히 설명된다.
하나 이상의 실시예에서, 사이트(104)에 대한 확인 인증서에 대한 컴퓨팅 장치(102)로부터의 요청에 응답하여, 인증서 맵핑 검색 모듈(128)은 사이트(104)에 대한 하나 이상의 이전에 수신된 인증서를 맵핑 스토어(124)로부터 획득하고 획득한 하나 이상의 인증서를 사이트(104)에 대한 하나 이상의 확인 인증서로서 컴퓨팅 장치(102)에 반환한다. 모듈(128)은 사이트(104)에 대해 가장 최근에 수신된 인증서, 또는 이와 달리 하나 이상의 다른 인증서(예를 들어, 사이트(104)에 대한 특정 개수의 인증서, 특정 기간에 걸쳐 수신된 사이트(104)에 대한 인증서 등)를 획득할 수 있다.
이와 달리, 인증서 획득 모듈(126)은 사이트(104)에 대한 확인 인증서에 대한 컴퓨팅 장치(102)로부터의 요청에 응답하여 사이트(104)에 액세스할 수 있고(또한 선택에 따라 사이트(104)에 대해 새롭게 획득된 인증서를 맵핑 스토어(124)에 저장할 수 있고), 모듈(128)은 새롭게 획득된 인증서를 사이트(104)에 대한 확인 인증서로서 컴퓨팅 장치(102)에 반환할 수 있다. 모듈(126)이 맵핑 스토어(124)로부터 사이트(104)에 대한 하나 이상의 인증서를 반환할지 및/또는 사이트(104)에 대한 확인 인증서에 대한 컴퓨팅 장치(102)로부터의 요청에 응답하여 새롭게 획득된 인증서를 반환할지 여부는 인증서 선별 서비스(106)에 의해 또는 이와 달리 컴퓨팅 장치(102)에 의해 결정될 수 있다(예를 들어, 컴퓨팅 장치(102)로부터 수신된 요청은 어느 것이 반환될 것인지를 나타낼 수 있다).
인증서 선별 서비스(106)는 하나 이상의 장치(예를 들어, 컴퓨팅 장치(102)와 관련하여 전술한 바와 같은 다양한 상이한 유형의 장치 중 임의의 장치)에 의해 구현된다. 인증서 선별 서비스(106)는 컴퓨팅 장치(102)로부터 물리적으로 원격으로 위치하고 네트워크(108)를 통해 컴퓨팅 장치에 액세스가능하다. 하나 이상의 실시예에서, 인증서 선별 서비스(106)는 대략 동일한 지리적 영역(예를 들어 동일한 서버 팜 또는 데이터 시설) 내의 하나 이상의 장치에 의해 구현된다. 다른 실시예에서, 인증서 선별 서비스(106)는 하나 이상(n)의 인증서 모니터링 시스템(130)을 이용한다. 이러한 실시예에서, 인증서 선별 서비스(106)는 하나 이상의 인증서 모니터링 시스템(130)에 의해 적어도 부분적으로 구현되는 것으로 지칭될 수 있다.
모니터링 시스템(130)은 물리적으로 상이한 지리적 영역, 예를 들어, 상이한 도시, 상이한 주, 상이한 나라, 상이한 대륙 등에 위치할 수 있다. 각 모니터링 시스템(130)은 인증서 획득 모듈(126)과 유사한 인증서 획득 모듈을 포함한다. 따라서, 각 모니터링 시스템(130)은 다양한 시간에 사이트(104)에 액세스할 수 있고 각 액세스에 응답하여 사이트(104)로부터 사이트 식별자 및 인증서를 수신할 수 있다. 이러한 액세스로부터 수신된 인증서는 모니터링 시스템(130)에 의해 (예를 들어, 사이트 인증서 맵핑 스토어(124)와 유사한 그들의 사이트 인증서 맵핑 스토어에) 유지될 수 있고, 또는 이와 달리 사이트 맵핑 스토어(124)에 저장될 수 있다. 이러한 상황에서, 어느 인증서 선별 서버가 어느 인증서를 수신하였는지에 대한 표시가 맵핑 스토어(124)에 유지될 수 있다.
다수의 모니터링 시스템(130)을 이용함으로써, 확인 인증서는 상이한 지리적 위치에 있는 상이한 서버로부터 수신될 수 있다. 이들 확인 인증서는 모두 동일할 수 있거나 또는 몇몇 상황에서는 상이할 수 있다. 따라서, 예를 들어, 하나의 특정 모니터링 시스템(130)이 악의적인 사용자에 의한 공격을 받게 되면, 이 특정 모니터링 시스템(130)에 의해 제공되는 확인 인증서는 다른 모니터링 시스템(130)에 의해 제공되는 확인 인증서와 다를 수 있다. 이러한 차이는 사이트(104)로부터 컴퓨팅 장치(102)에 의해 수신된 현재 인증서가 가짜인지 여부를 결정할 때 거짓 인증서 검출 모듈(114)에 의해 사용될 수 있으며, 이는 이하에서 보다 자세히 설명된다.
하나 이상의 인증서 모니터링 시스템(130)이 이용되는 경우, 확인 인증서에 대한 요청에 응답하여, 인증서 맵핑 검색 모듈(128)은 하나 이상의 인증서 모니터링 시스템(122,130)에 의한 하나 이상의 인증서(예를 들어, 가장 최근에 수신된 인증서)의 표시를 컴퓨팅 장치(102)로 반환한다. 이러한 표시는 예를 들어 얼마나 많은 확인 인증서가 반환되고 있는가에 대한 계수(count) 및 확인 인증서 그 자체일 수 있다. 그와 달리, 이러한 표시는 다른 형식을 취할 수 있는데, 예를 들어 인증서 그 자체를 반환하기보다는, 이하에서 보다 자세히 설명되는 바와 같이 인증서들을 비교할 때 컴퓨팅 장치(102)에 의해 사용되는 정보가 반환될 수 있다. 다수의 인증서 모니터링 시스템(122)이 동일한 인증서를 수신한 경우, 그 인증서의 단일 사본만이 컴퓨팅 장치(102)에 반환될 필요가 있다. 각 인증서 모니터링 시스템(122,130)의 식별자(예를 들어, 이름 또는 다른 지시자), 및 각 인증서 모니터링 시스템이 수신한 인증서의 표시도 컴퓨팅 장치(102)에 반환될 수 있다. 이와 달리, 인증서 모니터링 시스템(122,130) 각각에 의해 가장 최근에 수신된 인증서의 이러한 표시는 다른 형식을 취할 수 있는데, 예를 들어 각 인증서 모니터링 시스템 및 이 모니터링 시스템 각각에 대해 가장 최근에 수신된 인증서의 표시의 형태를 취할 수 있다.
확인 인증서에 대한 요청은 다양한 방식으로 수신될 수 있다. 하나 이상의 실시예에서, 인증서 맵핑 검색 모듈(128)은 아래와 같은 애플리케이션 프로그래밍 인터페이스 메소드를 노출한다.
getCertificateforSite(sslSite, Location)
여기서, 사이트 파라미터 "sslSite"는 확인 인증서가 요청되는 타겟 사이트를 식별하고, 위치 파라미터 "Location"는 하나 이상의 인증서 모니터링 시스템을 식별한다. 위치 파라미터는 인증서가 하나 이상의 확인 인증서에 포함되어야 하는 특정 인증서 모니터링 시스템을 컴퓨팅 장치(102)가 지정할 수 있게 해준다. 인증서 맵핑 검색 모듈(128)은 식별된 인증서 모니터링 시스템에 의해 수신된 인증서만을 하나 이상의 확인 인증서로서 반환한다. 위치 파라미터는 모든 인증서 모니터링 시스템에 의해 수신된 인증서는 하나 이상의 확인 인증서로서 반환되어야 함을 나타내는, 애플리케이션 프로그래밍 인터페이스 메소드의 디폴트 값일 수 있는 모든 위치 값을 가질 수 있다.
하나 이상의 실시예에서, 컴퓨팅 장치(102)는 인증서 선별 서비스(106)와 통신할 수 있고, 이후 이 인증서 선별 서비스(106)는 다수의 인증서 모니터링 시스템(130)으로부터 인증서를 수신할 수 있다. 따라서, 서비스(106)는 인증서 모니터링 시스템(122,130)의 모두에 대한 액세스의 중앙 지점을 컴퓨팅 장치(102)에 제공한다. 이와 달리, 인증서 모니터링 시스템(130) 각각은 인증서 선별 서비스(106)로서 구현될 수 있다. 이러한 상황에서, 컴퓨팅 장치(102)는 다수의 상이한 인증서 선별 서비스 각각을 개별적으로 액세스할 수 있고 다수의 상이한 인증서 선별 서비스 각각으로부터 개별적인 확인 인증서를 획득할 수 있다.
도 3은 하나 이상의 실시예에 따라 인증서 선별 서비스에 의해 수행되는 예시적인 프로세스(300)를 나타내는 흐름도이다. 프로세스(300)는 인증서 선별 서비스의 하나 이상의 장치에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 프로세스(300)는 일련의 동작으로 도시되어 있지만 다양한 동작의 행위들을 수행하는 것으로 도시되어 있는 순서에 국한되지는 않는다. 프로세스(300)는 인증서 선별 서비스에 의해 수행되는 예시적인 프로세스이며, 인증서 선별 서비스에 의해 수행되는 프로세스에 대한 추가적인 설명은 본 명세서에서 다양한 도면을 참조하여 포함된다.
프로세스(300)에서, 인증서 모니터링 시스템은 사이트에 대한 인증서를 획득한다(동작 302). 앞서 도 1을 참조하여 설명한 인증서 모니터링 시스템(122,130)과 같은 하나 이상의 상이한 인증서 모니터링 시스템이 사용될 수 있다.
사이트에 대한 인증서를 획득하기 위해, 인증서 모니터링 시스템은 사이트에 액세스하고 그 사이트로부터 식별자 및 인증서를 수신한다(동작 304). 인증서는 사이트 식별자에 맵핑된 사이트 인증서 맵핑 스토어에 추가된다(동작 306).
인증서 모니터링 시스템은 동작(302)에서 전술한 바와 같이 다양한 시간에서 사이트에 대한 인증서를 획득할 수 있다. 사이트를 획득하는 것과 동시에, 인증서 선별 서비스는 확인 인증서를 요청자에게 제공할 수 있다(동작 308). 이들 요청자는 도 1의 컴퓨팅 장치(102)와 같은 컴퓨팅 장치이다.
요청자에게 확인 인증서를 제공하기 위해, 서비스는 타겟 사이트로 지칭되는 특정 사이트에 대한 인증서에 대한 요청을 수신한다(동작 310). 사이트 선별 서비스는 타겟 사이트에 대한 확인 인증서를 사이트 인증서 맵핑 스토어로부터 검색한다(동작 312). 선별 서비스는 전술한 바와 같이 인증서 모니터링 시스템 각각에 의해 수신된 하나 이상의 인증서의 표시를 검색할 수 있다. 타겟 사이트에 대해 검색된 인증서의 표시, 예를 들어 검색된 인증서 그 자체는 하나 이상의 확인 인증서로서 요청자에게 반환된다(동작 314). 이와 달리, 인증서 선별 서비스는 타겟 사이트에 액세스하여 새롭게 획득된 인증서를 확인 인증서들 중 적어도 하나로서 반환할 수 있다.
도 1을 참조하면, 사이트 액세스 모듈(112)이 타겟 사이트(104)에 액세스하는 경우, 전술한 바와 같이 타겟 사이트(104)에 대한 사이트 식별자 및 인증서가 사이트 액세스 모듈(112)에 반환된다. 반환된 이 인증서는 현재 인증서로 지칭된다. 거짓 인증서 검출 모듈(114)은 타겟 사이트에 대한 인증서를 사이트 인증서 맵핑 스토어(116)로부터 검색하여 현재 인증서를 타겟 사이트에 대한 검색된 인증서에 비교하여 현재 인증서와 검색된 인증서가 일치하는지 여부를 판정한다. 본 명세서의 대부분의 설명에서, 사이트 인증서 맵핑 스토어(116)로부터 검색된 인증서는 타겟 사이트에 대한 마지막 인증서이지만, 그와 달리 사이트 인증서 맵핑 스토어(116)로부터 검색된 인증서는 이전에 수신된 다른 인증서일 수도 있다. 또한, 하나 이상의 추가 인증서가 사이트 인증서 맵핑 스토어(116)로부터 검색될 수 있고, 마지막 인증서와 유사한 하나 이상의 추가 인증서 각각에 대한 비교가 행해질 수 있다.
거짓 인증서 검출 모듈(114)은 두 인증서가 일치하는지를 다양한 방식으로 판정할 수 있다. 비교는 최종 인증서에만, 최종 및 최상위 인증서에만, 전체 인증서 체인 등에 기초한다. (비교를 위한 기준으로도 지칭되는) 비교되는 정보는 인증서 자체, 인증서의 특징 또는 필드, 인증서로부터 도출되는 다른 정보, 인증서 외부의 컨텍스추얼 정보 등일 수 있다. 예를 들어, 비교되는 정보는 하나 이상의 해시 함수를 인증서에 적용함으로써 생성된 해시 값일 수 있고, 인증서의 특징 또는 필드의 값일 수 있고, 하나 이상의 해시 함수를 인증서의 특징 또는 필드의 값에 적용함으로써 생성된 해시 값일 수 있다. 더 예시를 들면, 비교되는 정보는 컴퓨터 장치에 의해 보여지는 IP 어드레스, 인증서가 획득된 타겟 사이트 어드레스, 사이트 및 컴퓨팅 장치의 지리적 위치, 타겟 사이트 자체의 인기 순위 등일 수 있다. 이 정보의 임의의 조합은 비교의 기준으로 사용될 수 있다.
두 인증서가 일치하는지 여부는 다양한 방식으로 판정될 수 있는데, 그 일치 범위는 엄격한 일치부터 관대한 일치까지 이른다. 엄격한 일치는 두 인증서에 대해 비교되는 정보가 같은(동일한) 경우의 두 인증서의 일치를 지칭한다. 관대한 일치는 인증서에 대해 비교되는 정보가 비록 동일하지 않을 수 있는 경우의 두 인증서의 일치를 지칭한다. 예를 들어, 관대한 일치는 비교되는 정보의 적어도 임계량(예를 들어, 80%)이 같은(동일한) 경우의 두 인증서의 일치를 지칭하거나, 인증서 모두가 특정 인증서 클래스 또는 인증서 그룹의 멤버인 경우의 두 인증서의 일치를 지칭한다. 인증서 클래스 또는 그룹 내의 회원자격은 인증서의 하나 이상의 특징 또는 필드에 기초하여 판정될 수 있다(예를 들어, 인증서의 하나 이상의 특징 또는 필드가 특정한 하나 이상의 값을 갖는 경우 인증서는 특정 인증서 클래스 또는 그룹의 멤버이다).
하나 이상의 실시예에서, 두 인증서가 일치하는지를 판정하기 위해 비교되는 정보는 다양한 정보 또는 조건에 응답하여 시간의 흐름에 따라 적응, 변경될 수 있다. 예를 들어, 다수의 거짓 경고가 (예를 들어, (다수의 컴퓨팅 장치(102)로부터 거짓 경고의 표시를 수신할 수 있는) 인증서 선별 서비스(106) 또는 컴퓨팅 장치(102)에 의해) 모니터링될 수 있고, 거짓 경고는 현재 인증서가 가짜가 아님에도 두 인증서가 일치하지 않는 것으로 비교 단계에서 판정되는 상황을 지칭한다. 거짓 경고는 다양한 방식으로, 예를 들어 컴퓨팅 장치(102)의 사용자 또는 관리자, 인증서 선별 서비스(106)의 관리자 등에 의해 식별될 수 있다. 어떤 정보가 비교되어 두 인증서가 일치하지 않는다는 표시가 유지될 수 있고, 적어도 임계 개수의 거짓 경고가 특정 정보의 비교 결과인 경우, 그 비교되는 정보는 그 특정 정보를 배제하도록 변경될 수 있다.
현재 인증서 및 마지막 인증서가 일치하는 경우, 거짓 인증서 검출 모듈(114)은 현재 인증서가 진품인 것으로 판정한다. 모듈(114)은 또한 현재 인증서를 타겟 사이트에 대한 사이트 식별자에 맵핑되는 것으로 맵핑 스토어(116)에 추가한다. 따라서, 다음 번에 타겟 사이트가 액세스되는 경우, 그 때 타겟 사이트에 대한 현재 인증서인 인증서는 타겟 사이트에 대한 마지막 인증서가 될 것이다.
그러나, 현재 인증서와 마지막 인증서가 일치하지 않는 경우, 거짓 인증서 검출 모듈(114)은 타겟 사이트에 대한 확인 인증서를 인증서 선별 서비스(106)에 요청한다. 이 요청에 응답하여, 타겟 사이트에 대한 하나 이상의 확인 인증서가 수신되고, 모듈(114)은 타겟 사이트에 대한 현재 인증서를 타겟 사이트에 대한 하나 이상의 확인 인증서에 비교한다. 타겟 사이트에 대한 적어도 하나의 확인 인증서가 타겟 사이트에 대한 현재의 인증서에 일치하지 않는 경우, 모듈(114)은 현재 인증서는 가짜인 것으로 판정한다. 한편, 타겟 사이트에 대한 하나 이상의 확인 인증서 모두가 타겟 사이트에 대한 현재 인증서에 일치하는 경우, 이 현재 인증서 검증된 것인지 또는 가짜인지를 판정하기 위해 인증서 및/또는 타겟 사이트의 추가적인 특징이 분석된다.
본 명세서에서의 설명들 중 일부가 컴퓨팅 장치(102)에서 수행되는 인증서의 비교를 언급하고 있지만, 그와 달리 비교는 하나 이상의 다른 장치에서도 수행될 수 있음을 이해해야 한다. 예를 들어, 거짓 인증서 검출 모듈(114)은 타겟 사이트에 대한 현재 인증서를 인증서 선별 서비스(106)에 제공할 수 있고, 서비스(106)는 타겟 사이트에 대한 현재 인증서를 타겟 사이트에 대한 하나 이상의 확인 인증서에 비교할 수 있다. 서비스(106)는 비교시에 동일한 기준을 사용할 수 있고, 또는 이와 달리 다른 기준을 사용할 수 있다(예를 들어, 컴퓨팅 장치(102) 및 서비스(106) 중 하나는 엄격한 일치를 사용할 수 있고 다른 하나는 관대한 일치를 사용할 수 있다).
예를 들어, 거짓 인증서 검출 모듈(114)은 타겟 사이트에 대한 현재 인증서를 인증서 선별 서비스(106)에 제공할 수 있고, 서비스(106)는 관대한 일치를 이용하여, 타겟 사이트에 대한 현재 인증서를 타겟 사이트에 대한 하나 이상의 확인 인증서에 비교할 수 있다. 서비스(106)는 서비스(106)에 의해 수행된 비교의 결과의 표시(예를 들어, 인증서가 일치함, 인증서가 일치하지 않음, 인증서는 일치할 수 있음, 서비스는 인증서가 일치하는지를 판정할 수 없음, 등), 및 선택에 따라서는 하나 이상의 확인 인증서를 모듈(114)에 반환할 수 있고, 모듈(114)은 선택에 따라서는 엄격한 일치를 사용하여, 현재 인증서를 하나 이상의 확인 인증서에 비교할 수 있다. 모듈(114)은 서비스(106)로부터의 결과에 기초하여 현재 인증서를 하나 이상의 확인 인증서에 비교할지 여부를 결정할 수 있다. 예를 들어, 인증서가 일치하지 않는 것으로 결과가 나타내는 경우, 모듈(114)은 비교를 수행하지 않을 수 있고, 그와 다른 경우(예를 들어, 인증서가 일치하거나 일치할 수 있는 것으로 결과가 나타낸 경우), 모듈(114)은 비교를 수행할 수 있다. 서비스(106)는 예를 들어 모듈(114)이 반환되는 결과로 인해 비교를 수행하지 않을 수 있다는 것을 서비스(106)가 알고 있는 경우 결과를 모듈(114)에 반환하되 하나 이상의 확인 인증서는 반환하지 않는다.
도 4는 하나 이상의 실시예에 따라 현재 인증서 및 로컬 사이트 인증서 맵핑 스토어로부터의 인증서가 일치하지 않는 경우 예시적인 시스템(400)을 나타낸다. 시스템(400)은 컴퓨팅 장치(102), 타겟 사이트(104) 및 인증서 선별 서비스(106)를 포함한다. 도시되어 있는 예시적인 시스템(400)에서, 악의적인 사용자는 컴퓨팅 장치(102)를 공격하였고 타겟 사이트(104)에 대한 거짓 인증서를 컴퓨팅 장치(102)에 제공하였다. 그러나, 인증서 선별 서비스(106)는 이러한 공격에 영향을 받지 않는다. 따라서, 서비스(106)로부터의 액세스 요청(404)에 응답하여, 타겟 사이트(104)는 인증서(406)를 반환한다.
그러나, 컴퓨팅 장치(102)가 액세스 요청(410)을 제출함으로써 타겟 사이트(104)에 액세스하려는 경우, 악의적인 사용자에 의한 공격의 결과로서, 액세스 요청(410)은 악의적인 사이트(402)로 라우팅된다. 악의적인 사이트(402)는 액세스 요청(410)에 응답하여 현재 인증서(412)를 반환한다. 컴퓨팅 장치(102)는 현재 인증서(412)를 컴퓨팅 장치(102)의 맵핑 스토어에 있는 마지막 인증서에 비교하고, 이 마지막 인증서와 거짓 인증서가 일치하지 않는 것으로 판정한다. 컴퓨팅 장치(102)는 확인 인증서에 대한 요청(414)을 인증서 선별 서비스(106)에 전송하고, 그에 대한 응답으로 하나 이상의 확인 인증서(416)를 수신한다. 컴퓨팅 장치(102)는 현재 인증서(412)를 확인 인증서(416)에 비교하고 거짓 인증서와 확인 인증서가 일치하지 않는 것으로 판정한다. 따라서, 컴퓨팅 장치(102)는 현재 인증서(412)가 가짜인 것으로 판정한다.
도 5는 하나 이상의 실시예에 따라 거짓 인증서를 자동으로 검출하는 예시적인 프로세스(500)를 보여주는 흐름도이다. 프로세스(500)는 컴퓨팅 장치에 의해, 예를 들어 도 1의 컴퓨팅 장치(102)의 거짓 인증서 검출 모듈(114)에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 프로세스(500)는 일련의 동작으로 도시되어 있지만 다양한 동작의 행위를 실시하는 것으로 도시되어 있는 순서에 국한되지는 않는다. 프로세스(500)는 거짓 인증서를 자동으로 검출하는 예시적인 프로세스이며, 거짓 인증서를 자동으로 검출하는 것에 대한 추가의 설명은 본 명세서에서 다양한 도면을 참조하여 포함된다.
프로세스(500)에서, 타겟 사이트로부터 인증서가 획득된다(동작 502). 이 인증서는 전술한 바와 같이 현재 인증서로서 지칭된다.
로컬 사이트 인증서 맵핑 스토어가 타겟 사이트로부터 수신된 이전 인증서를 포함하고 있는지에 대한 확인이 이루어진다(동작 504). 프로세스(500)를 구현하는 컴퓨팅 장치가 이전에 타겟 사이트를 액세스하지 않은 경우, 로컬 사이트 인증서 맵핑 스토어는 타겟 사이트로부터 수신된 이전 인증서를 포함하지 않을 수 있다.
프로세스(500)는 타겟 사이트의 식별자에 대한 인증서의 맵핑이 로컬 사이트 인증서 맵핑 스토어에서 발견되는지 여부에 기초하여 진행한다(동작 506). 타겟 사이트의 식별자에 대한 인증서의 맵핑이 로컬 사이트 인증서 맵핑 스토어에서 발견되는 경우, 타겟 사이트에 대한 마지막 인증서가 타겟 사이트에 대한 현재 인증서와 일치하는지에 대한 확인이 이루어진다(동작 508).
타겟 사이트에 대한 마지막 인증서가 타겟 사이트에 대한 현재 인증서와 일치하는 경우, 현재 인증서는 진품인 것으로 판정된다(동작 510). 현재 인증서는 타겟 사이트 식별자에 맵핑되는 것으로 로컬 사이트 인증서 맵핑 스토어에 저장된다(동작 512). 프로세싱은 이후 (현재 인증서가 검증되면 타겟 사이트와의 통신을 비롯하여) 정상적으로 진행되는데, 그 이유는 타겟 사이트에 대한 현재 인증서는 진품인 것으로 판정되었기 때문이다.
그러나, 동작 506에서 타겟 사이트 식별자에 대한 인증서의 맵핑이 로컬 사이트 인증서 맵핑 스토어에서 발견되지 않는 경우, 또는 동작 508에서 마지막 인증서가 현재 인증서와 일치하지 않는 경우, 타겟 사이트에 대한 확인 인증서가 인증서 선별 서비스에게 요청된다(동작 514). 프로세스(500)는 현재 인증서가 인증서 선별 서비스로부터 수신된 확인 인증서와 일치하는지 여부에 기초하여 진행된다(동작 516).
하나 이상의 확인 인증서가 전술한 바와 같이 인증서 선별 서비스로부터 수신될 수 있다. 현재 인증서가 하나 이상의 확인 인증서 모두와 일치하지 않는 경우, 현재 인증서는 가짜인 것으로 판정된다(동작 518). 그러나, 현재 인증서가 하나 이상의 확인 인증서 모두와 일치하는 경우, 현재 인증서는 진품 또는 가짜일 수 있다. 현재 인증서가 진품인지 여부를 판정하기 위해 인증서 및/또는 타겟 사이트의 하나 이상의 추가적인 특징이 분석된다(동작 520).
현재 인증서가 타겟 사이트에 대한 마지막 인증서와 일치하지 않는다는 사실에 기초하여서는, 타겟 사이트가 그의 인증서를 정당하게 변경하였는지 여부 또는 현재 인증서가 거짓 인증서인지 여부는 판정될 수 없기 때문에, 인증서 및/또는 타겟 사이트의 추가적인 특징이 동작 520에서 분석된다. 예를 들어, 타겟 사이트는 예를 들어 만료된 또는 거의 만료된 인증서를 갱신하는 경우, 그의 암호화 키를 변경하는 경우, 인증서를 디지털 방식으로 서명하는데 사용되는 인증 기관을 변경하는 경우 등과 같은 다양한 이유로 그의 인증서를 정당하게 변경할 수 있다. 이들 정당한 변경은 (예를 들어, 인증서 모니터링 시스템 모두가 변경된 인증서를 수신한 경우) 현재 인증서가 타겟 사이트에 대한 마지막 인증서와 일치하지는 않지만 확인 인증서와는 일치하게 할 수 있다. 그러나, 컴퓨팅 장치와 인증서 선별 서비스 모두를 공격하는 악의적인 사용자도 현재 인증서가 타겟 사이트에 대한 마지막 인증서와 일치하지는 않지만 확인 인증서와는 일치하게 할 수 있다.
현재 인증서, 이전에 수신된 인증서, 타겟 사이트 등에 대한 다양한 상이한 특징이 분석될 수 있다. 일반적으로, 거짓 인증서를 진품 인증서와 구별하는 역할을 할 수 있는 임의의 특징이 분석될 수 있다. 이들 특징은 분석되어 타겟 사이트에 대한 하나 이상의 이전에 수신된 인증서와 관련하여 타겟 사이트에 대한 현재 인증서에 대해 거짓 변경이 행해졌는지 여부를 판정할 수 있다. 하나 이상의 실시예에서, 분석은 인증서 필드 불일치(certificate field inconsistencies), 인증서 발행자 변경, 특정 인증서 필드의 부재(absence of particular certificate fields), 네트워크 어드레스 변칙(network address anomalies), 상위 레벨 도메인 변칙, 및/또는 인증서 수명 변칙을 식별한다. 분석은 이들 다양한 특징의 임의의 조합에 기초할 수 있다. 예를 들어, 분석은 인증서 필드 불일치 및 인증서 발행자 변경을 식별할 수 있으나, 네트워크 어드레스 변칙은 식별하지 못할 수 있다. 또 다른 예로서, 분석은 하나 이상의 인증서 필드 불일치, 하나 이상의 인증서 발행자 변경, 하나 이상의 특정 인증서 필드의 부재, 하나 이상의 네트워크 어드레스 변칙, 하나 이상의 상위 레벨 도메인 변칙 및/또는 하나 이상의 인증서 수명 변칙을 식별할 수 있다.
인증서 필드 불일치를 식별하기 위한 분석은 인증서의 하나 이상의 필드 내의 데이터가 인증서의 하나 이상의 다른 필드 내의 데이터와 불일치하는지 여부에 대한 확인을 지칭한다. 인증서가 불일치 데이터를 갖는 필드를 포함하는 경우, 분석은 인증서에 대해 부당한 변경이 행해진 것으로 판정한다. 예를 들어, 인증서는 주체 이름 필드(subject name field) 및 네트워크 어드레스 필드를 포함할 수 있다. 인증서의 네트워크 어드레스 필드에서 식별된 네트워크 어드레스가 인증서의 주체 이름 필드에서 식별된 이름과 일치하는지(그 이름에 대한 예상된 네트워크 어드레스인지)에 대한 확인이 행해질 수 있다. 특정 이름에 대한 예상된 네트워크 어드레스는 예를 들어, 신뢰성 있는 서비스를 인터넷 또는 다른 네트워크를 통해 액세스함으로써, 사이트 맵핑 스토어(컴퓨팅 장치 장치의 로컬 스토어 또는 인증서 선별 서비스의 스토어) 내에 있는 타겟 사이트에 대한 이전에 수신된 인증서를 액세스함으로써 등과 같은 다양한 방식으로 결정될 수 있다. 인증서의 네트워크 어드레스 필드에서 식별된 네트워크 어드레스가 인증서의 주체 이름 필드에서 식별된 이름과 일치하지 않는 경우, 인증서에 대해 부당한 변경이 행해진 것으로 판정된다.
인증서 발행자 변경을 식별하기 위한 분석은 인증서를 디지털 방식으로 서명한(또는 인증서의 체인 내의 최상위 인증서와 연관된) 인증 기관의 유형이 변경되었는지 여부에 대한 확인을 지칭한다. 인증 기관의 유형은 인증 기관이 있는 조직의 유형(예를 들어, 정부 개체, 상업 개체), 인증 기관의 활용(예를 들어, 인증 기관이 인기가 있어 다수의 사이트에 의해 공통적으로 사용되는지 여부, 인증 기관이 좀처럼 사용되지 않는지 여부) 등을 지칭한다. 인증 기관의 유형은 예를 들어 인터넷 또는 다른 네트워크를 통해 신뢰성 있는 서비스에 액세스함으로써, 인증서의 필드로부터 등 다양한 방식으로 결정될 수 있다.
인증 기관의 유형이 변경되었는지 여부는 예를 들어 인증 기관이 변경되었는지 여부를 판정하기 위해 사이트 인증서 맵핑 스토어(컴퓨팅 장치의 로컬 스토어 또는 인증서 선별 서비스의 스토어) 내에 있는 타겟 사이트에 대한 이전에 수신된 인증서 내의 인증 기관을 확인함으로써 다양한 방식으로 판정될 수 있다. 인증 기관이 변경된 경우, 인증서 기관의 유형이 의심스러운 방식으로 변경되었는지에 대한 확인이 행해진다. 의심스러운 방식의 변경은 다양한 방식으로 식별될 수 있고, 예를 들어 상업적 개체로부터 정보 개체로의 변경, 큰 정부 개체로부터 작은 정부 개체로의 변경, 공통적으로 사용되는 인증 기관으로부터 좀처럼 사용되지 않는 인증 기관으로의 변경, 하나의 나라로부터 다른 나라로의 정부 개체의 변경, 특정 정부 개체로의 변경 등일 수 있다. 인증 기관의 유형이 의심스러운 방식으로 변경된 경우, 인증서에 대해 부당한 변경이 행해진 것으로 판정된다.
특정 인증서 필드의 부재를 식별하기 위한 분석은 인증서의 특정한 하나 이상의 필드가 유효한 데이터로 채워져 있는지 여부에 대한 확인을 지칭한다. 유효한 데이터는 필드에 대해 올바르게 포맷된 데이터, (예를 들어, URI의 경우) 유효한 리소스 또는 위치로 연결되거나 이를 식별하는 데이터 등을 지칭한다. 인증서가 유효한 데이터로 채워지지 않은 특정한 하나 이상의 필드를 포함하고 있는 경우, 분석은 인증서에 대해 부당한 변경이 행해진 것으로 판정한다. 예를 들어, 특정 필드는 인증서 폐기 목록 필드 및 온라인 인증서 상태 프로토콜 필드를 포함할 수 있다. 인증서가 유효한 데이터로 채워진 이들 필드 모두를 포함하지 않는 경우, 인증서에 대해 부당한 변경이 행해진 것으로 판정된다.
네트워크 어드레스 변칙을 식별하기 위한 분석은 네트워크 어드레스(예를 들어, IP 어드레스)가 변경되었는지에 대한 확인을 지칭한다. 전술한 바와 같이, 사이트 식별자는 타겟 사이트에 대한 네트워크 어드레스들의 집합을 포함할 수 있고, 이 네트워크 어드레스들의 집합은 사이트 인증서 맵핑 스토어(컴퓨팅 장치의 로컬 스토어 또는 인증서 선별 서비스의 스토어)에 유지된다. 현재 인증서가 수신되는 네트워크 어드레스가 진품인 것으로 판정된 타겟 사이트에 대한 이전 수신된 인증서에 대한 네트워크 어드레스들의 집합에 포함되지 않은 경우, 분석은 인증서에 대해 부당한 변경이 행해진 것으로 판정한다.
상위 레벨 도메인 변칙을 식별하는 분석은 타겟 사이트에 대한 상위 레벨 도메인이 인증서 기관에 일치하는지 여부에 대한 확인을 지칭한다. 특정 인증서 기관은 특정 상위 레벨 도메인에 대해 인증서를 디지털 방식으로 서명할 것으로 예상된다(또는 인증서 체인 내의 최상위 인증서와 연관될 것으로 예상된다). 예를 들어, (예컨대, ".uk" 또는 ".ca"로 끝나는) 특정 국가를 지정하는 상위 레벨 도메인을 갖는 타겟 사이트에 대해, 인증서를 디지털 방식으로 서명한 (또는 인증서 체인의 최상위 인증서와 연관된) 인증 기관은 동일한 국가로부터 온 것으로 예상된다. 인증서를 디지털 방식으로 서명한 (또는 인증서 체인의 최상위 인증서와 연관된) 것으로 예상되는 특정 인증 기관이 인증서를 디지털 방식으로 서명한 (또는 인증서 체인의 최상위 인증서와 연관된) 인증 기관이 아닌 경우, 분석은 인증서에 대해 부당한 변경이 행해진 것으로 판정한다.
인증서 수명 변칙을 식별하는 분석은 타겟 사이트에 대한 마지막 인증서가 만료되었는지 또는 만료에 가까운지(예를 들어, 임계 일 수 또는 주 내에 있는지) 여부에 대한 확인을 지칭한다. 전술한 바와 같이, 마지막 인증서는 컴퓨팅 장치의 로컬 맵핑 스토어로부터 획득된다. 마지막 인증서에 대한 만료 날짜가 지나지 않았고 가깝지 않은 경우(예를 들어, 임계 일 수 또는 주 내에 있지 않은 경우), 분석은 인증서에 대해 부당한 변경이 행해진 것으로 판정한다.
이들 상이한 특징은 현재 인증서가 진품인지 또는 가짜인지를 판정하기 위해 다양한 상이한 방식으로 이용될 수 있다. 하나 이상의 실시예에서, 적어도 하나의 특징이 부당한 변경을 나타내는 경우, 현재 인증서는 가짜인 것으로 판정된다. 다른 실시예에서, 전술한 특징들 중 적어도 임계 개수(1보다 많음)의 특징이 부당한 변경을 나타내는 경우, 현재 인증서는 가짜인 것으로 판정된다. 다른 실시예에서, 상이한 특징들은 상이한 값을 할당받으며, 이들 값은 결합되어(예를 들어, 더해지거나 평균화되어) 현재 인증서에 대한 점수를 생성한다. 이러한 실시예에서, 현재 인증서에 대한 점수가 임계 점수를 만족시키는 경우(예를 들어, 임계 점수보다 크거나 그와 동일한 경우), 현재 인증서는 가짜인 것으로 판정된다.
인증서가 가짜인 것으로 판정되면 다양한 상이한 반응이 취해질 수 있다. 하나 이상의 실시예에서, 타겟 사이트에 대한 거짓 인증서가 식별되었다는 통지가 프로세스(500)를 구현하는 컴퓨팅 장치의 사용자에게 디스플레이 또는 제시된다. 이것은 예를 들어 사용자가 타겟 사이트를 액세스하려는 시도를 중단할 수 있게 해준다. 이와 달리, 예를 들어 컴퓨팅 장치의 관리자에게 통지하는 것, 거짓 인증서의 통지를 다른 컴포넌트 또는 장치에 전송하는 것, 타겟 사이트에 액세스하는데 사용되는 프로그램을 종료하는 것 등과 같은 다른 조치가 취해질 수 있다. 이와 달리, 현재 인증서가 가짜인 것으로 판정되는 방식에 기초하여 다른 조치가 취해질 수 있다. 예를 들어, 현재 인증서의 하나의 특정 특징이 현재 인증서는 가짜인 것으로 나타내면, 그 거짓 인증서의 통지는 사용자에게 디스플레이될 수 있는 반면, 현재 인증서의 다른 특정 특징이 현재 인증서는 가짜인 것으로 나타내면, 타겟 사이트에 액세스하는데 사용되는 프로그램이 종료될 수 있다.
프로세스(500)는 컴퓨팅 장치(102)가 타겟 사이트와의 비밀 통신을 하기 위해 인증서에 의존하기 전에 구현될 수 있음을 주목해야 한다. 인증서가 가짜인 것으로 판정되면, 그에 대한 조치는 컴퓨팅 장치(102)가 통신을 위해 인증서에 의존하기 전에 취해진다. 따라서, 컴퓨팅 장치(102)의 사용자는 사이트(104)를 액세스하는 동안 그리고 은밀한 또는 개인적인 정보가 거짓 인증서에 대한 의존으로 인해 드러나기 전에 보호된다.
또한, 인증서가 진품인 것으로 판정되면, 이러한 결정의 통지는 (예를 들어, 인증서 신뢰성을 사용자에게 보여주는 다른 방식을 보완하기 위해) 프로세스(500)를 구현하는 컴퓨팅 장치의 사용자에게 디스플레이 또는 제시될 수 있다. 예를 들어, 타겟 사이트에 대한 인증서가 진품인 것으로 판정됨을 나타내는 팝업 윈도우가 디스플레이될 수 있고, 타겟 사이트에 대한 인증서가 진품인 것으로 판정됨을 나타내기 위해 녹색 광이 (예를 들어 웹 브라우저 윈도우의 일부분에) 디스플레이될 수 있다.
본 명세서에서 설명한 자동적인 거짓 디지털 인증서 검출 기법을 사용하는 경우, 인증 기관에 의해 수행되는 종래의 디지털 인증서 및/또는 프로세스에 대한 변경이 행해질 필요는 없다. 오히려, 본 명세서에서 설명한 자동적인 거짓 디지털 인증서 검출 기법은 거짓 인증서를 자동으로 검출하는데 종래의 디지털 인증서를 이용한다. 본 명세서에서 설명한 기법의 구현을 용이하게 하기 위해 인증 기관에 의해 수행되는 디지털 인증서 및/또는 프로세스가 변경될 수 있지만, 이러한 변경은 필요하지 않다.
본 명세서에서 설명한 자동적인 거짓 디지털 인증서 검출 기법을 사용하는 경우, 인증서가 진품인지 여부에 대한 판정은 임의의 정족수 지속기간 원리(any quorum duration principles)와는 무관하게 행해질 수 있다는 것을 주목해야 한다. 이 판정은 얼마나 긴 기간에 걸쳐 특정 인증서가 수신되는지 및/또는 얼마나 많은 상이한 인증서 모니터링 시스템 또는 컴퓨팅 장치가 동일한 인증서를 수신하고 있는지를 나타내는 임의의 시간 지속기간과는 무관하게 행해질 수 있다. 오히려, 진품의 인증서는 전술한 바와 같이, 특정 인증서가 컴퓨팅 장치에 의해 수신되는 기간 또는 (모든 개수는 제외한) 적어도 일부 임계 개수의 인증서 모니터링 서비스가 동일한 인증서를 수신하는지 여부에 전혀 의존하지 않고서 판정된다.
하나 이상의 실시예에서, 거짓 인증서 검출 모듈(114) 및 인증서 선별 서비스(106)는 각각 다양한 스토어(예를 들어, 도 1의 맵핑 스토어(116,124))에 소정의 베이스라인 데이터를 설정하기 위해 웜업(warm-up) 또는 구성 모드로 동작한다. 이러한 웜업 또는 구성 모드로 동작하는 동안, 거짓 디지털 인증서는 검출되지 않는다. 베이스라인 데이터가 획득된 이후, 거짓 디지털 인증서의 검출이 본 명세서에서 설명한 바와 같이 수행된다. 이러한 웜업 또는 구성 모드로 동작함으로써, 거짓 인증서와 관련된 거짓 경보는 줄어들 수 있다.
또한, 거짓 인증서 검출 모듈(114)은 선택에 따라 다양한 상이한 방식으로 인증서의 승인된 목록을 유지 또는 액세스할 수 있다. 예를 들어, 인증서의 승인된 목록은 컴퓨팅 장치(102)의 사용자 또는 관리자에 의해 유지될 수 있고, 인증서 선별 서비스(106)로부터 획득될 수 있으며, 신뢰성 있는 사이트(104) 또는 다른 신뢰성 있는 서비스로부터 획득될 수 있다. 인증서의 승인된 목록은 수행된 임의의 다른 일치 또는 특징 분석과는 무관하게, 진품인 것으로 간주되는 인증서를 식별한다. 따라서, 거짓 인증서 검출 모듈(114)은 사이트 인증서 맵핑 스토어(116) 내의 인증서 또는 확인 인증서에 대한 비교를 수행할 필요는 없지만, 현재 인증서가 인증서의 승인된 목록 내의 인증서와 일치하는 경우 그 현재 인증서는 진품인 것으로 판정한다.
또한, 본 명세서에서는 사이트에 대한 인증서를 기록하고, 인증서 선별 서비스로부터의 확인 인증서를 컴퓨팅 장치에 반환하는 사이트 인증서 맵핑 스토어를 참조한다. 이와 달리, 인증서 그 자체보다는, 다양한 사이트로부터 수신된 인증서의 다른 표시가 사이트 인증서 맵핑 스토어에 기록될 수 있고 및/또는 인증서 선별 서비스에 의해 컴퓨팅 장치로 반환될 수 있다. 이 표시는 예를 들어 인증서를 비교할 때(예를 들어, 현재 인증서를 사이트 인증서 맵핑 스토어 내의 타겟 사이트에 대한 인증서에 비교할 때, 또는 현재 인증서를 확인 인증서에 비교할 때) 컴퓨팅 장치(102)에 의해 사용되는 정보일 수 있다.
또한, 본 명세서에서 설명한 자동적인 거짓 디지털 인증서 검출 기법은 다양한 상이한 사용 시나리오를 지원한다. 컴퓨팅 장치가 악의적인 사용자에 의한 공격의 대상이 아니고 인증서에 대한 정당한 변경이 행해지지 않은 경우, 타겟 사이트에 대한 현재 인증서는 타겟 사이트에 대한 마지막 인증서와 일치하고 현재 인증서는 진품인 것으로 판정된다. 컴퓨팅 장치는 악의적인 사용자에 의한 공격을 받지만 인증서 선별 서비스는 공격을 받지 않는 경우, (컴퓨팅 장치에 의해 유지되는) 타겟 사이트에 대한 최종 인증서뿐만 아니라 타겟 사이트에 대한 확인 인증서와도 일치하지 않는 타겟 사이트에 대한 현재 인증서는 현재 인증서가 가짜인 것으로 검출되게 한다. 따라서, 사용자는 공격이 있음과 타겟 사이트임을 주장하는 그 사이트를 신뢰해서는 안된다는 것을 경고받을 수 있다.
컴퓨팅 장치와 인증서 선별 서비스 모두가 악의적인 사용자의 공격을 받는 경우, 추가적인 특징의 분석은 현재 인증서가 가짜인 것으로 검출되게 한다. 따라서, 사용자는 공격이 있음과 타겟 사이트임을 주장하는 그 사이트를 신뢰해서는 안된다는 것을 경고받을 수 있다. 타겟 사이트에 대한 인증서가 정당하게 변경된 경우, 타겟 사이트에 대한 현재 인증서가 타겟 사이트에 대한 최종 인증서와 일치하지 않더라도, 추가적인 특징의 분석은 현재 인증서가 진품인 것으로 검출되게 한다.
본 명세서에서는 특정 모듈을 참조하여 특정 기능이 설명되었지만, 본 명세서에서 설명한 개개의 모듈의 기능은 다수의 모듈로 분할될 수 있고 및/또는 다수의 모듈의 적어도 일부 기능은 단일 모듈로 결합될 수 있다. 또한, 본 명세서에서 동작을 수행하는 것으로 설명한 특정 모듈은 그 동작을 자체적으로 수행하는 특정 모듈, 또는 그와 달리 동작을 수행하는(또는 그 특정 모듈과 연계하여 동작을 수행하는) 다른 컴포넌트 또는 모듈을 호출하거나 액세스하는 특정 모듈을 포함한다. 따라서, 동작을 수행하는 특정 모듈은 동작을 자체적으로 수행하는 특정 모듈 및/또는 동작을 수행하는 그 특정 모듈에 의해 호출되거나 액세스되는 또 다른 모듈을 포함한다.
예시적인 시스템 및 장치
도 6은 본 명세서에 기술된 다양한 기법들을 구현할 수 있는 하나 이상의 컴퓨팅 시스템 및/또는 장치를 나타내는 예시적인 컴퓨팅 장치(602)를 포함하는 예시적인 시스템(600)을 도시한 것이다. 컴퓨팅 장치(602)는, 예를 들어 서비스 제공자의 서버, 클라이언트(예컨대, 클라이언트 장치)와 연관된 장치, 온칩 시스템, 및/또는 기타 다른 적합한 컴퓨팅 장치 또는 컴퓨팅 시스템일 수 있다.
도시된 예시적인 컴퓨팅 장치(602)는 서로 통신가능하게 연결되어 있는 처리 시스템(604), 하나 이상의 컴퓨터 판독가능 매체(606), 및 하나 이상의 I/O 인터페이스(608)를 포함한다. 도시되어 있지는 않지만, 컴퓨팅 장치(602)는 다양한 컴포넌트들을 서로 연결하는 시스템 버스 또는 다른 데이터 및 커맨드 전송 시스템을 더 포함할 수 있다. 시스템 버스는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 범용 직렬 버스, 및/또는 프로세서 또는 로컬 버스와 같은 상이한 버스 구조의 임의의 하나 이상의 조합을 포함할 수 있다. 제어 및 데이터 라인과 같은 다양한 다른 예들이 고려된다.
처리 시스템(604)은 하드웨어를 사용하여 하나 이상의 동작을 수행하는 기능을 나타낸다. 따라서, 처리 시스템(604)은 프로세서, 기능 블록 등으로 구성될 수 있는 하드웨어 요소(610)를 포함하는 것으로 도시되어 있다. 이것은 하나 이상의 반도체를 이용하여 형성된 애플리케이션 특정 집적 회로 또는 다른 로직 장치로서의 하드웨어 구현을 포함할 수 있다. 하드웨어 요소(610)는 이들을 형성하는 재료 또는 그 내부에서 이용되는 처리 메커니즘에 의해 제한되지 않는다. 예를 들어, 프로세서는 반도체(들) 및/또는 트랜지스터(예컨대 전자 집적 회로(IC))로 이루어질 수 있다. 이러한 상황에서, 프로세서 실행가능 명령어는 전자적으로 실행가능한 명령어일 수 있다.
컴퓨터 판독가능 매체(606)는 메모리/저장부(612)를 포함하는 것으로 도시되어 있다. 메모리/저장부(612)는 하나 이상의 컴퓨터 판독가능 매체와 연관된 메모리/저장 용량을 나타낸다. 메모리/저장부(612)는 휘발성 매체(예컨대, RAM) 및/또는 비휘발성 매체(예컨대, ROM, 플래시 메모리, 광학 디스크, 자기 디스크 등)를 포함할 수 있다. 메모리/저장부(612)는 고정식 매체(예컨대, RAM, ROM, 고정식 하드 드라이브 등) 및 착탈식 매체(예컨대, 플래시 메모리, 착탈실 하드 드라이브, 광 디스크 등)를 포함할 수 있다. 컴퓨터 판독가능 매체(606)는 후술하는 바와 같이 다양한 방식으로 구성될 수 있다.
입력/출력 인터페이스(608)는, 사용자가 컴퓨팅 장치(602)에 커맨드 및 정보를 입력할 수 있게 하고 또한 사용자 및/또는 다양한 입력/출력 장치를 사용하는 다른 컴포넌트 또는 장치에게 정보를 제시할 수 있게 하는 기능을 나타낸다. 입력 장치의 예로는 키보드, 커서 제어 장치(예컨대, 마우스), 음성 동작을 위한 마이크로폰, 스캐너, 터치 기능(예컨대, 물리적 터치를 검출하도록 구성되는 용량성 센서 또는 기타 센서), (예컨대, 터치를 제스처로서 포함하지 않는 움직임을 검출하기 위해 적외선 주파수와 같은 가시적 또는 비가시적 파장을 이용할 수 있는) 카메라 등을 들 수 있다. 출력 장치의 예로는 디스플레이 장치(예컨대, 모니터 또는 프로젝터), 스피커, 프린터, 촉감 응답 장치 등을 들 수 있다. 따라서, 컴퓨팅 장치(602)는 후술하는 바와 같이 다양한 방식으로 구성되어 사용자 상호작용을 지원할 수 있다.
컴퓨팅 장치(602)는 또한 인증서 사용 모듈(614)을 포함한다. 인증서 사용 모듈(614)은 전술한 바와 같이 다양한 거짓 인증서 검출 기능을 제공한다. 인증서 사용 모듈(614)은 도 1의 거짓 인증서 검출 모듈(114), 도 1의 인증서 선별 서비스(106), 또는 도 1의 인증서 모니터링 시스템(130)을 구현할 수 있다.
다양한 기법들은 소프트웨어, 하드웨어 요소, 또는 프로그램 모듈의 일반적인 맥락으로 설명될 수 있다. 일반적으로, 이러한 모듈은 특정 태스크를 수행하거나 또는 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 요소, 컴포넌트, 데이터 구조 등을 포함한다. 본 명세서에 사용된 "모듈", "기능(functionality)" 및 "컴포넌트"란 용어는 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 본 명세서에 기술된 기법들의 특징은 플랫폼 독립적인데, 이는 이들 기법이 다양한 프로세서를 갖는 다양한 상용 컴퓨팅 플랫폼 상에서 구현될 수 있음을 의미한다.
상술한 모듈들 및 기법들의 구현예는 일부 형태의 컴퓨터 판독가능 매체 상에 저장되거나 또는 이들을 통해 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨팅 장치(602)에 의해 액세스될 수 있는 다양한 매체를 포함할 수 있다. 예를 들어, 컴퓨터 판독가능 매체는 "컴퓨터 판독가능 저장 매체" 및 "컴퓨터 판독가능 신호 매체"를 포함할 수 있다.
"컴퓨터 판독가능 저장 매체"는 단순한 신호 전송, 반송파, 또는 신호 그 자체와 달리, 정보의 지속적인 저장 및/또는 유형의 저장을 가능하게 하는 매체 및/또는 장치를 지칭한다. 따라서, 컴퓨터 판독가능 저장 매체는 비-신호 함유 매체(non-signal bearing media)를 지칭한다. 컴퓨터 판독가능 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 논리 소자/회로, 또는 그 밖의 다른 데이터와 같은 정보의 저장에 적합한 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체 및/또는 저장 장치를 포함한다. 컴퓨터 판독가능 저장 매체의 예로는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 저장부, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 저장부 또는 기타 자기 저장 장치, 또는 기타 저장 장치, 유형의 매체, 또는 원하는 정보를 저장하기에 적합하고 컴퓨터에 의해 액세스될 수 있는 제품을 들 수 있다.
"컴퓨터 판독가능 신호 매체"는 명령어를, 예컨대 네트워크를 통해, 컴퓨팅 장치(602)의 하드웨어에 전송하도록 구성된 신호 함유 매체를 지칭한다. 신호 매체는 통상적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터를, 반송파와 같은 변조된 데이터 신호, 데이터 신호들, 또는 기타 전송 메커니즘에 포함될 수 있다. 신호 매체는 또한 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"란 용어는 신호 내의 정보를 인코딩하는 방식으로 설정되거나 변경된 특징들 중 하나 이상을 갖는 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직도선(direct-wired) 연결과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다.
전술한 바와 같이, 하드웨어 소자(610) 및 컴퓨터 판독가능 매체(606)는, 일부 실시예에서 본 명세서에 기술된 기법들 중 적어도 일부 특징을 구현하기 위해 이용될 수 있는 하드웨어 형태로 구현된 명령어, 모듈, 프로그램가능 장치 로직 및/또는 고정된 장치 로직을 나타낸다. 하드웨어 요소는 집적 회로 또는 온칩 시스템의 컴포넌트, ASIC(application-specific integrated circuit), FPGA(field-programmable gate array), CPLD(complex programmable logic device), 및 실리콘 또는 다른 하드웨어 장치의 다른 구현예들을 포함할 수 있다. 이런 맥락에서, 하드웨어 요소는 명령어, 모듈, 및/또는 하드웨어 요소에 의해 구현된 로직에 의해 정의된 프로그램 태스크를 수행하는 처리 장치뿐만 아니라 실행할 명령어를 저장하는데 이용되는 하드웨어 장치, 예컨대 전술한 컴퓨터 판독가능 저장 매체로서 동작할 수 있다.
본 명세서에 기술된 다양한 기법들 및 모듈들을 구현하기 위해 앞서 말한 것들의 조합이 이용될 수도 있다. 따라서, 소프트웨어, 하드웨어, 또는 프로그램 모듈 및 그 밖의 다른 프로그램 모듈은, 몇몇 형태의 컴퓨터 판독가능 저장 매체 상에 그리고/또는 하나 이상의 하드웨어 요소(610)에 의해 구현된 하나 이상의 명령어 및/또는 로직으로서 구현될 수 있다. 컴퓨팅 장치(602)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정한 명령어 및/또는 기능을 실행하도록 구성될 수 있다. 따라서, 컴퓨팅 장치(602)에 의해 소프트웨어로서 실행될 수 있는 모듈로서의 모듈의 구현은, 예컨대, 컴퓨터 판독가능 저장 매체 및/또는 처리 시스템의 하드웨어 요소(610)의 사용을 통해 적어도 부분적으로 하드웨어로 달성될 수 있다. 명령어 및/또는 기능은 본 명세서에 기술된 기법들, 모듈들, 및 예들을 구현하기 위한 하나 이상의 제품(예컨대, 하나 이상의 컴퓨팅 장치(602) 및/또는 처리 시스템(604))에 의해 실행가능/동작가능할 수 있다.
또한 도 6에 도시된 바와 같이, 예시적인 시스템(600)은 PC, 텔레비전 장치 및/또는 모바일 서비스에서 애플리케이션을 실행할 때 끊김없는 사용자 경험을 위해 유비쿼터스 환경을 제공할 수 있다. 서비스 및 애플리케이션은 애플리케이션을 활용하거나, 비디오 게임을 하거나, 비디오를 시청하거나 하는 동안 하나의 장치로부터 다음 장치로 전환할 때 공통의 사용자 경험을 위해 세 환경 모두에서 실질적으로 유사하게 실행된다.
예시적인 시스템(600)에서, 복수의 장치가 중앙 컴퓨팅 장치를 통해 상호연결된다. 중앙 컴퓨팅 장치는 복수의 장치에 대해 로컬일 수도 있고 또는 복수의 장치로부터 원격으로 위치할 수 있다. 일실시예에서, 중앙 컴퓨팅 장치는 네트워크, 인터넷, 또는 다른 데이터 통신 링크를 통해 복수의 장치에 연결되는 하나 이상의 서버 컴퓨터의 클라우드일 수 있다.
일실시예에서, 이 상호연결 구조는 복수의 장치의 사용자에게 공통의 끊김없는 경험을 제공하기 위해 복수의 장치에 걸쳐 기능이 전달되게 할 수 있다. 복수의 장치 각각은 상이한 물리적 요건 및 능력을 가질 수 있고, 중앙 컴퓨팅 장치는 장치에 맞게 조정되지만 모든 장치에 공통인 경험을 장치에 전달할 수 있는 플랫폼을 사용한다. 일실시예에서, 타겟 장치의 부류(class)가 생성되고 경험이 일반 부류의 장치에 맞게 조정된다. 장치의 부류는 장치의 물리적 특징, 사용 유형, 또는 기타 공통인 특징에 의해 정의될 수 있다.
다양한 구현예에서, 컴퓨팅 장치(602)는 컴퓨터(616), 모바일(618), 및 텔레비전(620) 용의 다양한 구성을 취할 수 있다. 이들 구성 각각은 일반적으로 상이한 구성 및 능력을 가질 수 있는 장치를 포함하며, 따라서 컴퓨팅 장치(602)는 상이한 장치 부류 중 하나 이상에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 장치(602)는 개인용 컴퓨터, 데스크탑 컴퓨터, 멀티스크린 컴퓨터, 랩탑 컴퓨터, 넷북 등을 포함하는 장치의 컴퓨터(616) 부류로서 구현될 수 있다.
컴퓨팅 장치(602)는 모바일 폰, 휴대형 뮤직 플레이어, 휴대형 게이밍 장치, 태블릿 컴퓨터, 멀티스크린 컴퓨터 등과 같은 모바일 장치를 포함하는 장치의 모바일(618) 부류로서 구현될 수 있다. 컴퓨팅 장치(602)는 일반적인 뷰잉 환경에서 일반적으로 대형 스크린을 갖거나 또는 그에 연결된 장치를 포함하는 장치의 텔레비전(620) 부류로서 구현될 수 있다. 이들 장치는 텔레비전, 셋탑 박스, 게이밍 콘솔 등을 포함한다.
본 명세서에 기술된 기법들은 컴퓨팅 장치(602)의 이들 다양한 구성에 의해 지원될 수 있으며, 본 명세서에 기술된 기법들의 특정 예에 한정되지 않는다. 이 기능은 모두 또는 부분적으로, 전술한 플랫폼(624)을 통한 예컨대 "클라우드"(622)에 걸친 분산 시스템의 사용을 통해 구현될 수 있다.
클라우드(622)는 리소스(626)에 대한 플랫폼(624)을 포함하고/또는 이러한 플랫폼을 나타낸다. 플랫폼(624)은 하드웨어(예컨대, 서버)의 기본 기능 및 클라우드(622)의 소프트웨어 리소스를 추상화한다. 리소스(626)는 컴퓨터 프로세싱이 컴퓨팅 장치(602)로부터 원격인 서버에서 실행되는 동안 이용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수 있다. 리소스(626)는 또한 인터넷 상에서 및/또는 셀룰러 또는 WiFi 네트워크와 같은 가입자 네트워크를 통해 제공된 서비스를 포함할 수 있다.
플랫폼(624)은 컴퓨팅 장치(602)를 다른 컴퓨팅 장치와 연결하기 위한 리소스 및 기능을 추상화할 수 있다. 플랫폼(624)은 또한 플랫폼(624)을 통해 구현되는 리소스(626)에 대해 마주치는 요청에 대해 대응하는 스케일 레벨을 제공하기 위해 리소스의 스케일링을 추상화하는 역할을 할 수도 있다. 따라서, 상호연결된 장치 실시예에서, 본 명세서에 기술된 기능의 구현이 시스템(600)에 걸쳐 분산될 수 있다. 예컨대, 이 기능은 컴퓨팅 장치(602) 상에서뿐만 아니라 클라우드(622)의 기능을 추상화하는 플랫폼(624)을 통해 부분적으로 구현될 수 있다.
본 발명은 구조적 특징 및/또는 방법론적 동작에 특정한 언어로 기술되었지만, 첨부된 청구항에 정의된 본 발명은 반드시 이러한 특정한 특징 또는 기술된 동작으로 한정되지는 않는다. 오히려, 특정한 특징 및 동작은 청구된 본 발명을 구현하는 예시적인 형태로서 개시된다.

Claims (20)

  1. 사이트 인증서 맵핑 스토어와,
    가짜 인증서 검출 모듈을 포함하되,
    상기 가짜 인증서 검출 모듈은 타겟 사이트와의 비밀 통신을 위해 인증서에 의존하기 전에,
    상기 타겟 사이트로부터 현재 인증서를 획득하고,
    상기 사이트 인증서 맵핑 스토어 내의 상기 타겟 사이트에 대한 인증서에 상기 현재 인증서를 비교하고- 상기 사이트 인증서 맵핑 스토어 내의 상기 타겟 사이트에 대한 인증서는 상기 타겟 사이트에 대해 가장 최근에 이전에 수신된 인증서를 포함함 -,
    상기 현재 인증서가 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치한다는 것에 응답하여, 상기 현재 인증서는 진품인 것으로 판정하며,
    상기 현재 인증서가 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치하지 않는다는 것에 응답하여, 상기 타겟 사이트에 대한 다수의 확인 인증서의 표시(an indication of multiple confirmation certificates)를 원격 인증서 선별 서비스로부터 획득하고- 상기 다수의 확인 인증서 각각은 상이한 지리적 영역에 위치한 다수의 인증서 모니터링 시스템 중 서로 다른 하나로부터 얻어짐 -, 상기 다수의 확인 인증서가 상기 현재 인증서와 일치한다는 것에 응답하여, 상기 현재 인증서의 하나 이상의 특징을 분석하여 상기 현재 인증서가 가짜인지 여부를 판정하도록 구성되는
    장치.
  2. 제1항에 있어서,
    상기 장치는 웹 브라우저를 더 포함하고, 상기 타겟 사이트는 상기 웹 브라우저에 의해 액세스되는 웹 페이지를 포함하며, 상기 가짜 인증서 검출 모듈은 상기 웹 브라우저의 모듈을 포함하는
    장치.
  3. 제1항에 있어서,
    상기 가짜 인증서 검출 모듈은 상기 현재 인증서를 상기 인증서 맵핑 스토어에 추가하도록 더 구성된
    장치.
  4. 제1항에 있어서,
    상기 다수의 확인 인증서 각각이 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치하는 경우에만 상기 다수의 확인 인증서는 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치하는
    장치.
  5. 제1항에 있어서,
    상기 가짜 인증서 검출 모듈은 상기 다수의 확인 인증서가 상기 현재 인증서와 일치하지 않는 것에 응답하여, 상기 현재 인증서는 가짜인 것으로 판정하도록 더 구성된
    장치.
  6. 제1항에 있어서,
    상기 가짜 인증서 검출 모듈은 상기 현재 인증서가 가짜라는 판정에 응답하여, 상기 현재 인증서는 가짜라는 표시를 디스플레이하도록 더 구성된
    장치.
  7. 제1항에 있어서,
    상기 현재 인증서의 하나 이상의 특징은 현재 인증서 필드 불일치, 현재 인증서 발행자 변경, 특정 현재 인증서 필드의 부재, 네트워크 어드레스 변칙, 상위 레벨 도메인 변칙 및 인증서 수명 변칙을 포함하는
    장치.
  8. 제1항에 있어서,
    상기 가짜 인증서 검출 모듈은 상기 하나 이상의 특징에 기초하여, 상기 타겟 사이트에 대해 이전에 수신된 하나 이상의 인증서에 비해 상기 현재 인증서에 대해 부당한 변경이 행해졌는지 여부를 판정하도록 더 구성되는
    장치.
  9. 제8항에 있어서,
    상기 가짜 인증서 검출 모듈은 상기 현재 인증서에 대해 적어도 하나의 부당한 변경이 행해졌다는 판정에 응답하여, 상기 현재 인증서는 가짜인 것으로 판정하도록 더 구성된
    장치.
  10. 제8항에 있어서,
    상기 가짜 인증서 검출 모듈은 상기 현재 인증서에 대해 부당한 변경이 행해졌다고 판정된 것에 기초하여 점수를 생성하고, 상기 점수가 임계 점수를 만족시킨다는 것에 응답하여 상기 현재 인증서는 가짜인 것으로 판정하도록 더 구성된
    장치.
  11. 확인 인증서에 대한 요청과는 무관하게, 인증서 선별 서비스에서 다수의 인증서 모니터링 시스템으로부터 다수의 사이트에 대한 인증서를 수신하는 단계- 상기 다수의 인증서 모니터링 시스템 각각은 물리적으로 상이한 지리적 영역에 위치함 -와,
    상기 다수의 인증서 모니터링 시스템으로부터 수신된 상기 인증서를 상기 인증서 선별 서비스의 사이트 인증서 맵핑 스토어에 저장하는 단계와,
    상기 다수의 사이트 중 타겟 사이트에 대한 상기 확인 인증서에 대한 요청을 컴퓨팅 장치로부터 수신하는 단계- 상기 요청은 상기 다수의 인증서 모니터링 시스템 중 상기 확인 인증서를 제공하는 하나 이상의 인증서 모니터링 시스템의 표시를 포함함 -와,
    상기 요청에 응답하여, 상기 다수의 인증서 모니터링 시스템으로부터 수신된 상기 타겟 사이트에 대한 인증서를 상기 사이트 인증서 맵핑 스토어로부터 획득하는 단계와,
    상기 타겟 사이트에 대한 상기 인증서의 표시를 상기 타겟 사이트에 대한 하나 이상의 확인 인증서로서 상기 인증서 선별 서비스로부터 상기 컴퓨팅 장치로 반환하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 인증서 선별 서비스는 상기 컴퓨팅 장치로부터 원격으로 위치한 하나 이상의 장치에 의해 구현되는
    방법.
  13. 제11항에 있어서,
    상기 타겟 사이트에 대한 상기 인증서의 표시를 반환하는 단계는 상기 하나 이상의 확인 인증서와, 상기 하나 이상의 확인 인증서로서 반환되는 확인 인증서의 총 개수를 반환하는 단계를 포함하는
    방법.
  14. 제13항에 있어서,
    상기 하나 이상의 확인 인증서 각각은 상기 인증서 선별 서비스에 의해 또는 상기 다수의 인증서 모니터링 시스템 중 하나에 의해 상기 타겟 사이트로부터 가장 최근에 수신된 인증서를 포함하는
    방법.
  15. 제11항에 있어서,
    상기 다수의 사이트 각각은 웹 페이지를 포함하는
    방법.
  16. 장치에서의 방법으로서,
    타겟 사이트로부터 현재 인증서를 획득하는 단계와,
    상기 장치의 사이트 인증서 맵핑 스토어 내의 상기 타겟 사이트에 대한 인증서에 상기 현재 인증서를 비교하는 단계- 상기 사이트 인증서 맵핑 스토어 내의 상기 타겟 사이트에 대한 인증서는 상기 타겟 사이트에 대해 가장 최근에 이전에 수신된 인증서를 포함함 -와,
    상기 현재 인증서가 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치한다는 것에 응답하여, 상기 현재 인증서는 진품인 것으로 판정하는 단계와,
    상기 현재 인증서가 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치하지 않는다는 것에 응답하여, 상기 타겟 사이트에 대한 다수의 확인 인증서의 표시를 원격 인증서 선별 서비스로부터 획득하고- 상기 다수의 확인 인증서 각각은 상이한 지리적 영역에 위치한 다수의 인증서 모니터링 시스템 중 서로 다른 하나로부터 얻어짐 -, 상기 다수의 확인 인증서가 상기 현재 인증서와 일치한다는 것에 응답하여, 상기 현재 인증서의 하나 이상의 특징을 분석하여 상기 현재 인증서가 가짜인지 여부를 판정하도록 구성되는
    방법.
  17. 제16항에 있어서,
    상기 현재 인증서의 하나 이상의 특징은 현재 인증서 필드 불일치, 현재 인증서 발행자 변경, 특정 현재 인증서 필드의 부재, 네트워크 어드레스 변칙, 상위 레벨 도메인 변칙 및 인증서 수명 변칙을 포함하는
    방법.
  18. 제16항에 있어서,
    상기 다수의 확인 인증서 각각이 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치하는 경우에만 상기 다수의 확인 인증서는 상기 사이트 인증서 맵핑 스토어 내의 상기 인증서와 일치하는
    방법.
  19. 제16항에 있어서,
    상기 현재 인증서를 상기 인증서 맵핑 스토어에 추가하는 단계를 더 포함하는
    방법.
  20. 제16항에 있어서,
    상기 현재 인증서가 가짜라는 판정에 응답하여, 상기 현재 인증서는 가짜라는 표시를 디스플레이하는 단계를 더 포함하는
    방법.
KR1020157025241A 2013-03-14 2014-03-06 자동적인 거짓 디지털 인증서 검출 기법 KR102150742B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/831,338 US8966659B2 (en) 2013-03-14 2013-03-14 Automatic fraudulent digital certificate detection
US13/831,338 2013-03-14
PCT/US2014/020948 WO2014158924A1 (en) 2013-03-14 2014-03-06 Automatic fraudulent digital certificate detection

Publications (2)

Publication Number Publication Date
KR20150129739A KR20150129739A (ko) 2015-11-20
KR102150742B1 true KR102150742B1 (ko) 2020-09-01

Family

ID=50390238

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025241A KR102150742B1 (ko) 2013-03-14 2014-03-06 자동적인 거짓 디지털 인증서 검출 기법

Country Status (6)

Country Link
US (1) US8966659B2 (ko)
EP (1) EP2974204B1 (ko)
JP (2) JP2016512411A (ko)
KR (1) KR102150742B1 (ko)
CN (1) CN105052108B (ko)
WO (1) WO2014158924A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407644B1 (en) * 2013-11-26 2016-08-02 Symantec Corporation Systems and methods for detecting malicious use of digital certificates
US9838381B2 (en) * 2014-02-26 2017-12-05 Mitsubishi Electric Corporation Certificate management apparatus and certificate management method
US10313324B2 (en) * 2014-12-02 2019-06-04 AO Kaspersky Lab System and method for antivirus checking of files based on level of trust of their digital certificates
WO2016170222A1 (en) * 2015-04-21 2016-10-27 Nokia Technologies Oy Certificate verification
CN107771320B (zh) * 2015-05-08 2021-08-31 思杰系统有限公司 用于改善安全套接字层(ssl)通信安全性的系统和方法
US9699202B2 (en) 2015-05-20 2017-07-04 Cisco Technology, Inc. Intrusion detection to prevent impersonation attacks in computer networks
WO2016205571A1 (en) * 2015-06-16 2016-12-22 Vellitas Llc Systems and methods for digital certificate security
US10642976B2 (en) 2015-06-27 2020-05-05 Mcafee, Llc Malware detection using a digital certificate
US20170063841A1 (en) * 2015-08-27 2017-03-02 Sony Corporation Trusting intermediate certificate authorities
US10402549B1 (en) * 2015-12-17 2019-09-03 Symantec Corporation Systems and methods for creating validated identities for dependent users
US10091006B2 (en) 2016-02-09 2018-10-02 Citrix Systems, Inc. Certificate pinning using a directory service
US10250587B2 (en) 2016-09-30 2019-04-02 Microsoft Technology Licensing, Llc Detecting malicious usage of certificates
US10721079B2 (en) 2017-04-05 2020-07-21 Venafi, Inc. Detection of anomalous key material
US10089801B1 (en) 2017-05-15 2018-10-02 Amazon Technologies, Inc. Universal access control device
US10587605B2 (en) 2017-06-20 2020-03-10 Citrix Systems, Inc. Certificate pinning in highly secure network environments using public key certificates obtained from a DHCP (dynamic host configuration protocol) server
US20190044950A1 (en) * 2017-08-02 2019-02-07 Qualcomm Incorporated Detection of Compromised Access Points
US10498538B2 (en) 2017-09-25 2019-12-03 Amazon Technologies, Inc. Time-bound secure access
EP3484097A1 (de) * 2017-11-08 2019-05-15 Siemens Aktiengesellschaft Verfahren und validierungseinrichtung zum validieren eines digitalen zertifikats
US10783338B2 (en) 2018-03-08 2020-09-22 Amazon Technologies, Inc. Integrated access control system
KR102086739B1 (ko) * 2018-06-27 2020-03-09 주식회사 수산아이앤티 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법
RU2728506C2 (ru) * 2018-06-29 2020-07-29 Акционерное общество "Лаборатория Касперского" Способ блокировки сетевых соединений
RU2715027C2 (ru) * 2018-06-29 2020-02-21 Акционерное общество "Лаборатория Касперского" Способ обнаружения несанкционированного изменения в отношении хранилища сертификатов
RU2702080C1 (ru) * 2018-06-29 2019-10-03 Акционерное общество "Лаборатория Касперского" Способ блокировки сетевых соединений с ресурсами из запрещенных категорий
US11017076B2 (en) * 2018-08-08 2021-05-25 Microsoft Technology Licensing, Llc Enhancing security using anomaly detection
US10958676B2 (en) 2018-11-20 2021-03-23 Easy Solutions Enterprises Corp. Classification of transport layer security certificates using artificial neural networks
US11483164B2 (en) * 2019-06-19 2022-10-25 Citrix Systems, Inc. Dynamic certificate pinning systems and methods
CN112152961B (zh) * 2019-06-26 2023-01-31 北京观成科技有限公司 一种恶意加密流量的识别方法及装置
US20200412552A1 (en) * 2019-06-28 2020-12-31 Zebra Technologies Corporation Methods and Apparatus to Renew Digital Certificates
CN114268431B (zh) * 2021-12-16 2023-06-16 统信软件技术有限公司 浏览器证书转码方法及装置、计算设备、可读存储介质
US20230214822A1 (en) * 2022-01-05 2023-07-06 Mastercard International Incorporated Computer-implemented methods and systems for authentic user-merchant association and services

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188151A1 (en) 2002-03-29 2003-10-02 Fuji Xerox Co., Ltd. Mailing list server and mail transmission method thereof
US8484460B1 (en) 2010-12-29 2013-07-09 Amazon Technologies, Inc. Post attack man-in-the-middle detection

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996007256A1 (fr) * 1994-08-30 1996-03-07 Kokusai Denshin Denwa Co., Ltd. Systeme de certification
US6965881B1 (en) * 2000-04-24 2005-11-15 Intel Corporation Digital credential usage reporting
US20020078347A1 (en) 2000-12-20 2002-06-20 International Business Machines Corporation Method and system for using with confidence certificates issued from certificate authorities
GB2372412A (en) * 2001-02-20 2002-08-21 Hewlett Packard Co Digital credential monitoring
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
JP3935879B2 (ja) * 2001-11-06 2007-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション データ供給のためのシステム
US7130999B2 (en) * 2002-03-27 2006-10-31 Intel Corporation Using authentication certificates for authorization
US7596692B2 (en) * 2002-06-05 2009-09-29 Microsoft Corporation Cryptographic audit
US7698549B2 (en) * 2003-08-15 2010-04-13 Venafi, Inc. Program product for unified certificate requests from certificate authorities
US7770204B2 (en) * 2003-09-30 2010-08-03 Novell, Inc. Techniques for securing electronic identities
GB0407335D0 (en) * 2004-03-31 2004-05-05 British Telecomm Authorisation
US7802722B1 (en) * 2004-12-31 2010-09-28 Teradata Us, Inc. Techniques for managing fraud information
US7519825B2 (en) * 2005-01-17 2009-04-14 House Of Development Llc Electronic certification and authentication system
US20070162761A1 (en) * 2005-12-23 2007-07-12 Davis Bruce L Methods and Systems to Help Detect Identity Fraud
US7912773B1 (en) * 2006-03-24 2011-03-22 Sas Institute Inc. Computer-implemented data storage systems and methods for use with predictive model systems
US7657626B1 (en) * 2006-09-19 2010-02-02 Enquisite, Inc. Click fraud detection
JP2008009924A (ja) * 2006-06-30 2008-01-17 Mitsubishi Electric Corp Cpa管理装置およびcpa管理システム
US20080047016A1 (en) * 2006-08-16 2008-02-21 Cybrinth, Llc CCLIF: A quantified methodology system to assess risk of IT architectures and cyber operations
CN101141447B (zh) * 2006-09-08 2010-08-18 飞塔公司 Https通信隧道安全检查和内容过滤系统和方法
US8683195B2 (en) * 2006-12-19 2014-03-25 Sandisk Technologies Inc. System and method for reducing fraud
US8429734B2 (en) 2007-07-31 2013-04-23 Symantec Corporation Method for detecting DNS redirects or fraudulent local certificates for SSL sites in pharming/phishing schemes by remote validation and using a credential manager and recorded certificate attributes
EP2034661A1 (en) * 2007-09-07 2009-03-11 Deutsche Telekom AG Method and system for distributed, localized authentication in the framework of 802.11
US20090089859A1 (en) * 2007-09-28 2009-04-02 Cook Debra L Method and apparatus for detecting phishing attempts solicited by electronic mail
US8516259B2 (en) * 2008-09-03 2013-08-20 Alcatel Lucent Verifying authenticity of voice mail participants in telephony networks
US8285985B2 (en) * 2008-12-15 2012-10-09 Sap Ag Systems and methods for detecting exposure of private keys
US8146159B2 (en) * 2009-01-20 2012-03-27 Check Point Software Technologies, Ltd. Methods for inspecting security certificates by network security devices to detect and prevent the use of invalid certificates
GB2469287B (en) * 2009-04-07 2013-08-21 F Secure Oyj Authenticating a node in a communication network
US8776214B1 (en) * 2009-08-12 2014-07-08 Amazon Technologies, Inc. Authentication manager
US20120173874A1 (en) 2011-01-04 2012-07-05 Qualcomm Incorporated Method And Apparatus For Protecting Against A Rogue Certificate

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188151A1 (en) 2002-03-29 2003-10-02 Fuji Xerox Co., Ltd. Mailing list server and mail transmission method thereof
US8484460B1 (en) 2010-12-29 2013-07-09 Amazon Technologies, Inc. Post attack man-in-the-middle detection

Also Published As

Publication number Publication date
JP2016512411A (ja) 2016-04-25
KR20150129739A (ko) 2015-11-20
US20140283054A1 (en) 2014-09-18
JP2019013009A (ja) 2019-01-24
EP2974204B1 (en) 2021-07-28
WO2014158924A1 (en) 2014-10-02
JP6680840B2 (ja) 2020-04-15
CN105052108A (zh) 2015-11-11
EP2974204A1 (en) 2016-01-20
US8966659B2 (en) 2015-02-24
CN105052108B (zh) 2018-10-26

Similar Documents

Publication Publication Date Title
KR102150742B1 (ko) 자동적인 거짓 디지털 인증서 검출 기법
US20210344711A1 (en) Phishing Detection Method And System
US11356479B2 (en) Systems and methods for takedown of counterfeit websites
KR101558715B1 (ko) 서버 결합된 멀웨어 방지를 위한 시스템 및 방법
US9065845B1 (en) Detecting misuse of trusted seals
US10762209B2 (en) Boot security
KR101948721B1 (ko) 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치
US20140359280A1 (en) Certificating authority trust evaluation
US20170324777A1 (en) Injecting supplemental data into data queries at network end-points
US10769045B1 (en) Measuring effectiveness of intrusion detection systems using cloned computing resources
CN109690548B (zh) 基于设备属性和设备风险因素的计算设备保护
WO2020000749A1 (zh) 一种越权漏洞检测方法及装置
CN112703496B (zh) 关于恶意浏览器插件对应用用户的基于内容策略的通知
US10715534B2 (en) Collaborative security lists
CN109644197B (zh) 支持跨多个操作环境的异常检测的检测字典系统
US20230362142A1 (en) Network action classification and analysis using widely distributed and selectively attributed sensor nodes and cloud-based processing
WO2015078247A1 (en) Method, apparatus and terminal for monitoring phishing
US9510182B2 (en) User onboarding for newly enrolled devices
US9077748B1 (en) Embedded object binding and validation
US20230336591A1 (en) Centralized management of policies for network-accessible devices
Almotiri Security & Privacy Awareness & Concerns of Computer Users Posed by Web Cookies and Trackers
JP2006107387A (ja) オンラインサービスのリアルタイムセキュリティ証明のための方法および装置
Danyeko et al. IoT Vulnerabilities
CN116775912A (zh) 安全数据查询方法、装置、计算机设备和存储介质
CN117370176A (zh) 应用安全测试方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant