KR20020045003A - 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법 - Google Patents
공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000007123 defense Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures 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
본 발명은 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 인터넷 환경에서 일어나는 서비스거부공격을 해결하기 위하여 공개키 암호화를 통하여 서버를 인증하는 모든 인증 프로토콜에 적용할 수 있는 공개키 암호화를 이용하는 인증 프로토콜에서의 서비스거부공격에 대한 방어 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
인터넷 서비스가 널리 보급됨에 따라 서비스거부공격(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 단계;상기 이용자 시스템으로 보낸 임의의 난수()와 이용자가 가지고 있는 난수()를 이용하여 생성된 암호문을 수신하는 제 2 단계;상기 이용자 시스템으로부터 수신된 암호문으로부터 난수() 값을 추출하여, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값을 서로 비교하여 확인하는 제 3 단계; 및상기 제 3 단계의 확인 결과, 상기 추출된 난수 값과 상기 이용자 시스템으로 보낸 난수 값이 같으면 서비스를 제공하고, 다르면 상기 이용자의 서비스 요구를 거부하는 제 4 단계를 포함하는 서비스거부공격에 대한 방어 방법.
- 제 1 항에 있어서,상기 제 1 단계는,임의의 난수대신에 하기의 수학식에 의하여 구한 난수를 상기 이용자 시스템으로 송신하는 것을 특징으로 하는 서비스거부공격에 대한 방어 방법.(여기서,는 해쉬 함수,는 비밀 마스터 키,는 난수를 위한 색인 파라미터)
- 이용자가 시도응답(challenge-response)용 시도(challenge) 값으로,대신와 같은 유한 멱승 계산결과를 이용하고, 서버의 개인키와 공개키가 각각dhk이며, 서버 공개키를 이용한 이용자의 시도 값의 암호문이와 같은 특수한 경우의 서버 인증 시스템에 적용되는 서비스거부공격에 대한 방어 방법에 있어서,이용자 시스템에 임의의 난수()를 보내는 제 1 단계;상기 이용자 시스템으로 보낸 임의의 난수를 이용하여 계산된 하기의 수학식[1]의 x 값과 수학식[2]의 y값을 수신하는 제 2 단계;상기 이용자 시스템으로부터 수신된 x와 y 값을 수학식[3]의 y'과 비교하여 확인하는 제 3 단계; 및상기 제 3 단계의 확인 결과, 상기 y와 y'이 같으면 서비스를 제공하고, 다르면 상기 이용자 시스템의 서비스 요구를 거부하는 제 4 단계를 포함하는 서비스거부공격에 대한 방어 방법.(여기서, b는 서버의 개인키,는 서버의 공개키)(여기서, h는 해쉬함수)(여기서, h는 해쉬함수)
- 대용량 프로세서를 구비한, 이용자가 서버를 인증하기 위해 난수를 서버의 공개키로 암호화한 암호문을 서버로 송신하기 위한 통신시스템에,이용자 시스템의 서비스요구에 대하여 임의의 난수()를 발생하여, 상기 난수를 이용자 시스템으로 보내는 제 1 기능;상기 이용자 시스템으로 보낸 임의의 난수()와 이용자 시스템이 가지고있는 난수()를 이용하여 생성된 암호문을 수신하는 제 2 기능;상기 이용자 시스템으로부터 수신된 암호문으로부터 난수를 추출하여, 상기 추출된 난수와 상기 이용자에게 보낸 난수를 서로 비교하여 확인하는 제 3 기능; 및상기 제 3 기능의 확인 결과, 상기 추출된 난수와 상기 이용자(시스템) 시스템으로 보낸 난수가 같으면 서비스를 제공하고, 다르면 상기 이용자(시스템)의 서비스 요구를 거부하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 대용량 프로세서를 구비한, 이용자가 시도응답(challenge-response)용 시도(challenge) 값으로,대신와 같은 유한 멱승 계산결과를 이용하고, 서버의 개인키와 공개키가 각각dhk이며, 서버 공개키를 이용한 이용자의 시도 값의 암호문이와 같은 특수한 경우의 서버 인증 시스템에,이용자 시스템에 임의의 난수()를 보내는 제 1 기능;상기 이용자 시스템으로 보낸 임의의 난수를 이용하여 계산된 상기의 수학식[1]의 x 값과 수학식[2]의 y값을 수신하는 제 2 기능;상기 이용자 시스템으로부터 수신된 x와 y 값을 상기 수학식[3]의 y'과 비교하여 확인하는 제 3 기능; 및상기 제 3 기능의 확인 결과, 상기 y와 y'이 같으면 서비스를 제공하고, 다르면 상기 이용자 시스템의 서비스 요구를 거부하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
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)
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)
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)
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 | 정선종 | 개방형 통신망에서의 사용자 인증 방법 |
-
2000
- 2000-12-07 KR KR1020000074284A patent/KR100811419B1/ko not_active IP Right Cessation
- 2000-12-28 US US09/752,668 patent/US20020073322A1/en not_active Abandoned
Cited By (4)
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 |