KR20020045003A - 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법 - Google Patents

공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법 Download PDF

Info

Publication number
KR20020045003A
KR20020045003A KR1020000074284A KR20000074284A KR20020045003A KR 20020045003 A KR20020045003 A KR 20020045003A KR 1020000074284 A KR1020000074284 A KR 1020000074284A KR 20000074284 A KR20000074284 A KR 20000074284A KR 20020045003 A KR20020045003 A KR 20020045003A
Authority
KR
South Korea
Prior art keywords
random number
user
server
value
service
Prior art date
Application number
KR1020000074284A
Other languages
English (en)
Other versions
KR100811419B1 (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 이계철
Priority to KR1020000074284A priority Critical patent/KR100811419B1/ko
Priority to US09/752,668 priority patent/US20020073322A1/en
Publication of KR20020045003A publication Critical patent/KR20020045003A/ko
Application granted granted Critical
Publication of KR100811419B1 publication Critical patent/KR100811419B1/ko

Links

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3271Cryptographic 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 using challenge-response
    • 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/1458Denial of Service
    • 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/002Countermeasures against attacks on cryptographic mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 별도의 공개키 관련 계산을 수행할 필요없이, 서버의 공개키로 이용자(시스템) 난수를 암호화 함으로써 서버를 인증하는 어떤 프로토콜에도 적용이 가능한, 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 이용자가 서버를 인증하기 위해 난수를 서버의 공개키로 암호화한 암호문을 서버로 송신하는 통신시스템에서의 서비스거부공격에 대한 방어 방법에 있어서, 이용자 시스템의 서비스요구에 대하여 임의의 난수()를 발생하여, 상기 난수를 이용자 시스템으로 보내는 제 1 단계; 상기 이용자 시스템으로 보낸 임의의 난수()와 이용자가 가지고 있는 난수()를 이용하여 생성된 암호문을 수신하는 제 2 단계; 상기 이용자 시스템으로부터 수신된 암호문으로부터 난수() 값을 추출하여, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값을 서로 비교하여 확인하는 제 3 단계; 및 상기 제 3 단계의 확인 결과, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값이 같으면 서비스를 제공하고, 다르면 상기 이용자의 서비스 요구를 거부하는 제 4 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 통신 시스템 등에 이용됨.

Description

공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 방법{Countermeasure Against Denial-of-Service Attack in Authentication Protocols Using Public-Key Encryption}
본 발명은 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 인터넷 환경에서 일어나는 서비스거부공격을 해결하기 위하여 공개키 암호화를 통하여 서버를 인증하는 모든 인증 프로토콜에 적용할 수 있는 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
인터넷 서비스가 널리 보급됨에 따라 서비스거부공격(Denial-of-Service Attack)이 사회적인 문제로 대두되고 있다. 특히, 실제 생활에서 일어나는 많은 일들이 가상공간인 인터넷에서도 일어나고 있으며, 서비스거부공격도 그 중의 하나이다.
상기 서비스거부공격은 해커, 즉 공격자가 짧은 시간 안에 많은 양의 접속 요구를 특정 서버에 보낸 후, 해당 세션들의 후속 메시지를 서버에 일부러 보내지 않음으로써 서버에서 세션들이 열린 채로 대기하게 만든다. 따라서, 서버는 일반 이용자(시스템)를 위한 세션을 더 이상 할당할 수 없게 된다.
이러한 공격의 대표적인 예로 TCP/IP(Transmission Control Protocol / Internet Protocol) 망에서의 SYN쇄도공격(SYN flood attack)을 들 수 있다.
상기 SYN쇄도공격은 TCP/IP 접속설정 프로토콜의 약점을 이용하는데, 상기 TCP/IP 접속설정을 위한 일반적인 절차는 다음과 같다.
먼저, 이용자(시스템)는 SYN 메시지를 서버로 보내고, 서버는 그 응답으로 SYN-ACK 메시지를 이용자(시스템)에게 보내면서 해당 세션을 위하여 서버 안에 버퍼 공간을 할당하게 된다. 상기 서버로부터 SYN-ACK 메시지를 받은 이용자(시스템)는 ACK 메시지를 보냄으로써 접속설정을 마치게 된다. 상기와 같은 과정을 거친 다음, 이용자(시스템)와 서버는 실제 서비스 데이터를 교환할 수 있다.
그러나, 공격자는 이러한 정상적인 절차를 그대로 따르지 않는다. 즉, 셋째 메시지인 SYN-ACK 메시지를 서버로 보내지 않는다. 따라서, 서버 안의 해당 세션은 타임아웃이 될 때까지 열린 채로 남아 있게 된다. 또한, 공격자는 한꺼번에 많은 양의 SYN 메시지를 특정 서버로 보냄으로써, 그 서버가 일반 이용자(시스템)의 접속 요구를 처리할 수 없게 만드는 것이다.
인터넷 환경에서 인증 프로토콜은 서비스거부공격 자체와는 별개의 문제라고 할 수 있다. 다시 말해서, 인증 프로토콜 자체는 서비스거부공격을 방지하는 데 아무런 도움이 되지 않는다. 오히려 인증 프로토콜 수행에 필요한 계산 부하 때문에 인증 프로토콜이 서비스거부공격의 또다른 대상이 되는 문제점이 있다.
상기 서비스거부공격에 대한 다른 방어책으로서 인터넷 서버를 주의 깊게 설계 운용함으로써 서비스거부공격의 피해를 최대한 줄일 수 있다. 그러나, 인증 프로토콜 자체의 취약성 때문에 또다른 서비스거부공격을 받을 수 있는 문제점이 있다.
또한, 서비스거부공격에 대한 다른 방어책으로서 암호학적인 방어 대책 방법이 있다.
상기 암호학적인 방어 대책은 새로운 연구분야로서, 서비스거부공격에 대한 "형식논리학적 접근", 보안 프로토콜을 서비스거부공격에 대하여 더 튼튼하게 만드는 "영상태(stateless)프로토콜 설계 방법", 그리고 이용자(시스템)에게 일정 수준의 계산부하를 지움으로써 서비스거부공격을 완화하는 "이용자(시스템) 수수께끼(client puzzles) 방법" 등이 있다.
그러나, 상기 "이용자(시스템) 수수께끼(client puzzle) 방법"은 인증 프로토콜 자체와는 별도의 시스템으로 구현이 되어야 하는 단점이 있으며, 더욱이 이용자(시스템)와 서버 양쪽에 방어 기능을 위한 별도의 계산 부하가 필요한 약점이 있다.
암호학적 시도-응답(challenge-response) 메커니즘을 써서 서버를 인증하기 위해서는, 이용자가 임의의 난수를 선택해서 이를 서버 측에 전달한다. 이 난수를 처리하는 방법에 따라서, 인증 방법은 두 가지로 나눌 수 있다.
첫 번째 방법은, 이용자(시스템)가 난수를 서버에게 평문으로 전달하는 것이다. 서버는 이 값에 자신의 비밀 서명키를 적용하여 전자서명 데이터를 생성한 다음, 이를 이용자(시스템)에게 돌려 준다. 이용자(시스템)는 서버의 공개서명 확인키(public signature verification key)를 이용하여 전자서명 데이터를 검사하여 이 데이터가 해당 서버가 생성해서 보낸 것인 지를 확인한다. 이때, 성공적인 확인은 서버의 성공적인 인증을 뜻한다.
두 번째 방법에서는 이용자(시스템)가 난수를 서버의 공개 비화키(public encryption key)로 암호화하여 암호문으로 전달한다. 상기 암호문은 오로지 해당서버만이 자신의 비밀키를 이용해서 복호화 할 수 있다. 상기 서버는 자신의 비밀키로 복호화된 평문 난수를 다시 이용자(시스템)에게 보낸다. 상기 이용자(시스템)는 자신이 서버로 보냈던 난수와 서버가 보내온 난수가 동일한 값인지를 확인한다. 확인이 성공하면 이는 서버 인증이 성공했다는 것을 뜻한다.
상기 두 가지 방법은 나름대로의 장단점이 있다. 그러나, 서비스거부공격에 관한 한 후자, 즉 난수를 암호화하는 방법이 더 우월하다. 왜냐하면, 서버가 이용자(시스템)로부터 받는 난수는 단순히 의미없는 난수가 아닌, 이 난수를 가공한 값, 즉 암호문이기 때문이다. 따라서, 이 암호화라는 가공처리 과정에 "서비스거부공격에 대한 방어"와 같은 기능을 추가할 수가 있다. 본 발명은 상기와 같은 부가 기능에 관한 것이다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 별도의 공개키 관련 계산을 수행할 필요가 없으며, 서버의 공개키로 이용자(시스템) 난수를 암호화 함으로써 서버를 인증하는 어떤 인증 프로토콜에도 적용이 가능한, 서비스거부공격에 대한 방어 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명에 따른 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 과정에 대한 일실시예 설명도.
도 2 는 본 발명에 따른 난수 생성 과정에 대한 일실시예 설명도.
도 3 은 본 발명에 따른 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격 방어 과정에 대한 일실시예 흐름도.
도 4 는 본 발명에 따른 특수한 공개키 암호화를 이용한 인증 프로토콜에서의 서비스거부공격 방어 과정에 대한 일실시예 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
100 : 서버110 : 이용자(시스템)
상기 목적을 달성하기 위한 본 발명의 방법은, 이용자가 서버를 인증하기 위해 난수를 서버의 공개키로 암호화한 암호문을 서버로 송신하는 통신시스템에서의 서비스거부공격에 대한 방어 방법에 있어서, 이용자 시스템의 서비스요구에 대하여 임의의 난수()를 발생하여, 상기 난수를 이용자 시스템으로 보내는 제 1 단계; 상기 이용자 시스템으로 보낸 임의의 난수()와 이용자가 가지고 있는 난수()를 이용하여 생성된 암호문을 수신하는 제 2 단계; 상기 이용자 시스템으로부터 수신된 암호문으로부터 난수() 값을 추출하여, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값을 서로 비교하여 확인하는 제 3 단계; 및 상기 제 3 단계의 확인 결과, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값이 같으면 서비스를 제공하고, 다르면 상기 이용자의 서비스 요구를 거부하는 제 4 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 방법은, 이용자가 시도응답(challenge-response)용 시도(challenge) 값으로,대신와 같은 유한 멱승 계산결과를 이용하고, 서버의 개인키와 공개키가 각각dhk이며, 서버 공개키를 이용한 이용자의 시도 값의 암호문이와 같은 특수한 경우의 서버 인증 시스템에 적용되는 서비스거부공격에 대한 방어 방법에 있어서, 이용자 시스템에 임의의 난수()를 보내는 제 1 단계; 상기 이용자 시스템으로 보낸 임의의 난수를 이용하여 계산된 하기의 수학식[1]의 x 값과 수학식[2]의 y값을 수신하는 제 2 단계; 상기 이용자 시스템으로부터 수신된 x와 y 값을 수학식[3]의 y'과 비교하여 확인하는 제 3 단계; 및 상기 제 3 단계의 확인 결과, 상기 y와 y'이 같으면 서비스를 제공하고, 다르면 상기이용자 시스템의 서비스 요구를 거부하는 제 4 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 대용량 프로세서를 구비한, 이용자가 서버를 인증하기 위해 난수를 서버의 공개키로 암호화한 암호문을 서버로 송신하기 위한 통신시스템에, 이용자 시스템의 서비스요구에 대하여 임의의 난수()를 발생하여, 상기 난수를 이용자 시스템으로 보내는 제 1 기능; 상기 이용자 시스템으로 보낸 임의의 난수()와 이용자 시스템이 가지고 있는 난수()를 이용하여 생성된 암호문을 수신하는 제 2 기능; 상기 이용자 시스템으로부터 수신된 암호문으로부터 난수를 추출하여, 상기 추출된 난수와 상기 이용자에게 보낸 난수를 서로 비교하여 확인하는 제 3 기능; 및 상기 제 3 기능의 확인 결과, 상기 추출된 난수와 상기 이용자(시스템) 시스템으로 보낸 난수가 같으면 서비스를 제공하고, 다르면 상기 이용자(시스템)의 서비스 요구를 거부하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 대용량 프로세서를 구비한, 이용자가 시도응답(challenge-response)용 시도(challenge) 값으로,대신와 같은 유한 멱승 계산결과를 이용하고, 서버의 개인키와 공개키가 각각dhk이며, 서버 공개키를 이용한 이용자의 시도 값의 암호문이와 같은 특수한 경우의 서버 인증 시스템에, 이용자 시스템에 임의의 난수()를 보내는 제 1 기능; 상기 이용자 시스템으로 보낸 임의의 난수를 이용하여 계산된 상기의 수학식[1]의 x 값과 수학식[2]의 y값을 수신하는 제 2 기능; 상기 이용자 시스템으로부터 수신된 x와 y 값을 상기 수학식[3]의 y'과 비교하여 확인하는 제 3 기능; 및 상기 제 3 기능의 확인 결과, 상기 y와 y'이 같으면 서비스를 제공하고, 다르면 상기 이용자 시스템의 서비스 요구를 거부하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명에 따른 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 과정에 대한 일실시예 설명도이다.
본 발명의 기본 개념은 이용자(시스템)가 자신이 생성한 난수를 서버 공개키로 암호화 할 때 서버가 생성한 난수도 함께 암호화하도록 하자는 것이다. 상기와 같은 난수 처리는 일반적인 난수 사용 방법에 비춰 볼 때 특이하다고 할 수 있다. 즉, 난수 발생 및 전달의 목적은 상대방을 인증하는 시도 값(challenge value)으로 쓰고자 함인데, 본 발명에서는 상대방 즉, 이용자(시스템)가 암호문을 프로토콜에 따라 제대로 생성하였는지 아닌지를 구분하기 위한 용도로 사용하자는 것이다. 이용자(시스템)가 자신이 생성한 난수만 암호화해서 보낼 경우는 서버가 복호화하여도 상기 결과인 난수는 서버에게 이용자(시스템)의 암호문 생성 과정에 대하여 아무런 정보를 줄 수가 없다. 왜냐하면, 상기 난수는 의미없는 데이터이기 때문이다. 그 반면, 서버의 난수가 이용자(시스템)가 보내온 암호문 안에 포함되게 되면, 복호화 결과에 서버의 난수가 포함되어 있게 되고, 상기 사실이 서버로 하여금 이용자(시스템)가 암호문 생성을 프로토콜에 따른 적법한 생성을 하였다고 확신할 수 있게 해준다.
도 1 에 도시된 바와 같이, 먼저 서버(100)는 난수(101)를 생성하여 이용자(시스템)(110)에게 보낸다.
상기 서버(100)로부터 난수(101)를 받은 이용자(시스템)(110)는 난수(111)를 생성하여 이 두 난수(101)와(111)를 서버(100)의 공개키로 암호화한 암호문(112)을 서버(100)로 보낸다.
상기 서버(100)는 이용자(시스템)(시스템)(110)로부터 수신한 암호문(112)을 복호화하여 난수(101)와 난수(111)를 추출한다.
상기 추출된 난수의 값은 서버(100)가 이용자(시스템)(110)에게 송신했던 난수(101)의 값과 비교한다. 이때, 상기 추출된 난수의 값은 서버(100)가 이용자(시스템)(110)에게 송신했던 난수(101)의 값은 일치해야 한다. 만약 일치하지 않는다면, 이것은 수신된 암호문(112)이 프로토콜에 부합하는 올바른 암호문이 아니라 공격자가 보낸 불용정보(garbage value)인 것이다.
상기 추출된 난수의 값은 서버(100)가 이용자(시스템)(110)에게 송신했던 난수(101)의 값과 일치하면 인증 프로토콜에 규정된 다음 단계를 수행하게 된다.
한편, 상기와 같은 방어 절차가 없다면, 서버가 수신한 암호문이 프로토콜에 부합하는 값인지, 아니면 단순히 불용정보인지를 확인할 수 있는 방법이 없으며, 공격자가 보낸 불용정보에 대해서도 서버는 프로토콜 절차에 따라 복호화를 위한 공개키 연산과 후속 프로토콜 메시지를 보낸 다음, 공격자로부터 응답을 기다리면서 해당 세션을 열어 놓게 된다. 물론, 공격자는 응답 메시지를 보내지 않으므로, 이 세션은 시간경과(time out)에 의해 종료될 때까지 서버 시스템의 자원을 낭비하게 된다.
상기 방법을 이용함으로써 별도의 공개키 관련 계산을 수행할 필요가 전혀 없으며, 서버의 공개키로 이용자 난수를 암호화함으로써 서버를 인증하는 어떤 프로토콜에도 적용이 가능하다.
도 2 는 본 발명에 따른 난수 생성 과정에 대한 일실시예 설명도이다.
난수의 생성 방법에 따라 서비스거부공격에 대한 서버의 면역성을 더욱 강화할 수도 있다.
서버(100)는 난수(101)를 이용자(시스템)(110)에게 송신한 뒤에 그 이용자(시스템)(110)를 위하여 고유한 세션을 할당하는 것이 보통이다. 여기서, 난수(101)의 값은 서버의 해당 세션에 고유한 값으로 할당되어 있다. 상기 난수(101)값은 저장되어 있다가, 이용자(시스템)(110)가 보내온 난수값과 비교된다.
그러나, 상기와 같은 난수관리 방식의 문제점은 TCP/IP환경에서의 SYN쇄도공격을 가능하게 하는 문제점과 본질적으로 같다고 할 수 있다. 따라서, 상기 문제를 해결하는 방법은 다음과 같다.
즉, 서버는 이용자(시스템)가 보내온 암호문이 프로토콜에 부합하는 올바른 암호문인지를 검증하기 전까지는 시스템 자원을 이용자(시스템)에게 할당하지 않는 것이다. 다시 말해서, 이용자(시스템)가 올바른 암호문을 보내기 전에는 서버가 특정 난수값을 해당 이용자(시스템)에게 할당하지 않아야 한다.
여기서, 특정 난수를 생성하는 방법은 다음과 같다.
도 2 에 도시된 바와 같이, 임의의 마스터키(, 201)와 난수의 인덱스(, 202)를 해쉬함수(H, 200)의 입력값으로 취하여 난수(203)를 생성한다.
여기서, 난수의 인덱스(, 202)의 값은 최소 0부터 최대 M-1까지가 되며, 여기서 M은 난수의 인덱스(, 202)를 위한 계수이다.
즉, 새로운 난수값을 생성할 때마다 서버는 마스터키(, 201)와 난수의 인덱스(, 202)값을 입력치로 취하여 해쉬함수를 계산하게 된다. 그리고, 그 결과 값을 난수에 할당하게 된다.
도 3 은 본 발명에 따른 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격 방어 과정에 대한 일실시예 흐름도이다.
먼저, 이용자(시스템)(320)로부터 서비스 요구(321)를 받은 서버(310)는 난수(330)를 다음과 같은 연산에 의하여 생성한다.
다음으로, 상기 서버는 생성된 난수(330)와 난수의 인덱스()를 이용자(시스템)에게 송신하고(331), 상기 난수의 인덱스()의 값을 증가시킨다(350).
상기 난수와 난수의 인덱스()를 받은 이용자(시스템)(320)는 자신의 난수를 생성하여 이를 난수와 함께 암호화한다(340). 이때 이용하는 암호키는 서버의 공개키이다. 여기서, 난수와 난수를 서버의 공개키로 암호화한 암호문은와 같이 표기한다.
상기 이용자(시스템)(320)는 상기 암호문()을 난수의 인덱스()와 함께 서버(310)로 송신한다(341).
상기 이용자(시스템)(320)로부터 암호문()을 받은 서버(310)는 수신한 난수의 인덱스()의 값을 이용하여 검색 테이블(look up table)을 검색하여 해당 난수값을 찾거나, 또는 난수 생성식인의 관계식으로부터 난수값을 다시 계산할 수 있다(360).
상기 서버(310)는 수신한 암호문()을 해독하여 난수값을 추출하고, 상기 추출된 값을 앞에서 검출 또는 재계산한 난수값과 일치하는지 확인한다(370).
확인한 결과, 두 값이 일치하면 서버(310)는 이용자(시스템)(320)가 프로토콜에 부합하는 암호문()을 올바르게 생성하여 보낸 것으로 확신할 수 있다. 따라서, 서버는 인증 프로토콜에 규정된 다음 단계를 수행하면 된다(380).
확인한 결과, 두 값이 일치하지 않으면 서버는 이용자(시스템)가 프로토콜에 규정된 암호문()과는 전혀 무관한 불용정보, 즉 가짜 암호문을 보낸 것으로 판단할 수 있다. 물론, 이 이용자(시스템)는 서비스거부공격을 시도하고 있는 것이다. 따라서, 서버는 즉시 이 세션을 중단하고 빠져나간다(390).
도 4 는 본 발명에 따른 특수한 공개키 암호화를 이용한 인증 프로토콜에서의 서비스거부공격 방어 과정에 대한 일실시예 흐름도이다.
이산대수(discrete logarithm)에 기반을 둔 암호화 기법을 이용하는 프로토콜의 경우, 이용자(시스템) 생성 난수를(여기서는대신를 송신 값으로 이용) 암호화하기 위해와 같은 형태를 이용할 수도 있다. 여기서, g는 이용자(시스템)-서버간에 약속된 특정 유한 사이클릭 그룹(finite cyclic group)의 생성자(generator)이며 b와는 각각 서버의 개인키와 공개키이다. 이러한 특수한 형태의 암호화 방식에 대해서는 도 1에 기술된 절차를 적용하는 것이 용이하지 않다. 여기서, 문제는 추가적인 공개키 관련 멱승(exponentiation)계산이 없어야 한다는 것이다.
상기 문제는 다음과 같은 방법으로 해결한다.
서버(400)는 서비스를 요구한 이용자(시스템)(400)에게 난수(401)를 송신한다.
상기 난수(401)를 수신한 이용자(시스템)(410)는(411)를 계산하여 이 값들을 서버(400)로 송신한다. 여기서, h는 서버(400)와 이용자(시스템)(410) 간에 미리 약속된 해쉬 함수다.
상기 x와 y(411)를 수신한 서버(400)는를 계산하여(420), y와 y'의 값이 서로 일치하는지 확인한다(430).
확인한 결과, 만약 두 값이 일치하면 서버는 이용자(시스템)가 프로토콜에 부합하는 올바른 공개키 연산의 결과를 보내온 것으로 판단할 수 있다. 따라서, 서버는 인증 프로토콜에 규정된 다음 단계를 수행하면 된다(440).
확인한 결과, 두 값이 서로 다르면 이용자(시스템)가 불용정보를 보내서 서비스거부공격을 시도하고 있는 것으로 판단하고 세션을 즉시 닫고 빠져나온다(450).
상기 과정에서, 이용자(시스템)(410) 측의 추가 공개키 연산은 없다. 다만, 서버(400)의 경우와 같은 멱승 계산이 한개 더 늘어난다. 그러나, 이 계산은 서버가 온라인이 아닌 오프라인으로 처리할 수 있다. 따라서, 실제 운용시 난수의 생성이나계산은 일괄작업(batch job)으로 처리할 수 있을 것이다. 참고로,의 계산에 필요한 멱승계산인는 별도 계산이 아니라, 어차피 거쳐야할 계산이다. 왜냐하면, 이러한 방어 절차를 운용하지 않더라도 서버(400)는를 추출하기 위해와 같은 멱승계산이 한 번 필요하기 때문이다. 따라서, 방어 절차 수행에 필요한 중간 값인는 멱승계산을 추가로 요구하지 않음을 알 수 있다.
지금까지 기술된 과정들은 이용자(시스템)가 공개키 암호화를 이용하여 서버를 인증하는 어떤 프로토콜에도 적용될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 서비스거부공격에 대한 면역성을 인증 프로토콜 자체에 부여하며, 별도의 공개키 관련 계산을 수행할 필요가 없으며, 서버의 공개키로 이용자(시스템) 난수를 암호화 함으로써 서버를 인증하는 어떤 프로토콜에도 적용이 가능하며 서비스거부공격에 대한 방어에 효과가 있다.

Claims (5)

  1. 이용자가 서버를 인증하기 위해 난수를 서버의 공개키로 암호화한 암호문을 서버로 송신하는 통신시스템에서의 서비스거부공격에 대한 방어 방법에 있어서,
    이용자 시스템의 서비스요구에 대하여 임의의 난수()를 발생하여, 상기 난수를 이용자 시스템으로 보내는 제 1 단계;
    상기 이용자 시스템으로 보낸 임의의 난수()와 이용자가 가지고 있는 난수()를 이용하여 생성된 암호문을 수신하는 제 2 단계;
    상기 이용자 시스템으로부터 수신된 암호문으로부터 난수() 값을 추출하여, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값을 서로 비교하여 확인하는 제 3 단계; 및
    상기 제 3 단계의 확인 결과, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값이 같으면 서비스를 제공하고, 다르면 상기 이용자의 서비스 요구를 거부하는 제 4 단계
    를 포함하는 서비스거부공격에 대한 방어 방법.
  2. 제 1 항에 있어서,
    상기 제 1 단계는,
    임의의 난수대신에 하기의 수학식에 의하여 구한 난수를 상기 이용자 시스템으로 송신하는 것을 특징으로 하는 서비스거부공격에 대한 방어 방법.
    (여기서,는 해쉬 함수,는 비밀 마스터 키,는 난수를 위한 색인 파라미터)
  3. 이용자가 시도응답(challenge-response)용 시도(challenge) 값으로,대신와 같은 유한 멱승 계산결과를 이용하고, 서버의 개인키와 공개키가 각각dhk이며, 서버 공개키를 이용한 이용자의 시도 값의 암호문이와 같은 특수한 경우의 서버 인증 시스템에 적용되는 서비스거부공격에 대한 방어 방법에 있어서,
    이용자 시스템에 임의의 난수()를 보내는 제 1 단계;
    상기 이용자 시스템으로 보낸 임의의 난수를 이용하여 계산된 하기의 수학식[1]의 x 값과 수학식[2]의 y값을 수신하는 제 2 단계;
    상기 이용자 시스템으로부터 수신된 x와 y 값을 수학식[3]의 y'과 비교하여 확인하는 제 3 단계; 및
    상기 제 3 단계의 확인 결과, 상기 y와 y'이 같으면 서비스를 제공하고, 다르면 상기 이용자 시스템의 서비스 요구를 거부하는 제 4 단계
    를 포함하는 서비스거부공격에 대한 방어 방법.
    (여기서, b는 서버의 개인키,는 서버의 공개키)
    (여기서, h는 해쉬함수)
    (여기서, h는 해쉬함수)
  4. 대용량 프로세서를 구비한, 이용자가 서버를 인증하기 위해 난수를 서버의 공개키로 암호화한 암호문을 서버로 송신하기 위한 통신시스템에,
    이용자 시스템의 서비스요구에 대하여 임의의 난수()를 발생하여, 상기 난수를 이용자 시스템으로 보내는 제 1 기능;
    상기 이용자 시스템으로 보낸 임의의 난수()와 이용자 시스템이 가지고있는 난수()를 이용하여 생성된 암호문을 수신하는 제 2 기능;
    상기 이용자 시스템으로부터 수신된 암호문으로부터 난수를 추출하여, 상기 추출된 난수와 상기 이용자에게 보낸 난수를 서로 비교하여 확인하는 제 3 기능; 및
    상기 제 3 기능의 확인 결과, 상기 추출된 난수와 상기 이용자(시스템) 시스템으로 보낸 난수가 같으면 서비스를 제공하고, 다르면 상기 이용자(시스템)의 서비스 요구를 거부하는 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  5. 대용량 프로세서를 구비한, 이용자가 시도응답(challenge-response)용 시도(challenge) 값으로,대신와 같은 유한 멱승 계산결과를 이용하고, 서버의 개인키와 공개키가 각각dhk이며, 서버 공개키를 이용한 이용자의 시도 값의 암호문이와 같은 특수한 경우의 서버 인증 시스템에,
    이용자 시스템에 임의의 난수()를 보내는 제 1 기능;
    상기 이용자 시스템으로 보낸 임의의 난수를 이용하여 계산된 상기의 수학식[1]의 x 값과 수학식[2]의 y값을 수신하는 제 2 기능;
    상기 이용자 시스템으로부터 수신된 x와 y 값을 상기 수학식[3]의 y'과 비교하여 확인하는 제 3 기능; 및
    상기 제 3 기능의 확인 결과, 상기 y와 y'이 같으면 서비스를 제공하고, 다르면 상기 이용자 시스템의 서비스 요구를 거부하는 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020000074284A 2000-12-07 2000-12-07 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법 KR100811419B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020000074284A KR100811419B1 (ko) 2000-12-07 2000-12-07 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법
US09/752,668 US20020073322A1 (en) 2000-12-07 2000-12-28 Countermeasure against denial-of-service attack on authentication protocols using public key encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000074284A KR100811419B1 (ko) 2000-12-07 2000-12-07 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법

Publications (2)

Publication Number Publication Date
KR20020045003A true KR20020045003A (ko) 2002-06-19
KR100811419B1 KR100811419B1 (ko) 2008-03-07

Family

ID=19702792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000074284A KR100811419B1 (ko) 2000-12-07 2000-12-07 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법

Country Status (2)

Country Link
US (1) US20020073322A1 (ko)
KR (1) KR100811419B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009041804A2 (en) * 2007-09-26 2009-04-02 Mimos Berhad Secure instant messaging
KR100982513B1 (ko) * 2003-11-12 2010-09-16 삼성전자주식회사 사용자 키를 이용한 저장 매체 디스크 사용 제한 방법 및장치
KR20210095597A (ko) * 2020-01-23 2021-08-02 주식회사 피에스디엘 보안 장치

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174345A1 (en) * 2001-05-17 2002-11-21 Patel Pankaj B. Remote authenticating biometric apparatus and method for networks and the like
FI114062B (fi) * 2001-06-08 2004-07-30 Nokia Corp Menetelmä tiedonsiirron turvallisuuden varmistamiseksi, tiedonsiirtojärjestelmä ja tiedonsiirtolaite
US20030233584A1 (en) * 2002-06-14 2003-12-18 Microsoft Corporation Method and system using combinable computational puzzles as challenges to network entities for identity check
GB0228713D0 (en) 2002-12-09 2003-01-15 Barron Mccann Ltd Method and apparatus for secure TCP.IP communication
US7395427B2 (en) * 2003-01-10 2008-07-01 Walker Jesse R Authenticated key exchange based on pairwise master key
EP1441275A1 (en) * 2003-01-21 2004-07-28 Hewlett-Packard Company Component for a computer
CN1820483B (zh) * 2004-06-04 2011-12-28 国际商业机器公司 防止在高速网络中受到攻击的方法
CN100499453C (zh) * 2004-07-29 2009-06-10 华为技术有限公司 一种客户端认证的方法
WO2006016850A1 (en) * 2004-08-07 2006-02-16 Veritas Mobile Solutions Pte. Ltd. Authentication method and system
US7725926B1 (en) * 2004-08-23 2010-05-25 Hewlett-Packard Development Company, L.P. Authentication
US7607020B2 (en) * 2005-03-01 2009-10-20 Adobe Systems Incorporated Communication with an external source application
WO2008010003A1 (en) * 2006-07-14 2008-01-24 Abb Research Ltd. Secure password-based authentication and key distribution protocol with robust availability properties
CN101163010B (zh) * 2007-11-14 2010-12-08 华为软件技术有限公司 对请求消息的鉴权方法和相关设备
TW200929988A (en) * 2007-12-25 2009-07-01 Tatung Co Method for verifying server end apparatus
JP2011077769A (ja) * 2009-09-30 2011-04-14 Fujifilm Corp Vpnシステムおよびその動作制御方法
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US9317572B2 (en) 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US9081888B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
CN101964803B (zh) * 2010-10-25 2012-11-28 西安西电捷通无线网络通信股份有限公司 节点间会话密钥的建立系统及方法
US8788815B1 (en) * 2011-01-31 2014-07-22 Gazzang, Inc. System and method for controlling access to decrypted data
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
JP6366595B2 (ja) * 2012-11-12 2018-08-01 クリプトグラフィ リサーチ, インコーポレイテッド 耐グリッチ性暗号離散対数ベースの署名のための方法及びシステム
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US10171635B2 (en) 2013-12-04 2019-01-01 Cloudera, Inc. Ensuring properly ordered events in a distributed computing environment
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US10120904B2 (en) 2014-12-31 2018-11-06 Cloudera, Inc. Resource management in a distributed computing environment
CN105636032B (zh) * 2015-04-17 2019-12-10 宇龙计算机通信科技(深圳)有限公司 设备接入的处理方法、设备接入的处理装置和终端
KR102423885B1 (ko) * 2015-05-08 2022-07-21 한국전자통신연구원 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
US10853510B2 (en) 2016-06-12 2020-12-01 Apple Inc. Association of address with cloud services account
US20170359318A1 (en) * 2016-06-12 2017-12-14 Apple Inc. Diversification of Public Keys
US10776502B2 (en) * 2016-06-12 2020-09-15 Apple Inc. Diversification of public keys
US11701976B2 (en) * 2017-12-15 2023-07-18 WiBotic Inc. Device authentication for wireless charging
US11707996B2 (en) 2017-12-15 2023-07-25 WiBotic Inc. Wireless charging with multiple charging locations
WO2019140554A1 (zh) * 2018-01-16 2019-07-25 Oppo广东移动通信有限公司 一种数据验证方法、网络设备、ue及计算机存储介质
CN109831414A (zh) * 2018-12-27 2019-05-31 大象慧云信息技术有限公司 一种电子发票的交付管理方法及系统
WO2020153889A1 (en) * 2019-01-21 2020-07-30 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing authentication using a request commit message and related user equipment and network nodes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0734624A4 (en) * 1993-12-01 1999-10-06 William Micheal Raike NON-DETERMINED PUBLIC KEY ENCRYPTION SYSTEM
US5434918A (en) * 1993-12-14 1995-07-18 Hughes Aircraft Company Method for providing mutual authentication of a user and a server on a network
US5666415A (en) * 1995-07-28 1997-09-09 Digital Equipment Corporation Method and apparatus for cryptographic authentication
US5748740A (en) * 1995-09-29 1998-05-05 Dallas Semiconductor Corporation Method, apparatus, system and firmware for secure transactions
JP3278612B2 (ja) * 1998-05-22 2002-04-30 日本電気株式会社 ユーザ相互認証装置、クライアント装置およびサーバ装置
KR100277689B1 (ko) * 1998-12-04 2001-01-15 정선종 개방형 통신망에서의 사용자 인증 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100982513B1 (ko) * 2003-11-12 2010-09-16 삼성전자주식회사 사용자 키를 이용한 저장 매체 디스크 사용 제한 방법 및장치
WO2009041804A2 (en) * 2007-09-26 2009-04-02 Mimos Berhad Secure instant messaging
WO2009041804A3 (en) * 2007-09-26 2009-05-22 Mimos Berhad Secure instant messaging
KR20210095597A (ko) * 2020-01-23 2021-08-02 주식회사 피에스디엘 보안 장치

Also Published As

Publication number Publication date
US20020073322A1 (en) 2002-06-13
KR100811419B1 (ko) 2008-03-07

Similar Documents

Publication Publication Date Title
KR100811419B1 (ko) 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법
Aiello et al. Just fast keying: Key agreement in a hostile internet
US6535980B1 (en) Keyless encryption of messages using challenge response
CN110069918B (zh) 一种基于区块链技术的高效双因子跨域认证方法
US8930704B2 (en) Digital signature method and system
Aiello et al. Efficient, DoS-resistant, secure key exchange for internet protocols
US7039713B1 (en) System and method of user authentication for network communication through a policy agent
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
CN100388244C (zh) 远程更改通讯密码的方法和系统
US7424615B1 (en) Mutually authenticated secure key exchange (MASKE)
CN110932870B (zh) 一种量子通信服务站密钥协商系统和方法
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
CN100566250C (zh) 一种点对点网络身份认证方法
EP1079565A2 (en) Method of securely establishing a secure communication link via an unsecured communication network
US7971234B1 (en) Method and apparatus for offline cryptographic key establishment
CN114244508A (zh) 数据加密方法、装置、设备及存储介质
US7360238B2 (en) Method and system for authentication of a user
CN106230840B (zh) 一种高安全性的口令认证方法
CN109067774B (zh) 一种基于信任令牌的安全接入系统及其安全接入方法
CN110866754A (zh) 一种基于动态口令的纯软件dpva身份认证方法
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
Zhai et al. A multi-server biometric authentication scheme based on extended chaotic map for telecare medical information system
CN111539032B (zh) 一种抗量子计算破解的电子签名应用系统及其实现方法
Surya et al. Single sign on mechanism using attribute based encryption in distributed computer networks
CN110855444A (zh) 一种基于可信第三方的纯软件cava身份认证方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130205

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140205

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee