KR102648397B1 - 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법 - Google Patents

플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법 Download PDF

Info

Publication number
KR102648397B1
KR102648397B1 KR1020190079911A KR20190079911A KR102648397B1 KR 102648397 B1 KR102648397 B1 KR 102648397B1 KR 1020190079911 A KR1020190079911 A KR 1020190079911A KR 20190079911 A KR20190079911 A KR 20190079911A KR 102648397 B1 KR102648397 B1 KR 102648397B1
Authority
KR
South Korea
Prior art keywords
flash memory
security information
controller
memory
content value
Prior art date
Application number
KR1020190079911A
Other languages
English (en)
Other versions
KR20210004076A (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 KR1020190079911A priority Critical patent/KR102648397B1/ko
Publication of KR20210004076A publication Critical patent/KR20210004076A/ko
Application granted granted Critical
Publication of KR102648397B1 publication Critical patent/KR102648397B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명에 따른 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법은 마이크로컨트롤러(100), 플래쉬 메모리(210)를 포함하는 플래쉬 메모리 모듈(200)의 구성으로부터, 데이터 인터페이스(SPI통신)를 통해 디바이스의 보안 근거가 되는 보안정보(예를 들어, ID, PW, 마스터키 등의 고유한 보안정보)를 생성함으로써 디바이스의 물리적 복제를 방지하는 기술을 제공한다. 본 발명의 방법에 따르면, 플래쉬 메모리의 일반적인 동작을 위한 제어명령을 전달하는 단계, 플래쉬 메모리에서 상기 제어명령 실행이 완료되지 않도록 하는 단계, 플래쉬 메모리의 특정 위치의 값, 즉, 메모리 컨텐츠값을 읽어오는 단계, 상기 플래쉬 메모리 컨텐츠값으로부터 보안정보를 생성하는 단계를 포함하는 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성방법이 제공된다.

Description

플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법 {Apparatus and Method for Generating Security Information Using Hardware Characteristics of Flash Memory}
본 발명은 플래쉬 메모리의 하드웨어 고유특성을 이용하여 디바이스의 보안 근거가 되는 보안정보(예를 들어, ID, PW, 마스터키 등의 고유한 보안정보)를 생성하기 위한 기법에 관한 것이다. 보다 구체적으로, 본 발명은 플래쉬 메모리를 이용하여 디바이스 사용자인증을 위한 보안정보를 생성함으로써 물리적 복제를 방지하는 기술에 관한 것이다.
최근 스마트그리드, AMI, 지능형 교통서비스, 실시간 모니터링 등 다양한 IoT(Internet of Things: 사물인터넷) 산업이 활성화됨에 따라 향후 10년 동안 수십억 대의 클라우드 연결 장치가 설계되며 제조 및 배포가 될 것으로 예상되고 있다.
그러나 IoT 디바이스 보안을 위한 기술 인식이 부족하고, 기존의 소프트웨어의 보안 기능들(예를 들어 사용자 ID/PW(패스워드), 디바이스 인증용 마스터 키 등을 메모리에 저장)은 있으나 보안 상의 취약점을 이용하여 ID/PW나 키에 대한 정보를 알아내어 사용자의 디바이스를 공격하는 사례가 다수 보고되고 있다.
그 중 하나의 예로서, 도 1에 Mirai Botnet(미라이 봇넷) 등에 의한 대단위 DDoS 공격에 대한 사례를 도시하였다. 특정 가정이나 사무실의 허브가 감염(infection)된 후에 각종 인프라로 전파(propagation)되어서, 인터넷 연결기능을 제공하는 IoT 디바이스가 디바이스 간 악성코드 전파 및 공격 위협을 받게 되어(attacker C&C command) DDos 트래픽(traffic)이 발생한다.
이와 같이, 사용자 및 디바이스 인증 과정에서 외부 공격에 의한 ID/PW 유출, 디바이스에 초기 설정된 PW 미변경 등으로 인한 외부 공격에 대응하는 보안강화의 필요성이 있으며, 보안의 취약성으로 인한 IoT 디바이스 정지 및 오작동 유발에 의해 인프라 마비, 생명 위협 등의 위험성이 높아지고 있다.
따라서, 대규모 IoT 디바이스의 사용이 대중화되고 있는 상황에서 보안의 취약성에 대응하기 위하여 IoT 디바이스가 사용자를 위해 ID/PW를 스스로 만들어 인증하고 사용자로부터 신뢰를 받을 수 있는 보안정보를 생성하는 기술이 필요하였다.
이러한 IoT 디바이스의 보안 문제를 해결하기 위해 PUF(Physically Unclonable Function: 물리적 복제 방지) 기술이 등장하였다. PUF 기술은 반도체 칩의 제조공정 특성에 따라 자연스럽게 나타나는 각 반도체 칩의 물리적인 특성 차이에 기반하여 디바이스별로 고유하고 복제 불가능한 ID/PW 또는 마스터키 등을 생성하는 데 사용되고 있다.
초기 PUF는 반도체 칩 구현 시 소자의 특성에 기반한 아이디어를 FPGA 또는 ASIC으로 구현하여 성능을 확인하는 것이 일반적이었으며, 그에 대한 예시로 Arbiter-PUF, RO(Ring oscillator)-PUF, VIA PUF 등이 있다. 하지만 IoT 디바이스처럼 자원이 제약적인 환경에서는 별도의 PUF를 구현한 FPGA나 ASIC을 장착하기가 힘든 환경인 경우가 대부분이다.
최근에는 이러한 문제점을 해결하기 위해 상용 디바이스로부터 직접 PUF 출력을 유도하는 기술이 등장하였다. 대표적인 기법은 디바이스에 기본적으로 장착되어 있는 SRAM, DRAM, 플래쉬 등과 같은 메모리의 물리적 특성을 이용한 메모리 기반 PUF출력 생성 기법이다.
SARM PUF는 전원이 켜졌을 때 SRAM 셀의 이진 상태가 디바이스마다 고유하다는 특징을 이용하였고, DRAM PUF는 DRAM셀의 정보를 유지하기 위한 Refresh 기능을 정지시키고 시간에 따른 셀의 방전 상태가 디바이스마다 고유하다는 특징을 이용하였다.
그리고 플래쉬 PUF는 반복적으로 특정 페이지(Page)를 프로그램(Program)하여 인접한 페이지의 메모리 셀이 영향을 받아 그 값이 고유하게 변한다는 특징을 이용하였다.
하지만 이러한 방법은 항상 적용 가능한 기술이 아니다. SRAM PUF는 전원이 켜지는 초기 부팅단계에서만 사용될 수 있기 때문에 실시간으로 PUF 출력을 얻어 낼 수 없다는 단점이 있고, DRAM PUF는 그 출력 값(response)을 얻어 내는 데 상당한 시간이 걸린다는 단점이 있다. 또한 기존 플래쉬 PUF도 평균적 레이턴시(Latency: 대기 시간)가 1~5분 정도로 상당한 시간이 걸린다는 단점이 있다.
따라서 종래의 기술 이외에 상용 디바이스로부터 직접적으로 디바이스의 하드웨어 고유특성인 PUF 출력을 얻기 위한 다양한 기법에 대한 요구사항이 증가하고 있다.
본 발명은 플래쉬 메모리의 특성, 특히 하드웨어 고유특성을 기반으로 디바이스의 보안 근거가 되는 보안정보를 생성함으로써 디바이스 사용자의 보안성을 보장해주는 기법을 구현하는 데 목적이 있다.
정상적인 플래쉬 메모리의 동작을 위해서는 프로그램(Program)과 지우기(Erase)의 동작시간을 충분히 부여해서 각 플래쉬 메모리 셀의 플로팅 게이트에서 전하의 충/방전이 완전히 이루어져야 한다. 상기 과제를 해결하기 위하여 본 발명에서는 프로그램 및 지우기의 동작시간을 충분히 주지 않고, 플로팅 게이트에 있는 전하가 시간에 따라 불완전하게 충/방전하도록 한다. 임의의 특정한 시간에서 불완전하게 충/방전되는 전하량은 플래쉬 메모리 셀마다 고유한 특성을 갖는다. 본 발명은 이러한 하드웨어 고유특성을 이용한다. 즉, 플래쉬 메모리 셀에 대해 읽기(Read) 동작을 실행하였을 때 남아있는 전하량에 따라 '0' 또는 '1'의 비트 정보가 고유하게 나타나므로, 이 비트 정보를 보안정보 생성에 이용한다.
보다 구체적으로, 본 발명은, 디바이스에 장착되어 있는 플래쉬 메모리로부터 디바이스의 하드웨어 보안 근거가 되는 비트열(보안정보)을 생성하기 위하여, 디바이스 또는 제어부가 플래쉬 메모리의 일반적인 동작을 위해 제어명령을 전달하는 단계, 임의 시간 후에 플래쉬 메모리에서 상기 제어명령 실행이 완료되지 않도록 하는 단계, 플래쉬 메모리의 특정 위치의 값을 읽어오는 단계, 상기 플래쉬 메모리 컨텐츠값으로부터 비트열을 생성하는 단계를 포함하는 방법을 제공한다.
이상 소개한 본 발명의 구성 및 작용은 이후에 도면과 함께 설명하는 구체적인 실시예를 통하여 더욱 명확해질 것이다.
본 발명에 따르면, 플래쉬 메모리의 고유특성을 기반으로 한 보안정보 생성 방법을 이용하여 필요시 실시간으로 PUF 출력을 얻어 낼 수 있다. 본 발명은 종래의 기술과 비교할 때 추가적인 시스템 구축없이 간단한 동작방법으로 훨씬 다양한 환경에서 ID/PW, 마스터키와 같은 보안정보 생성과 신뢰성 보장을 효과적으로 확보할 수 있다.
도 1은 IoT 디바이스의 보안 문제의 한 예시(Mirai Botnet에 의한 DDoS 공격),
도 2는 플래쉬 메모리 셀의 프로그램, 읽기, 지우기(Program/Read/Erase)의 구동방식,
도 3은 플래쉬 메모리를 이용한 디바이스의 고유한 보안정보 생성 장치 및 방법의 구성도,
도 4는 플래쉬 메모리 모듈을 이용한 CRP 생성의 설명을 위한 개념도,
도 5는 플래쉬 PUF 성능 측정을 위한 디바이스 환경, 도 6은 플래쉬 메모리로부터 얻은 우수한 특성의 PUF 출력을 나타낸 결과표이다.
본 발명의 이점 및 특징, 그리고 이들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 기술되어 있는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명을 생략한다.
본 발명의 개념은, 본 발명의 보안정보 생성장치(도 3 참조)에 포함된 플래쉬 메모리 모듈(200)의 내부를 구성하는 플래쉬 메모리(210)로부터 도 2의 프로그램(Program)(10)과 지우기(Erase)(30)의 동작 횟수를 많이 반복하지 않고 비교적 짧은 시간 내에, 그리고 추가적인 장치나 회로없이 더 간단한 하드웨어적 고유한 특성을 기반한 PUF 출력을 실시간으로 얻어 ID/PW 또는 Key와 같은 보안정보를 생성하고자 하는 것이다.
먼저, 도 2를 참조하여 플래쉬 메모리 셀(cell)의 Program, Read, Erase 구동방식에 대해 설명한다.
도 2의 플래쉬 메모리 셀(50)은 1개의 플로팅 게이트 트랜지스터(Floating gate transistor)로 구성되어 있으며, 1 bit(SLC: Single Level 메모리 셀의 경우) 또는 그 이상의 bit(MLC: Multi Level 메모리 셀의 경우)를 저장할 수 있다. 플로팅 게이트 트랜지스터는 전기적으로 고립된 플로팅 게이트(55)를 가지고 있으며, 플로팅 게이트(55)에 전하를 충전하는 과정을 프로그램(Program)(Logical '1'에서 Logical '0'이 됨을 의미)(10)이라 한다.
또한, 플로팅 게이트(55)에 전하가 있는지 없는지를 알아내는 과정을 읽기(Read)(20)라 하며, 플로팅 게이트(55)가 가지는 전하의 유무에 따라 달라지는 플로팅 게이트 트랜지스터의 임계 전압(Threshold Voltage)을 측정함으로써 Logical '0'과 Logical '1'을 알아낼 수 있다.
지우기(Erase)(30)는 플로팅 게이트(55)에 충전된 전하를 없애는 과정이며, 이 때 플래쉬 메모리 셀(50)의 출력은 Logical '0'에서 Logical '1'로 된다. 도 2에서 Program 동작(10)의 경우에 게이트(55)에 20V의 전압이 인가되고, Read(20) 동작의 경우에 게이트(55)에 5V가 인가되고, Erase(30) 동작의 경우에 게이트(55)에 0V가 인가됨을 화살표로 나타내었다.
정상적인 플래쉬 메모리(210)의 동작을 위해서는 Program(10)과 Erase(30)의 동작시간을 충분히 부여해서 플로팅 게이트(55)에서 전하의 충/방전이 완전히 이루어져야 한다.
본 발명에서는 Program(10)과 Erase(30)의 동작시간을 충분히 주지 않고, 플로팅 게이트(55)에 있는 전하가 시간에 따라 불완전하게 충/방전하도록 구현한다. 임의의 특정한 시간에서 불완전하게 충/방전되는 전하량은 플래쉬 메모리 셀(50)마다 고유한 특성을 갖는다.
본 발명은 이러한 특성을 이용한다. 즉, 플래쉬 메모리 셀(50)에 대해 Read(20) 동작을 실행하였을 때 남아있는 전하량에 따라 '0' 또는 '1'의 Bit 정보가 고유하게 나타나므로, Bit정보를 보안정보 생성에 이용한다.
도 3은 본 발명의 실시예에 따른 보안정보 생성장치의 구조를 나타낸 블록도이다. 도 3에서 보안정보 생성장치는 마이크로컨트롤러(MCU: Micro Controller Unit)(100)와, 플래쉬 메모리(210)를 포함하는 플래쉬 메모리 모듈(200)로 구성된다.
앞에서 언급한 것과 같이 MCU(100)는 플래쉬 메모리 모듈(200)로부터 데이터를 획득하여 보안정보를 생성하는 IoT 디바이스에 상응할 수 있다.
본 발명의 실시예에 따른 보안정보를 생성하는 단계를 설명한다.
먼저 MCU(100)는 플래쉬 메모리(210)의 특정 주소 부분에 Program(10) 또는 Erase(30) 동작을 수행하기 위하여 데이터 인터페이스를 통해 명령(Command)(예를 들어, 프로그램 명령: Program Command)을 플래쉬 메모리 모듈(200)로 전달한다(S10). 이 때, 데이터 인터페이스는 기존의 상용되고 있는 SPI(Serial Peripheral Interface) 통신을 사용한다.
MCU(100)는 플래쉬 메모리(210)의 Program(10)과 Erase(30) 동작이 정상적으로 완료되기 전 임의의 특정한 시간에 Program(10)과 Erase(30) 동작을 멈추게 하는 중단 명령(Abort Command)을 플래쉬 메모리 모듈(200)로 전달한다(S20).
후에, MCU(100)는 상기 플래쉬 메모리 모듈(200) 내부를 구성하고 있는 플래쉬 메모리(210)로 특정 부분의 주소(address)와 사이즈(size)를 지정하여 플래쉬 메모리(210)로부터의 메모리 컨텐츠 값을 요청한다(S30).
플래쉬 메모리(210)로부터 상기 메모리 컨텐츠 값을 획득(S40)한 MCU(100)는 플래쉬 PUF 출력값을 생성한다(S50). 이렇게 획득한 PUF 출력값은 ID/PW, 마스터키(Master key) 등과 같은 디바이스 보안정보를 생성(S60)하는 데 사용된다.
한편, 도 3의 보안정보 생성장치에서 S10 단계에서 지우기 명령(Erase command)을 이용하여 MCU(100)가 플래쉬 PUF 출력을 플래쉬 메모리(210)로부터 얻어내는 과정에 대해 설명한다.
플래쉬 메모리(210)의 특정 주소의 메모리 값이 Logical '0'으로 되어 있을 때(즉, 플로팅 게이트(55)에 전하가 충전되어 있을 때), MCU(100)가 Erase command를 플래쉬 메모리 모듈(200)로 전달한다(S10). Erase command를 전달받은 플래쉬 메모리 모듈(200)에서는 플래쉬 메모리 셀(50)의 플로팅 게이트(55)에 존재하는 전하를 방전하기 시작하는데, 이 때 임의의 특정한 시간이 지난 후 MCU(100)에서 Erase(30) 동작을 멈추게 하는 Abort command(예를 들어, Reset command)를 플래쉬 메모리 모듈(200)로 전달하고, 플래쉬 메모리(210)는 전하 방전을 멈추게 된다.
이에 따라 플로팅 게이트(55)에 남아 있는 전하량은 각 플래쉬 메모리 셀(50)마다 고유하게 달라지게 된다. 이렇게 달라진 전하량으로 인해 각 플래쉬 메모리 셀(50)의 임계 전압값이 결정되고 Logical '0' 또는 Logical '1'의 상태를 갖게 된다.
즉, 임의의 특정한 시간에 어떤 플래쉬 메모리 셀(50)에서는 Erase(30) 동작이 빠르게 수행되어 플래쉬 메모리 셀(50)에 남아있는 전하량이 없을 수도 있고, 혹은 어떤 플래쉬 메모리 셀(50)은 방전 속도가 느려 Logical '0'의 값을 가질 수 있는 전하가 여전히 플로팅 게이트(55)에 남아 있을 수도 있다.
따라서 MCU(100)가 플래쉬 메모리 모듈(200)로 Abort command를 내려준 뒤(S20), 플래쉬 메모리(210)로부터의 해당 주소지의 메모리 값을 요청한다(S30). 플래쉬 메모리 셀(50)에 대해 Read(20) 동작을 실행하면(S40) 해당하는 플래쉬 메모리 셀(50)의 고유한 Bit정보를 얻을 수 있다.
도 4를 참조하여 플래쉬 메모리 모듈을 이용한 CRP(Challenge-Response Pair) 생성 기법에 관해 설명한다.
앞서 설명한 S20 과정에서 플래쉬 메모리 셀(50)에서의 Erase(30) 동작을 멈추게 하는 시점을 다르게 하면, 그에 상응하여 각기 다른 플래쉬 PUF 출력값을 얻게 된다. 그에 따른 플래쉬 PUF 출력값으로 각기 다른 보안정보를 생성할 수 있게 된다.
이 때, 각기 다른 시간을 챌린지(Challenge 1, 2, …, n)라 하며, 플래쉬 메모리 모듈(200)로 입력된 챌린지에 따라 그에 상응하는 리스폰스(Response 1, 2, …, n)(즉, 각기 다른 플래쉬 메모리 값)가 출력된다. 플래쉬 메모리 모듈(200)로 여러 챌린지(즉, 각기 다른 시간)를 입력함으로써 도 4와 같이 무수히 많은 리스폰스(즉, 플래쉬 메모리 값)가 출력되는데, 이로써 플래쉬 메모리 모듈(200)을 통해서 CPS(Challenge-Response Pair)를 생성할 수 있다.
이렇게 플래쉬 메모리 모듈(200)을 통해 생성된 무수히 많은 CRP는 IoT 환경에서 사용자 인증 등 다양한 보안 응용에 활용할 수 있다. 예를 들어, 도 3의 MCU(100)가 플래쉬 PUF 출력을 이용하여 보안정보를 생성하는 단계(S60)에서, 안정성 있는 보안정보를 생성하기 위해 MCU(100)가 플래쉬 메모리(210)로부터 메모리 컨텐츠(Memory Contents)를 읽는 과정(S40)을 반복한 후 Erase(30) 동작이 실행되지 않는 플래쉬 메모리 셀(50)의 특정한 위치정보를 찾아 보안정보를 생성하는 데 이용할 수 있다.
이 때, 플래쉬 메모리(210)에서 받아온 메모리 컨텐츠를 변경하지 않은 채 그대로 보안정보로 사용했을 시 발생하는 문제(예로, 디바이스가 갖는 공격취약성)를 해결하기 위한 방법으로 머신러닝을 이용할 수 있다. 머신러닝을 통해 특징을 추출하여 취약점이 보완된 보안정보를 생성할 수 있다.
도 5와 도 6은 이상에서 설명한 본 발명에 따른 플래쉬 PUF의 성능 측정을 나타내기 위한 것이다. 도 5는 플래쉬 PUF의 성능 측정을 위해 제작한 디바이스 환경을 나타낸다. 각각 플래쉬 메모리가 장착되어 있는 4개의 디바이스가 층 구조로 모여 있다. 그리고 도 6은 도 5에 나타낸 4개의 디바이스에 기 장착되어 있는 플래쉬 메모리로부터 16384 바이트의 플래쉬 PUF 출력을 200번 얻어 안전성(Steadiness), 고유성(Uniqueness), 균등성(Uniformity)을 측정한 결과값을 나타낸다.
안전성은 플래쉬 PUF 출력의 안정성을 의미하며, IC(Intra-chip variation)라고도 불리운다. 안전성은 단일 PUF 디바이스에서 고정된 챌린지를 반복적으로 플래쉬 메모리 모듈(200)에(본 예에서는, 플래쉬 메모리(210)의 특정 위치에) 입력하여 동일한 출력값(즉, Response 비트열)이 나오는지 확인하는 척도를 나타낸다. 안전성, 즉, IC는 0에 가까울수록 우수한 성능을 나타내고, 온도(T)와 전압(V)과 같은 주변환경에 영향을 받는다.
고유성은 동일한 아이디어로 구현된 다수의 PUF 디바이스들을 구분 짓는 유일성을 의미하며, Extra-Chip variation(EC)이라고도 불리운다. 즉, 동일한 챌린지를 다수의 PUF 디바이스의 플래쉬 메모리 모듈(200)에 입력하여 얻은 출력값(Response 비트열)들이 서로 달라서 충분한 엔트로피를 가져야 함을 의미한다. 고유성, 즉, EC값은 50%에 가까울수록 우수한 성능을 가진다.
균등성은 출력값(Response 비트열)의 0과 1의 개수가 얼마나 균등하게 분포되어 있는가(즉, 0과 1의 개수가 편향(bias)되어 있지 않고 고르게 분포됨)를 의미한다. 균등성 값은 50%에 가까울수록 우수한 성능을 나타낸다.
도 6에서 데이터 통신 모듈로부터 얻은 플래쉬 PUF 출력(Response)의 안전성의 결과값은 0%에 근접하며, 고유성과 균등성의 결과값은 50%에 근접하여 플래쉬 메모리(210)로부터 얻은 PUF 출력 특성이 우수함을 확인할 수 있다.
이상에서 설명한 본 발명은 장치 측면 또는 방법적 측면으로 실시가능한데, 특히 본 발명의 각 구성요소의 기능(function) 또는 과정(process)은 DSP(digital signal processor), 프로세서, 컨트롤러, ASIC(application-specific IC), 프로그래머블 로직소자(FPGA 등), 기타 전자소자 중의 적어도 하나 그리고 이들의 조합이 포함되는 하드웨어 요소로써 구현 가능하다. 또한 하드웨어 요소와 결합되어 또는 독립적으로 소프트웨어로써도 구현 가능한데, 이 소프트웨어는 기록매체에 저장 가능하다.
이상, 본 발명의 바람직한 실시예를 통하여 본 발명의 구성을 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서에 개시된 내용과는 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술한 특허청구범위에 의하여 정해지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태는 본 발명의 기술적 범위에 포함되는 것으로 해석되어야 한다.
10: 프로그램, 20: 읽기, 30: 지우기, 50: 플래쉬 메모리 셀, 55: 플로팅 게이트, 100: MCU(Micro Control Unit: 마이크로컨트롤러), 200: 플래쉬 메모리 모듈, 210: 플래쉬 메모리

Claims (10)

  1. 디바이스에 장착된 플래쉬 메모리로부터 컨트롤러가 데이터를 획득하여 디바이스 보안정보를 생성하는 방법에 있어서,
    1) 상기 컨트롤러가 상기 플래쉬 메모리의 동작을 위한 제어명령을 전달하고;
    2) 상기 컨트롤러가 상기 플래쉬 메모리에서 상기 제어명령의 실행이 완료되지 않도록 상기 플래쉬 메모리를 제어하되, 상기 컨트롤러가 상기 플래쉬 메모리의 동작이 정상적으로 완료되기 전에 동작을 멈추게 하는 중단 명령을 상기 플래쉬 메모리에 전달하고;
    3) 상기 컨트롤러가 상기 플래쉬 메모리로부터 메모리 컨텐츠값을 획득하고;
    4) 상기 컨트롤러가 상기 메모리 컨텐츠값으로부터 상기 디바이스 보안정보를 생성하는 것을 포함하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성방법.
  2. 제1항에 있어서, 상기 1)에서 플래쉬 메모리의 동작을 위한 제어명령은 Program 명령 및 Erase 명령 중 하나인 것을 특징으로 하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성방법.
  3. 삭제
  4. 제1항에 있어서, 상기 3)은
    상기 컨트롤러가 상기 플래쉬 메모리에, 획득할 메모리 컨텐츠값에 해당하는 플래쉬 메모리 셀의 주소를 지정하여 메모리 컨텐츠 값을 요청하는 것을 포함하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성방법.
  5. 제1항에 있어서, 상기 4)에서 상기 디바이스의 보안정보는 상기 획득한 메모리 컨텐츠값에 해당하는 플래쉬 메모리 셀의 Bit정보인 것을 특징으로 하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성방법.
  6. 디바이스에 장착된 플래쉬 메모리; 및
    상기 플래쉬 메모리로부터 데이터를 획득하여 디바이스 보안정보를 생성하는 컨트롤러를 포함하되,
    상기 컨트롤러는, 상기 플래쉬 메모리의 동작을 위한 제어명령을 전달하고; 상기 플래쉬 메모리에서 상기 제어명령의 실행이 완료되지 않도록 상기 플래쉬 메모리를 제어하되, 상기 컨트롤러가 상기 플래쉬 메모리의 동작이 정상적으로 완료되기 전에 동작을 멈추게 하는 중단 명령을 상기 플래쉬 메모리에 전달하고; 상기 플래쉬 메모리로부터 메모리 컨텐츠값을 획득하고; 상기 메모리 컨텐츠값으로부터 상기 디바이스 보안정보를 생성하도록 구성되는 것을 특징으로 하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성장치.
  7. 제6항에 있어서, 상기 컨트롤러에서
    상기 플래쉬 메모리의 동작을 위한 상기 제어명령은 Program 명령 및 Erase 명령 중 하나인 것을 특징으로 하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성장치.
  8. 삭제
  9. 제6항에 있어서, 상기 컨트롤러에서
    상기 플래쉬 메모리로부터 메모리 컨텐츠값을 획득하는 것은
    상기 플래쉬 메모리에, 획득할 메모리 컨텐츠값에 해당하는 플래쉬 메모리 셀의 주소를 지정하여 메모리 컨텐츠 값을 요청하는 것을 특징으로 하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성장치.
  10. 제6항에 있어서, 상기 디바이스의 보안정보는 상기 컨트롤러가 상기 플래쉬 메모리로부터 획득한 메모리 컨텐츠값에 해당하는 플래쉬 메모리 셀의 Bit정보인 것을 특징으로 하는, 플래쉬 메모리의 고유특성을 이용한 보안정보 생성장치.
