KR20130024996A - 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치 - Google Patents

멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치 Download PDF

Info

Publication number
KR20130024996A
KR20130024996A KR1020110084810A KR20110084810A KR20130024996A KR 20130024996 A KR20130024996 A KR 20130024996A KR 1020110084810 A KR1020110084810 A KR 1020110084810A KR 20110084810 A KR20110084810 A KR 20110084810A KR 20130024996 A KR20130024996 A KR 20130024996A
Authority
KR
South Korea
Prior art keywords
packet
key value
message
value
hash
Prior art date
Application number
KR1020110084810A
Other languages
English (en)
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 KR1020110084810A priority Critical patent/KR20130024996A/ko
Priority to US13/593,469 priority patent/US8832451B2/en
Publication of KR20130024996A publication Critical patent/KR20130024996A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3236Cryptographic 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 cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명에 따른 소스 인증 방법 및 소스 인증장치가 개시된다. 본 발명에 따른 소스 인증 방법은, 메시지 송신측에서 수행되는 송신 패킷에 대한 소스 인증 방법으로, 다음 패킷에 포함될 메시지 및 키값을 이용하여 제1 해시 함수가 적용된 제1 해시 값을 생성하는 단계 및 상기 제1 해시 값을 포함하는 송신 패킷을 생성하는 단계를 포함하여 구성되며, 상기 키값은 제2 해시함수를 적용하여 미리 생성된 적어도 하나의 키값들 중의 하나의 키값인 것을 특징으로 한다. 한편, 본 발명에 따른 소스 인증 방법 및 장치를 이용하면, 다음에 전송될 패킷의 메시지와 키값을 묶어 해시 값을 계산한 후 이전 패킷에 전송하는 방법을 사용함으로써, 송신측 및 수신측 각각에 1개의 패킷 버퍼만을 두고 소스인증 과정을 구현할 수 있고, 이에 따라 버퍼관리, 키 계산 비용 등의 다양한 부하를 절감하여 효과적인 저비용 멀티캐스트 인증을 수행할 수 있도록 지원할 수 있다.

Description

멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치 {Method For Packet Source Authentication Using Single-Buffered Hash in Multicast Environment and Apparatus For the Same}
본 발명은 멀티캐스트 환경에서의 소스 인증 방법 및 장치에 관한 것으로, 더욱 상세하게는 멀티캐스트 전송기법을 사용하는 발행자/구독자 환경에서 싱글 버퍼 해시를 사용한 소스 인증 방법 및 장치에 관한 것이다.
최근, 개인용 컴퓨터, 휴대용 단말 등과 같은 고성능의 편리한 네트워킹 기능을 제공하는 기기로 인하여 CORBA(Common Object Request Broker Architecture), DDS(Data Distribution Service)와 같은 분산 미들웨어를 사용하는 다양한 분산 서비스에 대한 요구가 증가하고 있다. 그러나, 이러한 환경에서는 발행자와 구독자에 따라 시스템을 분류하고 발행자가 자신이 가지고 있는 데이터들을 공개하고, 공개된 내용에 따라 구독자가 자신이 원하는 정보를 제공하는 발행자에게 데이터를 요청하여 이에 대한 서비스가 제공되는 단순한 구조를 사용한다.
따라서, 전송된 데이터가 중간에서 변경되지 않았음을 보장하는 무결성과 더불어 전송된 데이터가 올바른 발행자로부터 전달된 것인지를 검증하는 소스인증이 반드시 필요하다. 즉, 패킷 재전송이나 악의적인 구독자가 발행자를 가정하여 잘못된 정보를 다른 구독자들에게 전송하지 못하도록 하는 수단이 필요하다.
이러한 소스인증을 위해서는 발행자는 전자서명, 시간 동기화 후 단 방향 해시 또는 전/후 패킷에 대한 해시 체인 사용과 같은 방법들을 사용한다. 하지만 이러한 방법들은 다음과 같은 이유로 한계를 가진다.
1) 전자서명을 사용하는 방식은 발행자가 각 패킷에 자신의 개인키를 이용한 전자서명을 추가하여 전송하고, 구독자들은 발행자의 공개키로 이 서명을 확인하여 각 패킷을 검증하는 방식이다. 이와 같은 전자서명 방식의 경우, 발행자와 구독자가 인증서를 기반으로 동작하여야 하므로, 해시를 사용하는 방법에 비해 시간 및 계산상의 부하가 발생하는 문제점이 있다.
2) 시간 동기화 후 단 방향 해시를 사용하는 방법은 먼저 발행자와 구독자가 시간을 동기화한 후 시간을 일정 간격으로 구분한다. 이후에 매 시간간격에 유일한 비밀 키를 이용하여 MAC(Message Authentication Code)을 생성하여 패킷에 추가하는 방식이다. 이들 비밀키는 단 방향 해시함수를 이용하여 계산되는데 미리 일정 개수인 m개를 생성하여 역순으로 사용한다. 즉, 시간 t1에 키값 k1=F(k2)을 사용하고 시간 t2에는 키값 k2=F(k3)를 사용하며, 키값 k1을 모든 구독자에게 공개하는 방식이다.
이를 위해 발행자는 m번째 키값 km값을 결정하고 km-1,.., k2, k1, k0의 순서로 키값을 계산한 후, 각 구독자에게 k0값을 공개한다. 이런 방식으로, t1기간에 k1을 이용해 패킷의 MAC을 계산하여 전송하면 구독자들은 t2이전에는 k1값을 알 수 없기 때문에 악의적인 구독자가 발행자를 가장할 수 없게 되어 소스인증이 가능하다.
그러나, 이 방식은 특정 기간(t1) 동안에 전송된 패킷들을 구독자가 모두 버퍼링하고 있어야 하고, 다음 기간(t2)에 공개되는 k1을 이용하여 이전 기간의 버퍼링된 패킷들을 인증할 수 있게 된다. 즉, 기간 간격(time period)만큼의 인증지연이 발생한다는 문제점을 가진다. 또한, 이 방법을 사용하기 위해서는 발행자와 구독자는 시간을 동기화시켜야만 한다는 제약사항도 가지게 되는 문제점이 있다.
3) 해시체인을 사용하는 방법은 데이터 무결성 검사를 위한 해시 값을 이전 또는 다음 패킷의 해시 값을 계산하는 데 사용하는 방법이다. 즉, 패킷은 P, 메시지는 M, H(M)은 M에 대한 해시 값, H(P)는 P에 대한 해시 값이라고 표기한다면, 이전 패킷을 사용하는 방식은 P1=M1+H(M1), P2=M2+H(P1), P3=M3+H(P2)으로 계산하고 마지막 패킷 Pm=Sign(H(Pm-1))은 이전 패킷의 해시 값을 전자서명하여 전송하는 방식이다.
다음 패킷을 사용하는 방식은 이를 역순으로 진행한다. 그러나, 이런 방식은 보내려고 하려는 데이터 모두가 발행자 또는 구독자에 버퍼링된 후에야 소스인증이 가능하여 실시간 인증방법으로 사용하기 어렵다는 문제점을 가진다. 즉, 패킷 P1부터 Pm까지가 구독자에게 도착한 후에야 H(Pm-1)값을 통해 Pm-1 패킷을 인증할 수 있고, Pm-1의 무결성이 보장된 후에야 Pm-1패킷에 포함된 이전 패킷의 H(Pm-2)값을 이용하여 이전 패킷을 검증할 수 있는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 멀티캐스트 전송환경에서 시간 동기화 없이 데이터를 전송하고, 송신 측 또는 수신 측의 버퍼링 부하를 최소화하고 소스인증을 효과적으로 수행할 수 있는 소스 인증 방법을 제공하는 것이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 멀티캐스트 전송환경에서 시간 동기화 없이 데이터를 전송하고, 송신 측 또는 수신 측의 버퍼링 부하를 최소화하고 소스인증을 효과적으로 수행할 수 있는 소스 인증 장치를 제공하는 것이다.
상기의 목적을 달성하기 위한 본 발명의 일 측면은 메시지 송신측에서 수행되는 송신 패킷에 대한 소스 인증 방법으로, 다음 패킷에 포함될 메시지 및 키값을 이용하여 제1 해시 함수가 적용된 제1 해시 값을 생성하는 단계 및 상기 제1 해시 값을 포함하는 송신 패킷을 생성하는 단계를 포함하고, 상기 키값은 제2 해시함수를 적용하여 미리 생성된 적어도 하나의 키값들 중의 하나의 키값인 것을 특징으로 하는 소스 인증 방법을 제공한다.
여기서, 상기 송신 패킷이 최초의 패킷인 경우, 상기 송신 패킷을 디지털서명하는 단계를 더 포함하는 것을 특징으로 한다.
여기서, 상기 송신 패킷이 최초의 패킷이 아닌 경우, 상기 송신 패킷은 현재 전송할 메시지를 더 포함하여 생성되는 것을 특징으로 한다.
여기서, 상기 제2 해시함수는 단 방향 해시함수이고, 상기 키값은 최초의 송신 패킷을 생성하기 전에 상기 단 방향 해시함수를 적용하여 생성한 적어도 하나의 키값들 중의 하나인 것을 특징으로 한다.
여기서, 상기 제1 해시값 생성에 이용된 키값은 최초의 패킷 전송 이후 2n(이때 n은 자연수)번째 송신 패킷에 포함되어 전송되고, 상기 키값이 포함된 송신 패킷이 전송된 이후에는 상기 제1 해시값 생성에 이용되는 키값으로, 상기 미리 생성된 키값들 중 다른 하나의 키값이 선택되고, 상기 다른 하나의 키값은 상기 키값들이 생성된 순서의 역순으로 선택되는 것을 특징으로 한다.
여기서, 상기 소스 인증 방법은 멀티캐스트 전송 환경에서 수행되고, 상기 송신은 메시지 발행자이고 상기 수신은 메시지 구독자인 것을 특징으로 한다.
상기의 목적을 달성하기 위한 본 발명의 다른 측면은 메시지 수신측에서 수행되는 수신 패킷에 대한 소스 인증 방법으로, 상기 수신 패킷이 최초의 패킷이 아닌 경우, 상기 수신 패킷에 포함된 메시지와 키값을 이용하여 제1 해시함수를 적용하여 검증 해시값을 생성하고, 상기 검증 해시값을 이전 패킷을 통해 수신한 해시값과 비교하여 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하는 메시지 검증 단계를 포함하고, 상기 키값은 상기 수신 패킷에 포함된 키값 또는 이전 패킷을 통해 수신한 키값을 이용하는 것을 특징으로 하는 소스 인증 방법을 제공한다.
여기서, 상기 메시지 검증 단계에서 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 수신 패킷에 키값이 포함되어 있는 경우, 상기 수신 패킷에 포함된 키값에 단 방향 해시함수를 적용하여 생성된 값을 이전에 전송된 키값과 비교하여 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하는 키값 검증 단계를 더 포함하는 것을 특징으로 한다.
여기서, 상기 수신 패킷이 최초의 패킷인 경우, 상기 수신 패킷에 포함된 디지털 서명을 검증하여, 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하는 것을 특징으로 한다.
상기의 다른 목적을 달성하기 위한 본 발명의 일 측면은, 멀티캐스트 전송 환경의 메시지 발행자측에서 수행되는 송신 패킷에 대한 소스 인증 장치로, 전송될 메시지가 저장되는 메시지 버퍼, 적어도 하나의 미리 생성된 키값들에서 제1 해시값 생성에 이용될 하나의 키값을 선택하되, 송신 패킷이 최초의 패킷인 경우 단 방향 해시함수를 적용하여 상기 키값들을 미리 생성하는 키값 선택부, 다음 패킷에 포함될 메시지 및 상기 키값 선택기에서 생성된 키값을 이용하여, 제1 해시 함수를 적용하여 제1 해시 값을 생성하는 해시값 생성부; 및 상기 제1 해시 값을 포함하여 송신 패킷을 생성하는 패킷 생성부를 포함하되, 상기 패킷 생성부는 상기 송신 패킷이 최초의 패킷이 아닌 경우, 상기 송신 패킷 생성시 상기 메시지 버퍼에 저장된 상기 전송될 메시지를 더 포함하여 생성하고, 상기 패킷 생성부는 상기 송신 패킷을 생성한 후에 상기 다음 패킷에 포함될 메시지를 상기 메시지 버퍼에 저장하는 것을 특징으로 하는 소스 인증 장치를 제공한다.
여기서, 상기 패킷 생성부는 상기 송신 패킷이 최초의 패킷 이후의 2n(이때 n은 자연수)번째 패킷인 경우, 상기 제1 해시값 생성에 이용된 된 키값을 상기 송신 패킷에 포함하여 생성하고, 상기 키값 선택부는 상기 키값이 포함된 송신 패킷이 생성된 이후에는, 상기 생성된 키값들 중 다른 하나의 키값을 선택하되, 상기 다른 하나의 키값은 상기 키값들이 생성된 순서의 역순으로 선택되는 것을 특징으로 한다.
상기의 다른 목적을 달성하기 위한 본 발명의 다른 측면은 멀티캐스트 전송 환경의 메시지 구독자측에서 수행되는 수신 패킷에 대한 소스 인증 장치로, 이전 수신 패킷에 포함된 해시값 및 키값이 저장되는 제1 패킷 버퍼 및 상기 제1 패킷 버퍼에 저장된 해시값을 이용하여 상기 수신 패킷에 포함된 메시지를 검증하는 메시지 검증부를 포함하고, 상기 메시지 검증부는, 상기 수신 패킷이 최초의 패킷이 아닌 경우, 상기 수신 패킷에 포함된 메시지 및 상기 제1 패킷 버퍼에 저장된 키값 또는 상기 수신 패킷에 포함된 키값을 이용하여 검증 해시값을 생성하고, 상기 검증 해시값을 상기 제1 패킷 버퍼에 저장된 해시값과 비교하여, 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 패킷에 포함된 해시값과 키값을 상기 제1 패킷 버퍼에 저장하는 것을 특징으로 소스 인증 장치를 제공한다.
여기서, 이전 수신 패킷 중 키값을 포함하는 가장 최근 패킷에 포함된 해시값과 키값이 저장되는 제2 패킷 버퍼 및 수신 패킷에 포함된 키값을 검증하는 키값 검증부를 더 포함하고, 상기 메시지 검증부에서 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 수신 패킷에 키값이 포함되어 있는 경우, 상기 키값 검증부는, 상기 수신 패킷에 포함된 키값에 단 방향 해시함수를 적용하여 생성된 값을 상기 제2 패킷 버퍼에 저장된 키값과 비교하여 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 수신 패킷에 포함된 해시값과 키값을 상기 제2 패킷 버퍼에 저장하는 것을 특징으로 한다.
본 발명에 따른 소스 인증 방법 및 장치는 다음에 전송될 패킷의 메시지와 키값을 묶어 해시 값을 계산한 후 이전 패킷에 전송하는 방법을 사용함으로써, 송신측 및 수신측 각각에 1개의 패킷 버퍼만을 두고 소스인증 과정을 구현할 수 있고, 이에 따라 버퍼관리, 키 계산 비용 등의 다양한 부하를 절감하여 효과적인 저비용 멀티캐스트 인증을 수행할 수 있도록 지원할 수 있다.
또한 네트워크 상태 등이 안 좋은 최악의 경우라도 수신측에서 2개의 패킷 버퍼를 운영하면 소스인증을 수행할 수 있다. 또한 악의적인 패킷변경을 쉽게 판별할 수 있다. 이와 같이 소스 인증이 최소한의 버퍼와 계산부하 속에서 이루어지기 때문에 적은 메모리와 낮은 프로세싱 성능을 가지는 임베디드 장비에서 운용되는 발행자 및 구독자에게 효과적으로 적용 가능하다는 장점을 가진다.
도 1은 본 발명의 일 실시예에 따른 송신측의 소스 인증 장치와 수신측의 소수 인증장치 및 그 연결관계를 보여주는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 송신측의 인증정보가 포함된 패킷의 생성 과정의 각 단계를 보여주는 시퀀스 차트이다.
도 3은 본 발명의 일 실시예에 따른 수신측에서의 패킷의 인증 과정의 각 단계를 보여주는 시퀀스 차트이다.
도 4는 본 발명의 일 실시예에 따른 생성된 패킷들에 포함된 해시값과 버퍼의 상태를 시계열로 보여주는 개념도이다.
도 5는 본 발명의 일 실시예에 따른 수신된 패킷들에 포함된 해시값과 버퍼의 상태를 시계열로 보여주는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 악성 패킷이 발생한 경우 탐지하는 예를 보여주는 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
이하, 본 발명에 따른 멀티캐스트 환경에서 발행자 및 구독자를 위한 효과적인 멀티캐스트 소스 인증 방법 및 장치가 개시된다.
본 발명에 따른 멀티 캐스트 환경에서의 소스 인증 방법 및 장치는 다음에 전송될 패킷의 메시지와 키값을 묶어 해시 값을 계산한 후 이전 패킷에 전송하는 방법을 사용한다. 이를 위해서는 일반적으로 송신측과 수신측에서는 메시지 보관, 해시 값 계산 및 검증을 위한 다수의 패킷 버퍼를 운영하여야 하지만, 본 발명에 따른 방법은 송신측 및 수신측 각각에 1개의 패킷 버퍼만을 두고 소스인증 과정을 구현할 수 있다.
이러한 방법을 통해, 멀티 캐스트 환경에서 소스인증을 수행하기 위한 버퍼관리, 키 계산 비용 등의 다양한 부하를 절감하여 효과적인 저비용 멀티캐스트 인증을 수행할 수 있도록 지원할 수 있다.
이하, 사용되는 용어에서 M은 보내려는 메시지를, H는 메시지에 대한 해시 값을 계산하는 해시 함수, K는 해시 값 계산이 같이 사용되는 키값을 의미할 수 있다. 해시 함수(H)로는 MD5(Message-Digest algorithm 5) 또는 SHA1(Secure Hash Algorithm 1)과 같이 공개된 해시 함수를 사용하고 키값(K)을 계산하는 단 방향 함수(F)로도 MD5 또는 SHA1을 사용할 수 있다. 그러나, F 함수는 좀 더 안전성이 높은 함수를 사용하는 것이 바람직하다.
한편, 본 발명은 기본적으로 S/W기반으로 동작하며, 멀티캐스트 소스인증에 대한 인증정보 생성, 검증 등의 작업이 플러그인 모듈 형태로 개발되어 제공될 수 있어서 기존의 분산 미들웨어와 손쉽게 연계될 수 있다. 또한, 이러한 보안 미들웨어 구조는 하드웨어 형태로도 쉽게 적용할 수 있는 구조이기 때문에 TPM(Trusted Platform Module)또는 보안 USB형태의 하드웨어 형태로도 개발될 수 있다.
이하 도면을 참조하여, 본 발명의 일 실시예에 따른 멀티 캐스트 환경에서의 소스 인증 방법 및 장치를 설명하기로 한다. 먼저 본 발명의 일 실시예에 따른 멀티 캐스트 환경에서의 소스 인증 장치와 인증 과정에 대해서 먼저 설명하고, 다음으로 도식화된 예를 들어서 본 발명에 따른 소스 인증 방법에 대해서 좀 더 상세하게 설명하기로 한다.
본 발명에 따른 멀티캐스트 환경에서의 소스 인증장치
도 1은 본 발명의 일 실시예에 따른 송신측의 인증 장치와 수신측의 인증장치 및 그 연결관계를 보여주는 개념도이다.
도 1을 참조하면 본 발명의 일 실시예에 따른 패킷의 소스 인증장치는 송신측의 인증 장치(10)와 수신측 인증장치(20)로 구성되어 있고, 두 장치는 패킷의 송수신을 통해 상호 연관되어 있음을 알 수 있다.
이하 도1을 참조하여 본 발명의 일 실시예에 따른 송신측의 인증 장치(10)와 수신측의 인증 장치(10)를 차례대로 설명한 후, 두 장치간의 연결관계를 설명하기로 한다.
도 1을 참조하면 본 발명의 일 실시예에 따른 송신측의 인증 장치(10)는 메시지 버퍼(11), 키값 선택부(12), 해시값 생성부(13), 패킷 생성부(14) 포함하여 구성된다.
도 1을 참조하면 일 실시예에 따른 송신측의 인증 장치는 아래와 같이 설명될 수 있다.
송신측의 인증 장치(10)는 메시지 송신측에서 패킷 생성시 패킷에 대한 소스인증을 위한 장치로서, 멀티캐스트 전송환경이라면 메시지 발행자측에서 수행되는 송신 패킷에 대한 소스 인증 장치일 수 있다. 송신측의 인증장치는 패킷 전송부의 앞 단에서 수행된다.
메시지 버퍼(11)는 전송될 메시지가 저장되는 부분이다.
키값 선택부(12)는 미리 생성된 복수의 키값들에서 인증을 위한 해시값 생성에 이용될 하나의 키값을 선택하는 부분이다. 다만, 전송될 메시지가 최초의 메시지인 경우에는 단 방향 해시함수를 적용하여 복수의 키값들을 생성한다.
한편 키값 선택부(12)는 상기 키값이 공개된 후, 즉 키값이 포함된 송신 패킷이 생성되어 전송된 이후에는, 미리 생성된 키값들 중 다른 하나의 키값을 선택한다. 예를 들면, 최초의 패킷 송신 이후 2n(이때 n은 자연수)번째 패킷이 전송될 때마다, 즉 2, 4, 6, ... 째 패킷이 전송될 때마다 키값이 공개될 수 있다. 이때, 새로이 선택되는 키값은 키값들이 생성된 순서의 역순으로 선택되는 것이 바람직하다.
해시값 생성부(13)는 다음 패킷에 포함될 메시지 및 키값 선택기(12)에서 생성된 키값을 이용하여, 해시 함수를 적용하여 해시 값을 생성하는 부분이다.
패킷 생성부(14)는 해시값 생성부(13)에서 생성된 해시값을 포함하여 송신하고자 하는 패킷을 생성하는 부분으로, 만일 송신하고자 하는 패킷이 최초의 패킷이 아니라면, 패킷 생성시 메시지 버퍼(11)에 저장된 전송될 메시지를 패킷에 포함하여 생성한다.
한편 패킷 생성부(14)는 송신하고자 하는 패킷이 최초의 패킷 송신 이후 2n(n은 자연수)번째 패킷이라면, 해시값 생성에 이용된 된 키값을 패킷에 포함시킬 수 있다. 이와 같이 키값이 포함된 패킷이 생성된 경우, 해다 키값이 이미 공개되어서 보안성이 떨어지므로 키값 선택기(12)는 새로운 키값을 선택하게 된다.
상기 패킷 생성부(14)는 송신하고자 하는 패킷을 생성한 후에는 다음 패킷에 포함될 메시지를 메시지 버퍼에 저장하여 다음 패킷 생성시 현재 패킷에 포함될 메시지로서 참조하게 된다.
이하, 계속해서 수신측 인증장치의 구성 및 연결관계에 대해서 설명하기로 한다.
또한 도 1을 참조하면 본 발명의 일 실시예에 따른 수신측의 인증 장치(20)는 제1 패킷 버퍼(21), 제2 패킷 버퍼(22), 메시지 검증부(23) 및 키값 검증부(24)를 포함하여 구성된다.
수신측의 인증 장치(20)는 메시지 수신측의 수신 패킷에 대한 소스인증을 위한 장치로서, 멀티캐스트 전송환경이라면 메시지 구독자측에서 수행되는 수신 패킷에 대한 소스 인증 장치일 수 있다.
제1 패킷 버퍼(21)는 이전 수신 패킷에 포함된 해시값과 키값이 저장되는 부분으로 메시지 검증을 위하여 사용될 수 있다.
제2 패킷 버퍼(22)는 이전 수신 패킷 중 키값을 포함하는 가장 최근 패킷에 포함된 해시값과 키값이 저장되는 부분으로 키값 검증시 사용될 수 있다. 즉 키값은 두 패킷 당 한 패킷에 포함되어 공개되기 때문에 키값 검증을 위한 이전 패킷은 키값이 포함되어 전송된 이전 패킷의 정보가 제2 패킷 버퍼에 저장되는 것이다. 한편 통신 상황에 따라서 메시지 검증만 필요한 경우라면 제2 패킷 버퍼(22)는 사용되지 않을 수 있다.
메시지 검증부(23)는 제1 패킷 버퍼(21)에 저장된 해시값을 이용하여 수신 패킷에 포함된 메시지를 검증하는 부분이다. 이때, 수신 패킷이 최초의 패킷이 아닌 경우, 수신 패킷에 포함된 메시지 및 제1 패킷 버퍼에 저장된 키값 또는 상기 수신 패킷에 포함된 키값을 이용하여 검증 해시값을 생성하여, 검증 해시값을 제1 패킷 버퍼에 저장된 해시값과 비교하여, 동일한 경우 수신 패킷을 정상적인 소스에서 온 패킷으로 판단한다. 또한 정상적인 패킷으로 판단한 경우, 패킷에 포함된 데이터를 제1 패킷 버퍼에 저장한다.
키값 검증부(24)는 수신 패킷에 포함된 키값을 검증하는 부분으로, 메시지 검증부(23)에서 수신 패킷을 정상적인 소스에서 온 패킷으로 판단한 경우에, 수신 패킷에 키값이 포함되어 있는 경우, 수신 패킷에 포함된 키값에 단 방향 해시함수를 적용하여 생성된 값을 제2 패킷 버퍼(22)에 저장된 키값과 비교하여 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 수신 패킷에 포함된 해시값과 키값을 제2 패킷 버퍼(22)에 저장한다.
본 키값 검증부(24) 역시 통신상황에 따라서 메시지 검증으로 충분하다면 본 장치의 구성에 포함되지 않을 수 있다.
이하, 송신측 인증장치(10)와 수신측 인증장치(20)의 각 구성요소간의 연결에 대하여 예를 들어 간략하게 설명하기로 한다.
전송하고자 하는 메시지는 메시지 버퍼(11)에 보관되고, 해당 메시지는 키값 선택부(12) 및 해시값 생성부(13)로 전달된다. 키값 선택부(12)는 이 메시지가 최초의 메시지이면 단 방향 해시 함수인 F를 이용하여 K0, K1, K2,..., K을 생성하여 이값을 키로 사용한다. 또한, 이 값은 해시값 생성부(13)로 전달되어 메시지에 대한 해시값을 계산하는데 함께 사용된다. 이어서 패킷 생성부(14)는 키값 선택부(12)로부터 전달받은 Ki 값과 해시값 생성부(13)로부터 전달받은 해시 값을 합하여 전송할 패킷을 생성한다. 이때, 첫번째 패킷인 경우에는 이 패킷에 디지털 서명과정을 수행한다. 이와 같이 생성된 패킷은 패킷 송신모듈(30)로 보내져서 전송된다.
한편 송신측 인증장치(10)에서 생성되어 전송된 패킷은 패킷 수신모듈(40)에서 수신되어, 수신측 인증장치(20)로 전달된다.
수신측 인증장치(20)는 패킷 수신모듈(20)로부터 전달받은 패킷을 제1 패킷 버퍼(21)로 전달되고, 이후 메시지 검증부(23)로 전달된다. 메시지 검증부(23)는 현재 패킷에 대한 해시값을 계산한 후 제1 패킷 버퍼(21)에 보관된 해시 값 H(Mi+Kj)과 동일한 지를 검사하여 동일한 않은 경우 패킷을 차단한다. 다만, 이때, 최초의 패킷인 경우에는 디지털 서명 값을 검증하여 비교한다. 이 과정에서 발행자의 공개키는 구독자들이 미리 별도의 채널을 통하여 가지고 있음을 가정한다.
이하 본 발명의 일 실시예에 따른 멀티캐스트환경에서의 송신측 및 수신측의 패킷의 소스 인증과정을 도면을 참조하여 좀 더 상세하게 설명하기로 한다.
본 발명에 따른 멀티캐스트 환경에서의 소스 인증과정
도 2는 본 발명의 일 실시예에 따른 송신측의 인증정보가 포함된 패킷의 생성 과정의 각 단계를 보여주는 시퀀스 차트이다.
도 2를 참조하면 본 발명의 일 실시예에 따른 송신측의 인증정보가 포함된 패킷의 생성 과정은 키값 생성단계(S110), 키값 선택 단계(S120), 해시값 생성단계(S130), 패킷 생성 단계(S140) 및 패킷 송신 단계(S150)를 포함하여 구성된다.
또한 도 2를 참조하면 본 발명의 일 실시예에 따른 송신측의 인증정보가 포함된 패킷의 생성 과정은 아래와 같이 설명될 수 있다.
키값 생성단계(S110)는 최초의 패킷을 생성하기 전에 단 방향 해시함수를 적용하여 복수의 키값들을 생성하는 단계이다. 이와 같이 생성된 키값들은 다음 패킷에 포함될 메시지에 대한 해시값을 생성할 때, 해당 메시지와 함께 사용된다.
키값 선택 단계(S120)는 키값 생성단계(S110)에서 생성된 복수의 키값중 하나의 키값을 선택하여 해시값 생성시 이용되는데, 이때, 키값은 매 패킷마다 새롭게 선택될 수도 있지만, 보안성을 높이기 위하여 최초의 패킷 송신 이후 2n(이때 n은 자연수)번째 송신 패킷 생성시마다, 즉 2, 4, 6, ... 패킷마다 새로운 키값을 선택하여 해시값 생성시 이용할 수 있다.
한편, 키값은 초기에 키값들이 생성된 순서의 역순으로 선택되도록 하여 보안성을 강화하여 수신측에서 검증할 수 있도록 하는 것이 바람직하다. 키값의 선택과 검증에 관한 상세한 설명은 후술하기로 한다.
해시값 생성단계(S130)는 다음 패킷에 포함될 메시지 및 키값을 이용하여 해시 함수를 적용하여 해시값을 생성하는 단계이다. 이와 같이 생성된 해시값은 패킷에 포함되어 전송되고 수신측에서 다음 패킷의 메시지를 검증하기 위하여 사용될 수 있다.
패킷 생성 단계(S140)는 패킷 생성시 해시값 생성단계(S130)에서 생성된 해시값을 포함하여 생성하는 단계이다. 만일 패킷이 최초의 패킷이라면 패킷에 디지털서명을 포함하여 전송(S150)하게 되고, 최초의 패킷이 아니라면 패킷내에 메시지를 포함하여 생성 후 전송(S150)하게 된다.
이와 같은 방법을 통하여, 최초의 패킷은 수신측에서 디지털서명을 통하여 인증하게 되고, 이후의 패킷에 대해서는 패킷에 포함된 메시지와 직전 패킷에 포함된 해시값을 이용하여 패킷을 인증하게 된다.
도 3은 본 발명의 일 실시예에 따른 수신측에서의 패킷의 인증 과정의 각 단계를 보여주는 시퀀스 차트이다.
도 3을 참조하면 본 발명의 일 실시예에 따른 수신측의 수신 패킷의 소스 인증과정은 패킷 수신단계(S210), 메시지 검증 단계(S220) 및 키값 검증단계(S230)를 포함하여 구성된다.
또한 도 3을 참조하면 본 발명의 일 실시예에 따른 수신측의 수신패킷의 소스 인증과정은 아래와 같이 설명될 수 있다.
메시지 검증 단계(S220)는 패킷 수신단계(S210)에서 수신한 패킷에 대하여 메시지 소스 인증을 위한 메시지에 대한 검증을 수행하는 단계이다. 이때, 수신 패킷이 최초의 패킷이 아닌 경우에는, 수신 패킷에 포함된 메시지와 키값을 이용하여 해시함수를 적용하여 검증 해시값을 생성한다. 이렇게 생성된 해시값을 이전 패킷을 통해 수신한 해시값과 비교하여 동일한 경우 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하게 된다. 즉 이때 이전 패킷에 포함되어 전달된 현 메시지의 해시값은 버퍼에 보관될 수 있다. 또한, 수신 패킷에 포함된 키값은 현재 수신한 패킷에 포함된 키값일수 있고 또는 이전 패킷을 통해 수신하여 버퍼에 저장되어 있는 키값일 수 있다. 즉, 키값이 두 개의 패킷마다 한 개씩 즉 2n번째 패킷마다 공개되므로, 현재 패킷을 통해 공개된 경우에는 현재 패킷의 키값을 참조하고, 이전 패킷을 통해서 공개된 경우에는 버퍼에 저장된 키값을 참조하게 된다. 한편 키 값이 공개된 이후에는 새로운 키값을 선택하게 된다.
한편 수신 패킷이 최초의 패킷인 경우에는, 수신 패킷에 포함된 디지털 서명을 검증하여, 수신 패킷을 정상적인 소스에서 온 패킷으로 판단한다.
키값 검증단계(S230)는 패킷을 통해 전송된 키값을 검증하는 단계로서 매 패킷마다 수행되는 것이 아니고 키값이 공개된 패킷에 대해서 수행된다. 본 단계는 수신 패킷을 정상적인 소스에서 온 패킷으로 판단한 경우로서, 수신 패킷에 키값이 포함되어 있는 경우, 즉 수신 패킷을 통해 키값이 공개된 경우에는 수신 패킷에 포함된 키값에 단 방향 해시함수를 적용하여 검증키값을 생성한다. 이렇게 생성된 검증키값을 이전에 전송된 키값과 비교하여 동일한 경우에는 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단한다. 예를 들어, 키값이 두 개의 패킷당 한번씩 공개되는 경우, 본 검증키값은 2개 이전의 패킷을 통해서 공개된 키값과 비교되어야 한다. 따라서, 본 단계를 수행하기 위해서는 2개 이전의 패킷의 데이터를 보관할 추가적인 버퍼가 필요할 수 있다.
본 발명에 따른 소스 인증은 메시지 검증 단계(S220)로 충분할 수 있지만, 통신상의 문제로 인하여 패킷 지연이 발생하는 경우에는 본 키값 검증단계(S230)를 추가적으로 수행하여 소스 인증을 좀 더 정확하게 할 수 있다. 키값 검증 단계(S230)가 요구되는 경우에 대해서는 후술 하기로 한다.
이하 본발명의 일 실시예에 따른 멀티캐스트 환경에서의 생성되는 패킷들을 생성하는 과정과 검증하는 과정을 구체적인 예를 들어서 설명하기로 한다.
본 발명에 따른 멀티캐스트 환경에서의 소스 인증의 예
도 4는 본 발명의 일 실시예에 따른 생성된 패킷들에 포함된 해시값과 버퍼의 상태를 시간에 따라 보여주는 개념도이다.
도 4를 참조하면, 발행자가 순차적으로 생성된 인증정보를 포함한 패킷에 포함된 메시지를 도식화하여 보여주고 있다.
도 4에는, 첫 번째 메시지에 대한 해시 값(413)을 디지털 서명하여 첫 번째 패킷(410)으로 보내고, 이후 패킷에는 메시지와 다음 패킷에 포함될 메시지에 대한 해시 값을 함께 전송하는 방법이 나타나 있다.
이러한 방법으로, 수신측인 구독자는 첫 번째로 전달되는 패킷(410)에 포함된 디지털 서명을 통해 소스인증을 수행하고, 이후 패킷에는, 이전에 전달된 패킷에 포함된 해시 값과 현재 전달된 패킷에 포함된 메시지에 대해 계산된 해시 값을 비교하여 연속적으로 수신되는 메시지에 대한 무결성 및 소스인증을 수행한다.
예를 들어, 도 4에서는, t0에서 t7의 순서로 시간이 경과됨에 따라서 송신측에서 각 메시지와 해시 값을 포함한 패킷을 생성하는 과정을 순차적으로 보여준다. 이때, 송신과 수신측은 키값(Ki)을 계산하기 위한 단 방향 해시 함수 F를 미리 공유하고 있다.
이러한 과정은 도 1을 통해 설명된 것처럼, 도4에서는, M1 메시지가 생성된 경우(411), M1은 버퍼에 보관(422)하고 미리 생성된 Ki = F(Ki+1)을 만족하도록 생성된 단 방향 해시 값의 K0값과 M1에 대한 해시 값(413)을 생성하여 해시값(413)과 K0값(414)을 디지털 서명하여 전송한다. 이후 M2 메시지가 생성된 경우 K1과 M2에 대한 해시 값(424)을 생성하고 버퍼에 보관된 M1값(422)과 함께 전송한다.
또한, 다음 패킷 메시지에 대한 해시 값을 계산할 때, 사용한 키값은 첫번째 패킷 송신 이후 2n번째(n은 자연수) 패킷(430, 450, 470)마다 포함하여 수신측에 공개하고, 해당 키가 공개된 이후로는 새로운 키를 사용한다. 송신측에서 새로운 키를 사용할 때 키값을 생성한 순서의 역순으로 사용하기 때문에 수신측에서 현재 받은 키값을 이용하여 다음 키값을 예측하는 것은 단 방향 해시함수의 특성상 불가능하다.
이러한 과정을 통해서, 디지터털 서명된 패킷을 받은 구독자들은 정상적인 발행자가 보냈다는 소스인증을 수행할 수 있다. 또한 패킷에는 다음 패킷에 포함될 메시지에 대한 해시 값이 포함되어 있기 때문에 다음에 도착한 메시지의 해시 값을 계산하여, 이값과 비교하면 메시지의 무결성이 지켜졌는지를 쉽게 확인할 수 있다.
따라서, 이와 같은 방식으로 기존 방식에서처럼 보내려고 하는 모든 메시지를 발행자가 모두 버퍼링한 후에 전송해야만 하는 전송지연 현상을 상당히 경감시킬 수 있다. 또한, 단순히 다음 메시지에 대한 해시값만을 계산하지 않고 키값을 포함하여 해시값을 계산함으로써, 악의적인 공격자가 패킷의 해시값을 마음대로 조작하는 것을 방지할 수 있다.
도 5는 본 발명의 일 실시예에 따른 수신된 패킷들에 포함된 해시값과 버퍼의 상태를 시계열로 보여주는 개념도이다.
도 5를 참조하면, 구독자가 순차적으로 수신한 인증정보를 포함한 패킷에 포함된 메시지를 도식화하여 보여주고 있다.
예를 들면, 도 5에 나타난 것처럼, 첫번째 디지털서명된 패킷(510)이 도착하면 다음 패킷에 포함될 메시지 M1)에 대한 해시 값(512)과 K0값(513)을 버퍼에 저장한다. 이때, 구독자가 키값 K0를 알고 있지만 메시지 M1은 알지 못하기 때문에 악의적인 변경을 수행할 수 없다.
두번째 패킷 P1 (520)가 도착하게 되면 이 패킷에 포함된 메시지 M1(521)과 버퍼에 보관된 K0(513)을 이용하여 해시값(524)을 계산하고 이값(524)이 버퍼에 포함된 H(K0+M1)(512)와 동일한 지 비교한다. 동일하면 패킷 P1(520)은 정상적인 소스에서 온 패킷이고 또한 메시지 내용도 변경되지 않았다는 것을 검증할 수 있다.
즉, 소스인증과 무결성이 검증되었다는 것이다. 여기서, 패킷 P1(520)에 다음 패킷에 포함될 메시지 M2(531)에 대한 해시값(522)이 포함되어 있는데 이값(522)은 아직은 알 수 없는 키값 K1(533)을 이용하여 생성된 해시이므로 악의적인 변경이 불가능하다. 즉, 구독자 중 하나가 악의적으로 발행자를 가장하여 잘못된 패킷을 생성하여 전송하려고 해도, 전송 시점에서 키값 K1(533)을 알 수 없기 때문에 불가능하다는 것이다.
만일, 추측한 키값 K1과 변경한 메시지 M3를 포함하는 악의적인 패킷 P2(530)을 생성하여 다른 구독자들에게 전송한다고 하더라도 이를 받은 구독자가 패킷에 포함된 키값 K1(533)에 단 방향 해시함수인 F함수에 대입(535)하면 키값 K0(513)이 나오지 않기 때문에 쉽게 잘못된 패킷임을 판단할 수 있게 된다.
도 6은 본 발명의 일 실시예에 따른 악성 패킷이 발생한 경우 탐지하는 예를 보여주는 개념도이다.
도 6을 참조하면, 악의적인 구독자가 발행자로부터 전송받은 패킷을 이용하여 발행자를 가장하여 악성 패킷을 발생시키는 경우, 쉽게 다른 구독자들이 이를 검출할 수 있음을 보여준다.
도 6의 정상 패킷들이 도식된 부분(61)은 발행인으로부터 정상적으로 패킷이 전송되는 경우의 패킷의 구성을 보여준다. 악성패킷을 전송하기 위해 특정시점에 발행인에 대한 공격을 수행하여 서비스 불능상태로 만들게 된다.
악성패킷 발생(1) 상황(62)은 패킷 P2까지, 악성 패킷 발생(2) 상황(63)은 패킷 P1까지 수신한 후에 악성패킷이 발생하는 경우를 가정한 것이다.
악성패킷 발생(1) 상황(62)에서 임의의 제1 구독자가 패킷 P2={M2, H(K1+M3), K1}(630)를 수신한 후 H(K1+M3)(632)값을 H(K1+N3)(632')로 바꾼 악성패킷 P2'(630')을 다른 구독자들로 전송하는 것이 가능하다. 이는 이 시점에서 K1(633)을 알 수 있고, K0=F(K1)로 검증될 수 있기 때문이다. 하지만, 제1 구독자가 패킷 P2(630)을 받은 시점에 다른 구독자들도 패킷 P2(630)을 패킷을 받았으므로 이후에 오는 패킷 P2'(630')를 악성패킷으로 판별하기는 쉽다.
다만, 통신채널의 지연이나 손실로 인하여 패킷 P2(630)를 제대로 받지 못한 구독자가 있다면 이 패킷을 정상패킷으로 오인할 수도 있다. 하지만, 다음으로 변형된 패킷 P4'(640')패킷을 받게 되면 이 패킷에 포함된 키값 S2(643')에 단 방향 해시를 한 결과값인 F(S2)가 키값 K1(633')과 다르기 때문에 P2'(630'), P3'(640'), P4'(650')가 모두 잘못된 패킷임을 알게 된다.
따라서, 적어도 2개의 패킷 버퍼만 관리하게 되면 모든 패킷에 대한 효과적인 검증을 수행할 수 있게 된다. 또한, 통신채널 상의 패킷 손실 또는 지연이 심하지 않다고 가정한다면 1개의 패킷 버퍼만 유지하면서 메시지 검증을 하는 것만으로도 패킷에 대한 효과적인 소스인증이 가능하다.
또한, 악성패킷 발생(2) 상황(63)에서의 악성 패킷 P2''(633'')의 경우 이전에 받은 패킷 P1(620)에 이미 P2의 메시지 M2에 대한 해시 값(622)이 포함되어 있고, K1(633)대신 포함된 S1(633'')값을 이용하여 계산된 해시값 F(S1)이 K0(612)가 아니기 때문에 쉽게 패킷이 변형되었음을 알 수 있게 된다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (13)

  1. 메시지 송신측에서 수행되는 송신 패킷에 대한 소스 인증 방법으로,
    다음 패킷에 포함될 메시지 및 키값을 이용하여 제1 해시 함수가 적용된 제1 해시 값을 생성하는 단계; 및
    상기 제1 해시 값을 포함하는 송신 패킷을 생성하는 단계를 포함하고,
    상기 키값은 제2 해시함수를 적용하여 미리 생성된 적어도 하나의 키값들 중의 하나의 키값인 것을 특징으로 하는 소스 인증 방법.
  2. 제 1항에 있어서,
    상기 송신 패킷이 최초의 패킷인 경우, 상기 송신 패킷을 디지털서명하는 단계를 더 포함하는 것을 특징으로 하는 소스 인증 방법.
  3. 제 1항에 있어서,
    상기 송신 패킷이 최초의 패킷이 아닌 경우, 상기 송신 패킷은 현재 전송할 메시지를 더 포함하여 생성되는 것을 특징으로 하는 소스 인증 방법.
  4. 제 1항에 있어서,
    상기 제2 해시함수는 단 방향 해시함수이고, 상기 키값은 최초의 송신 패킷을 생성하기 전에 상기 단 방향 해시함수를 적용하여 생성한 적어도 하나의 키값들 중의 하나인 것을 특징으로 하는 소스 인증 방법.
  5. 제 4항에 있어서,
    상기 제1 해시값 생성에 이용된 키값은 최초의 패킷 전송 이후 2n(이때 n은 자연수)번째 송신 패킷에 포함되어 전송되고,
    상기 키값이 포함된 송신 패킷이 전송된 이후에는 상기 제1 해시값 생성에 이용되는 키값으로, 상기 미리 생성된 키값들 중 다른 하나의 키값이 선택되고,
    상기 다른 하나의 키값은 상기 키값들이 생성된 순서의 역순으로 선택되는 것을 특징으로 하는 소스 인증 방법.
  6. 제 1항에 있어서,
    상기 소스 인증 방법은 멀티캐스트 전송 환경에서 수행되고, 상기 송신은 메시지 발행자이고 상기 수신은 메시지 구독자인 것을 특징으로 하는 소스 인증 방법.
  7. 메시지 수신측에서 수행되는 수신 패킷에 대한 소스 인증 방법으로,
    상기 수신 패킷이 최초의 패킷이 아닌 경우, 상기 수신 패킷에 포함된 메시지와 키값을 이용하여 제1 해시함수를 적용하여 검증 해시값을 생성하고, 상기 검증 해시값을 이전 패킷을 통해 수신한 해시값과 비교하여 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하는 메시지 검증 단계를 포함하고,
    상기 키값은 상기 수신 패킷에 포함된 키값 또는 이전 패킷을 통해 수신한 키값을 이용하는 것을 특징으로 하는 소스 인증 방법.
  8. 제 7항에 있어서,
    상기 메시지 검증 단계에서 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 수신 패킷에 키값이 포함되어 있는 경우,
    상기 수신 패킷에 포함된 키값에 단 방향 해시함수를 적용하여 생성된 값을 이전에 전송된 키값과 비교하여 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하는 키값 검증 단계를 더 포함하는 것을 특징으로 하는 소스 인증 방법.
  9. 제 7항 또는 8항에 있어서,
    상기 수신 패킷이 최초의 패킷인 경우,
    상기 수신 패킷에 포함된 디지털 서명을 검증하여, 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하는 것을 특징으로 하는 소스 인증 방법.
  10. 멀티캐스트 전송 환경의 메시지 발행자측에서 수행되는 송신 패킷에 대한 소스 인증 장치로,
    전송될 메시지가 저장되는 메시지 버퍼;
    적어도 하나의 미리 생성된 키값들에서 제1 해시값 생성에 이용될 하나의 키값을 선택하되, 송신 패킷이 최초의 패킷인 경우 단 방향 해시함수를 적용하여 상기 키값들을 미리 생성하는 키값 선택부;
    다음 패킷에 포함될 메시지 및 상기 키값 선택기에서 생성된 키값을 이용하여, 제1 해시 함수를 적용하여 제1 해시 값을 생성하는 해시값 생성부; 및
    상기 제1 해시 값을 포함하여 송신 패킷을 생성하는 패킷 생성부를 포함하되,
    상기 패킷 생성부는 상기 송신 패킷이 최초의 패킷이 아닌 경우, 상기 송신 패킷 생성시 상기 메시지 버퍼에 저장된 상기 전송될 메시지를 더 포함하여 생성하고,
    상기 패킷 생성부는 상기 송신 패킷을 생성한 후에 상기 다음 패킷에 포함될 메시지를 상기 메시지 버퍼에 저장하는 것을 특징으로 하는 소스 인증 장치.
  11. 제 10항에 있어서,
    상기 패킷 생성부는 상기 송신 패킷이 최초의 패킷 이후의 2n(이때 n은 자연수)번째 패킷인 경우, 상기 제1 해시값 생성에 이용된 된 키값을 상기 송신 패킷에 포함하여 생성하고,
    상기 키값 선택부는 상기 키값이 포함된 송신 패킷이 생성된 이후에는, 상기 생성된 키값들 중 다른 하나의 키값을 선택하되, 상기 다른 하나의 키값은 상기 키값들이 생성된 순서의 역순으로 선택되는 것을 특징으로 하는 소스 인증 장치.
  12. 멀티캐스트 전송 환경의 메시지 구독자측에서 수행되는 수신 패킷에 대한 소스 인증 장치로,
    이전 수신 패킷에 포함된 해시값 및 키값이 저장되는 제1 패킷 버퍼; 및
    상기 제1 패킷 버퍼에 저장된 해시값을 이용하여 상기 수신 패킷에 포함된 메시지를 검증하는 메시지 검증부를 포함하고,
    상기 메시지 검증부는, 상기 수신 패킷이 최초의 패킷이 아닌 경우, 상기 수신 패킷에 포함된 메시지 및 상기 제1 패킷 버퍼에 저장된 키값 또는 상기 수신 패킷에 포함된 키값을 이용하여 검증 해시값을 생성하고, 상기 검증 해시값을 상기 제1 패킷 버퍼에 저장된 해시값과 비교하여, 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 패킷에 포함된 해시값과 키값을 상기 제1 패킷 버퍼에 저장하는 것을 특징으로 하는 소스 인증 장치.
  13. 제 12항에 있어서,
    이전 수신 패킷 중 키값을 포함하는 가장 최근 패킷에 포함된 해시값과 키값이 저장되는 제2 패킷 버퍼; 및
    수신 패킷에 포함된 키값을 검증하는 키값 검증부를 더 포함하고,
    상기 메시지 검증부에서 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 수신 패킷에 키값이 포함되어 있는 경우,
    상기 키값 검증부는, 상기 수신 패킷에 포함된 키값에 단 방향 해시함수를 적용하여 생성된 값을 상기 제2 패킷 버퍼에 저장된 키값과 비교하여 동일한 경우 상기 수신 패킷을 정상적인 소스에서 온 패킷으로 판단하고, 상기 수신 패킷에 포함된 해시값과 키값을 상기 제2 패킷 버퍼에 저장하는 것을 특징으로 하는 소스 인증 장치.
