KR20140075848A - 불 휘발성 메모리 모듈 및 그것의 동작 방법 - Google Patents

불 휘발성 메모리 모듈 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20140075848A
KR20140075848A KR1020120138079A KR20120138079A KR20140075848A KR 20140075848 A KR20140075848 A KR 20140075848A KR 1020120138079 A KR1020120138079 A KR 1020120138079A KR 20120138079 A KR20120138079 A KR 20120138079A KR 20140075848 A KR20140075848 A KR 20140075848A
Authority
KR
South Korea
Prior art keywords
authentication
user system
authentication value
memory module
nonvolatile memory
Prior art date
Application number
KR1020120138079A
Other languages
English (en)
Other versions
KR102068485B1 (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 KR1020120138079A priority Critical patent/KR102068485B1/ko
Priority to US14/091,684 priority patent/US9251099B2/en
Publication of KR20140075848A publication Critical patent/KR20140075848A/ko
Application granted granted Critical
Publication of KR102068485B1 publication Critical patent/KR102068485B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 따른 불 휘발성 메모리 모듈은 불 휘발성 메모리; 사용자 시스템으로부터 초기화 요청을 수신하고, 수신된 초기화 요청에 응답하여 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증값을 생성하고, 생성된 인증값을 기반으로 상기 불 휘발성 메모리로의 접근을 제어하는 인증부; 및 생성된 인증값을 저장하는 인증값 저장부를 포함한다.

Description

불 휘발성 메모리 모듈 및 그것의 동작 방법{NONVOLATILE MEMORY MODULE AND METHOD FOR OPERATING THEREOF}
본 발명은 불 휘발성 메모리에 관한 것으로 더욱 상세하게는 복수의 장치 식별자들을 이용한 불 휘발성 메모리 모듈의 동작 방법에 관한 것이다.
컴퓨팅 시스템의 주기억 장치(Main Memory)는 보조 기억 장치(Auxiliary Memory)와 중앙 처리 유닛(CPU; Central Processing Unit)간의 속도 차이를 극복하기 위해 사용된다. 따라서, 주기억 장치는 빠른 동작 속도 및 데이터의 신뢰성이 보장되어야 한다. 램(RAM; Random Access Memory)은 빠른 동작 속도를 갖기 때문에 일반적으로 컴퓨팅 시스템의 주기억 장치로서 사용된다. 램(RAM)은 전원 공급이 중단되면 데이터가 소거되는 휘발성 메모리(Volatile Memory)이다. 그러나, 최근 반도체 기술의 발달함에 따라 빠른 동작 속도가 보장되고, 전원 공급이 중단되어도 데이터가 소거되지 않는 불 휘발성 램들이 제공되고 있다. 불 휘발성 램은 전원 공급이 중단되어도 데이터가 소거되지 않기 때문에 분실, 도난 등으로 인하여 임의의 사용자가 불 휘발성 램에 저장된 데이터에 접근할 수 있다. 이 경우, 불 휘발성 램에 저장된 데이터가 중요 데이터라면, 심각한 보안 문제가 발생한다.
이러한 문제점을 해결하기 위하여 소프트웨어 및 하드웨어 계층의 인증방식을 사용하고 있다. 예를 들어, 패스워드, 인증서 등과 같은 종래의 인증 방식은 소프트웨어 계층의 인증방식이다. 이러한 인증 방식은 인증값의 해킹, 복제 등의 문제점을 갖는다. 소프트웨어 계층의 인증방식과 달리, 하드웨어 계층의 인증방식으로서 디바이스 인증방식이 제공된다. 그러나, 종래의 디바이스 인증 방식은 하나의 디바이스 복제를 통해 인증을 받을 수 있는 문제점이 있다.
본 발명의 목적은 향상된 보안성을 갖는 불 휘발성 메모리 모듈 및 불 휘발성 메모리의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 메모리 모듈은 불 휘발성 메모리; 사용자 시스템으로부터 초기화 요청을 수신하고, 상기 수신된 초기화 요청에 응답하여 상기 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증값을 생성하고, 상기 생성된 인증값을 기반으로 상기 불 휘발성 메모리로의 접근을 제어하는 인증부; 및 상기 생성된 인증값을 저장하는 인증값 저장부를 포함한다.
실시 예로서, 상기 인증값이 생성된 후, 상기 사용자 시스템이 상기 불 휘발성 메모리로 최초 접근할 경우, 상기 인증부는 상기 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증키를 생성하고, 상기 인증값 및 상기 인증키를 비교하여 상기 불 휘발성 메모리로의 접근을 제어한다.
실시 예로서, 상기 인증값 및 상기 인증키가 서로 동일한 경우, 상기 인증부는 상기 사용자 시스템의 상기 불 휘발성 메모리로의 접근을 허용하고, 상기 인증값 및 상기 인증키가 서로 다른 경우, 상기 인증부는 상기 사용자 시스템의 상기 불 휘발성 메모리로의 접근을 제한한다.
실시 예로서, 상기 인증부는 상기 사용자 시스템에 포함된 복수의 장치들의 장치 식별자들을 암호화하여 상기 인증값을 생성하는 암호화부; 상기 암호화된 인증값을 복호화하는 복호화부; 상기 인증값 및 상기 인증키를 비교하는 비교부를 포함한다.
실시 예로서, 상기 인증부는 선택된 보안 등급에 따라 상기 인증값을 선택적으로 암호화한다.
실시 예로서, 상기 인증부는 상기 인증값 및 상기 인증키가 서로 다른 경우, 상기 불 휘발성 메모리에 저장된 데이터를 무효화하는 소거부를 더 포함한다.
실시 예로서, 상기 소거부는 상기 불 휘발성 메모리에 저장된 데이터에 덮어쓰기, 랜덤 패턴 삽입, 및 동일한 데이터 패턴 삽입 중 어느 하나의 방법을 통해 상기 불 휘발성 메모리에 저장된 데이터를 무효화하는 메모리 모듈.
실시 예로서, 상기 불 휘발성 메모리는 상기 사용자 시스템의 주 기억 장치이다.
본 발명의 다른 실시 예에 따른 불 휘발성 메모리를 포함하는 메모리 모듈의 동작 방법은 사용자 시스템으로부터 초기화 요청을 수신하는 단계; 상기 초기화 요청에 응답하여 보안 모드 및 일반 모드 중 어느 하나를 선택하고, 상기 선택된 결과에 따라 보안 모드인 경우 상기 사용자 시스템에 포함된 장치들의 장치 식별자들을 수신하는 단계; 상기 수신된 장치 식별자들을 기반으로 인증값을 생성하는 단계; 상기 생성된 인증값을 인증값 저장부에 저장하는 단계를 포함한다.
실시 예로서, 상기 사용자 시스템으로부터 접근 인증 요청을 수신하는 단계; 설정된 모드가 보안 모드인지 일반 모드인지 판별하고, 상기 판별결과에 따라 보안 모드인 경우, 상기 사용자 시스템으로부터 장치 식별자들을 수신하여 인증키를 생성하는 단계; 상기 인증키 및 상기 인증값을 비교하는 단계; 및 상기 비교 결과에 따라 상기 사용자 시스템의 상기 불 휘발성 메모리로 접근을 제어하는 단계를 더 포함한다.
본 발명에 따르면, 인증 사용자 시스템에 연결된 장치들의 장치 식별자들을 기반으로 인증값을 생성하고, 생성된 인증값을 기반으로 비인증 사용자의 불 휘발성 메모리로의 접근을 제한할 수 있다. 따라서, 인증 사용자 시스템만 불 휘발성 메모리 모듈로 접근할 수 있다.
또한, 보안등급에 따라 인증값의 랜덤성 및 인증값의 보안성이 증가하고 사용자 시스템에 설치 또는 장착된 장치들을 사용하므로 인증 요소의 복제 및 이동이 불가능하다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
또한, 불 휘발성 메모리 모듈로의 비인증 사용자 시스템의 접근이 있을 경우, 불 휘발성 메모리 모듈은 저장된 데이터들을 무효화할 수 있다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 1은 본 발명의 실시 예에 따른 인증 시스템을 보여주는 블록도이다.
도 2는 도 1에 도시된 인증 사용자 시스템 및 메모리 모듈을 보여주는 블록도이다.
도 3은 도 1에 도시된 메모리 모듈의 인증값 생성 방법을 보여주는 순서도이다.
도 4는 도 1에 도시된 메모리 모듈의 보안 등급을 설명하기 위한 도면이다.
도 5는 도 1에 도시된 메모리 모듈의 접근 인증 방법을 보여주는 순서도이다.
도 6은 도 1에 도시된 메모리 모듈 및 비인증 사용자 시스템을 보여주는 블록도이다.
도 7은 본 발명의 다른 실시 예에 따른 인증 시스템을 보여주는 블록도이다.
도 8은 본 발명의 또 다른 실시 예에 따른 인증 시스템을 보여주는 블록도이다.
도 9는 도 8에 도시된 메모리 모듈의 접근 인증 방법을 보여주는 순서도이다.
도 10은 본 발명의 또 다른 실시 예에 따른 메모리 모듈의 접근 인증 방법을 보여주는 순서도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명하기로 한다.
본 발명에 따른 불 휘발성 메모리 모듈은 인증 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증값을 생성한다. 불 휘발성 메모리 모듈이 비인증 사용자 시스템에 연결될 경우, 불 휘발성 메모리 모듈은 생성된 인증값을 기반으로 접근 인증 동작을 수행하여 비인증 사용자 시스템의 접근을 제한한다.
또한, 불 휘발성 메모리 모듈이 비인증 사용자 시스템에 연결될 경우, 불 휘발성 메모리 모듈은 생성된 인증값을 기반으로 접근 인증 동작을 수행하여 불 휘발성 메모리 모듈에 저장된 데이터를 삭제할 수 있다. 따라서, 향상된 보안성을 갖는 불 휘발성 메모리 모듈이 제공된다.
도 1은 본 발명의 실시 예에 따른 인증 시스템을 보여주는 블록도이다. 간결한 설명을 위하여 인증 사용자 시스템(1100) 및 비인증 사용자 시스템(1200)이 도 1에 함께 도시되었으나, 인증 시스템(1000)이 이에 한정되는 것은 아니다.
도 1을 참조하면, 인증 시스템(1000)은 인증 사용자 시스템(1100), 비인증 사용자 시스템(1200), 및 메모리 모듈(1300)을 포함할 수 있다. 인증 사용자 시스템(1100)은 메모리 모듈(1300)로의 접근이 허용되는 사용자 시스템을 가리킨다. 비인증 사용자 시스템은 메모리 모듈(1300)의 해킹, 도난 등으로 인하여 메모리 모듈(1300)로의 접근이 제한되는 사용자 시스템을 가리킨다. 인증 사용자 시스템(1100) 및 비인증 사용자 시스템(1200)은 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, PDA 등과 같은 컴퓨팅 시스템이다. 인증 사용자 시스템(1100) 및 비인증 사용자 시스템(1200)은 메모리 모듈(1300)을 주 기억 장치(Main Memory)로서 사용할 수 있다.
메모리 모듈(1300)은 인증부(1310, Authentication Engine), 인증값 저장부(1320), 및 불 휘발성 메모리(1330, Nonvolatile Memory)를 포함할 수 있다. 인증부(1310)는 인증 사용자 시스템(1100)과 연결되어 초기화 동작을 수행할 수 있다. 예를 들어, 인증 사용자 시스템(1100)은 주 기억 장치로서 메모리 모듈(1300)을 사용할 수 있다. 이 경우, 인증부(1310)는 인증 사용자 시스템(1100)에 포함된 복수의 장치들의 장치 식별자들(Device Identifications)을 수신할 수 있다. 인증부(1310)는 수신된 장치 식별자들을 기반으로 인증값(Certification Value)을 생성할 수 있다. 인증부(1310)는 생성된 인증값을 기반으로 외부 시스템의 접근 인증 동작을 수행할 수 있다. 메모리 모듈(1300)의 인증값 생성 방법 및 접근 인증 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
인증값 저장부(1320)는 인증부(1310)에 의해 생성된 인증값(Certification Value)을 저장할 수 있다. 예시적으로, 도면에 도시되지는 않았으나, 인증값 저장부(1320)는 불 휘발성 메모리(1330)에 포함될 수 있다.
불 휘발성 메모리(1330)는 인증 사용자 시스템(1100)의 주 기억 장치로서 동작할 수 있다. 불 휘발성 메모리(1330)는 인증 사용자 시스템(1100)에 의해 실행되는 프로세스 또는 프로세스가 참조하는 데이터를 저장한다. 예시적으로, 불 휘발성 메모리(1330)는 자기 저항 메모리(MRAM; Magnetic Random Access Memory), 저항 메모리(RRAM; Resistive RAM), 상변화 메모리(PRAM; Phase-change RAM), 강유전체 메모리(FRAM; Ferroelectric RAM), 및 NAND 플래시 메모리 중 어느 하나일 수 있다.
상술된 본 발명의 실시 예에 따르면, 메모리 모듈(1300)은 인증 사용자 시스템(1100)을 기반으로 인증값을 생성하여, 비인증 사용자 시스템(1200)의 접근을 제한할 수 있다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 2는 도 1에 도시된 인증 사용자 시스템 및 메모리 모듈을 예시적으로 보여주는 블록도이다. 예시적으로, 메모리 모듈(1300)은 인증 사용자 시스템(1100)과 연결되고, 인증 사용자 시스템(1100)의 주 기억 장치로서 동작한다.
도 2를 참조하면, 인증 사용자 시스템(1100)은 중앙 처리 유닛(1110, CPU; Central Processing Unit), 칩셋(1120, Chipset), 시스템 버스(1130, internal bus), 및 제 1 내지 제 n 장치들(1131~113n)을 포함한다. 인증 사용자 시스템(1100)은 메모리 모듈(1300)과 전기적으로 연결된다. 메모리 모듈(1300)은 인증 사용자 시스템(1100)의 주 기억 장치(Main Memory)로서 동작한다.
중앙 처리 유닛(1110)은 인증 사용자 시스템(1100)에 포함된 장치들의 동작을 제어하고, 프로그램 명령을 해독하거나 실행하는 장치이다.
칩셋(1120)은 중앙 처리 유닛(1110)의 제어에 따라, 인증 사용자 시스템(1100)의 하드웨어를 제어하는 장치이다. 예를 들어, 칩셋(1120)은 메모리 모듈(1300), 제 1 내지 제 n 장치들(1131~113n)의 제어 신호들을 조절할 수 있다. 칩셋(1120)은 인증 사용자 시스템(1100)에 포함된 주요 버스들 간 브리지 역할을 수행할 수 있다.
시스템 버스(1130)는 칩셋(1120), 메모리 모듈(1300), 및 제 1 내지 제 n 장치들(1131~113n)과 연결되어 데이터를 전송하는 채널을 제공한다.
제 1 내지 제 n 장치들(1131~113n)은 인증 사용자 시스템(1100)이 구동될 수 있도록 데이터의 입력, 출력 또는 저장 기능을 제공하는 하드웨어들이다. 예를 들어, 제 1 내지 제 n 장치들(1131~113n)은 그래픽 카드, 네트워크 카드, 사운드 카드, 키보드, 모니터, 저장 장치 등과 같은 장치들일 수 있다.
제 1 내지 제 n 장치들(1131~113n)은 각각 서로 다른 고유의 장치 식별자(Device ID)를 갖는다. 예를 들어, 제 1 장치(1131)는 그래픽 카드일 수 있다. 제 2 장치(1132)는 제 1 장치(1131)와 동일한 종류의 그래픽 카드일 수 있다. 제 3 장치(1133)는 네트워크 카드일 수 있다. 제 1 내지 제 3 장치들(1131~1133) 각각은 서로 다른 장치 식별자를 갖는다. 즉, 서로 다른 종류의 장치들뿐만 아니라, 동일한 종류의 장치들 또한 각각 고유의 장치 식별자를 갖는다. 따라서, 인증 사용자 시스템(1100)에 포함된 제 1 내지 제 n 장치들(1131~113n)을 기반으로 인증값을 생성할 경우, 생성된 인증값의 복제 또는 해킹이 불가능할 것이다.
예시적으로, 제 1 내지 제 n 장치들(1131~113n)은 내부 장치(internal device) 및 외부 장치(external device)로 분류될 수 있다. 예를 들어, 인증 사용자 시스템(100)이 데스크탑 컴퓨터인 경우, 내부 장치(internal device)는 내장형 그래픽 장치, 내장형 사운드 장치, 내장형 네트워크 장치 등과 같이 마더보드(motherboard) 내에 포함된 장치일 수 있다. 외부 장치(external device)는 외장형 저장 장치, 외장형 그래픽 장치, 키보드, 마우스, 모니터 등과 같이 마더보드에서 분리될 수 있는 장치일 수 있다. 예시적으로, 메모리 모듈(1300)의 인증값 생성시, 메모리 모듈(1300)은 선택되는 보안 등급에 따라 내부 장치 또는 외부 장치의 장치 식별자를 기반으로 인증값을 생성할 수 있다.
메모리 모듈(1300)은 인증 사용자 시스템(1100)의 주 기억 장치로서 동작할 수 있다. 메모리 모듈(1300)은 인증부(1310), 인증값 저장부(1320), 및 불 휘발성 메모리(1330)를 포함할 수 있다. 인증부(1310)는 암호화부(1311, Encryption Engine), 복호화부(1312, Decryption Engine), 및 비교부(1313, Comparison Engine)를 포함할 수 있다.
암호화부(1311)는 인증 사용자 시스템(1100)에 포함된 제 1 내지 제 n 장치들(1131~113n)의 장치 식별자들을 수신할 수 있다. 암호화부(1311)는 수신된 장치 식별자들을 기반으로 인증값(Certification Value)을 생성할 수 있다. 예를 들어, 암호화부(1311)는 해쉬 알고리즘(Hash Algorithm)을 기반으로 수신된 장치 식별자들을 조합하여 인증값을 생성할 수 있다.
암호화부(1311)는 생성된 인증값을 암호화할 수 있다. 암호화부(1311)는 DES(Data Encryption Standard), 3-DES, IDEA(International Data Encryption Algorithm), RC2, RC4, AES(Advanced Encryption Standard), SEED, ARIA, MASK, RSA(Riverst Shamir Adleman), DSA(Digital Signature Algorithm), DSS(Digital Signature Standard) 등의 암호화 알고리즘들을 포함할 수 있다. 예시적으로, 암호화부(1311)는 선택된 보안 등급에 따라 선택적으로 암호화를 수행할 수 있다.
복호화부(1312, Decryption Engine)는 암호화부(1311)에 의해 생성된 인증값을 복호화할 수 있다. 예시적으로, 복호화부(1312)의 복호화 알고리즘은 암호화부(1311)의 암호화 알고리즘에 따라 결정된다. 예시적으로, 생성된 인증값이 암호화되지 않을 경우, 복호화부(1312)는 별도의 복호화 동작을 수행하지 않는다.
비교부(1313)는 복호화부(1312)에 의해 복호화된 인증값 및 인증 사용자 시스템(1100)에 포함된 제 1 내지 제 n 장치들(1131~113n)의 장치 식별자들을 기반으로 생성된 인증키를 비교할 수 있다. 비교부(1313)의 비교 결과에 따라, 메모리 모듈(1300)은 인증 사용자 시스템(1100)에 대한 불 휘발성 메모리(1330)로의 접근을 제어한다. 예시적으로, 메모리 모듈(1300)은 인증 사용자 시스템(1100)을 기반으로 인증값을 생성할 경우, 인증 사용자 시스템(1100)은 불 휘발성 메모리(1330)로 접근할 수 있다. 접근 인증 방법은 도 5 및 도 6을 참조하여 더욱 상세하게 설명된다.
불 휘발성 메모리(1330)는 중앙 처리 유닛(1110)에 의해 실행 중인 프로세스 또는 프로세스가 참조하는 데이터를 저장할 수 있다.
상술된 본 발명의 실시 예에 따른 메모리 모듈(1300)은 인증 사용자 시스템(1100)의 주 기억 장치로서 동작한다. 메모리 모듈(1300)은 인증 사용자 시스템(100)에 포함된 제 1 내지 제 n 장치들을 기반으로 인증값을 생성한다. 따라서, 생성된 인증값의 복제 및 해킹이 불가능하므로, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 3은 도 1에 도시된 메모리 모듈의 인증값 생성 방법을 보여주는 순서도이다. 도 1 내지 도 3을 참조하면, S110 단계에서, 메모리 모듈(1300)은 초기화 요청을 수신할 수 있다. 초기화(Initialization)는 인증 사용자 시스템(Authorized User System)에 의한 메모리 모듈(1300)의 보안 등급 설정 동작, 설정된 보안 등급에 따른 장치 선택 동작, 및 선택된 장치들의 장치 식별자들을 기반으로 인증값을 생성하는 동작을 가리킨다. 예를 들어, 최초 동작시 메모리 모듈(1300)은 인증 사용자 시스템(1100)에 연결되어 사용될 수 있다. 이 경우, 메모리 모듈(1300)은 인증 사용자 시스템(1100)으로부터 초기화 요청을 수신할 수 있다. 예시적으로, 메모리 모듈(1300)은 최초 동작시가 아니더라도 인증 사용자 시스템(1100)으로부터 초기화 요청을 수신할 수 있다.
S120 단계에서, 메모리 모듈(1300)은 보안 모드(Secure Mode) 및 일반 모드(Normal Mode) 중 어느 하나의 모드로 선택될 수 있다. 예시적으로, 일반 모드로 선택될 경우, 메모리 모듈(1300)은 인증값 생성 및 접근 인증 동작(도 5를 참조)을 수행하지 않는다. 예시적으로, 보안 모드로 선택된 경우, 보안 등급(Secure Level)이 선택될 수 있다. 선택된 보안 등급을 기반으로 인증 사용자 시스템(1100)에 포함된 제 1 내지 제 n 장치들(1131~113n) 중 인증값 생성에 사용될 장치들이 선택될 수 있다. 보안 등급은 도 4를 참조하여 더욱 상세하게 설명된다.
S120 단계의 선택 결과에 따라 보안 모드로 선택된 경우 S130 단계에서, 메모리 모듈(1300)은 인증 사용자 시스템(1100)으로부터 인증 사용자 시스템(1100)에 포함된 제 1 내지 제 n 장치들(1131~113n) 중 하나 또는 그 이상의 장치들의 장치 식별자들을 수신할 수 있다. 예시적으로, 수신된 장치 식별자들은 S120 단계에서 선택된 장치들의 장치 식별자들일 수 있다.
S140 단계에서, 메모리 모듈(1300)은 수신된 장치 식별자들을 기반으로 인증값을 생성할 수 있다. 예를 들어, 메모리 모듈(1300)은 제 1 내지 제 3 장치들(1131~113n)의 장치 식별자들을 수신할 수 있다. 제 1 내지 제 3 장치들(1131~113n)의 장치 식별자들은 서로 다를 것이다. 메모리 모듈(1300)은 수신된 장치 식별자들을 기반으로 인증값을 생성할 수 있다. 예시적으로, 메모리 모듈(1300)은 S120 단계에서 선택된 보안 등급에 따라 선택적으로 생성된 인증값을 암호화할 수 있다.
S150 단계에서, 메모리 모듈(1300)은 생성된 인증값을 인증값 저장부(1320)에 저장할 수 있다. 예시적으로, 메모리 모듈(1300)은 생성된 인증값을 불 휘발성 메모리(1300)의 일부 영역에 저장할 수 있다.
상술된 본 발명에 따른 메모리 모듈(1300)은 인증 사용자 시스템(1100)에 포함된 장치들의 장치 식별자들을 기반으로 인증값을 생성한다. 또한, 선택된 보안 등급에 따라 인증값의 랜덤성이 증가하여 인증값의 해킹 및 복제가 불가능하게 된다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 4는 도 1에 도시된 메모리 모듈의 보안 등급(Secure Level)을 상세하게 설명하기 위한 도면이다. 예시적으로, 도 4의 복수의 내부 장치들(1131_i~113n_i, internal devices) 및 복수의 외부 장치(1131_e~113m_e, external devices)는 인증 사용자 시스템(1100)에 포함된다. 예시적으로, 메모리 모듈(1300)의 보안 등급은 제 1 내지 제 8 단계들(LV1~LV8) 중 어느 하나인 것으로 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 1 및 도 4를 참조하면, 메모리 모듈(1300)의 보안 등급은 제 1 내지 제 8 단계들(LV1~LV8) 중 어느 하나로 선택될 수 있다. 선택된 보안 등급에 따라 인증값 생성에 사용되는 장치들이 선택되고, 암호화 여부가 선택된다.
제 1 등급(LV1)의 경우, n개의 내부 장치들(1131_i~113n_i) 중 어느 하나의 장치 식별자가 인증값 생성에 사용된다. 예를 들어, 제 1 등급(LV1)에서, 메모리 모듈(1300)은 제 1 내부 장치(1131_i)를 기반으로 인증값을 생성할 수 있다.
제 2 등급(LV2)의 경우, n개의 내부 장치들(1131_i~113n_i) 중 둘 이상의 장치들의 장치 식별자들이 인증값 생성에 사용된다. 예를 들어, 제 2 등급(LV2)에서, 메모리 모듈(1300)은 제 1 및 제 2 내부 장치들(1131_i, 1132_i)을 기반으로 인증값을 생성할 수 있다.
제 3 등급(LV3)의 경우, n개의 내부 장치들(1131_i~113n_i) 중 둘 이상의 장치들의 장치 식별자들 및 m 개의 외부 장치들(1131_e~113m_e) 중 어느 하나의 장치 식별자가 인증값 생성에 사용된다. 예를 들어, 제 3 등급(LV3)에서, 메모리 모듈(1300)은 제 1 및 제 2 내부 장치들(1131_i, 1132_i) 및 제 1 외부 장치(1131_e)를 기반으로 인증값을 생성할 수 있다.
제 4 등급(LV4)의 경우, n개의 내부 장치들(1131_i~113n_i) 중 둘 이상의 장치들의 장치 식별자들 및 m 개의 외부 장치들(1131_e~113m_e) 중 둘 이상의 장치들의 장치 식별자들이 인증값 생성에 사용된다. 예를 들어, 제 4 등급(LV4)에서, 메모리 모듈(1300)은 제 1 및 제 2 내부 장치들(1131_i, 1132_i) 및 제 1 및 제 2 외부 장치들(1131_e, 1132_e)을 기반으로 인증값을 생성할 수 있다.
제 5 등급(LV5)의 경우, 메모리 모듈(1300)은 제 1 등급(LV1)의 인증값을 암호화한다. 제 6 등급(LV6)의 경우, 메모리 모듈(1300)은 제 2 등급(LV2)의 인증값을 암호화한다. 제 7 등급(LV7)의 경우, 메모리 모듈(1300)은 제 3 등급(LV3)의 인증값을 암호화한다. 제 8 등급(LV8)의 경우, 메모리 모듈(1300)은 제 4 등급(LV4)의 인증값을 암호화한다.
상술된 본 발명의 실시 예에 따르면, 보안 등급이 제 1 등급(LV1)에서 제 4 등급(LV4)으로 증가할수록 선택되는 장치들의 개수가 증가한다. 이로 인하여, 인증값의 길이가 증가하여 인증값의 랜덤성이 증가한다. 또한, 사용자 시스템으로부터 분리 가능한 외부 장치들의 장치 식별자가 인증값 생성에 사용됨으로써 메모리 모듈의 보안성이 향상된다.
제 5 등급 이상의 보안 등급에서는 인증값이 암호화되어, 인증값의 노출 가능성이 감소하게 된다. 또한, 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증값을 생성하므로, 인증값의 복제 및 해킹 가능성이 감소된다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 5는 도 1에 도시된 메모리 모듈의 접근 인증 방법을 보여주는 순서도이다. 예시적으로, 메모리 모듈(1300)은 도 3 및 도 4를 참조하여 설명된 인증값 생성 방법을 기반으로 하여 인증값을 생성할 수 있다. 간결한 설명을 위하여, 메모리 모듈(1300)은 인증 사용자 시스템(1100)에 연결되어 도 3을 참조하여 설명된 인증값 생성 동작을 수행한 이후 비인증 사용자 시스템(1200)에 연결되어 도 5에 도시된 순서도에 따라 동작하는 것으로 가정한다.
도 1 및 도 5를 참조하면, S210 단계에서, 메모리 모듈(1300)은 비인증 사용자 시스템(1200)으로부터 접근 요청을 수신할 수 있다.
S220 단계에서, 메모리 모듈(1300)은 설정된 상태가 보안 모드인지 판별할 수 있다. 예시적으로, 메모리 모듈(1300)이 보안 모드인 경우, 메모리 모듈(300)은 인증값을 포함하고 있다.
판별 결과에 따라 보안 모드가 아닌 경우, S260 단계에서, 메모리 모듈(1300)은 비인증 사용자 시스템(1200)이 불 휘발성 메모리(1330)로 접근하는 것을 허용한다.
판별 결과에 따라 보안 모드인 경우, S230 단계에서, 메모리 모듈(1300)은 비인증 사용자 시스템(1200)에 포함된 복수의 장치들을 기반으로 인증키(Certification Key)를 생성할 수 있다. 예를 들어, 메모리 모듈(1300)이 인증 사용자 시스템(1100)과 연결되어 인증값을 생성하는 과정에서 인증 사용자 시스템(1100)과 연결된 보조 저장 장치 및 USB 드라이브의 장치 식별자를 기반으로 인증값을 생성할 수 있다. 이 경우, 메모리 모듈(1300)은 비인증 사용자 시스템(1200)과 연결된 보조 저장 장치 및 USB 드라이브를 기반으로 인증값(Certification Key)을 생성한다.
S240 단계에서, 메모리 모듈(1300)은 인증값 및 인증키를 비교할 수 있다. 예를 들어, 메모리 모듈(1300)에 포함된 인증값은 인증 사용자 시스템(1100)에 포함된 장치들의 장치 식별자들을 기반으로 생성된 값이다. 비인증 사용자 시스템(1200)은 비인증 사용자 시스템이므로, 인증값 및 인증키는 서로 다를 것이다. 예시적으로, 제 1 및 비인증 사용자 시스템들(1100, 1200)이 서로 동일한 경우(예를 들어, 제 1 및 비인증 사용자 시스템들에 포함된 장치들이 동일한 장치 식별자를 갖는 경우), 인증값 및 인증키는 일치할 것이다.
비교 결과에 따라, 인증값 및 인증키가 일치하는 경우, S260 단계에서 메모리 모듈(1300)은 비인증 사용자 시스템(1200)의 접근을 허용한다.
비교 결과에 따라 인증값 및 인증키가 불일치하는 경우, S250 단계에서, 메모리 모듈(1300)은 비인증 사용자 시스템(1200)의 접근을 제한한다.
상술된 본 발명의 실시 예에 따르면, 메모리 모듈(1300)은 인증 사용자 시스템을 기반으로 인증값을 생성한다. 메모리 모듈(1300)이 비인증 사용자 시스템에 연결되어 사용될 경우, 메모리 모듈(1300)은 비인증 사용자 시스템에 포함된 장치들을 기반으로 인증키를 생성하여, 미리 생성된 인증값과 비교한다. 비인증 사용자 시스템의 장치들은 인증 사용자 시스템의 장치들과 동일한 장치 식별자를 가질 수 없기 때문에, 메모리 모듈(1300)은 비인증 사용자 시스템의 접근을 제한할 수 있다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 6은 도 1에 도시된 비인증 사용자 시스템 및 메모리 모듈을 예시적으로 보여주는 블록도이다. 간결한 설명을 위하여, 도 6에 도시된 메모리 모듈(1300)은 인증 사용자 시스템(1100)에 연결되어 인증값을 생성한 후, 비인증 사용자 시스템(1200)에 연결되어 주 기억 장치로서 동작하는 것으로 가정한다.
도 6을 참조하면, 비인증 사용자 시스템(1200)은 중앙 처리 유닛(1210, CPU; Central Processing Unit), 칩셋(1220, chipset), 시스템 버스(1230), 및 제 1 내지 제 n 장치들(1231~123n)을 포함할 수 있다. 비인증 사용자 시스템(1200)의 중앙 처리 유닛(1210), 칩셋(1220), 시스템 버스(1230), 및 제 1 내지 제 n 장치들(1231~123n)은 도 2에 도시된 인증 사용자 시스템(1100)의 구성 요소들과 동일한 동작을 수행하므로 이에 대한 설명은 생략된다. 예시적으로, 인증 사용자 시스템(1100)의 장치들(1131~113n)과 비인증 사용자 시스템(1200)의 장치들(1231~123n)은 서로 다른 장치 식별자들을 가질 것이다.
메모리 모듈(1300)은 비인증 사용자 시스템(1200)의 주 기억 장치로서 동작할 수 있다. 메모리 모듈(1300)은 인증부(1310), 인증값 저장부(1320), 및 불 휘발성 메모리(1330)를 포함할 수 있다. 메모리 모듈(1300)의 인증부(1310), 인증값 저장부(1320), 및 불 휘발성 메모리(1330)는 도 2를 참조하여 설명되었으므로 이에 대한 설명은 생략된다.
메모리 모듈(1300)은 인증 사용자 시스템(1100)을 기반으로 생성된 인증값을 포함할 수 있다. 메모리 모듈(1300)은 비인증 사용자 시스템(1200)의 제 1 내지 제 n 장치들(1231~123n)을 기반으로 인증키(Certification Key)를 생성할 수 있다. 메모리 모듈(1300)은 생성된 인증값 및 인증키를 비교할 수 있다.
예시적으로, 인증 사용자 시스템 및 비인증 사용자 시스템들(1100, 1200)이 서로 다를 경우, 인증 사용자 시스템(1100)에 포함된 장치들(1131~113n)과 비인증 사용자 시스템(1200)에 포함된 장치들(1231~123n)은 각각 서로 다른 장치 식별자를 갖는다. 뿐만 아니라, 인증 사용자 시스템 및 비인증 사용자 시스템들(1100, 1200)이 서로 동일한 종류의 장치들을 포함하더라도, 각 장치들의 장치 식별자들은 다를 것이다. 즉, 생성된 인증값 및 인증키는 서로 다를 것이다. 따라서, 메모리 모듈(1300)은 비인증 사용자 시스템(1200)이 불 휘발성 메모리(330)로 접근하는 것을 제한할 것이다.
상술된 본 발명의 실시 예에 따르면, 메모리 모듈(1300)은 비인증 사용자 시스템(1200)의 접근을 제한할 수 있다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 7은 본 발명의 다른 실시 예에 따른 인증 시스템을 예시적으로 보여주는 블록도이다. 예시적으로, 도 7에 도시된 인증 시스템(2000)은 인증 사용자 시스템(2100) 및 메모리 모듈(2300)을 포함하는 것으로 도시되나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 7을 참조하면, 인증 사용자 시스템(2100)은 중앙 처리 유닛(2110, CPU; Central Processing Unit), 칩셋(2120, chipset), 시스템 버스(2130), 및 제 1 내지 제 n 장치들(2131~213n), 및 메모리 모듈(2300)을 포함한다. 중앙 처리 유닛(2110, CPU; Central Processing Unit), 칩셋(2120, chipset), 시스템 버스(2130), 및 제 1 내지 제 n 장치들(2131~213n)은 도 2를 참조하여 설명된 구성요소들과 동일하므로 이에 대한 설명은 생략된다.
메모리 모듈(2300)은 인증부(2310), 인증값 저장부(2320), 및 복수의 불 휘발성 메모리 블록들(2331~233n)을 포함한다. 불 휘발성 메모리 블록은 메모리 블록은 복수의 메모리 셀들을 포함하는 메모리 칩, 복수의 메모리 칩을 포함하는 패키지, 복수의 패키지를 포함하는 모듈 중 어느 하나를 가리킬 수 있다. 또는 불 휘발성 메모리 블록은 논리적 주소 영역의 집합을 가리킬 수 있다. 메모리 모듈(2300)은 도 1 내지 도 6을 참조하여 설명된 방법에 따라 인증값을 생성하고, 접근 인증 동작을 수행할 수 있다. 메모리 모듈(2300)은 인증 사용자 시스템(2100)의 주 기억 장치(Main Memory) 또는 보조 기억 장치(Auxiliary memory)로서 동작할 수 있다.
예시적으로, 복수의 불 휘발성 메모리 블록들(2331~233n) 각각은 서로 다른 보안 등급으로 설정될 수 있다. 인증부(2310)는 복수의 불 휘발성 메모리 블록들(2331~233n) 각각에 대응되는 복수의 인증값들을 생성할 수 있다. 예를 들어, 제 1 불 휘발성 메모리 블록(2331)은 일반 모드로 설정될 수 있다. 제 2 불 휘발성 메모리 블록(2332)은 제 2 단계의 보안등급으로 설정될 수 있다. 이 경우, 사용자 시스템(1100)은 별도의 인증과정없이 제 1 불 휘발성 메모리 블록(2331)에 접근할 수 있다. 컴퓨팅 시스템(1100)이 제 2 불 휘발성 메모리 블록(2332)에 접근할 경우, 메모리 모듈(2300)은 제 2 불 휘발성 메모리 블록(2332)에 대응되는 보안 등급(예를 들어, 제 2 단계)을 기반으로 접근 인증 동작을 수행한다.
상술된 본 발명의 제 2 실시 예에 따르면, 메모리 모듈(2300)에 포함된 복수의 불 휘발성 메모리 블록들 각각에 대하여 서로 다른 보안 등급을 설정할 수 있다. 따라서, 보안이 요구되지 않는 데이터의 접근이 용이해지므로 메모리 모듈의 성능이 향상된다.
도 8은 본 발명의 또 다른 실시 예에 따른 인증 시스템을 예시적으로 보여주는 블록도이다. 예시적으로, 도 8에 도시된 인증 시스템(3000)은 인증 사용자 시스템(3100) 및 메모리 모듈(3300)을 포함하는 것으로 도시되나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 8을 참조하면, 인증 사용자 시스템(3100)은 중앙 처리 유닛(3110, CPU; Central Processing Unit), 칩셋(3120, Chipset), 시스템 버스(3130), 및 제 1 내지 제 n 장치들(3131~313n)을 포함한다. 도 8에 도시된 인증 사용자 시스템(3100)의 중앙 처리 유닛(3100), 칩셋(3120), 시스템 버스(3130), 및 제 1 내지 제 n 장치들(3131~313n)은 도 2를 참조하여 설명되었으므로, 이에 대한 설명은 생략된다.
메모리 모듈(3300)은 인증부(3310), 인증값 저장부(3320), 및 불 휘발성 메모리(3330)를 포함한다. 인증부(3310)는 암호화부(3311), 복호화부(3312), 비교부(3313), 및 소거부(3314)를 포함한다. 도 8에 도시된 인증부(3310)의 암호화부(3311), 복호화부(3312), 비교부(3313), 인증값 저장부(3320), 및 불 휘발성 메모리(3330)는 도 2를 참조하여 설명되었으므로 이에 대한 설명은 생략된다. 도 8의 메모리 모듈(3300)은 도 2의 메모리 모듈(1300)과 비교하여 소거부(3314)를 더 포함한다. 이하에서, 도 8의 메모리 모듈(3300) 및 도 2의 메모리 모듈(1300)의 차이점이 중점적으로 설명된다.
소거부(3314)는 불 휘발성 메모리(3330)에 저장된 데이터를 무효화할 수 있다. 데이터 무효화는 불 휘발성 메모리 영역에 저장된 데이터의 삭제, 데이터가 저장된 불 휘발성 메모리 영역에 랜덤 데이터 덮어쓰기, 랜덤 데이터 삽입, 동일한 데이터 패턴 삽입, 불 휘발성 메모리의 공장 초기화 등과 같이 사용자 시스템이 데이터를 독출할 수 없도록 하는 동작을 가리킨다. 예를 들어, 메모리 모듈(3300)이 비인증 사용자 시스템에 연결되어 사용될 경우, 메모리 모듈(3300)은 비인증 사용자 시스템의 접근을 제한할 수 있다. 이 때, 소거부(3314)는 불 휘발성 메모리(3330)에 저장된 데이터가 유출되는 것을 방지하기 위하여 불 휘발성 메모리(3330)에 저장된 데이터를 무효화할 수 있다.
예시적으로, 소거부(3314)는 불 휘발성 메모리(3330)에 저장된 메타 데이터를 우선적으로 무효화할 수 있다. 메타 데이터는 불 휘발성 메모리(3330)에 저장된 데이터들의 정보를 가리키는 데이터이다. 다시 말해서, 메타 데이터가 무효화될 경우, 불 휘발성 메모리(3330)에 저장된 데이터를 독출할 수 없을 것이다.
예시적으로, 불 휘발성 메모리(3330)는 복수의 영역들로 분할될 수 있다. 불 휘발성 메모리(3330)는 복수의 불 휘발성 메모리 블록들을 포함할 수 있다. 각각의 불 휘발성 메모리 블록들은 서로 다른 종류의 데이터를 저장할 수 있다. 예를 들어, 제 1 불 휘발성 메모리 블록은 인증 사용자 시스템(3100)에서 사용되는 프로세스들을 저장할 수 있다. 제 2 불 휘발성 메모리 블록은 제 1 불 휘발성 메모리 블록에 저장된 프로스세스들이 참조하는 데이터들을 저장할 수 있다. 제 3 불 휘발성 메모리 블록은 인증 사용자 시스템의 메타 데이터를 저장할 수 있다. 비인증 사용자 시스템이 메모리 모듈로의 접근할 경우, 소거부(3314)는 제 3 불 휘발성 메모리 블록에 저장된 메타 데이터를 우선적으로 무효화할 수 있다. 소거부(3314)가 메타 데이터를 우선적으로 무효화함으로써, 비인증 사용자 시스템에 의한 데이터 유출을 방지할 수 있다.
도 9는 도 8에 도시된 메모리 모듈의 접근 인증 방법을 보여주는 순서도이다. 도 9를 참조하면, S310 내지 S340 단계들은 도 5의 S210 내지 S240 단계들과 동일하므로 이에 대한 설명은 생략된다.
S340 단계의 비교 결과에 따라 인증값 및 인증키가 동일한 경우, S360 단계에서, 메모리 모듈(3300)은 불 휘발성 메모리(3330)로의 접근을 허용한다.
S340 단계의 비교 결과에 따라 인증값 및 인증키가 다른 경우, S350 단계에서 메모리 모듈(3300)은 불 휘발성 메모리(3330)에 저장된 데이터를 무효화할 수 있다. 예를 들어, 메모리 모듈(3300)은 불 휘발성 메모리(3330)에 저장된 메타 데이터를 우선적으로 무효화할 수 있다. 이 후, 메모리 모듈(3300)은 불 휘발성 메모리(3330)에 저장된 프로세스 및 프로세스가 참조하는 데이터를 무효화할 수 있다. 메타 데이터는 불 휘발성 메모리(3330)에 저장된 데이터의 매핑 테이블, 인증 사용자 시스템 정보 등을 가리킨다. 메모리 모듈(3300)은 메타 데이터를 우선적으로 무효화함으로써, 비인증 사용자 시스템에 의한 데이터 유출을 방지할 수 있다.
상술된 본 발명의 제 3 실시 예에 따르면, 메모리 모듈(3300)은 비인증 사용자 시스템의 접근을 제한할 뿐만 아니라, 불 휘발성 메모리(3330)에 저장된 데이터를 무효화함으로써 데이터의 유출을 방지할 수 있다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
도 10은 본 발명의 또 다른 실시 예에 따른 메모리 모듈의 접근 인증 방법을 보여주는 순서도이다. 예시적으로, 도 9에 도시된 메모리 모듈의 접근 인증 방법과 달리, 도 10에 도시된 메모리 모듈의 접근 인증 방법은 유저 정보를 수신하여 인증 동작을 수행하는 단계를 더 포함한다.
도 10을 참조하면, S410 내지 S440 단계들은 도 5에 도시된 S210 내지 S240 단계들과 동일하므로 이에 대한 설명은 생략된다.
S440 단계의 비교 결과에 따라 인증값 및 인증키가 서로 다른 경우 S450 단계에서, 메모리 모듈(3300)은 연결된 사용자 시스템으로부터 유저 정보를 수신할 수 있다. 유저 정보는 유저 ID(User Identification) 및 패스워드(password)를 가리킨다. 예시적으로, 메모리 모듈(3300)의 초기화 동작(Initialization)에서 미리 결정된 유저 정보를 포함할 수 있다. 미리 결정된 유저 정보는 인증값 저장부에 저장될 수 있다.
S460 단계에서, 메모리 모듈(3300)은 미리 결정된 유저 정보와 수신된 유저 정보를 비교할 수 있다.
비교 결과에 따라 미리 결정된 유저 정보 및 수신된 유저 정보가 다른 경우, S470 단계에서, 메모리 모듈(3300)은 불 휘발성 메모리(3330)에 포함된 데이터를 소거할 수 있다. 예시적으로, 메모리 모듈(3300)은 불 휘발성 메모리(3330)에 포함된 데이터 중 메타 데이터를 우선적으로 소거할 수 있다.
비교 결과에 따라 미리 결정된 유저 정보 및 수신된 유저 정보가 동일한 경우, S480 단계에서 메모리 모듈(3300)은 연결된 사용자 시스템의 불 휘발성 메모리(3330)로의 접근을 허용한다.
상술된 본 발명에 따르면, 메모리 모듈(3300)은 인증 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증값을 생성한다. 메모리 모듈은 생성된 인증값을 기반으로 접근 인증 동작을 수행한다. 인증 사용자 시스템에 포함된 장치들의 장치 식별자는 해킹 또는 복제가 불가능하기 때문에, 인증 사용자 시스템 이외의 비인증 사용자 시스템은 메모리 모듈로 접근할 수 없다.
또한, 비인증 사용자 시스템이 접근할 경우 메모리 모듈은 소거, 덮어쓰기, 랜덤 데이터 패턴 삽입 등의 방식을 기반으로 불 휘발성 메모리에 포함된 데이터를 무효화함으로써 데이터의 유출을 방지할 수 있다. 따라서, 향상된 보안성을 갖는 메모리 모듈이 제공된다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100 : 인증 사용자 시스템 200 : 비인증 사용자 시스템
300 : 메모리 모듈 310 : 인증부
320 : 인증값 저장부 330 : 불 휘발성 메모리

Claims (10)

  1. 불 휘발성 메모리;
    사용자 시스템으로부터 초기화 요청을 수신하고, 상기 수신된 초기화 요청에 응답하여 상기 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증값을 생성하고, 상기 생성된 인증값을 기반으로 상기 불 휘발성 메모리로의 접근을 제어하는 인증부; 및
    상기 생성된 인증값을 저장하는 인증값 저장부를 포함하는 메모리 모듈.
  2. 제 1 항에 있어서,
    상기 인증값이 생성된 후, 상기 사용자 시스템이 상기 불 휘발성 메모리로 최초 접근할 경우,
    상기 인증부는 상기 사용자 시스템에 포함된 장치들의 장치 식별자들을 기반으로 인증키를 생성하고, 상기 인증값 및 상기 인증키를 비교하여 상기 불 휘발성 메모리로의 접근을 제어하는 메모리 모듈.
  3. 제 2 항에 있어서,
    상기 인증값 및 상기 인증키가 서로 동일한 경우, 상기 인증부는 상기 사용자 시스템의 상기 불 휘발성 메모리로의 접근을 허용하고,
    상기 인증값 및 상기 인증키가 서로 다른 경우, 상기 인증부는 상기 사용자 시스템의 상기 불 휘발성 메모리로의 접근을 제한하는 메모리 모듈.
  4. 제 2 항에 있어서,
    상기 인증부는
    상기 사용자 시스템에 포함된 복수의 장치들의 장치 식별자들을 암호화하여 상기 인증값을 생성하는 암호화부;
    상기 암호화된 인증값을 복호화하는 복호화부;
    상기 인증값 및 상기 인증키를 비교하는 비교부를 포함하는 메모리 모듈.
  5. 제 4 항에 있어서,
    상기 인증부는 선택된 보안 등급에 따라 상기 인증값을 선택적으로 암호화하는 메모리 모듈.
  6. 제 4 항에 있어서,
    상기 인증부는
    상기 인증값 및 상기 인증키가 서로 다른 경우, 상기 불 휘발성 메모리에 저장된 데이터를 무효화하는 소거부를 더 포함하는 메모리 모듈.
  7. 제 6 항에 있어서,
    상기 소거부는 상기 불 휘발성 메모리에 저장된 데이터에 덮어쓰기, 랜덤 패턴 삽입, 및 동일한 데이터 패턴 삽입 중 어느 하나의 방법을 통해 상기 불 휘발성 메모리에 저장된 데이터를 무효화하는 메모리 모듈.
  8. 제 1 항에 있어서,
    상기 불 휘발성 메모리는 상기 사용자 시스템의 주 기억 장치인 메모리 모듈.
  9. 불 휘발성 메모리를 포함하는 메모리 모듈의 동작 방법에 있어서,
    사용자 시스템으로부터 초기화 요청을 수신하는 단계;
    상기 초기화 요청에 응답하여 보안 모드 및 일반 모드 중 어느 하나를 선택하고, 상기 선택된 결과에 따라 보안 모드인 경우 상기 사용자 시스템에 포함된 장치들의 장치 식별자들을 수신하는 단계;
    상기 수신된 장치 식별자들을 기반으로 인증값을 생성하는 단계;
    상기 생성된 인증값을 인증값 저장부에 저장하는 단계를 포함하는 동작 방법.
  10. 제 9 항에 있어서,
    상기 사용자 시스템으로부터 접근 인증 요청을 수신하는 단계;
    설정된 모드가 보안 모드인지 일반 모드인지 판별하고, 상기 판별결과에 따라 보안 모드인 경우, 상기 사용자 시스템으로부터 장치 식별자들을 수신하여 인증키를 생성하는 단계;
    상기 인증키 및 상기 인증값을 비교하는 단계; 및
    상기 비교 결과에 따라 상기 사용자 시스템의 상기 불 휘발성 메모리로 접근을 제어하는 단계를 더 포함하는 동작 방법.
KR1020120138079A 2012-11-30 2012-11-30 불 휘발성 메모리 모듈 및 그것의 동작 방법 KR102068485B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120138079A KR102068485B1 (ko) 2012-11-30 2012-11-30 불 휘발성 메모리 모듈 및 그것의 동작 방법
US14/091,684 US9251099B2 (en) 2012-11-30 2013-11-27 Nonvolatile memory modules and authorization systems and operating methods thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120138079A KR102068485B1 (ko) 2012-11-30 2012-11-30 불 휘발성 메모리 모듈 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20140075848A true KR20140075848A (ko) 2014-06-20
KR102068485B1 KR102068485B1 (ko) 2020-01-21

Family

ID=50826709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120138079A KR102068485B1 (ko) 2012-11-30 2012-11-30 불 휘발성 메모리 모듈 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9251099B2 (ko)
KR (1) KR102068485B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020197653A1 (en) * 2019-03-22 2020-10-01 Micron Technology, Inc. Data lines updating for data generation

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280890B2 (en) * 2014-03-28 2016-03-08 Mivalife Mobile Technology, Inc. Security system access detection
CN108139917A (zh) 2015-08-20 2018-06-08 美光科技公司 从nand媒体快速引导的固态存储装置
US10317891B2 (en) * 2015-11-23 2019-06-11 Toyota Motor Engineering & Manufacturing North America, Inc. Operator and manufacturing quality traceability
JP2019133345A (ja) * 2018-01-30 2019-08-08 東芝メモリ株式会社 データ蓄積装置、データ処理システムおよびデータ処理方法
CN112347446A (zh) * 2020-11-16 2021-02-09 深圳安捷丽新技术有限公司 一种基于用户人脸识别的多安全等级存储访问方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134311A (ja) * 1995-11-07 1997-05-20 Fujitsu Ltd 機密保護システム
KR20020071274A (ko) * 2001-03-06 2002-09-12 한승조 Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치
US7152095B1 (en) * 1998-10-06 2006-12-19 Ricoh Company Ltd. Method and apparatus for erasing data after tampering
US20140047241A1 (en) * 2011-04-28 2014-02-13 Kabushiki Kaisha Toshiba Data recording device, host device and method of processing data recording device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925570B2 (en) 2001-05-15 2005-08-02 International Business Machines Corporation Method and system for setting a secure computer environment
US7100036B2 (en) 2001-10-30 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for securing a computer
US7712147B2 (en) 2002-12-18 2010-05-04 Nxp B.V. Method and device for protection of an mram device against tampering
JP4522372B2 (ja) 2005-02-07 2010-08-11 株式会社ソニー・コンピュータエンタテインメント プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
WO2006082985A2 (en) 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure booting sequence in a processor
KR100666328B1 (ko) 2005-02-11 2007-01-09 삼성전자주식회사 온 칩 메모리를 이용한 기밀 정보 보안 장치 및 보안 방법
JP2006252021A (ja) 2005-03-09 2006-09-21 Ricoh Co Ltd データ保護機能付不揮発性記憶装置
JP4537908B2 (ja) 2005-03-29 2010-09-08 株式会社東芝 プロセッサ、メモリ、コンピュータシステムおよびシステムlsi
JP4568196B2 (ja) 2005-09-01 2010-10-27 株式会社東芝 プロセッサ、コンピュータシステムおよび認証方法
US8230235B2 (en) * 2006-09-07 2012-07-24 International Business Machines Corporation Selective encryption of data stored on removable media in an automated data storage library
US8116455B1 (en) 2006-09-29 2012-02-14 Netapp, Inc. System and method for securely initializing and booting a security appliance
JP2008204582A (ja) 2007-02-22 2008-09-04 Elpida Memory Inc 不揮発性ram
US7743424B2 (en) 2007-02-22 2010-06-22 Inventec Corporation Method for protecting data in a hard disk
US8738926B2 (en) 2008-01-10 2014-05-27 Intel Mobile Communications GmbH Data processing system, method for executing a cryptographic algorithm and method for preparing execution of a cryptographic algorithm
KR101484110B1 (ko) 2008-02-29 2015-01-28 삼성전자주식회사 메모리 컨트롤러 및 그에 따른 메모리 장치
KR101502032B1 (ko) 2008-03-06 2015-03-12 삼성전자주식회사 보안 기능을 갖는 프로세서 장치
EP2259488A1 (en) 2008-03-25 2010-12-08 Mitsubishi Electric Corporation Encryption operation device, encryption operation program, and recording medium
US7979658B2 (en) 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
US8150039B2 (en) 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
DE102008021567B4 (de) 2008-04-30 2018-03-22 Globalfoundries Inc. Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
US8370644B2 (en) 2008-05-30 2013-02-05 Spansion Llc Instant hardware erase for content reset and pseudo-random number generation
KR100991191B1 (ko) 2008-08-04 2010-11-10 이상훈 컴퓨터 보안 모듈 및 이를 적용한 컴퓨터 장치
US8132267B2 (en) 2008-09-30 2012-03-06 Intel Corporation Apparatus and method to harden computer system
US8452934B2 (en) * 2008-12-16 2013-05-28 Sandisk Technologies Inc. Controlled data access to non-volatile memory
JP5565040B2 (ja) 2010-03-30 2014-08-06 富士通株式会社 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134311A (ja) * 1995-11-07 1997-05-20 Fujitsu Ltd 機密保護システム
US7152095B1 (en) * 1998-10-06 2006-12-19 Ricoh Company Ltd. Method and apparatus for erasing data after tampering
KR20020071274A (ko) * 2001-03-06 2002-09-12 한승조 Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치
US20140047241A1 (en) * 2011-04-28 2014-02-13 Kabushiki Kaisha Toshiba Data recording device, host device and method of processing data recording device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020197653A1 (en) * 2019-03-22 2020-10-01 Micron Technology, Inc. Data lines updating for data generation
US10921996B2 (en) 2019-03-22 2021-02-16 Micron Technology, Inc. Data lines updating for data generation
US11379124B2 (en) 2019-03-22 2022-07-05 Micron Technology, Inc. Data lines updating for data generation
US11669251B2 (en) 2019-03-22 2023-06-06 Micron Technology, Inc. Data lines updating for data generation

Also Published As

Publication number Publication date
KR102068485B1 (ko) 2020-01-21
US9251099B2 (en) 2016-02-02
US20140157006A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
US9100187B2 (en) Authenticator
KR102013841B1 (ko) 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US20100058073A1 (en) Storage system, controller, and data protection method thereof
US8332931B1 (en) Processing commands according to authorization
CN108139984B (zh) 安全子系统
KR101536086B1 (ko) 인증장치, 피인증장치, 및 인증 방법
KR102068485B1 (ko) 불 휘발성 메모리 모듈 및 그것의 동작 방법
CN114830595B (zh) 将密码密钥委托给存储器子系统
KR20090007123A (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
TW201203092A (en) Recording apparatus, writing apparatus, reading apparatus, and method of controlling recording apparatus
US11960632B2 (en) Data attestation in memory
US11783044B2 (en) Endpoint authentication based on boot-time binding of multiple components
US11683155B2 (en) Validating data stored in memory using cryptographic hashes
JP2020030527A (ja) 記憶装置及びプログラム
CN103347017A (zh) 数据处理方法和片上系统
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
US11533172B2 (en) Apparatus and method for securely managing keys
US20210406407A1 (en) Block chain based validation of memory commands
US11228443B2 (en) Using memory as a block in a block chain
KR20210132721A (ko) 네트워크에 액세스 시의 보안 통신
US20230179418A1 (en) Storage controller and method of operating electronic system
CN115391844A (zh) 安全密钥存储装置
US20200310776A1 (en) Over-the-air update validation
US20220138114A1 (en) Using memory as a block in a block chain

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