KR1020190079911A 2019-07-03 2019-07-03 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법 KR102648397B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190079911A KR102648397B1 (ko) 2019-07-03 2019-07-03 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190079911A KR102648397B1 (ko) 2019-07-03 2019-07-03 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210004076A KR20210004076A (ko) 2021-01-13
KR102648397B1 true KR102648397B1 (ko) 2024-03-18

Family

ID=74142742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190079911A KR102648397B1 (ko) 2019-07-03 2019-07-03 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법

Country Status (1)

Country Link
KR (1) KR102648397B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013050996A (ja) * 2006-10-04 2013-03-14 Marvell World Trade Ltd フラッシュメモリデバイスを指定する集積回路
KR101489758B1 (ko) * 2013-08-26 2015-02-04 한국전자통신연구원 플래시 메모리의 동작 제어 방법 및 장치
KR101580196B1 (ko) * 2014-12-15 2015-12-24 고려대학교 산학협력단 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013050996A (ja) * 2006-10-04 2013-03-14 Marvell World Trade Ltd フラッシュメモリデバイスを指定する集積回路
KR101489758B1 (ko) * 2013-08-26 2015-02-04 한국전자통신연구원 플래시 메모리의 동작 제어 방법 및 장치
KR101580196B1 (ko) * 2014-12-15 2015-12-24 고려대학교 산학협력단 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법