KR1020110084810A 2011-08-24 2011-08-24 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치 KR20130024996A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110084810A KR20130024996A (ko) 2011-08-24 2011-08-24 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치
US13/593,469 US8832451B2 (en) 2011-08-24 2012-08-23 Packet source authentication method using single-buffered hash in multicast environment and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110084810A KR20130024996A (ko) 2011-08-24 2011-08-24 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20130024996A true KR20130024996A (ko) 2013-03-11

Family

ID=47745410

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110084810A KR20130024996A (ko) 2011-08-24 2011-08-24 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치

Country Status (2)

Country Link
US (1) US8832451B2 (ko)
KR (1) KR20130024996A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224874B (zh) * 2014-06-24 2018-06-15 深圳市茁壮网络股份有限公司 基于中间件插件框架的插件安全控制方法及客户端
US10650023B2 (en) * 2018-07-24 2020-05-12 Booz Allen Hamilton, Inc. Process for establishing trust between multiple autonomous systems for the purposes of command and control
US10758660B2 (en) * 2018-12-21 2020-09-01 Fresenius Medical Care Holdings, Inc. Dialysis system with artificial intelligence
US11409688B1 (en) * 2019-11-01 2022-08-09 Yellowbrick Data, Inc. System and method for checking data to be processed or stored
US20220158843A1 (en) * 2020-11-13 2022-05-19 Ford Global Technologies, Llc Diagnostic over ip authentication
US11956221B2 (en) * 2021-12-16 2024-04-09 Cisco Technology, Inc. Encrypted data packet forwarding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001519930A (ja) * 1998-02-04 2001-10-23 サンマイクロシステムズ インコーポレーテッド 階層型ハッシュを用いた効率的な認証及び完全性検査の方法及びその装置
JP2004180092A (ja) * 2002-11-28 2004-06-24 Sony Corp 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
US7366170B2 (en) * 2003-09-25 2008-04-29 Kabushiki Kaisha Toshiba Communication connection method, authentication method, server computer, client computer and program
US20050174236A1 (en) * 2004-01-29 2005-08-11 Brookner George M. RFID device tracking and information gathering
JP4490314B2 (ja) * 2005-03-07 2010-06-23 Kddi株式会社 通信システム
JP4788212B2 (ja) * 2005-07-13 2011-10-05 富士ゼロックス株式会社 デジタル署名プログラム及びデジタル署名システム
DE102006042554B4 (de) 2006-09-11 2009-04-16 Siemens Ag Verfahren und System zum kontinuierlichen Übertragen von verschlüsselten Daten eines Broadcast-Dienstes an ein mobiles Endgerät
JP4816375B2 (ja) * 2006-09-28 2011-11-16 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
US8161353B2 (en) * 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
WO2008084547A1 (ja) * 2007-01-12 2008-07-17 Fujitsu Limited 文書検証プログラム、記録媒体、文書検証方法および文書検証装置
JP2009296190A (ja) * 2008-06-04 2009-12-17 Panasonic Corp 秘匿通信方法
KR101263329B1 (ko) * 2009-12-02 2013-05-16 한국전자통신연구원 네트워크 공격 방어 장치 및 방법, 이를 포함한 패킷 송수신 처리 장치 및 방법
CN102141995B (zh) * 2010-01-29 2013-06-12 国际商业机器公司 简化并行计算系统中的传输的系统与方法
JP5048105B2 (ja) * 2010-06-29 2012-10-17 レノボ・シンガポール・プライベート・リミテッド コンピュータへのアクセス方法およびコンピュータ

