KR101412747B1 - 데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템 - Google Patents

데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템 Download PDF

Info

Publication number
KR101412747B1
KR101412747B1 KR1020070071941A KR20070071941A KR101412747B1 KR 101412747 B1 KR101412747 B1 KR 101412747B1 KR 1020070071941 A KR1020070071941 A KR 1020070071941A KR 20070071941 A KR20070071941 A KR 20070071941A KR 101412747 B1 KR101412747 B1 KR 101412747B1
Authority
KR
South Korea
Prior art keywords
bit
action
bvs
data
bit set
Prior art date
Application number
KR1020070071941A
Other languages
English (en)
Other versions
KR20090008739A (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 KR1020070071941A priority Critical patent/KR101412747B1/ko
Priority to US12/003,708 priority patent/US8036249B2/en
Publication of KR20090008739A publication Critical patent/KR20090008739A/ko
Application granted granted Critical
Publication of KR101412747B1 publication Critical patent/KR101412747B1/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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

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

Abstract

데이터를 인증(verification)하는 방법 및 상기 방법을 수행하는 시스템을 게시한다. 본 발명에 따른 데이터를 인증하는 방법은, 송신 단말기에서 수신 단말기로 신호 채널을 통해 데이터를 전송하는 단계, 상기 송신 단말기에서 상기 데이터를 이용하여 생성된 제1 비트셋을 음성 채널을 통해 상기 수신 단말기로 전송하는 단계 및 상기 수신 단말기에서 상기 데이터를 통해 생성된 제2 비트셋을 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 단계를 포함한다. 이때, 상기 제1 비트셋 및 상기 제2 비트셋은 상기 송신 단말기 및 상기 수신 단말기에서 각각 상기 데이터를 통해 계산된 해쉬값과 동일한 길이의 선택 마스크(selection mask)를 이용하여 상기 해쉬값으로부터 선택된 비트의 집합일 수 있고, 상기 선택 마스크는 상기 송신 단말기와 상기 수신 단말기간에 미리 정의될 수 있다.
데이터 인증(data verification), VoIP(Voice over Internet Protocol), 신호 채널, 음성 채널, 인터넷

Description

데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템{System and Method of Data Verification}
음성패킷망은 인터넷을 통해 통화할 수 있는 통신기술을 말한다. 이러한 음성패킷망은 기존부터 사용되고 있는 데이터통신용 패킷망을 인터넷폰에 이용한 것으로, VoIP(Voice over Internet Protocol)라고 한다. 즉, 음성 데이터를 인터넷 프로토콜 데이터 패킷으로 변환하여 일반 인터넷망에서의 통화를 가능하게 해주는 통신서비스 기술을 의미한다. 이러한 상기 VoIP를 이용하면, 케이블을 통하여 여러 명이 동시에 사용할 수 있고 확장성도 뛰어나며 기존 전화에 비하여 요금도 훨씬 저렴하다.
종래기술로는 PARC와 SAIT에 의해 제안된 셀프-시큐어링(self-securing) VoIP 시스템이 있으며 데이터 인증을 위한 일반적인 프레임워크(framework)를 제공하고 있다.
본 발명은 데이터를 신호 채널을 통해 전송하고, 음성 채널을 통해 전송되는 음성 데이터에 상기 데이터의 해쉬값에 대한 서브 셋인 비트셋을 임베드하여 전송함으로써 상기 데이터를 인증할 수 있는 데이터 인증 방법 및 시스템을 제공한다.
본 발명은 적절한 파라미터의 선택을 통해 음성 품질(voice quality), 전송 성능(transmission performance) 및 보안 레벨(security level) 등의 특성을 조절 가능한 데이터 인증 방법 및 시스템을 제공한다.
본 발명의 일실시예에 따른 데이터를 인증(verification)하는 방법은, 송신 단말기에서 수신 단말기로 신호 채널을 통해 데이터를 전송하는 단계, 상기 송신 단말기에서 상기 데이터를 이용하여 생성된 제1 비트셋을 음성 채널을 통해 상기 수신 단말기로 전송하는 단계 및 상기 수신 단말기에서 상기 데이터를 통해 생성된 제2 비트셋을 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 단계를 포함한다.
본 발명의 일측면에 따르면, 상기 제1 비트셋 및 상기 제2 비트셋은 상기 송신 단말기 및 상기 수신 단말기에서 각각 상기 데이터를 통해 계산된 해쉬값과 동일한 길이의 선택 마스크(selection mask)를 이용하여 상기 해쉬값(hash value)으로부터 선택된 비트의 집합일 수 있고, 상기 선택 마스크는 상기 송신 단말기와 상기 수신 단말기간에 미리 정의될 수 있다.
본 발명의 일측면에 따르면, 상기 송신 단말기에서 상기 데이터를 이용하여 생성된 제1 비트셋을 음성 채널을 통해 상기 수신 단말기로 전송하는 상기 단계는, 상기 데이터의 해쉬값를 계산하는 단계, 상기 해쉬값에서 상기 제1 비트셋을 선택하여 음성 데이터에 임베드(embed)하는 단계 및 상기 제1 비트셋이 임베드된 음성 데이터를 상기 음성 채널을 통해 상기 수신 단말기로 전송하는 단계를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 해쉬값에서 상기 제1 비트셋을 선택하여 음성 데이터에 임베드하는 상기 단계는, SI(Synchronization Information) 및 상기 제1 비트셋의 비트 수를 이용하여 BVS(Block of Voice Sample)의 액션 및 상기 제1 비트셋의 비트 포지션을 결정하는 단계, 상기 제1 비트셋이 포함하는 비트 중 상기 비트 포지션에 대응하는 비트를 선택하는 단계 및 상기 비트 및 상기 액션에 따라 상기 제1 비트셋을 상기 음성 데이터에 임베드하는 단계를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 수신 단말기에서 상기 데이터를 통해 생성된 제2 비트셋을 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 상기 단계는, 상기 송신 단말기로부터 상기 신호 채널을 통해 수신된 상기 데이터의 해쉬값을 계산하는 단계, 상기 해쉬값에서 상기 제2 비트셋을 선택하는 단계 및 상기 송신 단말기로부터 상기 음성 채널을 통해 수신된 상기 제1 비트셋의 비트와 상기 제2 비트셋의 비트를 비교하여 상기 데이터를 인증하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른, 데이터 인증 시스템은, 신호 채널을 통해 데이터를 전송하고, 음성 채널을 통해 상기 데이터를 통해 생성된 제1 비트셋을 전송하 는 송신 단말기 및 상기 데이터를 수신하여 제2 비트셋을 생성하고, 상기 음성 채널을 통해 수신한 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 수신 단말기를 포함한다.
본 발명에 따르면, 데이터를 신호 채널을 통해 전송하고, 음성 채널을 통해 전송되는 음성 데이터에 상기 데이터의 해쉬값에 대한 서브 셋인 비트셋을 임베드하여 전송함으로써 상기 데이터를 인증할 수 있다.
본 발명에 따르면, 적절한 파라미터의 선택을 통해 음성 품질(voice quality), 전송 성능(transmission performance), 보안 레벨(security level) 및 전송 신뢰성(transmission reliability) 등의 특성을 조절할 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.
본 발명은 음성 채널을 통한 데이터 인증(verification)을 위한 것으로서, 셀프-시큐어링 VoIP(Voice-over-IP) 시스템(예를 들어, VoIP 단말기) 등에 적용될 수 있다. 본 명세서에서 "송신 단말기" 및 "수신 단말기"는 상기 VoIP 단말기와 같은 실제 단말기를 각각 의미하거나 또는 상기 실제 단말기에 포함되는 각각의 기능 또는 장치를 의미할 수 있다. 또한, "송신 단말기" 및 "수신 단말기"는 하나의 실제 단말기에 모두 포함될 수도 있다. 예를 들어, 본 발명에 따른 데이터 인증 방법 및 시스템은 "송신 단말기" 및 "수신 단말기"에 대한 기능 또는 장치를 모두 각각 포함하는 두 대의 실제 단말기간에서 데이터 인증을 수행하는 방법 및 시스템일 수 있다.
도 1은 본 발명에 따른 데이터 인증 방법의 개괄적인 모습을 설명하기 위한 일례이다.
데이터 인증 시스템(100)에서 신호 채널(101)은 송신 단말기(102)와 수신 단말기(103)간에 데이터를 전송하고, 음성 채널(104)의 연결을 설정하고 제어하는데 이용되고, 음성 채널(104)은 송신 단말기(102)와 수신 단말기(103)간의 음성 데이터를 전송에 이용된다. 이러한 신호 채널(101) 및 음성 채널(102)은 TCP/IP(Transmission Control Protocol/Internet Protocol), RTP(Real time Transport Protocol) 등과 같은 존재하는 어떤 기술을 이용해서도 생성 가능하다. 이때, 음성 채널(104)을 통해 전송되는 음성 데이터는 화자의 목소리와 같은 음성의 근원(105)에 의해 생성되고 패킷(107)으로 구현될 수 있다.
이때, 데이터 인증 시스템(100)에서 송신 단말기(102)는 신호 채널(101)을 통해 상기 데이터를 수신 단말기(103)로 전송하고, 상기 데이터를 인증하기 위해 상기 데이터의 해쉬값의 비트에 대한 서브셋을 패킷(107)을 이용하여 송신 단말기(102)에서 음성 채널(104)을 통해 수신 단말기(103)로 전송함으로써 수신 단말기(103)에서 상기 데이터를 인증하도록 할 수 있다.
이와 같은 상기 데이터 인증 결과(107)는 수신 단말기(103)가 포함하는 사용자 인터페이스(108)를 통해 사용자에게 제공될 수 있다.
도 2는 본 발명의 일실시예에 있어서, 데이터 인증 방법을 도시한 흐름도이 다.
단계(S210)에서 도 1을 통해 설명한 송신 단말기(102)는 수신 단말기(103)로 신호 채널(103)을 통해 데이터를 전송한다. 이때, 신호 채널(103)은 보안상 불안전(insecure)하기 때문에 수신 단말기(103)는 상기 데이터의 변형된 버전을 수신할 수 있다. 예를 들어, 송신 단말기(102)에서 전송된 상기 데이터가 네트워크상에서 악의를 갖은 사람(adversary)에 의해 다른 값으로 대체될 수 있다. 따라서, 상기 데이터가 유효한 데이터인지 확인하기 위해 상기 데이터를 인증하는 과정이 필요하고, 이를 위해 송신 단말기(102) 및 수신 단말기(103)는 단계(S220) 및 단계(S230)를 각각 수행할 수 있다.
단계(S220)에서 송신 단말기(102)는 상기 데이터를 이용하여 생성된 제1 비트셋을 음성 채널(104)을 통해 수신 단말기(103)로 전송한다. 이때, 송신 단말기는 상기 제1 비트셋의 생성 및 음성 채널(104)을 통한 상기 제1 비트셋의 전송을 위해 도 2에 도시된 바와 같이 단계(S221) 내지 단계(S223)을 수행할 수 있다.
단계(S221)에서 송신 단말기(102)는 상기 데이터에 대한 해쉬값인 제1 해쉬값을 계산한다. 이때, 상기 제1 해쉬값을 이용하기 위해 송신 단말기(102)는 현존하는 모든 방법을 이용할 수 있다. 예를 들어, SHA-1(Secure Hash Algorithm -1). MD5(Message Digest algorithm 5), SHA-256, SHA-384, 또는 SHA-512 등이 상기 제1 해쉬값의 계산에 이용될 수 있다.
단계(S222)에서 송신 단말기(102)는 상기 제1 해쉬값의 비트에 대한 서브셋인 상기 제1 비트셋을 선택한다. 이때, 상기 제1 비트셋은 상기 데이터를 통해 계 산된 상기 제1 해쉬값과 동일한 길이의 선택 마스크(selection mask)를 이용하여 상기 제1 해쉬값으로부터 선택된 비트의 집합일 수 있고, 상기 선택 마스크는 송신 단말기(102)와 수신 단말기(103)간에 미리 정의될 수 있다.
따라서, 상기 제1 비트셋의 길이는 상기 제1 해쉬값의 길이 이하의 값을 갖게 되고, 상기 제1 비트셋의 길이를 어떻게 설정하는가에 따라 더 높은 보안 레벨(security level) 또는 더 높은 전송 성능(transmission performance)을 제공하는 것이 가능해진다. 즉, 상기 제1 비트셋의 길이가 길어질수록 상기 제1 비트셋의 비트들이 임베드될 BVS가 증가하기 때문에 더 높은 보안 레벨을 제공할 수 있고, 상기 제1 비트셋의 길이가 짧아질수록 상기 BVS에 상기 비트들을 임베드하는 과정이 짧아져 더 높은 전송 성능을 제공할 수 있다.
단계(S223)에서 송신 단말기(102)는 적어도 하나의 패킷이 포함하는 복수개의 BVS에 제1 비트셋의 비트를 임베드하여 수신 단말기(103)로 전송할 수 있다. 즉, 송신 단말기(102)는 위에서 설명한 상기 제2 비트셋과의 비교를 위해 상기 제1 비트셋을 음성 데이터에 임베드할 수 있고, 음성 채널(104)을 통해 수신 단말기(103)로 전송할 수 있다. 이와 같이, 상기 복수개의 BVS에 상기 제1 비트셋의 비트를 임베드하여 수신 단말기(103)로 전송하는 단계(S223)에 대해서는 도 3 및 도 4를 통해 더욱 자세히 설명한다.
단계(S230)에서 수신 단말기(103)는 상기 데이터를 통해 생성된 제2 비트셋을 상기 제1 비트셋과 비교하여 상기 데이터를 인증한다. 위에서 설명한 바와 같이 신호 채널(101)은 보안상 불안전(insecure)하여 상기 데이터가 변경 또는 수정 될 수 있다. 따라서, 상기 데이터의 유효성을 인증하기 위해 수신된 상기 제1 비트셋과 상기 제2 비트셋을 비교함으로써 상기 데이터를 인증할 수 있다. 이를 위해, 단계(S230)은 도 2에 도시된 바와 같이 단계(S231) 내지 단계(S234)를 포함할 수 있다.
단계(S231)에서 수신 단말기(103)는 송신 단말기(102)로부터 신호 채널(101)을 통해 수신한 상기 데이터에서 제2 해쉬값을 계산한다. 이때, 상기 데이터는 상기 제2 해쉬값의 계산과는 별도로 저장될 수 있고, 상기 제2 해쉬값은 송신 단말기(102)에서 상기 제1 해쉬값을 계산하는 방법과 동일한 방법을 이용하여 계산될 수 있다. 예를 들어, 송신 단말기(102)에서 SHA-256을 이용하여 상기 데이터의 상기 제1 해쉬값을 계산한 경우, 수신 단말기(103) 또한 상기 SHA-256을 이용하여 상기 데이터의 상기 제2 해쉬값을 계산할 수 있다.
단계(S232)에서 수신 단말기(103)는 상기 제2 해쉬값의 비트에 대한 서브셋인 상기 제2 비트셋을 선택할 수 있다. 이때, 상기 제2 비트셋은 위에서 설명한 바와 같이 송신 단말기(102)와 수신 단말기(103)간에 미리 정의된 상기 선택 마스크를 이용하여 상기 제2 해쉬값의 비트 중에서 선택될 수 있다.
단계(S233)에서 수신 단말기(103)는 송신 단말기(102)로부터 음성 채널(104)을 통해 수신된 음성 데이터에서 상기 제1 비트셋을 추출한다. 즉, 적어도 하나의 패킷을 통해 수신된 복수개의 BVS가 각각 포함하는 비트들을 추출하여 상기 제1 비트셋을 추출한다. 이와 같이 상기 제1 비트셋을 추출하는 방법에 대해서는 도 3 및 도 8을 통해 더욱 자세히 설명한다.
여기서, 위에서 설명한 단계(S231) 및 단계(S232)는 단계(S223) 이전에 수신 단말기(103)에서 수행될 수 있고, 단계(S233) 및 단계(S234)는 단계(S233) 이후에 수행될 수 있다. 즉, 단계(S223)에서 송신 단말기(102)에서 전송한 상기 음성 데이터를 수신 단말기(103)에서 수신한 이후 단계(S233)이 수행될 수 있다.
단계(S234)에서 수신 단말기(103)는 단계(S232)에서 선택된 상기 제2 비트셋과 단계(S233)에서 추출된 상기 제1 비트셋을 비교함으로써 상기 데이터를 인증한다. 이때, 수신 단말기(103)는 상기 제1 비트셋 및 상기 제2 비트셋에서 하나의 비트를 각각 추출하여 매칭 여부를 확인하고, 상기 매칭된 비트들의 수 및 비매칭된 비트들의 수를 이용하여 상기 데이터의 인증 여부를 확인할 수 있다. 이와 같이, 상기 데이터를 인증하는 방법에 대해서는 도 8을 통해 더욱 자세히 설명한다.
도 3은 패킷의 구성요소를 설명하기 위한 일례이다. 도 1을 통해 설명한 바와 같이 음성의 근원(105)을 통해 생성된 음성 데이터는 복수개의 BVS(Block of Voice Sample)로 구성될 수 있고, 적어도 하나의 BVS가 패킷(106)에 포함될 수 있다.
이때, 패킷(106)은 상기 제1 비트셋을 수신 단말기(103)로 전송하기 위해 새로운 패킷(300)으로 구성될 수 있다. 즉, 상기 제1 비트셋의 비트 중 하나의 비트(301)가 하나의 BVS에 임베드되고, 비트(301)가 임베드된 상기 BVS는 비트(301)에 대응하는 SI(Synchronization Information)(302)가 결합되어 패킷(300)을 구성할 수 있다. 또는 패킷(300)은 복수개의 BVS와 복수개의 SI 쌍으로 구성될 수도 있다.
다시 말해, 상기 제1 비트셋의 모든 비트를 각각 포함하는 복수개의 BVS들은 적어도 하나의 패킷(300)에 포함되어 음성 채널(104)을 통해 수신 단말기(103)로 전송될 수 있다. 또한, 수신 단말기(103)는 적어도 하나의 패킷(300)이 포함하는 상기 BVS들에서 패킷(300)에 함께 포함된 SI를 이용하여 상기 제1 비트셋의 모든 비트를 추출함으로써 상기 제1 비트셋을 얻을 수 있다.
또한, 상기 음성 데이터는 특별한 단방향성의(unidirectional) 프로토콜을 이용하여 수신 단말기(103)로 전송되기 때문에 송신 단말기(102)는 수신 단말기(103)로부터의 피드백(feedback)을 필요로 하지 않는다.
도 4는 본 발명의 일실시예에 있어서, 송신 단말기에서 음성 데이터에 제1 비트셋을 임베드하여 수신 단말기로 전송하는 방법을 도시한 흐름도이다. 여기서, 단계(S401) 내지 단계(S403)는 도 2를 통해 설명한 단계(S223)에 포함되어 수행될 수 있다.
단계(S401)에서 송신 단말기(102)는 SI 및 상기 제1 비트셋의 비트 수를 이용하여 BVS의 액션 및 상기 제1 비트셋의 비트 포지션을 결정한다. 이때, 상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터를 포함할 수 있다. 또한, 상기 액션은 상기 BVS에 상기 비트의 임베드 여부를 결정하는 것으로, 상기 비트를 임베드하는 BVS를 의미하는 프로세스 액션(process action) 및 상기 비트를 임베드 하지 않는 BVS를 의미하는 바이패스 액션(bypass action)을 포함할 수 있다.
이와 같이, 송신 단말기(102)에서 상기 SI 및 상기 비트 수를 이용하여 상기 BVS의 액션 및 상기 비트 포지션을 결정하는 단계(S401)에 대해서는 도 5 및 도 6 을 통해 자세히 설명한다.
단계(S402)에서 송신 단말기(102)는 상기 제1 비트셋이 포함하는 비트 중 상기 비트 포지션에 대응하는 비트를 선택한다. 즉, 송신 단말기(102)는 상기 비트를 임베드할 BVS의 액션을 상기 프로세스 액션으로 결정하고, 프로세스 액션에 대응하는 비트를 선택하여 상기 BVS에 임베드할 수 있다. 이와 같이, 상기 비트 포지션을 통해 상기 비트를 선택하는 단계(S402)에 대해서는 도 7을 통해 더욱 자세히 설명한다.
단계(S403)에서 송신 단말기(102)는 상기 비트 및 상기 액션에 따라 상기 제1 비트셋을 상기 음성 데이터에 임베드한다. 이때, 송신 단말기(102)는 상기 BVS의 액션을 확인하여 상기 액션이 프로세스 액션인 경우 상기 비트를 상기 BVS에 임베드하고, 상기 액션이 바이패스 액션인 경우 상기 BVS를 스킵할 수 있다. 이와 같은 과정을 상기 액션이 결정된 모든 BVS에 대해 반복 수행함으로써 모든 프로세스 액션으로 결정된 BVS에 상기 제1 비트셋의 모든 비트가 임베드 되도록 할 수 있다.
도 5는 본 발명의 일실시예에 있어서, BVS의 액션 및 비트 포지션을 결정하는 방법을 도시한 흐름도이다. 여기서, 단계(S501) 내지 단계(S506)은 도 4를 통해 설명한 단계(S401)에 포함되어 수행될 수 있다.
단계(S501)에서 송신 단말기(102)는 임의의 BVS에 대해 액션을 프로세스 액션으로 결정한다. 이때, 도 4를 통해 설명한 바와 같이 상기 BVS의 액션 및 상기 비트 포지션은 상기 SI 및 상기 제1 비트셋의 비트 수에 기초하여 결정될 수 있고, 상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터를 포함할 수 있다. 송신 단말기(102)는 상기 인코딩 기간이 시작되면 음성 데이터를 구성하는 복수개의 BVS 중 현재 BVS의 액션을 상기 프로세스 액션으로 결정할 수 있다.
단계(S502)에서 송신 단말기(102)는 상기 BVS 이후의 BVS에 대해 상기 스킵 수만큼의 BVS의 액션을 바이패스 액션으로 결정한다. 즉, 송신 단말기(102)는 상기 프로세스 액션으로 결정된 BVS 이후의 BVS 중 상기 스킵 수만큼의 BVS 액션을 상기 바이패스 액션으로 결정한다. 이때, 데이터 인증 시스템(100)은 상기 스킵 수를 조절함으로써 음성 품질(voice quality) 또는 전송 성능을 조절할 수 있다. 즉, 상기 스킵 수가 커질수록 더 높은 음성 품질을 제공할 수 있고, 상기 스킵 수가 작아질수록 더 높은 전송 성능을 제공할 수 있다.
단계(S503)에서 송신 단말기(102)는 상기 반복 수만큼 다음 BVS에 대해 단계(S501) 및 단계(S502)를 반복 수행한다. 이때, 상기 반복 수는 상기 반복 수만큼 연속적으로 프로세스 액션으로 설정된 BVS에 상기 제1 비트셋의 비트 중 동일한 하나의 비트가 임베드되도록 하기 위함이다. 이를 통해, 데이터 인증 시스템(100)은 상기 반복 수를 조절함으로써 보안 레벨 또는 전송 성능을 조절할 수 있다. 즉, 상기 반복 수가 커질수록 더 높은 보안 레벨을 제공할 수 있고, 상기 반복 수가 작아질수록 더 높은 전송 성능을 제공할 수 있다.
단계(S504)에서 송신 단말기(102)는 상기 비트 수만큼 단계(S503)를 반복 수행한다. 즉, 상기 제1 비트셋의 비트 수만큼 단계(S503)를 반복 수행함으로써 상기 제1 비트셋의 모든 비트에 대해 상기 프로세스 액션으로 설정된 BVS가 대응된 다.
단계(S505)에서 송신 단말기(102)는 단계(S504)의 반복 횟수를 현재 비트 포지션으로 결정한다. 예를 들어, 상기 반복 횟수가 '0'인 경우, 상기 프로세스 액션으로 결정된 BVS에는 상기 제1 비트셋의 비트 중 1-번째 비트가 임베드되도록 상기 비트 포지션을 '0'으로 설정할 수 있다. 또한, 상기 반복 횟수가 '4'인 경우, 4번째 반복에서 상기 프로세스 액션으로 결정된 BVS에는 상기 제1 비트셋의 비트 중 3-번째 비트가 임베드되도록 상기 비트 포지션을 '4'로 설정할 수 있다.
단계(S506)에서 송신 단말기(102)는 상기 인코드 기간 동안 단계(S504) 및 단계(S505)를 반복 수행한다. 즉, 상기 인코드 기간 동안에는 상기 제1 비트셋의 모든 비트가 반복적으로 임베드되고, 이는 네트워크상에서 패킷의 유실이 발생할 가능성에 대비하기 위함이다. 다시 말해, 상기 인코드 기간이 늘어날수록 더 신뢰성있는 전송이 가능해지고, 상기 인코드 기간이 줄어들수록 더 적은 패킷으로도 더 높은 음성 품질을 제공할 수 있게 된다.
도 6은 제1 비트셋의 비트를 BVS에 임베드하는 방법을 설명하기 위한 일례이다.
하나의 BVS(601)가 프로세스 액션으로 결정되면, BVS(601) 이후의 BVS들은 스킵 수(602)만큼 스킵되고, 이와 같은 과정이 반복 수(603)만큼 제1 비트셋의 첫 번째 비트(604)에 대해 반복 수행된다. 또한, 상기 제1 비트셋의 모든 비트(605)가 임베드될 BVS의 액션을 결정하기 위해 상기 제1 비트셋의 비트 수만큼 위의 과정이 반복될 수 있고, 이때, 상기 비트 수만큼의 반복에 대한 반복 횟수가 비트 포 지션으로 결정될 수 있다.
뿐만 아니라, 위의 과정은 인코딩 기간(606) 동안 반복 수행됨으로써 네트워크에서의 패킷의 유실을 대비할 수 있다.
이와 같이, 데이터 인증 방법을 통해 데이터를 전송 및 인증하는 경우, 데이터 인증 시스템(100)은 (1) 제1 비트셋의 비트 수, (2) 스킵 수, (3) 반복 수 및 (4) 인코딩 기간과 같은 다양한 파라미터를 조절함으로써 음성 품질, 전송 성능, 보안 레벨 및 전송 신뢰성 등의 특성을 조절할 수 있다.
이때, 선택된 비트를 BVS에 임베딩하는 방법은 알려진 다양한 방법 중 하나를 통해 수행될 수 있다. 이러한 방법은 BVS에 의해 표현되는 시그널에 대한 주파수 필터링에 기반한다. 예를 들어, 임베딩되는 비트 '0'에 대응하는 제1 주파수 셋 및 임베딩되는 비트 '1'에 대응하는 제2 주파수 셋을 이용할 수 있다. 만약 선택된 비트가 '0'인 경우, 음성 시그널로부터 상기 제1 주파수 셋에 정의된 모든 주파수를 제거함으로써 상기 비트 '0'을 상기 BVS에 임베딩할 수 있다. 또한, 상기 선택된 비트가 '1'인 경우에는 상기 음성 시그널로부터 상기 제2 주파수 셋에 정의된 모든 주파수를 제거함으로써 상기 비트 '1'을 상기 BVS에 임베딩할 수 있다.
이러한 방법으로 프로세스 액션으로 결정된 모든 BVS에 상기 제1 비트셋의 비트들이 임베딩되면, 상기 BVS를 포함하는 패킷에 SI를 추가하여 음성 채널(104)을 통해 수신 단말기(103)로 전송할 수 있다.
도 7은 제1 비트셋의 비트를 선택하는 방법을 설명하기 위한 일례이다.
제1 해쉬값은 비트 포지션(701)에 따른 해쉬값(702)으로 구성될 수 있고, 선 택 마스크는 비트 포지션(703)에 따른 비트의 선택 여부(704)를 나타낸다. 즉, 상기 제1 해쉬값과 동일한 길이 'L-1'의 상기 선택 마스크에서 "S"로 표시된 비트만을 선택하여 'H-1' 길이의 제1 비트셋을 선택할 수 있다. 이때, 상기 제1 비트셋은 비트 포지션(706)에 따른 각각의 비트들(707)로 구성될 수 있다.
이때, 도 5 및 도 6에서 설명한 바와 같이 BVS에 임베드될 비트를 선택하기 위해 SI에 의해 비트 포지션(708) '4'가 결정되는 경우, 상기 제1 비트셋의 비트 포지션(706) '4'에 해당하는 값인 '1'을 선택(709)하여 해당하는 BVS에 임베드할 수 있다.
도 8은 본 발명의 일실시예에 있어서, 제1 비트셋 및 제2 비트셋의 비트들을 이용하여 데이터를 인증하는 방법을 도시한 흐름도이다. 여기서, 단계(S801) 내지 단계(S804)는 도 2를 통해 설명한 단계(S233)에 포함되어 수행될 수 있고, 단계(S805) 및 단계(S806)은 단계(S234)에 포함되어 수행될 수 있다. 또한, 단계(S807)는 단계(S230) 이후에 수행될 수 있다.
단계(S801)에서 수신 단말기(103)는 음성 채널(104)을 통해 수신된 음성 데이터에서 BVS 및 SI를 분리한다. 위에서 설명한 바와 같이 상기 음성 데이터는 적어도 하나의 패킷을 포함할 수 있고, 상기 패킷은 적어도 하나의 SI 및 BVS를 통해 구성될 수 있다. 즉, 수신 단말기(103)는 상기 음성 데이터를 수신한 후, 상기 음성 데이터가 포함하는 패킷으로부터 상기 BVS 및 상기 SI를 분리한다.
단계(S802)에서 수신 단말기(103)는 상기 SI 및 상기 제2 비트셋의 비트 수를 이용하여 상기 BVS의 액션 및 비트 포지션을 결정한다. 이때, 상기 BVS의 액션 및 비트 포지션을 결정하는 방법은 송신 단말기(102)에서 상기 BVS의 액션과 상기 비트 포지션을 결정하는 방법과 동일하다.
즉, 상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터를 포함할 수 있고, 수신 단말기(103)는 BVS의 액션을 프로세스 액션으로 결정하고, 상기 BVS 이후의 BVS에 대해 상기 스킵 수만큼의 BVS의 액션을 바이패스 액션으로 결정할 수 있다. 이후, 위 과정에 대해 상기 반복 수만큼 반복 수행하고, 상기 비트 수만큼 전체 과정을 반복 수행할 수 있다. 이때, 상기 전체 과정의 반복 횟수가 현재의 비트 포지션으로 결정될 수 있다. 또한, 수신 단말기(103)는 상기 인코드 기간 동안 모든 과정을 반복 수행하여 송신 단말기(102)에서 프로세스 액션 또는 바이패스 액션으로 결정된 모든 BVS의 액션을 결정할 수 있다. 뿐만 아니라, 상기 제2 비트셋에서 비트를 선택하기 위한 비트 포지션 또한 결정할 수 있다.
단계(S803)에서 수신 단말기(103)는 상기 액션에 따라 상기 BVS에서 제1 비트를 추출한다. 즉, 상기 프로세스 액션으로 결정된 BVS는 송신 단말기(102)에서도 프로세스 액션으로 결정됐었던 BVS로 상기 제1 비트가 임베드된 BVS이고 따라서, 상기 프로세스 액션으로 결정된 BVS에서 상기 제1 비트를 추출할 수 있다.
이때, 수신 단말기(103)에서 상기 제1 비트를 추출하는 방법은 송신 단말기(102)에서 상기 제1 비트를 임베드한 방법에 대응되는 방법을 이용할 수 있다. 예를 들어, 송신 단말기(102)에서와 마찬가지로 제1 주파수 셋 및 제2 주파수 셋을 결정하고, 음성 시그널로부터 상기 제1 주파수 셋에 정의된 모든 주파수를 제거하여 파워 'P0'를 계산한다. 또한, 동일한 음성 시스널로부터 상기 제2 주파수 셋에 정의된 모든 주파수를 제거하여 파워 'P1'을 계산한 후, 상기 제1 비트를 확인할 수 있다.
즉, 'P0' > 'P1'인 경우 상기 제1 비트로서 '1'을 추출할 수 있고, 'P0' < 'P1'인 경우 상기 제1 비트로서 '0'을 추출할 수 있다. 'P0' = 'P1'인 경우에는 상기 제1 비트가 결정될 수 없음을 의미하는 'UNDECODED'가 결과로서 제공될 수 있다. 이때, 상기 'UNDECODED'는 상기 제1 비트가 결정될 수 없음을 의미하는 기선정된 정수에 대응될 수 있다.
단계(S804)에서 수신 단말기(103)는 추출된 상기 제1 비트의 수가 상기 제2 비트셋의 비트 수와 동일한지 확인하여 동일한 경우 단계(S805)를 수행하고, 동일하지 않은 경우 단계(S803)을 수행한다. 즉, 수신된 상기 음성 데이터에 임베드된 제1 비트셋의 비트 수와 상기 제2 비트셋의 비트 수는 서로 동일하기 때문에 수신 단말기(103)는 추출된 상기 제1 비트의 수와 상기 제2 비트셋의 비트 수가 동일할 때까지 상기 제1 비트를 추출할 수 있다.
이때, 상기 제1 비트의 수와 상기 비트 수간의 비교는 송신 단말기(102)에서 이용된 반복 수에 영향을 받을 수 있다. 즉, 상기 반복 수에 따라 제1 비트셋의 비트는 중복되어 BVS에 임베딩되기 때문에 상기 반복 수가 '2' 이상인 경우에는 상기 제1 비트의 수와 상기 반복 수간의 곱셈 결과가 상기 비트 수와 동일한지 확인하여 동일한 경우 단계(S805)를 수행하고, 동일하지 않은 경우 단계(S803)을 수행할 수 있다.
단계(S805)에서 수신 단말기(103)는 상기 비트 포지션에 기초하여 상기 제2 비트셋에서 제2 비트를 선택한다. 즉, 수신 단말기(103)는 상기 비트 포지션에 해당하는 비트를 상기 제2 비트셋에서 상기 제2 비트로서 선택할 수 있다. 예를 들어, 상기 비트 포지션이 '5'인 경우 수신 단말기(103)는 상기 제2 비트셋의 4-번째 비트를 상기 제2 비트로서 선택할 수 있다.
단계(S806)에서 수신 단말기(103)는 상기 액션, 상기 제1 비트, 상기 제2 비트 및 상기 비트 포지션에 기초하여 상기 데이터를 인증한다. 우선, 수신 단말기(103)는 상기 제1 비트가 송신 단말기(102)에서 이용된 상기 반복 수만큼 중복될 수 있기 때문에 상기 반복 수만큼의 제1 비트가 상기 제2 비트와 동일한 경우, 비트간 매칭을 수행할 수 있다.
이때, 수신 단말기(103)는 프로세스 액션인 상기 액션에 대해 제1 비트 및 상기 제2 비트를 서로 비교하여 상기 제1 비트 및 상기 제2 비트간의 매칭 수가 기선정된 제1 수 이상이고, 상기 제1 비트 및 상기 제2 비트간의 비매칭 수가 기선정된 제2 수 이하인 경우, 상기 데이터를 인증할 수 있다. 이때, 상기 제1 수는 상기 데이터를 인증하기 위한 성공적인 매칭의 최소 수일 수 있고, 상기 제2 수는 상기 비매칭되는 오류에 대해 허용 가능한 최대 수일 수 있다.
상기 최소 수는 그 값이 크게 설정될수록 더 높은 보안 레벨을 제공하고, 작게 설정될수록 더 작은 크기의 음성 데이터를 통해서도 상기 데이터를 인증할 수 있기 때문에 높은 전송 성능을 제공할 수 있다. 또한, 상기 최대 수는 그 값이 작게 설정될수록 상기 비매칭을 더 적게 허락하기 때문에 더 높은 보안 레벨을 제공할 수 있다.
단계(S807)에서 수신 단말기(103)는 상기 데이터 인증의 결과를 사용자에게 제공한다. 즉, 수신 단말기(103)가 포함하는 사용자 인터페이스를 통해 상기 데이터 인증의 결과를 상기 사용자에게 제공할 수 있다.
도 1에서 설명한 바와 같이 데이터 인증 시스템(100)은 신호 채널(101)을 통해 데이터를 전송하고, 음성 채널(104)을 통해 상기 데이터를 통해 생성된 제1 비트셋을 전송하는 송신 단말기(102) 및 상기 데이터를 수신하여 제2 비트셋을 생성하고, 상기 음성 채널을 통해 수신한 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 수신 단말기(103)를 포함할 수 있다. 이러한 송신 단말기(102) 및 수신 단말기(103)의 내부 구성에 대해서는 도 9 및 도 10을 통해 더욱 자세히 설명한다.
도 9는 본 발명의 일실시예에 있어서, 송신 단말기의 내부 구성을 설명하기 위한 일례이다. 여기서, 송신 단말기(102)는 해쉬값 계산부(901), 제1 비트셋 선택부(902), SI 생성부(903), SI 분석부(904), 비트 선택부(905), 인코딩부(906) 및 결합부(907)를 포함한다.
해쉬값 계산부(901)는 신호 채널(101)을 통해 수신한 데이터의 해쉬값을 계산한다. 이때, 상기 해쉬값을 이용하기 위해 현존하는 모든 방법을 이용될 수 있다. 예를 들어, SHA-1(Secure Hash Algorithm -1). MD5(Message Digest algorithm 5), SHA-256, SHA-384, 또는 SHA-512 등이 상기 해쉬값의 계산에 이용될 수 있다.
제1 비트셋 선택부(902)는 상기 해쉬값에서 상기 제1 비트셋을 선택한다. 제1 비트셋 선택부(902)는 상기 해쉬값과 동일한 길이의 선택 마스크를 이용하여 상기 해쉬값으로부터 선택된 비트의 집합을 상기 제1 비트셋으로 선택할 수 있고, 상기 선택 마스크는 송신 단말기(102)와 수신 단말기(103)간에 미리 정의될 수 있다.
따라서, 상기 제1 비트셋의 길이는 상기 해쉬값의 길이 이하의 값을 갖게 되고, 상기 제1 비트셋의 길이를 어떻게 설정하는가에 따라 더 높은 보안 레벨(security level) 또는 더 높은 전송 성능(transmission performance)을 제공하는 것이 가능해진다. 즉, 상기 제1 비트셋의 길이가 길어질수록 상기 제1 비트셋의 비트들이 임베드될 BVS가 증가하기 때문에 더 높은 보안 레벨을 제공할 수 있고, 상기 제1 비트셋의 길이가 짧아질수록 상기 BVS에 상기 비트들을 임베드하는 과정이 짧아져 더 높은 전송 성능을 제공할 수 있다.
SI 생성부(903)는 SI를 생성한다. 이때, 상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터 중 적어도 하나의 파라미터를 포함할 수 있고, 상기 스킵 수, 상기 반복 수 및 상기 인코딩 기간은 BVS의 액션을 결정하거나, 상기 제1 비트셋에서 하나의 비트를 선택하기 위한 비트 포지션을 결정하는데 이용될 수 있다.
SI 분석부(904)는 상기 제1 비트셋의 비트 수 및 상기 SI를 이용하여 BVS의 액션을 결정하고, 상기 SI를 이용하여 비트 포지션을 결정한다. 이때, SI 분석부(904)는 상기 SI 및 상기 제1 비트셋의 비트 수에 기초하여 상기 BVS의 액션을 결정하는 액션 결정부(미도시) 및 상기 SI에 기초하여 상기 비트 포지션을 결정하는 비트 포지션 결정부(미도시)를 포함할 수 있다.
상기 액션 결정부는 상기 SI가 포함하는 파라미터 및 상기 비트 수를 이용하여 상기 BVS의 액션을 상기 비트를 임베드하는 프로세스 액션 또는 상기 비트를 임 베드 하지 않는 바이패스 액션으로 결정할 수 있고, 상기 비트 포지션 결정부는 상기 SI가 포함하는 파라미터를 이용하여 상기 제1 비트셋의 비트 중 상기 비트를 선택하기 위한 상기 비트 포지션을 결정할 수 있다. 즉, 상기 액션 결정부 및 상기 비트 포지션 결정부는 도 5 및 도 6을 통해 설명한 방법을 이용하여 상기 액션 및 상기 비트 포지션을 결정할 수 있다.
본 발명의 일실시예에 따른 데이터 인증 시스템에서는 상기 SI가 포함하는 다양한 파라미터를 조절함으로써, 음성 품질, 보안 레벨, 전송 성능 및 전송 신뢰성 등의 특성을 조절하는 것이 가능하다. 즉, 상기 스킵 수를 조절함으로써 음성 품질 또는 전송 성능을 조절할 수 있다. 예를 들어, 상기 스킵 수가 커질수록 더 높은 음성 품질을 제공할 수 있고, 상기 스킵 수가 작아질수록 더 높은 전송 성능을 제공할 수 있다. 또한, 상기 반복 수를 조절함으로써 보안 레벨 또는 전송 성능을 조절할 수 있다. 이때, 상기 반복 수가 커질수록 더 높은 보안 레벨을 제공할 수 있고, 상기 반복 수가 작아질수록 더 높은 전송 성능을 제공할 수 있다.
뿐만 아니라, 상기 인코드 기간 동안에는 상기 제1 비트셋의 모든 비트가 반복적으로 임베드되고, 이를 통해, 네트워크상에서 패킷의 유실이 발생할 가능성에 대비할 수 있다. 다시 말해, 상기 인코드 기간이 늘어날수록 더 신뢰성있는 전송이 가능해지고, 상기 인코드 기간이 줄어들수록 더 적은 패킷으로도 더 높은 음성 품질을 제공할 수 있게 된다.
비트 선택부(905)는 상기 비트 포지션을 이용하여 상기 제1 비트셋의 비트 중 적어도 하나의 비트를 선택한다. 이때, 상기 하나의 비트는 상기 비트 포지션 에 의해 선택될 수 있다. 예를 들어, 상기 비트 포지션 결정부에서 결정된 상기 비트 포지션이 '5'인 경우 비트 선택부(905)는 상기 제1 비트셋의 4-번째 비트를 상기 하나의 비트로서 선택할 수 있다.
인코딩부(906)는 상기 액션에 따라 상기 BVS에 상기 비트를 임베드한다. 이때, 인코딩부(906)는 상기 BVS의 액션을 확인하는 액션 확인부(미도시) 및 상기 액션이 바이패스 액션인 경우, 상기 BVS를 스킵하고, 프로세스 액션인 경우 상기 비트를 상기 BVS에 임베드하는 임베드부(미도시)를 포함할 수 있다.
이때, 상기 BVS에 상기 비트를 임베드하기 위해 상기 BVS에 의해 표현되는 시그널에 대한 주파수 필터링을 이용할 수 있다. 예를 들어, 임베딩되는 비트 '0'에 대응하는 제1 주파수 셋 및 임베딩되는 비트 '1'에 대응하는 제2 주파수 셋을 이용할 수 있다. 만약 선택된 비트가 '0'인 경우, 음성 시그널로부터 상기 제1 주파수 셋에 정의된 모든 주파수를 제거함으로써 상기 비트 '0'을 상기 BVS에 임베딩할 수 있다. 또한, 상기 선택된 비트가 '1'인 경우에는 상기 음성 시그널로부터 상기 제2 주파수 셋에 정의된 모든 주파수를 제거함으로써 상기 비트 '1'을 상기 BVS에 임베딩할 수 있다.
결합부(907)는 상기 비트가 임베드된 상기 BVS에 상기 SI를 결합한다. 이때, 상기 SI가 결합된 상기 BVS는 음성 채널(104)을 통해 수신 단말기(103)로 전송될 수 있고 이를 위해, 송신 단말기(102)는 상기 SI가 결합된 상기 BVS를 음성 데이터로서 음성 채널(104)을 통해 수신 단말기(103)로 전송하는 패킷 전송부(미도시)를 더 포함할 수 있다.
도 10은 본 발명의 일실시예에 있어서, 수신 단말기의 내부 구성을 설명하기 위한 일례이다. 여기서, 수신 단말기(103)는 해쉬값 계산부(1001), 제2 비트셋 선택부(1002), 분리부(1003), SI 분석부(1004), 디코딩부(1005), 비트 선택부(1006), 데이터 인증부(1007)를 포함한다.
해쉬값 계산부(1001)는 신호 채널(101)을 통해 수신한 데이터의 해쉬값을 계산한다. 이때, 상기 데이터는 상기 해쉬값의 계산과는 별도로 저장될 수 있고, 상기 해쉬값은 송신 단말기(102)에서 해쉬값을 계산하는 방법과 동일한 방법을 이용하여 계산될 수 있다. 예를 들어, 송신 단말기(102)에서 SHA-256을 이용하여 상기 데이터의 해쉬값을 계산한 경우, 수신 단말기(103) 또한 상기 SHA-256을 이용하여 상기 데이터의 해쉬값을 계산할 수 있다.
제2 비트셋 선택부(1002)는 상기 해쉬값에서 상기 제2 비트셋을 선택한다. 이때, 상기 제2 비트셋은 위에서 설명한 바와 같이 송신 단말기(102)와 수신 단말기(103)간에 미리 정의된 상기 선택 마스크를 이용하여 상기 제2 해쉬값의 비트 중에서 선택될 수 있다.
분리부(1003)는 음성 채널(104)을 통해 수신된 음성 데이터에서 BVS 및 SI를 분리한다. 상기 음성 데이터는 적어도 하나의 패킷을 포함할 수 있고, 상기 패킷은 적어도 하나의 SI 및 BVS를 통해 구성될 수 있다. 즉, 수신 단말기(103)는 상기 음성 데이터를 수신한 후, 상기 음성 데이터가 포함하는 패킷으로부터 상기 BVS 및 상기 SI를 분리할 수 있다.
SI 분석부(1004)는 상기 SI 및 상기 제2 비트셋의 비트 수를 이용하여 상기 BVS의 액션을 결정하고, 상기 SI를 이용하여 비트 포지션을 결정한다. 이때, 상기 BVS의 액션 및 비트 포지션을 결정하는 방법은 송신 단말기(102)에서 상기 BVS의 액션과 상기 비트 포지션을 결정하는 방법 다시 말해, 도 5 및 도 6을 통해 설명한 방법과 동일한 방법을 이용할 수 있다.
즉, 상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터를 포함할 수 있고, SI 분석부(1004)는 BVS의 액션을 프로세스 액션으로 결정하고, 상기 BVS 이후의 BVS에 대해 상기 스킵 수만큼의 BVS의 액션을 바이패스 액션으로 결정할 수 있다. 이후, 위 과정에 대해 상기 반복 수만큼 반복 수행하고, 상기 비트 수만큼 전체 과정을 반복 수행할 수 있다. 이때, 상기 전체 과정의 반복 횟수가 현재의 비트 포지션으로 결정될 수 있다. 또한, SI 분석부(1004)는 상기 인코드 기간 동안 모든 과정을 반복 수행하여 송신 단말기(102)에서 프로세스 액션 또는 바이패스 액션으로 결정된 모든 BVS의 액션을 결정할 수 있다. 뿐만 아니라, 상기 제2 비트셋에서 비트를 선택하기 위한 비트 포지션 또한 결정할 수 있다.
디코딩부(1005)는 상기 액션에 따라 상기 BVS로부터 제1 비트를 추출한다. 상기 액션은 위에서 설명한 바와 같이 바이패스 액션 또는 프로세스 액션으로 결정되고, 디코딩부(1005)는 상기 BVS의 액션을 확인하는 액션 확인부 및 상기 액션이 상기 바이패스 액션인 경우 상기 BVS를 스킵하고, 상기 프로세스 액션인 경우 상기 제1 비트를 상기 BVS로부터 추출하는 비트 추출부를 포함할 수 있다. 즉, 상기 프로세스 액션으로 결정된 BVS는 송신 단말기(102)에서도 프로세스 액션으로 결정됐었던 BVS로 상기 제1 비트가 임베드된 BVS이고 따라서, 상기 프로세스 액션으로 결 정된 BVS에서 상기 제1 비트를 추출할 수 있다.
이때, 디코딩부(1005)에서 상기 제1 비트를 추출하는 방법은 송신 단말기(102)의 인코딩부(906)에서 상기 제1 비트를 임베드한 방법에 대응되는 방법을 이용할 수 있다. 예를 들어, 인코딩부(906)에서와 마찬가지로 제1 주파수 셋 및 제2 주파수 셋을 결정하고, 음성 시그널로부터 상기 제1 주파수 셋에 정의된 모든 주파수를 제거하여 파워 'P0'를 계산한다. 또한, 동일한 음성 시스널로부터 상기 제2 주파수 셋에 정의된 모든 주파수를 제거하여 파워 'P1'을 계산한 후, 상기 제1 비트를 확인할 수 있다.
즉, 'P0' > 'P1'인 경우 상기 제1 비트로서 '1'을 추출할 수 있고, 'P0' < 'P1'인 경우 상기 제1 비트로서 '0'을 추출할 수 있다. 'P0' = 'P1'인 경우에는 상기 제1 비트가 결정될 수 없음을 의미하는 'UNDECODED'가 결과로서 제공될 수 있다. 이때, 상기 'UNDECODED'는 상기 제1 비트가 결정될 수 없음을 의미하는 기선정된 정수에 대응될 수 있다.
비트 선택부(1006)는 상기 비트 포지션을 이용하여 상기 제2 비트셋의 비트 중 제2 비트를 선택한다. 즉, 비트 선택부(1006)는 상기 비트 포지션에 해당하는 비트를 상기 제2 비트셋에서 상기 제2 비트로서 선택할 수 있다. 예를 들어, 상기 비트 포지션이 '5'인 경우 비트 선택부(1006)는 상기 제2 비트셋의 4-번째 비트를 상기 제2 비트로서 선택할 수 있다.
데이터 인증부(1007)는 상기 제1 비트, 상기 제2 비트, 상기 액션 및 상기 비트 포지션에 기초하여 상기 데이터를 인증한다. 이때, 데이터 인증부(1007)는 프로세스 액션인 상기 액션에 대해 제1 비트 및 상기 제2 비트를 서로 비교하여 상기 제1 비트 및 상기 제2 비트간의 매칭 수가 기선정된 제1 수 이상이고, 상기 제1 비트 및 상기 제2 비트간의 비매칭 수가 기선정된 제2 수 이하인 경우, 상기 데이터를 인증할 수 있다.
상기 제1 수는 상기 데이터를 인증하기 위한 성공적인 매칭의 최소 수일 수 있고, 상기 제2 수는 상기 비매칭되는 오류에 대해 허용 가능한 최대 수일 수 있다. 즉, 상기 최소 수는 그 값이 크게 설정될수록 더 높은 보안 레벨을 제공하고, 작게 설정될수록 더 작은 크기의 음성 데이터를 통해서도 상기 데이터를 인증할 수 있기 때문에 높은 전송 성능을 제공할 수 있다. 또한, 상기 최대 수는 그 값이 작게 설정될수록 상기 비매칭을 더 적게 허락하기 때문에 더 높은 보안 레벨을 제공할 수 있다.
또한, 이러한 상기 데이터의 인증 결과는 사용자에게 제공되고, 수신 단말기(103)는 상기 데이터의 인증 결과를 사용자에게 제공하기 위해 사용자 인터페이스(미도시)를 더 포함할 수 있다.
이와 같이 본 발명에 따른 데이터 인증 방법 또는 데이터 인증 시스템을 이용하면, 데이터를 신호 채널을 통해 전송하고, 음성 채널을 통해 전송되는 음성 데이터에 상기 데이터의 해쉬값에 대한 서브 셋인 비트셋을 임베드하여 전송함으로써 상기 데이터를 인증할 수 있다. 또한, 적절한 파라미터의 선택을 통해 음성 품질, 전송 성능, 보안 레벨 및 전송 신뢰성 등의 특성을 조절할 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프 로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있 는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 본 발명에 따른 데이터 인증 방법의 개괄적인 모습을 설명하기 위한 일례이다.
도 2는 본 발명의 일실시예에 있어서, 데이터 인증 방법을 도시한 흐름도이다.
도 3은 패킷의 구성요소를 설명하기 위한 일례이다.
도 4는 본 발명의 일실시예에 있어서, 송신 단말기에서 음성 데이터에 제1 비트셋을 임베드하여 수신 단말기로 전송하는 방법을 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서, BVS의 액션 및 비트 포지션을 결정하는 방법을 도시한 흐름도이다.
도 6은 제1 비트셋의 비트를 BVS에 임베드하는 방법을 설명하기 위한 일례이다.
도 7은 제1 비트셋의 비트를 선택하는 방법을 설명하기 위한 일례이다.
도 8은 본 발명의 일실시예에 있어서, 제1 비트셋 및 제2 비트셋의 비트들을 이용하여 데이터를 인증하는 방법을 도시한 흐름도이다.
도 9는 본 발명의 일실시예에 있어서, 송신 단말기의 내부 구성을 설명하기 위한 일례이다.
도 10은 본 발명의 일실시예에 있어서, 수신 단말기의 내부 구성을 설명하기 위한 일례이다.
<도면의 주요 부분에 대한 부호의 설명>
100: 데이터 인증 시스템
101: 신호 채널
102: 송신 단말기
103: 수신 단말기
104: 음성 채널

Claims (29)

  1. 데이터를 인증(verification)하는 방법에 있어서,
    송신 단말기에서 수신 단말기로 신호 채널을 통해 데이터를 전송하는 단계;
    상기 송신 단말기에서 상기 데이터를 이용하여 생성된 제1 비트셋을 음성 채널을 통해 상기 수신 단말기로 전송하는 단계; 및
    상기 수신 단말기에서 상기 데이터를 통해 생성된 제2 비트셋을 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 단계
    를 포함하는 데이터 인증 방법.
  2. 제1항에 있어서,
    상기 제1 비트셋 및 상기 제2 비트셋은 상기 송신 단말기 및 상기 수신 단말기에서 각각 상기 데이터를 통해 계산된 해쉬값(hash value)과 동일한 길이의 선택 마스크(selection mask)를 이용하여 상기 해쉬값으로부터 선택된 비트의 집합이고,
    상기 선택 마스크는 상기 송신 단말기와 상기 수신 단말기간에 미리 정의되는 것을 특징으로 하는 데이터 인증 방법.
  3. 제1항에 있어서,
    상기 송신 단말기에서 상기 데이터를 이용하여 생성된 제1 비트셋을 음성 채널을 통해 상기 수신 단말기로 전송하는 상기 단계는,
    상기 데이터의 해쉬값를 계산하는 단계;
    상기 해쉬값에서 상기 제1 비트셋을 선택하여 음성 데이터에 임베드(embed)하는 단계; 및
    상기 제1 비트셋이 임베드된 음성 데이터를 상기 음성 채널을 통해 상기 수신 단말기로 전송하는 단계
    를 포함하는 것을 특징으로 하는 데이터 인증 방법.
  4. 제3항에 있어서,
    상기 해쉬값에서 상기 제1 비트셋을 선택하여 음성 데이터에 임베드하는 상기 단계는,
    SI(Synchronization Information) 및 상기 제1 비트셋의 비트 수를 이용하여 BVS(Block of Voice Sample)의 액션 및 상기 제1 비트셋의 비트 포지션을 결정하는 단계;
    상기 제1 비트셋이 포함하는 비트 중 상기 비트 포지션에 대응하는 비트를 선택하는 단계; 및
    상기 선택된 비트 및 상기 액션에 따라 상기 제1 비트셋을 상기 음성 데이터에 임베드하는 단계
    를 포함하는 것을 특징으로 하는 데이터 인증 방법.
  5. 제4항에 있어서,
    상기 액션은 상기 BVS에 상기 선택된 비트의 임베드 여부를 결정하는 것으로, 상기 선택된 비트를 임베드하는 BVS를 의미하는 프로세스 액션(process action) 및 상기 선택된 비트를 임베드 하지 않는 BVS를 의미하는 바이패스 액션(bypass action)을 포함하는 것을 특징으로 하는 데이터 인증 방법.
  6. 제4항에 있어서,
    상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터를 포함하고,
    SI 및 상기 제1 비트셋의 비트 수를 이용하여 BVS의 액션 및 상기 제1 비트셋의 비트 포지션을 결정하는 상기 단계는,
    임의의 BVS에 대해 액션을 프로세스 액션으로 결정하는 제1 단계;
    상기 BVS 이후의 BVS에 대해 상기 스킵 수만큼의 BVS의 액션을 바이패스 액션으로 결정하는 제2 단계;
    상기 반복 수만큼 다음 BVS에 대해 상기 제1 단계 및 상기 제2 단계를 반복 수행하는 제3 단계;
    상기 비트 수만큼 상기 제3 단계를 반복 수행하는 제4 단계;
    상기 제4 단계의 반복 횟수를 현재 비트 포지션으로 결정하는 제 5단계; 및
    상기 인코딩 기간 동안 상기 제4 단계 및 상기 제5 단계를 반복 수행하는 제6 단계
    를 포함하는 것을 특징으로 하는 데이터 인증 방법.
  7. 제4항에 있어서,
    상기 선택된 비트 및 상기 액션에 따라 상기 제1 비트셋을 상기 음성 데이터에 임베드하는 상기 단계는,
    상기 BVS의 액션을 확인하는 제1 단계; 및
    상기 액션이 프로세스 액션인 경우, 상기 선택된 비트를 상기 BVS에 임베드하는 제2 단계
    를 포함하는 것을 특징으로 하는 데이터 인증 방법.
  8. 제7항에 있어서,
    상기 선택된 비트 및 상기 액션에 따라 상기 제1 비트셋을 상기 음성 데이터에 임베드하는 상기 단계는,
    상기 액션이 바이패스 액션인 경우, 상기 BVS를 스킵하는 제3 단계; 및
    상기 제1 단계 내지 상기 제3 단계를 상기 액션이 결정된 모든 BVS에 대해 반복 수행하는 제4 단계
    를 더 포함하는 것을 특징으로 하는 데이터 인증 방법.
  9. 제3항에 있어서,
    상기 제1 비트셋이 임베드된 음성 데이터를 상기 음성 채널을 통해 상기 수신 단말기로 전송하는 상기 단계는,
    상기 제1 비트셋이 임베드된 음성 데이터에 SI를 결합하여 상기 수신 단말기 로 전송하는 단계인 것을 특징으로 하는 데이터 인증 방법.
  10. 제1항에 있어서,
    상기 수신 단말기에서 상기 데이터를 통해 생성된 제2 비트셋을 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 상기 단계는,
    상기 송신 단말기로부터 상기 신호 채널을 통해 수신된 상기 데이터의 해쉬값을 계산하는 단계;
    상기 해쉬값에서 상기 제2 비트셋을 선택하는 단계; 및
    상기 송신 단말기로부터 상기 음성 채널을 통해 수신된 상기 제1 비트셋의 비트와 상기 제2 비트셋의 비트를 비교하여 상기 데이터를 인증하는 단계
    를 포함하는 것을 특징으로 하는 데이터 인증 방법.
  11. 제10항에 있어서,
    상기 제1 비트셋은 상기 음성 채널을 통해 수신된 음성 데이터가 포함하는 BVS에 임베드되어 함께 수신되고,
    상기 음성 데이터는 SI를 더 포함하는 것을 특징으로 하는 데이터 인증 방법.
  12. 제10항에 있어서,
    상기 송신 단말기로부터 상기 음성 채널을 통해 수신된 상기 제1 비트셋의 비트와 상기 제2 비트셋의 비트를 비교하여 상기 데이터를 인증하는 상기 단계는,
    상기 음성 채널을 통해 수신된 음성 데이터에서 BVS 및 SI를 분리하는 단계;
    상기 SI 및 상기 제2 비트셋의 비트 수를 이용하여 상기 BVS의 액션 및 비트 포지션을 결정하는 단계;
    상기 액션에 따라 상기 BVS에서 제1 비트를 추출하는 단계;
    상기 비트 포지션에 기초하여 상기 제2 비트셋에서 제2 비트를 선택하는 단계; 및
    상기 액션, 상기 제1 비트, 상기 제2 비트 및 상기 비트 포지션에 기초하여 상기 데이터를 인증하는 단계
    를 포함하는 것을 특징으로 하는 데이터 인증 방법.
  13. 제12항에 있어서,
    상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터를 포함하고,
    상기 SI 및 상기 제2 비트셋의 비트 수를 이용하여 상기 BVS의 액션 및 비트 포지션을 결정하는 상기 단계는,
    BVS의 액션을 프로세스 액션으로 결정하는 제1 단계;
    상기 BVS 이후의 BVS에 대해 상기 스킵 수만큼의 BVS의 액션을 바이패스 액션으로 결정하는 제2 단계;
    상기 반복 수만큼 다음 BVS에 대해 상기 제1 단계 및 상기 제2 단계를 반복 수행하는 제3 단계;
    상기 비트 수만큼 상기 제3 단계를 반복 수행하는 제4 단계;
    상기 제4 단계의 반복 횟수를 현재 비트 포지션으로 결정하는 제 5단계; 및
    상기 인코딩 기간 동안 상기 제4 단계 및 상기 제5 단계를 반복 수행하는 제6 단계
    를 포함하는 것을 특징으로 하는 데이터 인증 방법.
  14. 제12항에 있어서,
    상기 액션은 프로세스 액션 또는 바이패스 액션으로 결정되고,
    상기 액션에 따라 상기 BVS에서 제1 비트를 추출하는 상기 단계는,
    상기 BVS의 액션을 확인하여 상기 액션이 상기 바이패스 액션인 경우 상기 BVS를 스킵하고, 상기 프로세스 액션인 경우 상기 제1 비트를 상기 BVS로부터 추출하는 단계인 것을 특징으로 하는 데이터 인증 방법.
  15. 제12항에 있어서,
    상기 액션, 상기 제1 비트, 상기 제2 비트 및 상기 비트 포지션에 기초하여 상기 데이터를 인증하는 상기 단계는,
    상기 제2 비트셋의 비트 수만큼, 상기 액션에 따라 상기 BVS에서 상기 제1 비트를 추출하고, 상기 비트 포지션에 기초하여 상기 제2 비트셋에서 상기 제2 비트를 선택하여 상기 제1 비트 및 상기 제2 비트를 비교하는 단계; 및
    상기 비교의 결과, 상기 제1 비트 및 상기 제2 비트간의 매칭되는 비트의 개수가 기선정된 제1 수 이상이고, 상기 제1 비트 및 상기 제2 비트간의 비매칭되는 비트의 개수가 기선정된 제2 수 이하인 경우, 상기 데이터를 인증하는 단계
    를 포함하는 데이터 인증 방법.
  16. 제15항에 있어서,
    상기 제1 수는 상기 데이터를 인증하기 위한 성공적인 매칭의 최소 수이고,
    상기 제2 수는 상기 비매칭되는 오류에 대해 허용 가능한 최대 수인 것을 특징으로 하는 데이터 인증 방법.
  17. 제1항에 있어서,
    상기 데이터 인증의 결과를 상기 수신 단말기를 통해 사용자에게 제공하는 단계
    를 더 포함하는 데이터 인증 방법.
  18. 제1항 내지 제17항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  19. 데이터 인증 시스템에 있어서,
    신호 채널을 통해 데이터를 전송하고, 음성 채널을 통해 상기 데이터를 통해 생성된 제1 비트셋을 전송하는 송신 단말기; 및
    상기 데이터를 수신하여 제2 비트셋을 생성하고, 상기 음성 채널을 통해 수신한 상기 제1 비트셋과 비교하여 상기 데이터를 인증하는 수신 단말기
    를 포함하는 데이터 인증 시스템.
  20. 제19항에 있어서,
    상기 제1 비트셋 및 상기 제2 비트셋은 상기 송신 단말기 및 상기 수신 단말기에서 각각 상기 데이터를 통해 계산된 해쉬값과 동일한 길이의 선택 마스크를 이용하여 상기 해쉬값으로부터 선택된 비트의 집합이고,
    상기 선택 마스크는 상기 송신 단말기와 상기 수신 단말기간에 미리 정의되는 것을 특징으로 하는 데이터 인증 시스템.
  21. 제19항에 있어서,
    상기 송신 단말기는,
    상기 데이터의 해쉬값을 계산하는 해쉬값 계산부;
    상기 해쉬값에서 상기 제1 비트셋을 선택하는 제1 비트셋 선택부;
    SI를 생성하는 SI 생성부;
    상기 제1 비트셋의 비트 수 및 상기 SI를 이용하여 BVS의 액션을 결정하고, 상기 SI를 이용하여 비트 포지션을 결정하는 SI 분석부;
    상기 비트 포지션을 이용하여 상기 제1 비트셋의 비트 중 적어도 하나의 비트를 선택하는 비트 선택부; 및
    상기 액션에 따라 상기 BVS에 상기 선택된 비트를 임베드하는 인코딩부
    를 포함하는 것을 특징으로 하는 데이터 인증 시스템.
  22. 제21항에 있어서,
    상기 송신 단말기는,
    상기 선택된 비트가 임베드된 상기 BVS에 상기 SI를 결합하는 결합부; 및
    상기 SI가 결합된 상기 BVS를 음성 데이터로서 상기 음성 채널을 통해 상기 수신 단말기로 전송하는 패킷 전송부
    를 더 포함하고,
    상기 SI가 결합된 상기 BVS는 상기 음성 채널을 통해 상기 수신 단말기로 전송되는 것을 특징으로 하는 데이터 인증 시스템.
  23. 제21항에 있어서,
    상기 SI 분석부는,
    상기 SI 및 상기 제1 비트셋의 비트 수에 기초하여 상기 BVS의 액션을 결정하는 액션 결정부; 및
    상기 SI에 기초하여 상기 비트 포지션을 결정하는 비트 포지션 결정부
    를 포함하는 것을 특징으로 하는 데이터 인증 시스템.
  24. 제23항에 있어서,
    상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터 중 적어도 하나의 파라미터를 포함하고,
    상기 액션 결정부는,
    상기 SI가 포함하는 파라미터 및 상기 비트 수를 이용하여 상기 BVS의 액션을 상기 선택된 비트를 임베드하는 프로세스 액션 또는 상기 선택된 비트를 임베드 하지 않는 바이패스 액션으로 결정하는 것을 특징으로 하는 데이터 인증 시스템.
  25. 제23항에 있어서,
    상기 SI는 스킵 수, 반복 수 및 인코딩 기간의 파라미터 중 적어도 하나의 파라미터를 포함하고,
    상기 비트 포지션 결정부는,
    상기 SI가 포함하는 파라미터를 이용하여 상기 제1 비트셋의 비트 중 상기 임베드 할 비트를 선택하기 위한 상기 비트 포지션을 결정하는 것을 특징으로 하는 데이터 인증 시스템.
  26. 제21항에 있어서,
    상기 인코딩부는,
    상기 BVS의 액션을 확인하는 액션 확인부; 및
    상기 액션이 바이패스 액션인 경우, 상기 BVS를 스킵하고, 프로세스 액션인 경우 상기 선택된 비트를 상기 BVS에 임베드하는 임베드부
    를 포함하는 것을 특징으로 하는 데이터 인증 시스템.
  27. 제19항에 있어서,
    상기 수신 단말기는,
    상기 데이터의 해쉬값을 계산하는 해쉬값 계산부;
    상기 해쉬값에서 상기 제2 비트셋을 선택하는 제2 비트셋 선택부;
    상기 음성 채널을 통해 수신된 음성 데이터에서 BVS 및 SI를 분리하는 분리부;
    상기 SI 및 상기 제2 비트셋의 비트 수를 이용하여 상기 BVS의 액션을 결정하고, 상기 SI를 이용하여 비트 포지션을 결정하는 SI 분석부;
    상기 액션에 따라 상기 BVS로부터 제1 비트를 추출하는 디코딩부;
    상기 비트 포지션을 이용하여 상기 제2 비트셋의 비트 중 제2 비트를 선택하는 비트 선택부; 및
    상기 제1 비트, 상기 제2 비트, 상기 액션 및 상기 비트 포지션에 기초하여 상기 데이터를 인증하는 데이터 인증부
    를 포함하는 것을 특징으로 하는 데이터 인증 시스템.
  28. 제27항에 있어서,
    상기 액션은 바이패스 액션 또는 프로세스 액션으로 결정되고,
    상기 디코딩부는,
    상기 BVS의 액션을 확인하는 액션 확인부; 및
    상기 액션이 상기 바이패스 액션인 경우 상기 BVS를 스킵하고, 상기 프로세스 액션인 경우 상기 제1 비트를 상기 BVS로부터 추출하는 비트 추출부
    를 포함하는 것을 특징으로 하는 데이터 인증 시스템.
  29. 제27항에 있어서,
    상기 데이터 인증부는,
    상기 제2 비트셋의 비트 수만큼, 상기 액션에 따라 상기 BVS에서 상기 제1 비트를 추출하고, 상기 비트 포지션에 기초하여 상기 제2 비트셋에서 상기 제2 비트를 선택하여 상기 제1 비트 및 상기 제2 비트를 비교하고,
    상기 비교의 결과, 상기 제1 비트 및 상기 제2 비트간의 매칭되는 비트의 개수가 기선정된 제1 수 이상이고, 상기 제1 비트 및 상기 제2 비트간의 비매칭되는 비트의 개수가 기선정된 제2 수 이하인 경우, 상기 데이터를 인증하는 데이터 인증 시스템.
KR1020070071941A 2007-07-18 2007-07-18 데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템 KR101412747B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070071941A KR101412747B1 (ko) 2007-07-18 2007-07-18 데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템
US12/003,708 US8036249B2 (en) 2007-07-18 2007-12-31 System and method of data verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070071941A KR101412747B1 (ko) 2007-07-18 2007-07-18 데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템

Publications (2)

Publication Number Publication Date
KR20090008739A KR20090008739A (ko) 2009-01-22
KR101412747B1 true KR101412747B1 (ko) 2014-07-01

Family

ID=40264806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070071941A KR101412747B1 (ko) 2007-07-18 2007-07-18 데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템

Country Status (2)

Country Link
US (1) US8036249B2 (ko)
KR (1) KR101412747B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2505231B (en) * 2012-08-23 2014-10-01 Vzinternet Ltd Data verification
US11070523B2 (en) * 2017-04-26 2021-07-20 National University Of Kaohsiung Digital data transmission system, device and method with an identity-masking mechanism
CN112148694B (zh) * 2019-06-28 2022-06-14 华为技术有限公司 一种用于电子设备的数据压缩、数据解压方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000074997A (ko) * 1999-05-27 2000-12-15 조정남 음성 부호화기의 오류 제어 방법
KR20020061115A (ko) * 2001-01-12 2002-07-22 가부시키가이샤 엔.티.티.도코모 암호화 장치, 복호 장치, 인증정보 부여 장치, 암호화방법, 복호 방법, 및 인증정보 부여 방법
KR20050024374A (ko) * 2002-06-24 2005-03-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 이미지 인증 시그너쳐들의 임베딩
KR20050116896A (ko) * 2004-06-08 2005-12-13 오성주 음성데이터 통신시스템에서 데이터서비스장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980069643A (ko) 1997-02-28 1998-10-26 김광호 음성 신호의 특정 구간을 이용한 디지털 정보 전송 방법
US6529602B1 (en) * 1997-08-19 2003-03-04 Walker Digital, Llc Method and apparatus for the secure storage of audio signals
US7177963B2 (en) * 2002-02-01 2007-02-13 Broadcom Corporation System and method for low-overhead monitoring of transmit queue empty status
US20030149874A1 (en) 2002-02-06 2003-08-07 Xerox Corporation Systems and methods for authenticating communications in a network medium
US7454418B1 (en) * 2003-11-07 2008-11-18 Qiang Wang Fast signature scan
US7747013B2 (en) * 2005-02-24 2010-06-29 Mitel Networks Corporation Early detection system and method for encrypted signals within packet networks
US8345871B2 (en) * 2007-03-15 2013-01-01 Palo Alto Research Center Incorporated Fast authentication over slow channels

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000074997A (ko) * 1999-05-27 2000-12-15 조정남 음성 부호화기의 오류 제어 방법
KR20020061115A (ko) * 2001-01-12 2002-07-22 가부시키가이샤 엔.티.티.도코모 암호화 장치, 복호 장치, 인증정보 부여 장치, 암호화방법, 복호 방법, 및 인증정보 부여 방법
KR20050024374A (ko) * 2002-06-24 2005-03-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 이미지 인증 시그너쳐들의 임베딩
KR20050116896A (ko) * 2004-06-08 2005-12-13 오성주 음성데이터 통신시스템에서 데이터서비스장치 및 방법

Also Published As

Publication number Publication date
US8036249B2 (en) 2011-10-11
KR20090008739A (ko) 2009-01-22
US20090022180A1 (en) 2009-01-22

Similar Documents

Publication Publication Date Title
US11075762B2 (en) Metadata transcoding
JP6581324B2 (ja) 複数のメディア処理ノードによる適応処理
JP5542205B2 (ja) データ・ストリームの認証
Balasubramaniyan et al. Pindr0p: Using single-ended audio features to determine call provenance
CN102802150B (zh) 手机号码验证方法、系统以及终端
US9401150B1 (en) Systems and methods to detect lost audio frames from a continuous audio signal
KR101412747B1 (ko) 데이터를 인증하는 방법 및 상기 방법을 수행하는 시스템
Fraczek et al. Steg Blocks: Ensuring perfect undetectability of network steganography
US20080112565A1 (en) Method of inserting vector information for estimating voice data in key re-synchronization period, method of transmitting vector information, and method of estimating voice data in key re-synchronization using vector information
US8280052B2 (en) Digital signature of changing signals using feature extraction

Legal Events

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

Payment date: 20170518

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180517

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190520

Year of fee payment: 6