Also Published As

Publication number Publication date
KR20210004076A (ko) 2021-01-13

Similar Documents

Publication Publication Date Title
US20210109579A1 (en) Methods and apparatus to create a physically unclonable function
CN112042151B (zh) 使用单调计数器的机密密钥的安全分发
CN114830595B (zh) 将密码密钥委托给存储器子系统
CN108694316B (zh) 用于现场可编程门阵列(fpga)存储器内控制器的安全监测代理
US11070380B2 (en) Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method
WO2023274011A1 (zh) 一种otp存储器内数据保护方法、装置、设备及存储介质
US12003632B2 (en) Secure communication in accessing a network
KR20210134054A (ko) 보안 전자 제어 유닛 업데이트를 위한 로컬 원장 블록 체인
KR20190070686A (ko) 보안 디버깅을 수행하는 스토리지 장치 및 그것의 패스워드 인증 방법
CN111740834A (zh) 安全传感器通信
KR102068485B1 (ko) 불 휘발성 메모리 모듈 및 그것의 동작 방법
US20210406407A1 (en) Block chain based validation of memory commands
KR20150143149A (ko) 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
CN113544665B (zh) 利用工作证明对资源受限环境中的可信代理的测量的执行
KR102648397B1 (ko) 플래쉬 메모리의 하드웨어 고유특성을 이용한 보안정보 생성장치 및 방법
Gordon et al. A novel IoT sensor authentication using HaLo extraction method and memory chip variability
TWI758697B (zh) 積體電路、記憶體電路以及用於操作積體電路的方法
KR20220085811A (ko) 일회용 패스워드 생성
CN112434349A (zh) 安全描述符生成
EP3948522A1 (en) Over-the-air update validation
JP2022526936A (ja) ブロックチェーンにおけるブロックとしてのメモリの使用
JP5979144B2 (ja) 機器固有情報生成装置と機器固有情報生成方法、端末機器および認証システム
KR20230082807A (ko) 스토리지 장치 및 전자 시스템의 동작 방법
Gordon et al. Discover Internet of Things
CN116011040A (zh) 基于内部非对称密钥的存储器系统多因素认证

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant