KR20130047037A - Ic 칩 및 이에 대한 데이터 검증 방법 - Google Patents

Ic 칩 및 이에 대한 데이터 검증 방법 Download PDF

Info

Publication number
KR20130047037A
KR20130047037A KR1020110111802A KR20110111802A KR20130047037A KR 20130047037 A KR20130047037 A KR 20130047037A KR 1020110111802 A KR1020110111802 A KR 1020110111802A KR 20110111802 A KR20110111802 A KR 20110111802A KR 20130047037 A KR20130047037 A KR 20130047037A
Authority
KR
South Korea
Prior art keywords
data
verification value
integrity verification
chip
integrity
Prior art date
Application number
KR1020110111802A
Other languages
English (en)
Other versions
KR101312293B1 (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 KR1020110111802A priority Critical patent/KR101312293B1/ko
Priority to PCT/KR2012/006828 priority patent/WO2013065939A1/ko
Priority to US14/355,284 priority patent/US20140289874A1/en
Publication of KR20130047037A publication Critical patent/KR20130047037A/ko
Application granted granted Critical
Publication of KR101312293B1 publication Critical patent/KR101312293B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

IC 칩 및 이에 대한 데이터 검증 방법이 개시된다. 본 발명은, 데이터를 저장 수단에 기록하는 쓰기 동작이 수행되기 전에 무결성 검증값 생성 알고리즘을 이용하여 데이터로부터 생성된 무결성 검증값과 쓰기 동작이 완료된 후에 무결성 검증값 생성 알고리즘을 이용하여 저장 수단에 기록된 데이터로부터 생성된 무결성 검증값을 비교하여 데이터의 무결성을 검증한다. 본 발명에 따르면, IC 칩의 제조/발급 시에 IC 칩에 저장되는 데이터의 정상적인 기록 여부와 IC 칩이 사용되는 도중에 IC 칩에 저장되는 데이터의 정상적인 기록 여부를 확인할 수 있다.

Description

IC 칩 및 이에 대한 데이터 검증 방법{IC chip and method for verifying data therein}
본 발명은 IC 칩 및 이에 대한 데이터 검증 방법에 관한 것으로, 보다 상세하게는 데이터의 정상적인 기록 여부나 저장된 데이터의 변경 여부를 확인하기 위해 데이터의 무결성을 검증하는 IC 칩 및 이에 대한 데이터 검증 방법에 관한 것이다.
IC 칩(integrated circuit chip)은 각종 디지털 정보를 저장 및 처리할 수 있는 장치이다. 이러한 IC 칩은 스마트 카드, 교통 카드, 신용 카드, 직불 카드, 보안 토큰, 복제 방지 모듈 등과 같이 다양한 분야에서 이용되고 있다. 이에 따라 IC 칩에 기록된 데이터의 보안에 대한 우려와 관심이 증가하고 있다.
IC 칩에 기록된 데이터가 외부의 공격이나 자체적인 오류로 인하여 그 무결성(integrity)이 훼손되는 경우에는 IC 칩은 본연의 기능을 수행할 수 없게 된다. 아울러, 외부의 악의적인 공격에 의해 IC 칩에 기록된 데이터의 무결성이 훼손되는 경우에는 IC 칩이 악용될 우려가 있다. 따라서 IC 칩에 기록된 데이터의 무결성을 검증하는 방법의 개발이 필요한 실정이다.
KR 10-2003-0075498 (주식회사 맥스소프트) 2003. 9. 26. 특허문헌 1은 홀로그래피 기술을 이용하여 스마트 카드의 무결성을 확인하는 방법 및 장치로서, 특허문헌 1에는 홀로그램에 저장된 복호화키를 이용하여 복호화한 제1원시 데이터와 홀로그램에 저장된 제2원시 데이터를 비교하는 내용이 개시되어 있다. KR 10-0947323 (주식회사 알티캐스트) 2010. 3. 5. 특허문헌 2는 스마트 카드를 활용한 컨텐츠 보호 솔루션에 대한 변조방지 방법으로서, 특허문헌 2에는 CAS/DRM 클라이언트에서 사용되는 개인키(private key) 등이 보관된 스마트 카드를 이용하여 CAS/DRM 클라이언트에 대한 무결성 검증을 수행하는 내용이 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는, 데이터의 정상적인 기록 여부나 저장된 데이터의 변경 여부를 확인하기 위해 데이터의 무결성을 검증하는 IC 칩 및 이에 대한 데이터 검증 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 기술적 과제는, 데이터의 정상적인 기록 여부나 저장된 데이터의 변경 여부를 확인하기 위해 데이터의 무결성을 검증하는 IC 칩에 대한 데이터 검증 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 IC 칩은, 전원의 인가 여부에 상관없이 기록된 데이터를 유지하는 저장부; 데이터를 상기 저장부에 기록하는 쓰기 동작이 완료된 후에 무결성 검증값 생성 알고리즘을 이용하여 상기 저장부에 기록된 데이터로부터 제1무결성 검증값을 생성하는 검증값 생성부; 및 상기 데이터를 상기 저장부에 기록하는 쓰기 동작이 수행되기 전에 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 데이터로부터 생성된 제2무결성 검증값과 상기 제1무결성 검증값을 비교하여 상기 데이터의 무결성을 검증하는 검증부;를 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 컴퓨터로 읽을 수 있는 매체는, 전원의 인가 여부에 상관없이 기록된 데이터를 유지하는 저장 수단에 데이터를 기록하는 쓰기 동작을 수행하는 단계; 상기 쓰기 동작이 완료된 후에 무결성 검증값 생성 알고리즘을 이용하여 상기 저장 수단에 기록된 데이터로부터 제1무결성 검증값을 생성하는 단계; 및 상기 쓰기 동작이 수행되기 전에 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 데이터로부터 생성된 제2무결성 검증값과 상기 제1무결성 검증값을 비교하여 상기 데이터의 무결성을 검증하는 단계;를 포함하는 것을 특징으로 하는 IC 칩에 대한 데이터 검증 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한다.
본 발명에 따른 IC 칩 및 이에 대한 데이터 검증 방법에 의하면, 데이터의 기록전후에 데이터로부터 각각 생성된 무결성 검증값을 비교함으로써, IC 칩의 제조/발급 시에 IC 칩에 탑재되는 데이터의 정상적인 기록 여부를 확인할 수 있다. 아울러, IC 칩이 사용되는 도중에 IC 칩에 저장되는 데이터의 정상적인 기록 여부도 확인할 수 있다.
또한, IC 칩에 저장된 데이터로부터 생성된 무결성 검증값과 데이터에 대응되고 IC 칩에 저장된 무결성 검증값을 비교함으로써, IC 칩에 저장된 데이터의 변경 여부를 확인할 수 있다.
도 1은 본 발명의 실시예에 따른 IC 칩의 구성을 설명하기 위한 도면,
도 2는 본 발명의 실시예에 따른 IC 칩의 저장부 구조를 설명하기 위한 도면,
도 3 및 도 4는 본 발명의 실시예에 따른 데이터의 정상적인 기록 여부를 확인하기 위해 데이터의 무결성을 검증하는 동작을 설명하기 위한 도면,
도 5 및 도 6은 본 발명의 실시예에 따른 저장된 데이터의 변경 여부를 확인하기 위해 데이터의 무결성을 검증하는 동작을 설명하기 위한 도면,
도 7은 본 발명의 실시예에 따른 IC 칩에 데이터를 기록하는 경우에 수행되는 데이터 검증 방법을 설명하기 위한 흐름도, 그리고,
도 8은 본 발명의 실시예에 따른 IC 칩에 기록되어 있는 데이터의 검증 방법을 설명하기 위한 흐름도이다.
이하에서 첨부한 도면을 참조하여 본 발명에 따른 IC 칩 및 이에 대한 데이터 검증 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 IC 칩의 구성을 설명하기 위한 도면이다.
본 발명의 실시예에 따른 IC 칩(100)은 외부 장치(도시하지 않음)와 접촉식 또는 비접촉식으로 연결된다. 이러한 IC 칩(100)은 스마트 카드(smart card), 교통 카드, 신용 카드(credit card), 직불 카드(debit card), 보안 토큰(hardware security module), 복제 방지 모듈, 전자식 신분증 등에 탑재될 수 있다. IC 칩(100)은 외부 장치로부터 제공받은 데이터나 자체적인 동작에 의해 생성된 데이터가 저장 수단에 정상적으로 기록되었는지 확인하거나 저장 수단에 기록된 데이터의 변경 여부를 확인하기 위해 데이터의 무결성(integrity) 검증을 수행한다. 이를 위해 IC 칩(100)은 저장부(110), 검증값 생성부(130), 검증부(150) 및 제어부(170)를 구비한다.
도 2는 본 발명의 실시예에 따른 IC 칩의 저장부 구조를 설명하기 위한 도면이다.
저장부(110)는 IC 칩(100)의 동작에 필요한 프로그램이나 각종 데이터를 저장한다. 도 2를 참조하면, 저장부(110)는 제1저장부(211), 제2저장부(213) 및 제3저장부(215)를 포함한다.
제1저장부(211)는 IC 칩(100)에 탑재되는 운영체제(OS_DATA), IC 칩(100)의 제조/발급 시에 탑재되는 어플리케이션(IAPP_DATA) 등과 같은 소프트웨어 데이터를 저장한다. 제1저장부(211)는 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 불가능한 저장 매체이다. 제1저장부(211)로 채택될 수 있는 저장 수단으로는 롬(read only memory : ROM) 등을 들 수 있다.
제2저장부(213)는 IC 칩(100)의 제조/발급 시나 발급 이후에 기록되는 데이터, IC 칩(100)의 동작 시 이용되는 데이터, 제1저장부(211)에 기록되어 있는 소프트웨어 데이터나 제2저장부(213)에 기록되어 있는 데이터에 대응되는 무결성 검증값 등과 같은 각종 데이터(USR_DATA)를 저장한다. IC 칩(100)의 동작 시 이용되는 데이터는 IC 칩(100)의 사용 시 필요한 데이터로서, 인증서, 충전된 금액, 잔여 금액, 페이지 카운터, 도트 카운터, 주민번호 등을 말한다.
제2저장부(213)는 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 가능한 저장 매체이다. 제2저장부(213)로 채택될 수 있는 저장 수단으로는 EEPROM(electrically erasable programmable ROM), 플래시 메모리(flash memory) 등을 들 수 있다.
제3저장부(215)는 IC 칩(100)의 동작 중에 외부 장치로부터 제공받거나 자체적인 동작에 의해 생성되는 데이터를 임시로 저장한다. 제3저장부(215)는 전원이 인가되는 경우에만 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 가능한 저장 매체이다. 제3저장부(215)로 채택될 수 있는 저장 수단으로는 램(random access memory : RAM) 등을 들 수 있다.
검증값 생성부(130)는 데이터를 제1저장부(211) 또는 제2저장부(213)에 기록하는 쓰기 동작이 수행되기 전에 무결성 검증값 생성 알고리즘을 이용하여 제3저장부(215)에 임시로 기록된 데이터로부터 무결성 검증값을 생성한다. 여기서, 무결성 검증값 생성 알고리즘으로는 CBC(cipher block chaining) MAC(message authentication code) 알고리즘, CRC 알고리즘(cyclic redundancy check algorithm), 일방향 해시 알고리즘(one-way hash algorithm) 등을 들 수 있다. 이때, 무결성 검증값 생성 알고리즘으로 CBC MAC 알고리즘을 이용하는 경우에는 대칭키(symmetric key)가 필요하다. 대칭키는 IC 칩(100)의 제조/발급 시나 발급 이후에 저장부(110)에 미리 기록되어 있거나 외부 장치로부터 제공받을 수 있다. 아울러, 검증값 생성부(130)는 데이터로부터 생성된 무결성 검증값을 제2저장부(213)에 기록할 수 있다. 이때, 검증값 생성부(130)는 무결성 검증값을 보호 메모리 영역에 저장한다.
또한, 검증값 생성부(130)는 쓰기 동작이 완료된 후에 무결성 검증값 생성 알고리즘을 이용하여 제1저장부(211) 또는 제2저장부(213)에 기록된 데이터로부터 무결성 검증값을 생성한다. 여기서, 쓰기 동작의 완료 여부는 쓰기용 하드웨어 레지스터(register)를 통해 확인한다.
검증값 생성부(130)는 무결성 검증값 생성 알고리즘을 이용하여 제1저장부(211) 또는 제2저장부(213)에 기록되어 있는 데이터로부터 무결성 검증값을 생성한다.
도 3 및 도 4는 본 발명의 실시예에 따른 데이터의 정상적인 기록 여부를 확인하기 위해 데이터의 무결성을 검증하는 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 검증부(150)는 IC 칩(100)의 제조/발급 시 데이터(DATA3)를 제1저장부(211)에 기록하는 쓰기 동작이 수행되기 전에 데이터(DATA3)로부터 생성된 무결성 검증값(IV3_1)과 쓰기 동작이 완료된 후에 제1저장부(211)에 기록된 데이터(DATA3)로부터 생성된 무결성 검증값(IV3_2)을 비교하여 데이터(DATA3)의 무결성을 검증한다. 여기서, 쓰기 동작이 수행되기 전에 데이터(DATA3)로부터 생성된 무결성 검증값(IV3_1)은 외부 장치로부터 제공받아 제3저장부(215)에 임시로 기록된다. 이때, 검증부(150)는 데이터(DATA3)로부터 무결성 검증값(IV3_1과 IV3_2) 생성 시 무결성 검증값 생성 알고리즘으로 CBC MAC 알고리즘을 이용할 수 있다. 데이터(DATA3)의 정상적인 기록 여부를 높은 강도에서 검증하기 위해 CBC MAC 알고리즘 등을 이용할 수 있다.
도 4를 참조하면, 검증부(150)는 데이터(DATA4)를 제2저장부(213)에 기록하는 쓰기 동작이 수행되기 전에 제3저장부(215)에 임시로 기록된 데이터(DATA4)로부터 생성된 무결성 검증값(IV4_1)과 쓰기 동작이 완료된 후에 제2저장부(213)에 기록된 데이터(DATA4)로부터 생성된 무결성 검증값(IV4_2)를 비교하여 데이터(DATA4)의 무결성을 검증한다.
도 5 및 도 6은 본 발명의 실시예에 따른 저장된 데이터의 변경 여부를 확인하기 위해 데이터의 무결성을 검증하는 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 검증부(150)는 제1저장부(211)에 기록되어 있는 데이터(DATA5)로부터 생성된 무결성 검증값(IV5_2)과 제2저장부(213)에 기록되어 있고 데이터(DATA5)에 대응되는 무결성 검증값(IV5_1)을 비교하여 데이터(DATA5)의 무결성을 검증한다. 도 6을 참조하면, 검증부(150)는 제2저장부(213)에 기록되어 있는 데이터(DATA6)로부터 생성된 무결성 검증값(IV6_2)과 제2저장부(213)에 기록되어 있고 데이터(DATA6)에 대응되는 무결성 검증값(IV6_1)을 비교하여 데이터(DATA6)의 무결성을 검증한다.
검증부(150)는 비교 명령이 있거나 주기적으로 제1저장부(211) 또는 제2저장부(213)에 기록되어 있는 데이터의 무결성을 검증하기 위해 무결성 검증값을 비교할 수 있다. 이때, 검증부(150)는 제1저장부(211) 또는 제2저장부(213)에 기록되어 있는 데이터로부터 무결성 검증값 생성 시 무결성 검증값 생성 알고리즘으로 CRC 알고리즘 또는 일방향 해시 알고리즘을 이용한다. IC 칩(100)의 응답 시간(response time)을 보장하기 위해 기록되어 있는 데이터의 무결성을 주기적으로 검증하는 경우에는 CRC 알고리즘, 일방향 해시 알고리즘 등과 같이 적은 연산량을 가지는 알고리즘을 이용한다. 이 경우, 제1저장부(211) 또는 제2저장부(213)에 기록되어 있는 데이터에 대응되는 무결성 검증값도 CRC 알고리즘 또는 일방향 해시 알고리즘을 이용하여 생성되어 제2저장부(213)에 기록된다.
제어부(170)는 IC 칩(100)의 전반적인 동작을 제어한다. 제어부(170)는 IC 칩(100)의 제조/발급 시 외부 장치로부터 제공받은 데이터를 제1저장부(211) 또는 제2저장부(213)에 기록하는 경우 검증값 생성부(130) 및 검증부(150)를 제어하여 제1저장부(211) 또는 제2저장부(213)에 기록된 데이터의 무결성 검증 동작을 수행한다. 이때, 제어부(170)는 외부 장치로부터 데이터의 무결성 검증 명령을 받은 경우에만 데이터 무결성 검증 동작을 수행할 수 있다. 제어부(170)는 데이터의 무결성 검증 결과('성공' 또는 '실패')를 외부 장치에 제공하거나 저장부(110)에 저장한다.
제어부(170)는 IC 칩(100)이 사용되는 도중 검증값 생성부(130) 및 검증부(150)를 제어하여 제1저장부(211) 또는 제2저장부(213)에 기록되어 있는 데이터의 무결성 검증 동작을 수행한다. 이때, 제어부(170)는 IC 칩(100)이 사용되는 도중에 외부 장치와 데이터를 주고받는 경우, 외부 장치로부터 데이터의 무결성 검증 명령을 받은 경우 또는 주기적으로 데이터 무결성 검증 동작을 수행할 수 있다. 제어부(170)는 무결성 검증이 실패한 경우 IC 칩(100)을 사용 정지(shut down)시킬 수 있다.
도 7은 본 발명의 실시예에 따른 IC 칩에 데이터를 기록하는 경우에 수행되는 데이터 검증 방법을 설명하기 위한 흐름도이다.
IC 칩(100)은 저장 수단에 데이터를 기록하는 쓰기 동작을 수행하기 전에 데이터로부터 무결성 검증값을 생성한다(S710). 여기서, 저장 수단은 전원의 인가 여부에 상관없이 기록된 데이터를 유지한다. 이때, IC 칩(100)은 생성된 무결성 검증값을 저장 수단에 기록한다.
IC 칩(100)은 데이터를 저장 수단에 기록하는 쓰기 동작을 수행하고(S720), 쓰기 동작이 완료된 후 저장 수단에 기록된 데이터로부터 무결성 검증값을 생성한다(S730). 이후, IC 칩(100)은 쓰기 동작이 수행되기 전에 생성된 무결성 검증값과 쓰기 동작이 완료된 후에 생성된 무결성 검증값을 비교하여 데이터의 무결성을 검증한다(S740). IC 칩(100)은 데이터의 무결성 검증 결과를 외부 장치에 제공하거나 저장 수단에 저장한다.
IC 칩(100)은 외부 장치로부터 데이터의 무결성 검증 명령을 받은 경우에만 위와 같은 데이터 무결성 검증 동작을 수행할 수 있다.
도 8은 본 발명의 실시예에 따른 IC 칩에 기록되어 있는 데이터의 검증 방법을 설명하기 위한 흐름도이다.
IC 칩(100)은 저장 수단에 기록되어 있는 데이터로부터 무결성 검증값을 생성한다(S810). 이때, IC 칩(100)은 CRC 알고리즘 또는 일방향 해시 알고리즘을 이용하여 데이터로부터 무결성 검증값을 생성할 수 있다.
IC 칩(100)은 생성된 무결성 검증값과 저장 수단에 기록되어 있고 데이터에 대응되는 무결성 검증값을 비교하여 데이터의 무결성을 검증한다(S820). IC 칩(100)은 데이터의 무결성 검증 결과를 외부 장치에 제공하거나 저장 수단에 저장할 수 있다.
IC 칩(100)은 IC 칩(100)이 사용되는 도중에 외부 장치와 데이터를 주고받는 경우, 외부 장치로부터 데이터의 무결성 검증 명령을 받은 경우 또는 주기적으로 위와 같은 데이터 무결성 검증 동작을 수행할 수 있다.
한편, IC 칩(100)에 데이터를 기록하는 쓰기 동작이 수행되기 전에 데이터로부터 무결성 검증값을 생성하는 동작, 쓰기 동작이 완료된 후에 IC 칩(100)에 기록된 데이터로부터 무결성 검증값을 생성하는 동작 및 쓰기 동작 수행전에 생성된 무결성 검증값과 쓰기 동작 완료후에 생성된 무결성 검증값을 비교하는 동작을 IC 칩(100)이 수행하는 것으로 앞에서 설명하였다. 그러나, 이에 한정되지 않고 실시예에 따라 IC 칩(100)은 쓰기 동작이 수행되기 전에 데이터로부터 생성된 무결성 검증값을 외부 장치로부터 제공받을 수 있다. 아울러, IC 칩(100)은 쓰기 동작이 완료된 후에 IC 칩(100)에 기록된 데이터로부터 생성된 무결성 검증값을 외부 장치에 제공할 수 있다. 그러면 외부 장치는 쓰기 동작 수행전에 생성된 무결성 검증값과 쓰기 동작 완료후에 생성된 무결성 검증값을 비교하는 동작을 수행한다.
또한, IC 칩(100)에 기록되어 있는 데이터로부터 무결성 검증값을 생성하는 동작 및 IC 칩(100)에 기록되어 있고 데이터에 대응되는 무결성 검증값과 생성된 무결성 검증값을 비교하는 동작을 IC 칩(100)이 수행하는 것으로 앞에서 설명하였다. 그러나, 이에 한정되지 않고 실시예에 따라 IC 칩(100)은 저장 수단에 기록되어 있는 데이터로부터 생성된 무결성 검증값을 외부 장치에 제공할 수 있다. 그러면, 외부 장치는 무결성 검증값을 비교하는 동작을 수행한다. 이 경우, 외부 장치는 IC 칩(100)에 기록되어 있는 데이터에 대응되는 무결성 검증값을 저장하고 있다.
한편, IC 칩(100)과 외부 장치가 연결되어 본 발명의 실시예에 따른 데이터의 무결성 검증 동작을 수행하는 경우, IC 칩(100)과 외부 장치사이에 인증 동작이 수행된다. 즉, IC 칩(100)과 외부 장치사이에 정상적으로 인증이 이루어진 경우에 본 발명의 실시예에 따른 데이터의 무결성 검증 동작을 수행한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 장치에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 롬(ROM), 램(RAM), CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 유무선 통신망으로 연결된 컴퓨터 장치에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 다음의 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
100: IC 칩, 110: 저장부,
130: 검증값 생성부, 150: 검증부,
170: 제어부

Claims (11)

  1. 전원의 인가 여부에 상관없이 기록된 데이터를 유지하는 저장부;
    데이터를 상기 저장부에 기록하는 쓰기 동작이 완료된 후에 무결성 검증값 생성 알고리즘을 이용하여 상기 저장부에 기록된 데이터로부터 제1무결성 검증값을 생성하는 검증값 생성부; 및
    상기 데이터를 상기 저장부에 기록하는 쓰기 동작이 수행되기 전에 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 데이터로부터 생성된 제2무결성 검증값과 상기 제1무결성 검증값을 비교하여 상기 데이터의 무결성을 검증하는 검증부;를 포함하는 것을 특징으로 하는 IC 칩.
  2. 제 1항에 있어서,
    상기 검증값 생성부는 상기 쓰기 동작이 수행되기 전에 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 데이터로부터 상기 제2무결성 검증값을 생성하는 것을 특징으로 하는 IC 칩.
  3. 제 1항 또는 제 2항에 있어서,
    상기 제2무결성 검증값은 상기 저장부에 저장되고,
    상기 검증부는 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 저장부에 기록되어 있는 상기 데이터로부터 주기적으로 상기 제1무결성 검증값을 생성하고, 생성된 상기 제1무결성 검증값을 상기 제2무결성 검증값을 비교하여 상기 데이터의 무결성을 검증하는 것을 특징으로 하는 IC 칩.
  4. 제 3항에 있어서,
    상기 무결성 검증값 생성 알고리즘은 CRC 알고리즘(cyclic redundancy check algorithm) 또는 일방향 해시 알고리즘(one-way hash algorithm)인 것을 특징으로 하는 IC 칩.
  5. 제 1항 또는 제 2항에 있어서,
    상기 무결성 검증값 생성 알고리즘은 CBC MAC 알고리즘(cipher block chaining message authentication code algorithm)인 것을 특징으로 하는 IC 칩.
  6. 제 1항 또는 제 2항에 기재된 IC 칩은 보안 토큰에 탑재되는 것을 특징으로 하는 IC 칩.
  7. 전원의 인가 여부에 상관없이 기록된 데이터를 유지하는 저장 수단에 데이터를 기록하는 쓰기 동작을 수행하는 단계;
    상기 쓰기 동작이 완료된 후에 무결성 검증값 생성 알고리즘을 이용하여 상기 저장 수단에 기록된 데이터로부터 제1무결성 검증값을 생성하는 단계; 및
    상기 쓰기 동작이 수행되기 전에 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 데이터로부터 생성된 제2무결성 검증값과 상기 제1무결성 검증값을 비교하여 상기 데이터의 무결성을 검증하는 단계;를 포함하는 것을 특징으로 하는 IC 칩에 대한 데이터 검증 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  8. 제 7항에 있어서,
    상기 쓰기 동작이 수행되기 전에 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 데이터로부터 상기 제2무결성 검증값을 생성하는 단계를 더 포함하는 것을 특징으로 하는 IC 칩에 대한 데이터 검증 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  9. 제 7항 또는 제 8항에 있어서,
    상기 제2무결성 검증값을 상기 저장 수단에 기록하는 단계를 더 포함하고,
    상기 검증 단계에서 상기 무결성 검증값 생성 알고리즘을 이용하여 상기 저장 수단에 기록되어 있는 상기 데이터로부터 주기적으로 상기 제1무결성 검증값을 생성하고, 생성된 상기 제1무결성 검증값을 상기 제2무결성 검증값을 비교하여 상기 데이터의 무결성을 검증하는 것을 특징으로 하는 IC 칩에 대한 데이터 검증 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  10. 제 9항에 있어서,
    상기 무결성 검증값 생성 알고리즘은 CRC 알고리즘 또는 일방향 해시 알고리즘인 것을 특징으로 하는 IC 칩에 대한 데이터 검증 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  11. 제 7항 또는 제 8항에 있어서,
    상기 무결성 검증값 생성 알고리즘은 CBC MAC 알고리즘인 것을 특징으로 하는 IC 칩에 대한 데이터 검증 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020110111802A 2011-10-31 2011-10-31 Ic 칩 및 이에 대한 데이터 검증 방법 KR101312293B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110111802A KR101312293B1 (ko) 2011-10-31 2011-10-31 Ic 칩 및 이에 대한 데이터 검증 방법
PCT/KR2012/006828 WO2013065939A1 (ko) 2011-10-31 2012-08-27 Ic 칩 및 이에 대한 데이터 검증 방법
US14/355,284 US20140289874A1 (en) 2011-10-31 2012-08-27 Integrated circuit (ic) chip and method of verifying data thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110111802A KR101312293B1 (ko) 2011-10-31 2011-10-31 Ic 칩 및 이에 대한 데이터 검증 방법

Publications (2)

Publication Number Publication Date
KR20130047037A true KR20130047037A (ko) 2013-05-08
KR101312293B1 KR101312293B1 (ko) 2013-09-27

Family

ID=48192254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110111802A KR101312293B1 (ko) 2011-10-31 2011-10-31 Ic 칩 및 이에 대한 데이터 검증 방법

Country Status (3)

Country Link
US (1) US20140289874A1 (ko)
KR (1) KR101312293B1 (ko)
WO (1) WO2013065939A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017000272A1 (zh) * 2015-07-01 2017-01-05 海能达通信股份有限公司 一种无线系统接入控制方法及装置
FR3092679B1 (fr) 2019-02-12 2021-02-19 Idemia France Elément électronique, système comprenant un tel élément électronique et procédé de surveillance d’un processeur
CN110401673B (zh) * 2019-08-09 2022-01-21 北京安迅伟业科技有限公司 网间数据安全传输方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4564215B2 (ja) * 2001-09-26 2010-10-20 株式会社東芝 フラッシュメモリ書き替え回路、icカード用lsi、icカード及びフラッシュメモリ書き替え方法
KR20040042123A (ko) * 2002-11-13 2004-05-20 주식회사 퓨쳐시스템 휴대용 인증 장치 및 이를 이용한 인증 방법
US8122215B1 (en) * 2003-09-15 2012-02-21 The Directv Group, Inc. Method and apparatus for verifying memory contents
JP4036838B2 (ja) * 2004-03-12 2008-01-23 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュリティ装置、情報処理装置、セキュリティ装置が実行する方法、情報処理装置が実行する方法、該方法を実行させるための装置実行可能なプログラムおよびチケット・システム
KR20060067584A (ko) * 2004-12-15 2006-06-20 삼성전자주식회사 해킹 방지 기능이 있는 스마트 카드
US7707480B2 (en) * 2005-07-01 2010-04-27 Qnx Software Systems Gmbh & Co. Kg System employing data verification operations of differing computational costs
KR101197556B1 (ko) * 2006-01-09 2012-11-09 삼성전자주식회사 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
KR20090063633A (ko) * 2007-12-14 2009-06-18 삼성전자주식회사 변조 방지를 위한 컨텐트 식별자 생성 방법
US8582771B2 (en) * 2008-09-10 2013-11-12 Lg Electronics Inc. Method for selectively encrypting control signal
KR20100110642A (ko) * 2009-04-03 2010-10-13 유비벨록스(주) 보안토큰 장치

Also Published As

Publication number Publication date
KR101312293B1 (ko) 2013-09-27
US20140289874A1 (en) 2014-09-25
WO2013065939A1 (ko) 2013-05-10

Similar Documents

Publication Publication Date Title
CN105160242B (zh) 一种读卡器的证书加载方法、证书更新方法及读卡器
CN101923660B (zh) 基于rfid的动态密码身份认证系统及方法
JP5521803B2 (ja) 通信装置、通信方法、及び、通信システム
EP2715598B1 (en) Method and apparatus for authenticating a non-volatile memory device
US8250288B2 (en) Flash memory storage system and controller and data protection method thereof
CN103413159B (zh) 一种基于cpk的rfid电子凭证离线鉴真防伪实现方法及系统
US7392404B2 (en) Enhancing data integrity and security in a processor-based system
CN102262599B (zh) 一种基于可信根的移动硬盘指纹认证方法
Kasper et al. All You Can Eat or Breaking a Real-World Contactless Payment System: (Short Paper)
TWI363966B (en) Method, system and controller for transmitting and dispatching data stream
CN102844746A (zh) 用于在存储设备和机器可读的存储介质中生成物理标识符的方法
CN205091758U (zh) 一种读卡器及cpu卡交易系统
JPH117412A (ja) 電子回路を有する記憶媒体とその管理方法
KR101312293B1 (ko) Ic 칩 및 이에 대한 데이터 검증 방법
CN102013026B (zh) 一种智能卡动态密码认证系统和智能卡动态密码认证方法
CN108171041A (zh) 用于对访问存储器的应用程序进行身份验证的方法和装置
CN101127013A (zh) 加密移动存储设备及其数据存取方法
JP2014041552A (ja) Icカード、及び、携帯可能電子装置
CN106056726B (zh) 一种可双向认证的cpu卡门禁读卡器的安全认证方法
CN109447653A (zh) 一种ic卡加密方法、装置、终端和存储介质
CN103105783A (zh) 嵌入式元件与控制方法
JP2009015651A (ja) 情報記憶媒体
CN103824029B (zh) 智能卡数据处理方法和装置
JP4899499B2 (ja) Icカード発行方法、icカード発行システムおよびicカード
CN211827307U (zh) 一种双加密电子标签

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 7