Also Published As

Publication number Publication date
US8832451B2 (en) 2014-09-09
US20130054974A1 (en) 2013-02-28

Similar Documents

Publication Publication Date Title
EP3259874B1 (en) Methods of proving validity and determining validity, electronic device, server and computer programs
Ning et al. Mitigating DoS attacks against broadcast authentication in wireless sensor networks
Perrig et al. Efficient authentication and signing of multicast streams over lossy channels
US8397062B2 (en) Method and system for source authentication in group communications
Wang et al. Time valid one-time signature for time-critical multicast data authentication
US8386790B2 (en) Method of using ECDSA with winternitz one time signature
US20110083015A1 (en) System and method for an electronic signature for quick and efficient data authentication
US20160191408A1 (en) Communication control apparatus and communication control method
KR20130024996A (ko) 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치
CN102724211A (zh) 一种密钥协商方法
US9191324B2 (en) MAC aggregation with message multiplicity for use in a multi-node data network
Chandrasekhar et al. A trapdoor hash-based mechanism for stream authentication
Câmara et al. Multicast delayed authentication for streaming synchrophasor data in the smart grid
KR101287597B1 (ko) 해쉬 트리를 이용한 iptv의 서비스 제공자 인증 방법
JP5664104B2 (ja) 通信システム、並びに、通信装置及びプログラム
EP3238404A1 (en) Device and method for sending and verifying a signature
US20200322354A1 (en) Method and apparatuses for authenticating a data stream
Di Pietro et al. Broadcast authentication for resource constrained devices: a major pitfall and some solutions
CN114826602B (zh) 安全感知的时间敏感网络调度方法、系统、装置及介质
Jaballah et al. Mass: An efficient and secure broadcast authentication scheme for resource constrained devices
JP2006173735A (ja) メッセージの認証方法と該認証方法を用いたメッセージ認証装置およびメッセージ認証システム
Corena et al. A multiple-MAC-based protocol to identify misbehaving nodes in network coding
CN118018205A (zh) 一种多方实体鉴别方法及相关设备
JP5768622B2 (ja) メッセージ認証システム、通信装置及び通信プログラム
Lampkins et al. Bidirectional blockchain

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid