KR101440328B1 - 메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치 - Google Patents

메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치 Download PDF

Info

Publication number
KR101440328B1
KR101440328B1 KR1020130156612A KR20130156612A KR101440328B1 KR 101440328 B1 KR101440328 B1 KR 101440328B1 KR 1020130156612 A KR1020130156612 A KR 1020130156612A KR 20130156612 A KR20130156612 A KR 20130156612A KR 101440328 B1 KR101440328 B1 KR 101440328B1
Authority
KR
South Korea
Prior art keywords
data
secret key
bits
authentication code
seed data
Prior art date
Application number
KR1020130156612A
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 US14/280,898 priority Critical patent/US9363079B2/en
Priority to CN201410213826.6A priority patent/CN104184586B/zh
Application granted granted Critical
Publication of KR101440328B1 publication Critical patent/KR101440328B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 메시지 인증 코드의 생성 방법에 관한 것으로 본 발명에 따른 메시지 인증 코드 생성 방법은 미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 씨드(seed) 데이터와 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화하여 제2 시크릿 키를 생성하는 단계; 및 상기 암호화 알고리즘에 따라 상기 씨드 데이터와 상기 제2 시크릿 키 및 상기 제1 시크릿 키와 상기 제2 시크릿 키의 비트수 차이에 따른 제2 보조 데이터를 입력 값으로 암호화하는 단계를 포함한다. 본 발명에 따르면 난수 값에 따라 변경되는 시크릿 키를 생성하고 난수 정보 및 생성된 시크릿 키를 이용하여 메시지 인증 코드를 생성하여 인증을 수행하므로 보다 보안성이 강화된 인증을 수행할 수 있다. 또한, 하나의 암호화 알고리즘의 입력 값을 달리하여 반복 사용하므로 복수의 암호화 과정에 추가적인 메모리나, 암호화 모듈이 불필요하므로 이에 따른 비용 절감이 가능하다.

Description

메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치{Method for producing a message authenticating code and authenticating device using the message authenticating code}
본 발명은 메시지 인증 코드의 생성 방법에 관한 것으로 보다 상세하게는 시도 응답 방식(Challenge and Response)에 의해 메시지 인증 코드를 생성하여 인증을 수행하는 방법에 관한 것이다.
일반적으로 전자 장치는 액세서리, 배터리 등의 주변 장치와 상호 연동하여 동작을 수행할 수 있다.
현재 전자 장치에 장착되는 주변 장치는 필요한 경우 아무런 제약없이 누구나 쉽게 주변 장치를 탈착 및 장착할 수 있다. 하지만, 정품 주변 장치가 아닌 비매품을 전자 장치에 장착하여 사용하는 경우, 오동작 및 과열로 인해 사용자가 피해를 보는 경우가 발생하는 등 전자 장치의 안전성 여부를 신뢰할 수 없으나, 종래에는 전자 장치에서 정품 주변 장치와 그 이외의 비매품 주변 장치를 구분할 수 있는 방법이 없다는 문제점이 있었다.
대한민국 등록특허 제 10-0655051호에는 전자태그 기술을 이용하여 이동통신 단말기에 장착하고자 하는 배터리의 정품 인증이 가능하도록 한 이동통신 단말기의 정품 주변 장치 인증 장치 및 방법이 개시되어 있다.
대한민국 등록특허 제 10-0655051호는 단순히 전자태그 기술을 이용하여 이동 단말기에 장착하고자 하는 배터리의 정품 인증을 수행하는 기술을 개시하고 있으나, 전자태그는 위조나 복제가 용이하므로 보다 보안성이 강한 인증 방법이 요구되고 있다.
본 발명은 시도 응답 방식에 의해 메시지 인증 코드를 생성하여 주변 장치와 인증 장치 간의 인증을 수행하는 방법을 제안하는 것을 목적으로 한다.
상기 기술적 과제를 해결하기 위한 본 실시예에 따른 메시지 인증 코드 생성 방법은 미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 씨드(seed) 데이터와 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화하여 제2 시크릿 키를 생성하는 단계; 및 상기 암호화 알고리즘에 따라 상기 씨드 데이터와 상기 제2 시크릿 키 및 상기 제1 시크릿 키와 상기 제2 시크릿 키의 비트수 차이에 따른 제2 보조 데이터를 입력 값으로 암호화하는 단계를 포함하는 것이 바람직하다.
상기 암호화 알고리즘은 입력 받은 상기 기준 비트수의 데이터를 미리 정해진 기준 출력 비트수의 데이터로 변환하는 해싱 알고리즘인 것이 바람직하다.
상기 암호화 단계는 상기 기준 출력 비트수를 갖는 제2 시크릿 키 와 상기 씨드 데이터 및 상기 제2 보조 데이터를 입력으로 암호화하여, 상기 기준 출력 비트수를 갖는 메시지 인증 코드를 생성하는 것을 특징으로 하는 데이터인 것이 바람직하다.
상기 제1 또는 제2 보조 데이터는 상기 기준 비트 수를 채우기 위하여 상기 씨드 데이터와 상기 제1 또는 제2 시크릿 키가 차지하는 비트의 나머지 비트를 더미처리하여 결정되는 것이 바람직하다.
상기 씨드 데이터는 난수 정보를 포함하고, 상기 제2 시크릿 키는 및 상기 메시지 인증코드는 상기 난수 정보에 따라 변경 되는 것이 바람직하다.
상기 씨드 데이터는 설정 가능한 스크램블링 규칙을 정의하는 정보를 더 포함하고 상기 암호화 알고리즘은 상기 스크램블링 규칙에 따라 스크램블링된 상기 제1 또는 제2 시크릿 키를 입력 값으로 암호화하는 것이 바람직하다.
상기 기술적 과제를 해결하기 위한 본 실시예에 따른 인증 장치는 미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 씨드(seed) 데이터와 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화하여 제2 시크릿 키를 생성하거나, 상기 씨드 데이터와 상기 생성된 제2 시크릿 키 및 상기 제1 시크릿 키와 상기 제2 시크릿 키의 비트수 차이에 따른 제2 보조 데이터를 입력 값으로 암호화하여 메시지 인증 코드를 생성하는 암호화부; 상기 생성된 메시지 인증 코드와 인증 요청 장치로부터 수신된 메시지 인증 코드를 비교하여 인증을 수행하는 인증부를 포함한다.
상기 기술적 과제를 해결하기 위한 본 실시예에 따른 인증 장치는 요청 장치는 인증 장치로부터 생성된 씨드(seed) 데이터를 수신하는 수신부; 미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 상기 씨드 데이터와 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화하여 제2 시크릿 키를 생성하거나, 상기 씨드 데이터와 상기 생성된 제2 시크릿 키 및 상기 제1 시크릿 키와 상기 제2 시크릿 키의 비트수 차이에 따른 제2 보조 데이터를 입력 값으로 암호화하여 메시지 인증 코드를 생성하는 암호화부; 및 상기 생성된 메시지 인증 코드를 상기 인증 장치로 전송하는 송신부를 포함한다.
본 발명에 따르면 난수 값에 따라 변경되는 시크릿 키를 생성하고 난수 정보 및 생성된 시크릿 키를 이용하여 메시지 인증 코드를 생성하여 인증을 수행하므로 보다 보안성이 강화된 인증을 수행할 수 있다. 또한, 하나의 암호화 알고리즘의 입력 값을 달리하여 반복 사용하므로 복수의 암호화 과정에 추가적인 메모리나, 암호화 모듈이 불필요하므로 이에 따른 비용 절감이 가능하다.
도 1은 본 발명의 일실시예에 따른 메시지 인증 코드 생성 방법을 이용하는 인증 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일실시예에 따른 메시지 인증 코드 생성 방법을 나타내는 흐름도이다.
도 3은 일반적인 암호화 알고리즘을 통한 메시지 인증 코드 생성 방법을 나타내는 흐름도이다.
도 4는 도 2에 따른 메시지 인증 코드 생성 방법을 보다 상세히 나타내는 흐름도이다.
도 5는 도 3에 따른 메시지 인증 코드 생성 방법을 보다 상세히 나타내는 흐름도이다.
도 6은 본 발명의 일실시예에 따른 메시지 인증 코드를 통한 인증 과정을 나타내는 흐름도이다.
도 7은 본 발명의 일실시예에 따른 메시지 인증 코드 생성 방법의 수행 결과를 나타내기 위한 도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는
한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
명세서 전체에서 암호화란 의미를 알 수 없는 형식(암호문)으로 정보를 변환하는 것을 의미한다. 암호문의 형태로 정보를 기억 장치에 저장하거나 통신 회선을 통해 전송함으로써 정보를 보호할 수 있다.
한편, 명세서 전체에서 복호화란 암호화 과정의 역과정으로 암호 알고리즘에 의하여 암호문을 평문으로 바꾸는 과정을 의미한다. 암호화 방식은 크게 대칭키 암호화 방식과 비대칭키 암호화 방식의 두 가지로 구분될 수 있다. 대칭키 암호화 방식은 암호화와 복호화에 동일한 키를 사용하는 것을 말하고, 비대칭키 암호화 방식은 암호화와 복호화에 서로 다른 키를 사용하는 것을 말한다.
일반적으로 비대칭키 암호화 방식이 대칭키 암호화 방식에 비해 보안성이 더 뛰어나다는 장점이 있지만, 대칭키 암호화 방식에 비해 하드웨어 복잡성이 증가하고, 연산 시간이 길다는 단점이 있다.
따라서, 본 발명에서는 대칭키 암호화 방식에 따라 하드웨어 복잡성을 감소시키고, 연산 시간의 증가를 최소화하는 메시지 인증 코드의 생성 방법을 통한 암호화 방법에 대하여 설명한다.
이하에는 첨부한 도면을 참조하여 본 발명에 대하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 메시지 인증 코드 생성 방법을 이용하여 인증을 수행하는 인증 시스템을 나타내는 도이다.
도 1을 참조하면, 본 실시예에 따른 인증 시스템은 인증 장치(100)와 인증 요청 장치(주변 장치) (200)를 포함한다.
도시된 바와 같이, 인증 장치(100)와 인증 장치(100)에 장착되는 인증 요청 장치(200)는 통신을 수행할 수 있다. 통신을 통해 인증 장치(100)는 인증 요청 장치(200)의 정품 여부를 판별할 수 있다.
인증 장치(100)는 다양한 형태로 구현될 수 있다. 예를 들어, 인증 장치(100)는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(notebook computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 태블릿 PC, 텔레비전 등의 미디어 플레이어 장치, 프린터, 전기 자동차, 전기 자전거 등을 포함할 수 있다.
또한, 인증 요청 장치(200)는 인증 장치(100)에 전기적으로 연결(예: 장착 또는 탑재)되어 인증 장치(100)와 상호 연동되어 작동할 수 있는 장치를 의미 한다. 인증 요청 장치(200)는 배터리, USB 장치, 게임 콘솔, 프린터 카트리지, 전자 장치(100)에 탑재 또는 각종 액세서리, 스피커, 리모콘 등을 포함할 수 있다.
각각의 장치의 구성에 대하여 설명하면 본 실시예에서 인증 장치(100)는 난수 생성부(110), 암호화부(120), 인증부(130)를 포함하며, 인증 요청 장치(200)는 수신부(210), 암호화부(220), 송신부(230)를 포함한다.
즉, 인증 장치(100)의 난수 생성부(110)는 인증 요청 장치(200)로부터 인증이 요청되는 경우 난수를 생성하여 인증 요청 장치(200)의 수신부(210)로 전송한다.
난수가 생성되거나, 수신되면 각각의 암호화부(120, 220)는 난수를 이용하여 암호화를 수행하고 메시지 인증 코드를 생성한다. 메시지 인증 코드가 생성되면 인증 요청 장치(200)의 송신부(230)는 생성된 메시지 인증 코드를 인증 장치(100)로 전송하게 된다.
이때, 인증 장치(100)가 난수를 생성하여 전송하는 것을 시도(Challenge)라고 하며, 인증 요청 장치(200)가 생성된 메시지 인증 코드를 전송하는 것을 응답(Response)라 하며, 이를 묶어 시도 응답(Challenge and response)방식이라고 한다.
이후 인증 장치(100)의 인증부(130)는 응답으로 수신된 메시지 인증 코드와 자신의 암호화부(120)에서 생성된 메시지 인증 코드를 비교하여 인증 여부를 결정하게 된다.
이하, 도 2를 참조하여 본 발명의 일실시예에 따라 각각의 인증 장치(100) 또는 인증 요청 장치(200)의 암호화부(120, 220)에서 수행되는 메시지 인증 코드 생성 방법에 대하여 상세히 설명한다.
도 2를 참조하면, 본 실시예에 따른 메시지 인증 코드 생성 방법은 제1 데이터 입력 단계(S110), 제2 시크릿 키 생성 단계(S120), 제2 데이터 입력 단계(S130), 메시지 인증 코드 생성 단계(S140)를 포함한다.
먼저 제1 데이터 입력 단계(S110)는 제2 시크릿 키 생성 단계(S120)에서 제2 시크릿 키를 생성하기 위한 입력 값을 입력 받는다.
구체적으로 본 실시예에서 제2 시크릿 키 생성하기 위하여 암호화 알고리즘은 씨드(seed) 데이터와 제1 시크릿 키 및 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 받는다.
다음, 제2 시크릿 키 생성 단계(S120)는 암호와 알고리즘에 따라 데이터 입력 단계에서 입력 받은 데이터를 이용하여 제2 시크릿 키를 생성한다.
본 실시예에서 암호화 알고리즘은 미리 정해진 기준 비트수의 데이터를 입력 값으로 암호화를 수행하며, 보다 상세하게는 입력 받은 기준 비트수의 데이터를 미리 정해진 기준 출력 비트수의 데이터로 변환하는 해싱 알고리즘인 것이 바람직하다.
즉, 본 실시예에 의하면, 출력값으로부터 입력값의 추론을 어렵게 하기 위해 일방향 특성을 갖는 해시 함수가 암호화 알고리즘으로 사용될 수 있다. 일방향 특성을 갖는 해시 함수로 MD4(Message-Digest algorithm4), MD5(Message-Digest algorithm 5), SHA(Secure Hash Algorithm)-1, SHA(Secure Hash Algorithm)-512, CRC(Cyclical Redundancy Check) 등이 있으며, 도 4를 참조하면 본 실시예에서는 SHA-1을 암호화 알고리즘으로 사용한 것으로 예시하여 설명한다.
도 4를 참조하면, 본실시예에서 암호화 알고리즘은 제1 데이터 입력 단계(S110)에서 입력 받은 기준 비트수의 데이터를 미리 정해진 기준 출력 비트수의 데이터로 변환하는 알고리즘으로써, 미리 정해진 기준 비트수 n비트를 입력으로 하여, 입력 받은 데이터를 160비트의 데이터로 변환한다.
따라서 본 실시예에서 제1 데이터 입력 단계(S110)는 s비트의 제1 시크릿 키(S-Key)와 씨드 데이터로 c비트의 챌린지(CHLG:Challenge)값 및, n비트를 채우기 위한 나머지 n-s-c비트의 제1 더미 비트(PAD)를 입력 받는다.
이때, 암호화를 수행하기 위한 씨드 데이터는 도 1의 난수 생성부(110)에서 생성되거나 또는 수신부(210)에서 수신된 난수 정보로서 챌린지 값을 포함한다. 또한 본 실시예에서 보조 데이터는 기준 비트수를 채우기 위한 데이터로서, 씨드 데이터와 제1 또는 제2 시크릿 키가 차지하는 비트의 나머지 비트를 더미 처리하여 결정된다. 즉, 나머지 데이터에 해당하는 비트(n-s-c비트)는 0으로 패딩(PAD)되어 더미 처리될 수 있다.
또한 본 실시예에서 씨드 데이터는 사용자에 의해 설정 가능한 스크램블링 규칙을 정의하는 정보를 더 포함할 수 있다. 즉 씨드 데이터는 생성된 난수 정보외에 데이터의 일부 위치를 변경하는 스크램블 규칙 정보를 더 포함할 수 있다. 즉 스크램블 규칙 정보가 기본 값으로 설정된 경우에는 별도의 스크램블 동작 없이 제1 또는 제2 시크릿 키를 입력 받으나, 사용자에 의해 규칙이 설정된 경우에는 이에 따라 시크릿 키의 특정 정보 값의 위치를 변경함으로써 시크릿 키의 보안성을 더욱 높일 수 있다.
본 실시예에서 스크램블링 규칙은 인증 장치(100)의 펌웨어 업그레이드를 통해서 설정되거나 다시 재설정 될 수 있다.
다시 도 2를 참고하면, 제2 시크릿 키 생성 단계(S120)는 미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 씨드(seed) 데이터와 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화를 수행한다.
다음, 제2 데이터 입력 단계(S130)는 암호화 알고리즘에 따라 씨드 데이터와 상술한 제2 시크릿 키 생성 단계(S120)에서 생성된 제2 시크릿 키 및 제1 시크릿 키와 제2 시크릿 키의 비트수 차이에 따른 제2 보조 데이터를 입력 받는다.
즉, 상술한 제1 데이터 입력 단계(S110)의 씨드 데이터를 동일하게 입력 받고, 제2 시크릿 키 생성단계(S120)에서 생성된 제2 시크릿 키를 제1 시크릿 키 대신에 입력 받는다. 이때, 제1 시크릿 키 대신 제2 시크릿 키를 입력 받으므로 이에 따른 비트 수의 차이에 따라 크기가 달라진 제2 보조 데이터를 입력 받는다.
도 4를 참조하면, 제1 데이터 입력 단계(S110)에서 제1 시크릿 키는 s비트였으나, 제2 시크릿 키는 암호화 알고리즘으로 160비트로 그 크기가 증가하였고, 따라서 제2 보조 데이터는 크기의 증가분 96비트를 반영하여 288비트의 크기를 갖는 것이 바람직하다.
또한 본 실시예에서 제2 시크릿 키의 경우 그대로 입력 받을 수도 있으나, 상술한 바와 같이 스크램블링 규칙 정보가 씨드 데이터에 포함되어 있는 경우에는 이에 따라 제2 시크릿 키의 특정 정보 값의 위치를 변경하여 입력 받을 수도 있다.
다음, 메시지 인증 코드 생성 단계(S140)는 제2 데이터 입력 단계(S130)에서 입력 받은 데이터를 암호화 하여 메시지 인증 코드를 생성한다.
이상 본 실시예에서는 두 번의 암호화 단계를 통해 메시지 인증 코드를 생성하는 것을 예로 들었으나, 필요에 따라서 반복하여 수행될 수 있으며 이러한 반복 횟수는 역시 씨드 데이터에 포함 될 수 있다. 즉 씨드 데이터에 3번의 반복을 통해 메시지 인증코드를 생성하는 경우 제2 시크릿 키를 통해 암호화를 수행한 결과를 제3 시크릿 키로 이용하여 메시지 인증 코드를 생성할 수도 있다.
즉 본 실시예에서는 동일한 암호화 알고리즘을 이용하므로 암호화 횟수와 무관하게 별도의 추가 메모리나, 암호화 모듈이 필요 없으며 따라서 하드웨어 또는 소프트웨어 구현의 복잡성을 낮추고, 비용의 증가 없이 메시지 인증 코드의 보안성을 높일 수 있다.
이에 대하여 도 3에 나타나는 인증 방법과의 비교를 통해 보다 상세히 설명한다. 도 3은 별도의 제2 시크릿 키의 생성 없이, 제1 시크릿 키를 이용하여 메시지 인증 코드를 생성하는 방법으로서, 제1 시크릿 키와 씨드 데이터 및 보조 데이터를 입력 받는 데이터 입력 단계(S10)와 이를 이용하여 메시지 인증 코드를 생성하는 메시지 인증 코드 생성 단계(S20)로 구성된다.
도 4의 상술한 실시예에서 사용된 동일한 암호화 알고리즘을 이용하여 메시지 인증 코드를 생성하는 경우 도 3에 따른 메시지 인증 코드는 도 5와 같은 과정을 통해 생성될 수 있다.
도 5에 의하면, 암호화 알고리즘의 입력 값으로 s비트의 시크릿 키(S-Key) 및 c비트의 씨드 데이터가 사용된다. 상술한 실시예와 동일하게 암호화 알고리즘의 입력값은 n비트로 정해졌기 때문에 나머지 데이터에 해당하는 비트(n-s-c=384 비트)는 0으로 패딩되어 더미 처리된다. s비트의 시크릿 키(S-Key) 및 c비트의 씨드 데이터를 포함하는 n비트의 입력값이 입력된 경우, 160비트의 출력값이 생성된다. 이 때 도 5에 따른 메시지 인증 코드 생성 방법은 160 비트의 출력값이 메시지 인증 코드가 된다.
도 4와 도 5의 실시예를 비교하면, 도 4에서는 S120 단계 및 S140 단계에서 각각 암호화 과정(즉, 2번의 암호화 과정)이 수행되는 반면, 도 5에서는 1번의 암호화 과정(S20)이 수행된다.
이때 해킹을 위하여 제1 시크릿 키를 추론하려는 경우 도 4의 실시예에 의하면, 메시지 인증 코드(MAC)로부터 제2 시크릿 키(SKey*)를 추론하는 단계 및 제2 시크릿 키(S-Key*)로부터 제1 시크릿 키(S-Key)를추론하는 단계(즉, 2 단계)를 거쳐야 제1 시크릿 키(S-Key*)가 추론될 수 있다.
반면, 도 5의 실시예에 의하면, 메시지 인증 코드(MAC)로부터 시크릿 키(S-Key)를 추론하는 단계(S20)(즉, 1 단계)만 거쳐도 시크릿 키(S-Key)가 추론될 수 있다.
따라서 도 5에 의한 1번의 암호화를 통한 메시지 인증 코드 생성 방법 보다 도 4에 의한 2번의 암호화를 통한 메시지 인증 코드 생성 방법이 보안성이 강화되며, 도 4에서는 생성된 제2 시크릿 키(S-Key*)가 제1 시크릿 키(S-Key) 보다 비트 수가 크기 때문에 제2 시크릿 키(S-Key*) 추론을 위한 연산량이 더욱 많아져, 제1 시크릿 키와 동일한 비트수의 정보를 이용하는 도 5에 따른 방법에 비해 보안성이 더욱 강회될 수 있다.
이하, 도 6을 참조하여 상술한 메시지 인증 코드 생성 방법으로 생성된 메시지 인증 코드를 이용하여 시도 응답 방식을 통한 도 1에 따른 인증 장치 및 인증 요청 장치간의 인증 수행 방법에 대하여 설명한다.
도 6은 본 발명의 일실시예에 따른 메시지 인증 코드를 통한 인증 과정을 나타내는 흐름도이다.
도 6을 참조하면, 먼저 본 실시예에 따른 인증 요청 장치가 인증 장치에 인증을 요청하게 되면, 인증 요청 장치는 씨드 데이터로 난수를 생성한다(S105). 씨드 데이터는 인증마다 랜덤하게 생성되는 값으로, 일련의 숫자로 이루어진 랜덤 넘버(Random Number)일 수도 있고, 숫자, 문자 및 기호 중 적어도 2개의 조합으로 이루어질 수도 있다.
생성된 씨드 데이터는 난수 생성부(110)를 통해 상기 인증 요청장치(200)에 전송될 수 있다. 나아가 씨드 데이터는 암호화됨이 없이 인증 요청 장치(200)로 전송될 수도 있고 암호화되어 인증 요청 장치(200)로 전송될 수도 있다. 다만, 씨드 데이터가 암호화되어 인증 요청 장치(200)로 전송되는 경우, 인증 장치의 암호화부(120)는 씨드 데이터 자체의 암호화도 가능하며, 인증 요청 장치(200)는 암호화된 씨드 데이터를 복호화 할 수 있는 복호화부(미도시)를 더 포함할 수 있다.
다음 제1 데이터 입력 단계(S110)는 생성된 난수로 씨드 데이터가 생성되면, 제2 시크릿 키 생성을 위해 메모리에 저장된 제1 시크릿 키를 읽어 들일 수 있다. 이때 메모리는 비휘발성 메모리(Non Volatile Memory)일 수 있다.
제1 시크릿 키는 플레인 텍스트 키(plain text key) 형태로 메모리에 저장될 수도 있지만, 암호화 또는 스크램블(scramble) 되어 저장될 수 있다. 스크램블은 특정 평문에서 일부 데이터의 위치가 바뀌어 지는 것을 포함할 수 있다. 예들 들어, 16비트의 특정 평문이 있다고 가정할 때, 16번째 비트 값과 10번 째 비트 값의 위치가 바뀌어져 있을 때, 상기 특정 평문은 스크램블 되어 있다라고 할 수 있다. 본 명세서는 스크램블도 넓은 의미의 암호화라고 할수 있기에 암호화라고 표현하기로 한다.
상술한 실시예에서는 제1 시크릿 키가 메모리에 암호화되어 있는 것을 예로 설명하지만, 본 발명이 이에 한정되는 것은 아니다. 이 경우, 상기 암호화된 제1 시크릿 키를 원래의 플레인 텍스트 키 형태의 시크릿 키(편의상, '복호화된 키'라고 함)로 복호화하는 규칙 또는 정보는 인증 장치(100)가 저장하고 있다. 이때 제1 시크릿 키가 메모리에 암호화되어 저장되는 경우가 그렇지 않은 경우보다 보안성이 향상될 수 있다.
예를 들어, 인증 장치(100)에서는 메모리에 제1 시크릿 키가 암호화되지 않고 저장될 경우(즉, 플레인 텍스트 키(plain text key) 형태로 저장될 경우), 제1 시크릿 키가 전송되는 전송 라인의 모니터링을 통해 제1 시크릿 키가 해킹될 수 있다. 따라서 해킹 방지를 위해 제1 시크릿 키는 암호화되어 메모리에 저장될 수 있다.
제2 시크릿 키 생성 단계(S120)는 메모리에 저장된 제1 시크릿 키가 읽혀지면, 제1 시크릿 키와 생성된 씨드 데이터를 이용하여 제2 시크릿 키를 생성할 수 있다.
좀 더 구체적으로 설명하면, 제2 시크릿 키 생성 단계(S120)는 제1 시크릿 키를 복호화하여 원래의 복호화된 키를 생성할 수 있다. 그리고 제2 시크릿 키 생성 단계(S120)는 생성된 복호화된 키와 상기 씨드 데이터를 이용하여 제2 시크릿 키를 생성 후, 상기 생성된 제2 시크릿 키를 임시 메모리(Volatile Memory)(미도시)에 저장할 수 있다.
다음 제2 데이터 입력 단계(S130)는 메시지 인증 코드의 생성을 위해 메모리에 저장된 제2 시크릿 키를 읽어 들이고, 상술한 씨드 데이터 및 제2 시크릿 키를 입력 받는다.
메시지 인증 코드 생성 단계(S140)는 상기 임시 메모리에 저장된 제2 시크릿 키와 상기 생성된 씨드 데이터를 이용하여 메시지 인증 코드를 생성 할 수 있다. 제2 시크릿 키 생성 단계인 S120 단계 및 메시지 인증 코드 생성 단계인 S140 단계에서는 특정 암호화 알고리즘이 사용될 수 있다.
각 단계마다 서로 다른 암호화 알고리즘이 사용될 수도 있지만, 구현의 복잡성을 낮추기 위해 S120 단계 및 S140 단계 모두 동일한 암호화 알고리즘이 사용될 수 있다.
또한, 인증 장치(100)에서 상술한 예에 따라 메시지 인증 코드를 생성하는 동안, 인증 요청 장치(200) 역시 메시지 인증 코드를 생성한다.
도 6을 참조하면, 인증 요청 장치(200)는 난수 수신 단계(S205)에서 인증 장치(100)의 난수 생성 단계(S105)에서 생성된 난수를 인증 요청 장치(200)의 메시지 인증 코드 생성을 위한 씨드 데이터로 수신한다.
다음 제1 데이터' 입력 단계(S210)는 수신된 난수를 씨드 데이터로, 제2 시크릿 키' 생성을 위해 메모리에 저장된 제1 시크릿 키'를 읽어 들일 수 있다. 이때 메모리는 비휘발성 메모리(Non Volatile Memory)일 수 있다.
제2 시크릿 키'생성 단계(S220)는 메모리에 저장된 제1 시크릿 키'가 읽혀지면, 제1 시크릿 키'와 생성된 씨드 데이터를 이용하여 제2 시크릿 키'를 생성할 수 있다.
제2 데이터' 입력 단계(S230)는 메시지 인증 코드'의 생성을 위해 메모리에 저장된 제2 시크릿 키'를 읽어 들이고, 상술한 씨드 데이터 및 제2 시크릿 키'를 입력 받는다.
메시지 인증 코드' 생성 단계(S240)는 상기 임시 메모리에 저장된 제2 시크릿 키'와 상기 생성된 씨드 데이터를 이용하여 메시지 인증 코드'를 생성 할 수 있다.
메시지 인증 코드' 전송 단계(S250)는, 메시지 인증 코드' 생성 단계(S240)에서 생성된 메시지 인증 코드'를 인증 장치에 전송한다.
다시 인증 장치(100)는 메시지 인증 코드 일치 확인 단계(S150)를 통해 생성된 메시지 인증 코드와 수신된 메시지 인증 코드'를 비교하여 일치하는 경우 인증하거나(S170), 일치하지 않는 경우는 인증 하지 않게 된다(S160).
이상의 상술한 예에서, 먼저 인증 장치 측에서 씨드 데이터로 난수를 생성하여 수신 측에 송신하는 것을 시도(challenge)라고 하며, 이에 대하여 씨드 데이터를 이용하여 생성된 메시지 응답 코드를 인증 장치에 전송하는 것을 응답(response)이라 한다.
이때 시도와 응답은 MIPI(Mobile Industry Processor Interface) 표준 스펙에 따라 인증장치와 인증요청장치가 I wire로 MIPI 프로토콜에 따라 신호를 주고 받을 수 있다.
이상의 본 실시예에 따른 인증 방법의 응답 신호는 생성된 메시지 인증 코드 자체로서, 인증을 수행하기 위해 메시지 인증 코드 내의 시크릿 키를 추출하여 인증을 수행할 필요가 없으므로 보다 간단하다는 장점이 있다.
즉, 도 6을 참조하면 메시지 인증 코드 생성 단계(S140) 이후에, 시크릿 키를 추출하는 부가 단계 없이, 인증 요청 장치의 메시지 인증 코드' 생성 단계(S240)에서 생성된 메시지 인증 코드'를 응답(Response)으로 수신하여 비교를 수행한다.
따라서, 본 실시예에서는 2번의 암호화 과정과 1번의 비교과정 만으로 인증 요청 장치(200)의 인증을 수행할 수 있으며, 별도의 부가적인 복호화 과정이 필요 없으므로, 보다 간단한 프로세스로 인증을 수행할 수 있다. 따라서 인증으로 인한 하드웨어 및 소프트웨어 측면에서의 오버헤드를 줄일 수 있다.
본 실시예에 따른 암호화 결과에 대해서 도 7을 통해 부연 설명한다.
도 7은 상술한 예에 따라 SHA-1을 이용하여 생성되는 해시(Hash) 결과를 나타내는 도면이다. 도시된 바와 같이, 위의 제1 입력값과 아래의 제2 입력값은 마침표 하나가 있고 없고 차이가 있을 뿐 동일한 값이다. 그러나 제1 입력값 및 제2 입력값에 대응되는 제1 출력값(610)과 제2 출력값(620)은 전혀 상이하다. 따라서 본 실시예에 따른 메시지 인증 코드 방법을 사용하여 암호화를 수행하였을 경우, 출력값을 통해 입력값을 추론하는 것은 거의 불가능하다.
한편, 도시하지는 않았지만, 본 발명의 다른 실시예에 의하면, 제2 시크릿 키 생성 단계(S120)와 메시지 인증 코드 생성 단계(S140)에서 이용되는 씨드 데이터를 각각 다르게 할 수도 있다. 즉, 제1 씨드 데이터는 제2 시크릿 키 생성 단계(S120)에서 이용되고, 제2 씨드 데이터는 메시지 인증 코드 생성 단계(S140)에서 이용될 수 있다. 이 경우, 제 2씨드 데이터는 제1씨드 데이터를 이용하여 생성될 수 있다.
이상의 본 발명의 일실시예에 의한 인증 (요청) 장치의 메시지 인증 코드 생성 방법은 인증에 이용되는 시크릿 키를 인증마다 가변 시킴으로써, 인증 시 시크릿 키의 해킹을 막아, 인증 요청 장치의 복제나 위조 등의 위험을 줄일 수 있음과 동시에 비용을 절감시킬 수 있다.
또한, 상술한 인증 (요청) 장치의 메시지 인증 코드 생성 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기와 같이 설명된 인증 요청 장치의 인증 방법, 인증 요청 장치 및 인증 장치는 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 인증 장치 110: 난수 생성부
120: 암호화부 130: 인증부
200: 인증 요청 장치 210: 수신부
220: 암호화부 230: 송신부

Claims (18)

  1. 미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 씨드(seed) 데이터, 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화하여 제2 시크릿 키를 생성하는 단계; 및
    상기 암호화 알고리즘에 따라 상기 씨드 데이터, 상기 제2 시크릿 키 및 상기 기준 비트수를 채우기 위한 제2 보조 데이터를 입력 값으로 암호화하는 단계를 포함하는 것을 특징으로 하는 메시지 인증 코드 생성 방법.
  2. 제 1 항에 있어서,
    상기 암호화 알고리즘은 입력 받은 상기 기준 비트수의 데이터를 미리 정해진 기준 출력 비트수의 데이터로 변환하는 해싱 알고리즘인 것을 특징으로 하는 메시지 인증 코드 생성 방법.
  3. 제 2 항에 있어서,
    상기 암호화 하는 단계는 상기 기준 출력 비트수를 갖는 제2 시크릿 키, 상기 씨드 데이터 및 상기 제2 보조 데이터를 입력으로 암호화하여,
    상기 기준 출력 비트수를 갖는 메시지 인증 코드를 생성하는 것을 특징으로 하는 데이터인 것을 특징으로 하는 메시지 인증 코드 생성 방법.
  4. 제 3 항에 있어서,
    상기 제1 보조 데이터는 상기 기준 비트 수를 채우기 위하여 상기 씨드 데이터와 상기 제1 시크릿 키가 차지하는 비트의 나머지 비트를 더미처리하여 결정되고,
    상기 제2 보조 데이터는 상기 기준 비트 수를 채우기 위하여 상기 씨드 데이터와 상기 제2 시크릿 키가 차지하는 비트의 나머지 비트를 더미처리는 것을 특징으로 하는 메시지 인증 코드 생성 방법.
  5. 제 3 항에 있어서,
    상기 씨드 데이터는 난수 정보를 포함하고,
    상기 제2 시크릿 키 및 상기 메시지 인증코드는 상기 난수 정보에 따라 변경 되는 것을 특징으로 하는 메시지 인증 코드 생성 방법.
  6. 제 5 항에 있어서,
    상기 씨드 데이터는 설정 가능한 스크램블링 규칙을 정의하는 정보를 더 포함하고
    상기 암호화 알고리즘은 상기 스크램블링 규칙에 따라 스크램블링된 상기 제1 또는 제2 시크릿 키를 입력 값으로 암호화하는 것을 특징으로 하는 메시지 인증 코드 생성 방법.
  7. 미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 씨드(seed) 데이터, 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화하여 제2 시크릿 키를 생성하고,
    상기 씨드 데이터, 상기 생성된 제2 시크릿 키 및 상기 기준 비트수를 채우기 위한 제2 보조 데이터를 입력 값으로 암호화하여 메시지 인증 코드를 생성하는 암호화부;
    상기 생성된 메시지 인증 코드와 인증 요청 장치로부터 수신된 메시지 인증 코드를 비교하여 인증을 수행하는 인증부를 포함하는 것을 특징으로 하는 인증 장치
  8. 제 7 항에 있어서,
    상기 암호화 알고리즘은 입력 받은 상기 기준 비트수의 데이터를 미리 정해진 기준 출력 비트수의 데이터로 변환하는 해싱 알고리즘인 것을 특징으로 하는 인증 장치
  9. 제 8 항에 있어서,
    상기 암호화부는 상기 기준 출력 비트수를 갖는 제2 시크릿 키, 상기 씨드 데이터 및 상기 제2 보조 데이터를 입력으로 암호화하여,
    상기 기준 출력 비트수를 갖는 상기 메시지 인증 코드를 생성하는 것을 특징으로 하는 데이터인 것을 특징으로 하는 인증 장치.
  10. 제 9 항에 있어서,
    상기 제1 보조 데이터는 상기 기준 비트 수를 채우기 위하여 상기 씨드 데이터와 상기 제1 시크릿 키가 차지하는 비트의 나머지 비트를 더미처리하여 결정되고,
    상기 제2 보조 데이터는 상기 기준 비트 수를 채우기 위하여 상기 씨드 데이터와 상기 제2 시크릿 키가 차지하는 비트의 나머지 비트를 더미처리는 것을 특징으로 하는 인증 장치.
  11. 제 9 항에 있어서,
    상기 씨드 데이터는 난수 정보를 포함하고,
    상기 제2 시크릿 키는 및 상기 메시지 인증코드는 상기 난수 정보에 따라 변경 되는 것을 특징으로 하는 인증 장치.
  12. 제 11 항에 있어서,
    상기 씨드 데이터는 설정 가능한 스크램블링 규칙을 정의하는 정보를 더 포함하고
    상기 암호화 알고리즘은 상기 스크램블링 규칙에 따라 스크램블링된 상기 제1 또는 제2 시크릿 키를 입력 값으로 암호화하는 것을 특징으로 하는 인증 장치.
  13. 인증 장치로부터 생성된 씨드(seed) 데이터를 수신하는 수신부;
    미리 정해진 기준 비트수의 데이터를 입력 값으로 하는 암호화 알고리즘에 따라 상기 씨드 데이터, 제1 시크릿 키 및 상기 기준 비트수를 채우기 위한 제1 보조 데이터를 입력 값으로 암호화하여 제2 시크릿 키를 생성하고,
    상기 씨드 데이터, 상기 생성된 제2 시크릿 키 및 상기 기준 비트수를 채우기 위한 제2 보조 데이터를 입력 값으로 암호화하여 메시지 인증 코드를 생성하는 암호화부; 및
    상기 생성된 메시지 인증 코드를 상기 인증 장치로 전송하는 송신부를 포함하는 것을 특징으로 하는 인증 요청 장치
  14. 제 13 항에 있어서,
    상기 암호화 알고리즘은 입력 받은 상기 기준 비트수의 데이터를 미리 정해진 기준 출력 비트수의 데이터로 변환하는 해싱 알고리즘인 것을 특징으로 하는 메시지 인증 요청 장치
  15. 제 14 항에 있어서,
    상기 암호화부는 상기 기준 출력 비트수를 갖는 제2 시크릿 키, 상기 씨드 데이터 및 상기 제2 보조 데이터를 입력으로 암호화하여,
    상기 기준 출력 비트수를 갖는 상기 메시지 인증 코드를 생성하는 것을 특징으로 하는 데이터인 것을 특징으로 하는 인증 요청 장치.
  16. 제 15 항에 있어서,
    상기 제1 보조 데이터는 상기 기준 비트 수를 채우기 위하여 상기 씨드 데이터와 상기 제1 시크릿 키가 차지하는 비트의 나머지 비트를 더미처리하여 결정되고,
    상기 제2 보조 데이터는 상기 기준 비트 수를 채우기 위하여 상기 씨드 데이터와 상기 제2 시크릿 키가 차지하는 비트의 나머지 비트를 더미처리는 것을 특징으로 하는 인증 요청 장치.
  17. 제 15 항에 있어서,
    상기 씨드 데이터는 난수 정보를 포함하고,
    상기 제2 시크릿 키는 및 상기 메시지 인증코드는 상기 난수 정보에 따라 변경 되는 것을 특징으로 하는 인증 요청 장치.
  18. 제 17 항에 있어서,
    상기 씨드 데이터는 설정 가능한 스크램블링 규칙을 정의하는 정보를 더 포함하고 상기 암호화 알고리즘은 상기 스크램블링 규칙에 따라 스크램블링된 상기 제1 또는 제2 시크릿 키를 입력 값으로 암호화하는 것을 특징으로 하는 인증 요청 장치.
KR1020130156612A 2013-05-20 2013-12-16 메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치 KR101440328B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/280,898 US9363079B2 (en) 2013-05-20 2014-05-19 Method of generating message authentication code and authentication device and authentication request device using the method
CN201410213826.6A CN104184586B (zh) 2013-05-20 2014-05-20 消息认证码生成方法,实现该方法的认证装置及认证请求装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130056629 2013-05-20
KR1020130056629 2013-05-20

Publications (1)

Publication Number Publication Date
KR101440328B1 true KR101440328B1 (ko) 2014-09-17

Family

ID=51760123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130156612A KR101440328B1 (ko) 2013-05-20 2013-12-16 메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치

Country Status (3)

Country Link
US (1) US9363079B2 (ko)
KR (1) KR101440328B1 (ko)
CN (1) CN104184586B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9742761B2 (en) 2015-11-10 2017-08-22 International Business Machines Corporation Dynamic authentication for a computing system

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016002792B4 (de) 2015-03-09 2022-04-28 Hid Global Corporation Biometrie-Geheimnis-Bindungsschema mit verbessertem Datenschutz
US10231123B2 (en) * 2015-12-07 2019-03-12 GM Global Technology Operations LLC Bluetooth low energy (BLE) communication between a mobile device and a vehicle
CN108023724B (zh) * 2016-11-04 2020-10-20 北京紫光展锐通信技术有限公司 数据传输方法及装置
US10137860B2 (en) * 2016-11-17 2018-11-27 Ford Global Technologies, Llc Remote keyless entry message authentication
JP6693435B2 (ja) 2017-02-08 2020-05-13 カシオ計算機株式会社 認証装置及びプログラム
JP6787190B2 (ja) * 2017-03-06 2020-11-18 カシオ計算機株式会社 認証装置及びプログラム
JP6826917B2 (ja) * 2017-03-09 2021-02-10 ヤマハ発動機株式会社 電動補助車両
CN107483184B (zh) * 2017-07-19 2019-02-01 北京摩拜科技有限公司 电池管理方法、设备、电池、物品及系统
US11159498B1 (en) 2018-03-21 2021-10-26 Amazon Technologies, Inc. Information security proxy service
US10979403B1 (en) * 2018-06-08 2021-04-13 Amazon Technologies, Inc. Cryptographic configuration enforcement
WO2020234616A1 (en) * 2019-05-21 2020-11-26 Micron Technology, Inc. Bus encryption for non-volatile memories
CN113094718A (zh) * 2019-12-23 2021-07-09 华为数字技术(苏州)有限公司 一种文件加密方法及相关装置
CN111596938A (zh) * 2020-05-15 2020-08-28 青岛海米飞驰智能科技有限公司 嵌入式设备固件安全升级方法、系统、终端及存储介质
CN114619767B (zh) * 2020-12-08 2023-02-17 珠海奔图电子有限公司 图像形成控制方法、耗材芯片及图像形成装置、耗材
EP4012504B1 (en) 2020-12-08 2023-07-12 Zhuhai Pantum Electronics Co., Ltd. Image forming control method, consumable chip, image forming apparatus, and consumable
CN116061875B (zh) * 2023-02-03 2024-04-26 重庆赛力斯新能源汽车设计院有限公司 电动车动力防盗方法、设备及介质
CN115952481B (zh) * 2023-03-13 2023-05-05 北京点聚信息技术有限公司 一种实现可信实名认证的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059197A (ko) * 2004-11-26 2006-06-01 가부시키가이샤 소니 컴퓨터 엔터테인먼트 배터리 및 인증요구장치
KR100593576B1 (ko) 1998-07-31 2006-06-28 루센트 테크놀러지스 인크 두 당사자 인증 및 키 일치 방법
KR20080078873A (ko) * 2005-12-08 2008-08-28 키오세라 와이어리스 코포레이션 휴대폰 액세서리를 인증하는 방법 및 장치
KR20080112337A (ko) * 2006-03-27 2008-12-24 키오세라 와이어리스 코포레이션 장치 인증을 위한 통신 프로토콜

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228182B2 (en) * 2004-03-15 2007-06-05 Cardiac Pacemakers, Inc. Cryptographic authentication for telemetry with an implantable medical device
US7564345B2 (en) * 2004-11-12 2009-07-21 Verayo, Inc. Volatile device keys and applications thereof
CN101133420B (zh) * 2005-12-19 2011-04-13 日本电信电话株式会社 终端识别方法、认证方法、认证系统、服务器、终端、无线基站、程序以及记录介质
KR100655051B1 (ko) 2005-12-28 2006-12-06 주식회사 팬택앤큐리텔 이동통신 단말기의 정품 배터리 인증 장치 및 방법
US8694778B2 (en) * 2010-11-19 2014-04-08 Nxp B.V. Enrollment of physically unclonable functions
CN102693385A (zh) * 2012-05-28 2012-09-26 山东神思电子技术股份有限公司 基于sd可信计算模块的嵌入式终端及实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100593576B1 (ko) 1998-07-31 2006-06-28 루센트 테크놀러지스 인크 두 당사자 인증 및 키 일치 방법
KR20060059197A (ko) * 2004-11-26 2006-06-01 가부시키가이샤 소니 컴퓨터 엔터테인먼트 배터리 및 인증요구장치
KR20080078873A (ko) * 2005-12-08 2008-08-28 키오세라 와이어리스 코포레이션 휴대폰 액세서리를 인증하는 방법 및 장치
KR20080112337A (ko) * 2006-03-27 2008-12-24 키오세라 와이어리스 코포레이션 장치 인증을 위한 통신 프로토콜

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9742761B2 (en) 2015-11-10 2017-08-22 International Business Machines Corporation Dynamic authentication for a computing system

Also Published As

Publication number Publication date
CN104184586B (zh) 2019-01-11
US20140341373A1 (en) 2014-11-20
CN104184586A (zh) 2014-12-03
US9363079B2 (en) 2016-06-07

Similar Documents

Publication Publication Date Title
KR101440328B1 (ko) 메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치
JP6938702B2 (ja) 通信保護を備えた聴覚装置および関連する方法
KR101725847B1 (ko) 키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들
US7571320B2 (en) Circuit and method for providing secure communications between devices
CN100468438C (zh) 实现硬件和软件绑定的加密和解密方法
US20170085543A1 (en) Apparatus and method for exchanging encryption key
US20170063853A1 (en) Data cipher and decipher based on device and data authentication
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
WO2007125877A1 (ja) 通信装置、及び通信システム
EP3086585B1 (en) Method and system for securing data communicated in a network
CN107534558B (zh) 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统
CN111066077B (zh) 加密装置、加密方法、解密装置以及解密方法
CN104902138A (zh) 加密/解密系统及其控制方法
US9571273B2 (en) Method and system for the accelerated decryption of cryptographically protected user data units
KR101424972B1 (ko) 모바일 카드를 이용한 컨텐츠 사용 방법, 호스트 장치, 및모바일 카드
KR101059344B1 (ko) 암호화 통신 시스템
US20160148002A1 (en) Key storage apparatus, key storage method and program therefor
CN109361506B (zh) 信息处理方法
CN115314284B (zh) 一种基于可信执行环境的公钥认证可搜索加密方法及系统
JP4731034B2 (ja) 著作物保護システム、暗号化装置、復号化装置および記録媒体
KR20140136400A (ko) 주변 장치의 인증 방법, 주변 장치 및 전자 장치
KR20200074070A (ko) 주변 장치의 인증 방법 및 시스템, 주변 장치 및 전자 장치
CN111131158A (zh) 单字节对称加密解密方法、装置及可读介质
CN109962776B (zh) 加密方法与解密方法
JP2007158967A (ja) 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170621

Year of fee payment: 4