KR20220140046A - 액세스 보호 기법을 안전화하기 위한 장치 및 방법 - Google Patents
액세스 보호 기법을 안전화하기 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR20220140046A KR20220140046A KR1020227034875A KR20227034875A KR20220140046A KR 20220140046 A KR20220140046 A KR 20220140046A KR 1020227034875 A KR1020227034875 A KR 1020227034875A KR 20227034875 A KR20227034875 A KR 20227034875A KR 20220140046 A KR20220140046 A KR 20220140046A
- Authority
- KR
- South Korea
- Prior art keywords
- write
- value
- volatile memory
- device controller
- authentication key
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
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)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
Abstract
디바이스(20)가 메모리(38, 40)를 포함한다. 디바이스는 컨트롤러(34)를 또한 포함한다. 컨트롤러(34)는 메모리(38, 40)의 액세스 보호 기법을 변경하기 위한 수신 명령의 기능이 가동되는지 여부의 표시사항을 저장하도록 구성되는 레지스터(42, 44)를 포함한다. 수신되는 명령은 표시사항에 응답하여 메모리(38, 40)의 액세스 및 액세스 보호 기법을 변경시킬 수 있다.
Description
관련 출원의 상호 참조
본 출원은 2014년 4월 8일 출원된 미국특허가출원 제61/976,976호(발명의 명칭: "Authenticated Configuration Registers for Secure Write/Erase Protections")에 기초하여 우선권을 주장하는 정규출원이며, 그 내용은 본 발명에 포함된다.
기술분야
실시예는 일반적으로 전자 회로, 디바이스, 및 시스템과 같은 장치에 관한 것이고, 특히, 소정의 실시예에서, 임베디드 메모리 디바이스(embedded memory device)에서의 액세스 보호 기법의 안전화(securing)에 관한 것이다.
컴퓨팅 분야에서, 디바이스 크기와, 디바이스 작동 속도는 계속해서 개발의 선두에 위치해있다. 따라서, 임베디드 메모리 디바이스를 이용하는 서로 다른 기술 및 시스템들이 더욱 일반적이 되고 있다. 이러한 임베디드 메모리 디바이스 중 하나는 볼 그리드 어레이(BGA) 패키지와 같은 패키지에 통합된 멀티미디어 카드(MMC) 구성요소(가령, MMC 인터페이스, 메모리, 가령, 플래시 메모리, 및 관련 컨트롤러)를 포함하는 임베디드 멀티미디어 카드(eMMC)다. 작동시, eMMC 디바이스는 호스트를 위한 특정 작업을 단순화 및/또는 수행하는데 이용될 수 있다(가령, 태블릿, 스마트 폰, GPS 장치, 전자 판독 장치, 및 기타 휴대형 컴퓨팅 디바이스). 이러한 작업들은 부트 작동, 및/또는, eMMC에 오프로딩(offloading)될 수 있는 다른 작동들을 포함할 수 있다. 더욱이, eMMC의 전체 물리적 크기가 컴팩트하기 때문에, 휴대형 전자 장치 내 eMMC의 사용은 (즉, 호스트에 제공되는 추가의 프로세싱 측면에서 eMMC의 상대적으로 컴팩트한 크기로 인해) 추가적인 구성요소들을 위한 장치 내 가용 면적의 증가 가능성과, 추가적인 처리 용량을 가능하게 한다. eMMC 에 의해 수득되는 추가적인 장점은, 메모리가 eMMC에 통합될 수 있고 eMMC에 통합되는 컨트롤러에 의해 관리될 수 있기 때문에, 호스트 프로세서가 예를 들어, 비휘발성(가령, 플래시), 메모리를 구체적으로 관리할 필요성이 감소한다는 것이다.
현재의 eMMC 디바이스는 eMMC의 일부분(가령, 메모리 위치)에 대한 액세스(가령, 소거, 판독, 및/또는 기록)를 막기 위해 소정의 기법을 구현한다. 이러한 보호 기법은 예를 들어, 전체 디바이스(예를 들어, 부트 파티션, 범용 영역 파티션, 리플레이 보호 메모리 블록, 사용자/고급 사용자 데이터 영역 파티션, 등을 포함함)가 하나 이상 유형의 액세스 작동(가령, 기록/소거)으로부터 보호될 수 있도록 디바이스 레벨 기록 보호를 제공할 수 있다. 전체 디바이스의 이러한 보호는 카드-특이적 데이터(CSD) 레지스터에 영구 또는 임시 기록 보호 비트의 설정을 통해 실현될 수 있다. 추가적으로, 현재의 eMMC 디바이스는 eMMC의 구체적 부분들(가령, 기록 보호(WP) 그룹 또는 고용량 WP 그룹)을 영구적으로 파워-온시키거나 또는 일시적으로 기록 보호시켜서, WP 그룹이 개별 기록 보호를 가질 수 있는 최소 단위일 수 있고, 그 크기는 각각의 eMMC 디바이스에 대해 고정될 수 있다. 추가적으로 현재의 eMMC 디바이스는 주어진 eMMC의 복수(가령, 2개)의 부트 파티션을 CSD 레지스터의 특정 필드 설정을 통해 보호되는 기록을 단독으로 또는 집합적으로 영구적으로 파워-온시킬 수 있는 부트 위치 기록 보호를 가능하게 할 수 있다.
그러나, 문제 가능성은 현재의 eMMC 디바이스에 존재한다. 앞서 논의된 현재의 액세스 보호 기법의 구조가 안전화되지 않을 수 있다. 즉, 현재의 eMMC 디바이스의 경우에, 비인가자가 eMMC 디바이스의 액세스 보호 기법을 변경시키는 것을 막지 못할 수 있다. 이와 같이, eMMC 디바이스의 액세스 보호 기법의 비인가 구조를 방지할 필요가 있다.
도 1은 다양한 실시예에 따라, 임베디드 저장 디바이스를 포함하는 시스템의 한 예를 도시한다.
도 2는 다양한 실시예에 따라, 도 1의 임베디드 저장 디바이스 및 호스트를 가진 도 1의 시스템의 상세도다.
도 3은 다양한 실시예에 따라, 도 1의 임베디드 저장 디바이스 및 호스트를 가진, 도 1의 시스템의 제 2 상세도다.
도 4는 다양한 실시예에 따라, 도 3의 임베디드 저장 디바이스의 제 1 부분에 액세스하는 방법을 도시한다.
도 5는 다양한 실시예에 따라, 도 3의 임베디드 저장 디바이스의 액세스 인가 방법을 도시한다.
도 6은 다양한 실시예에 따라 도 3의 호스트와 도 3의 임베디드 저장 디바이스 사이에서 전송되는 메시지 유형들의 한 예를 도시한다.
도 2는 다양한 실시예에 따라, 도 1의 임베디드 저장 디바이스 및 호스트를 가진 도 1의 시스템의 상세도다.
도 3은 다양한 실시예에 따라, 도 1의 임베디드 저장 디바이스 및 호스트를 가진, 도 1의 시스템의 제 2 상세도다.
도 4는 다양한 실시예에 따라, 도 3의 임베디드 저장 디바이스의 제 1 부분에 액세스하는 방법을 도시한다.
도 5는 다양한 실시예에 따라, 도 3의 임베디드 저장 디바이스의 액세스 인가 방법을 도시한다.
도 6은 다양한 실시예에 따라 도 3의 호스트와 도 3의 임베디드 저장 디바이스 사이에서 전송되는 메시지 유형들의 한 예를 도시한다.
현 실시예들은 인증 기술의 성공적 완료 후 컨피규레이션 레지스터의 적어도 일부분만을 설정, 삭제 및/또는 판독할 수 있게 하는 것과 같이, 액세스 보호 기법을 안전화하기 위한 장치 및 방법을 포함한다. 예를 들어, 인증 기술은, 일 실시예에서, 신뢰되는 호스트 시스템으로부터 수신되는 명령에만 응답하여 임베디드 메모리 디바이스의 액세스 보호 기법을 변경시킬 수 있다. 인증 기술은 임베디드 메모리 디바이스의 제조 단계 중 프로그래밍된 것과 같은, 임베디드 메모리 디바이스 내로 사전에 프로그래밍된 암호 키에 또한 기초할 수 있다.
이제 도면을 살펴보면, 도 1은 일반적으로 도면 부호(10)로 표시되는 프로세서-기반 시스템 형태의 장치의 일 실시예를 도시한다. 시스템(10)은 랩탑 컴퓨터, 태블릿, 휴대폰, 개인용 오거나이저, 개인용 디지털 미디어 플레이어, 카메라, 전자 판독기, 등과 같은 다양한 유형의 전자 장치 중 임의의 것일 수 있다. 시스템(10)은 복사기, 스캐너, 프린터, 게임 콘솔, 텔레비전, 셋-탑 비디오 분배 또는 녹화 시스템, 케이블 박스, 공장 자동화 시스템, 자동차 컴퓨터 시스템, 또는 의료 장치와 같이, 소정의 다른 종류의 전자 장치일 수 있다. 이러한 다양한 예의 시스템을 설명하는데 사용되는 용어들은, 여기서 사용되는 다른 용어들 중 많은 용어들처럼, 일부 지시대상을 공유할 수 있고, 나열되는 다른 품목들 덕분에 폭좁게 간주되어서는 안된다.
시스템(10)과 같은 프로세서-기반 장치에서, 마이크로프로세서와 같은 프로세서(12)는 시스템(10) 내 시스템 기능 및 요청의 처리를 제어한다. 더욱이, 프로세서(12)는 시스템 제어를 공유하는 복수의 프로세서를 포함할 수 있다. 프로세서(12)는, 시스템(10) 내에 또는 시스템(10) 외부에 저장될 수 있는 명령어를 실행함으로써 프로세서(12)가 시스템(10)을 제어하도록, 시스템(10) 내 요소들 각각에 직접적으로, 또는 간접적으로, 또는 조합하여 연결될 수 있다.
일 실시예에서, 프로세서(12)는 시스템 버스(14)를 통해 시스템(10) 내 요소들에 직접 연결될 수 있다. 시스템 버스(14)는 시스템(10) 내 다양한 요소들과 프로세서(12) 사이에서 데이터 및/또는 명령들을 전송할 수 있고, 시스템(10) 내 다양한 요소들 사이에서 데이터 및 명령의 전송을 위한 경로를 제공할 수 있다. 시스템(10)의 다양한 요소들의 예가 아래에 제공된다.
알다시피, 시스템(10)은 메모리(16)를 포함할 수 있다. 메모리(16)는 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 동기식 DRAM (SDRAM), 더블 데이터 레이트 DRAM (DDR SDRAM), DDR2 SDRAM, DDR3 SDRAM, 등과 같은 휘발성 메모리를 포함할 수 있다. 메모리(16)는 읽기-전용 메모리(ROM), PC-RAM, 실리콘-옥사이드-나이트라이드-옥사이드-실리콘(SONOS) 메모리, 금속-옥사이드-나이트라이드-옥사이드-실리콘 (MONOS) 메모리, 폴리실리콘 부동 게이트 기반 메모리, 및/또는 휘발성 메모리와 연계하여 사용될 다른 유형의 플래시 메모리(가령, NAND 메모리, NOR 메모리, 등)을 또한 포함할 수 있다. 메모리(16)는 DRAM 디바이스, 솔리드 스테이트 드라이브(SSD's), 멀티미디어미디어카드(MMC's), 시큐어디지털(SD) 카드, 컴팩트플래시(CF) 카드, 또는 그외 다른 적절한 디바이스와 같이, 하나 이상의 메모리 디바이스를 포함할 수 있다. 더욱이, 이러한 메모리 디바이스는 범용 시리얼 버스(USB), 주변 구성요소 인터커넥트 (PCI), PCI 익스프레스(PCI-E), 소형 컴퓨터 시스템 인터페이스(SCSI), IEEE 1394 (파이어와이어), 또는 그외 다른 적절한 인터페이스와 같은, 임의의 적절한 인터페이스를 통해 시스템(10)에 연결될 수 있다는 것을 이해하여야 한다. 플래시 메모리 디바이스와 같은, 메모리(16)의 작동을 촉진시키기 위해, 시스템(10)은 메모리 컨트롤러(도시되지 않음)를 포함할 수 있다. 알다시피, 메모리 컨트롤러는 독립적인 디바이스일 수도 있고, 프로세서(12) 또는 메모리(16)와 일체형일 수도 있다. 추가적으로, 시스템(10)은 자기 저장 디바이스와 같은, 외부 스토리지(18)를 포함할 수 있다. 추가적으로, 일부 실시예에서, 추가 스토리지(가령, 임베디드 메모리 디바이스(20))가 메모리(16)에 추가하여 또는 그 대신에 이용될 수 있다.
시스템(10)은 다수의 추가 요소들을 포함할 수 있다. 예를 들어, 입력 장치(22)가 프로세서(12)에 또한 연결되어 사용자로 하여금 데이터를 시스템(10)에 입력하게 할 수 있다. 예를 들어, 입력 장치(22)는 프로세서(12)에 의한 차후 분석을 위해 메모리(16)에 데이터를 입력하는데 사용될 수 있다. 입력 장치(22)는 예를 들어, 버튼, 스위칭 요소, 키보드, 라이트 펜, 스타일러스, 마우스, 및/또는 음성 인식 시스템을 포함할 수 있다. 추가적으로, 출력 장치(24)가 시스템(10)에 존재할 수 있다. 출력 장치(24)는 예를 들어, 디스플레이를 포함할 수 있다. 출력 장치(24)는 예를 들어, LCD, CRT, LED, 및/또는 오디오 디스플레이를 포함할 수 있다. 이 시스템은 인터넷과 같은 네트워크와 인터페이싱을 위해, 네트워크 인터페이스 카드(NIC)와 같은, 네트워크 인터페이스 디바이스(26)를 또한 포함할 수 있다. 알다시피, 시스템(10)은 시스템(10)의 응용예에 따라, 다른 많은 구성요소들을 포함할 수 있다.
추가적으로, 앞서 언급한 바와 같이, 시스템(10)은 임베디드 메모리 디바이스(20)를 포함할 수 있다. 이러한 임베디드 메모리 디바이스(10)의 한 예는 볼 그리드 어레이(BGA) 패키지에 통합된 멀티미디어 카드(MMC) 구성요소(가령, MMC 인터페이스, 메모리, 가령, 플래시 메모리, 및 공통 다이 상의 관련 컨트롤러)를 포함하는 임베디드 멀티미디어 카드(eMMC)다. 작동시, eMMC 디바이스는, 부트 작동, 및/또는, 다른 사항에 대해 작동할 수 있게 프로세서에게 더 큰 자유를 부여하도록 eMMC에 오프로드될 수 있는 기타 작동들과 같이, 시스템을 위한 특정 작업들을 단순화 및/또는 수행하는데 이용될 수 있다. 더욱이, eMMC에 의해 수행될 특정 작동들의 오프로딩은, eMMC가 프로세서(12)와 병렬로 작동할 수 있기 때문에, 작업을 더 빨리 완료할 수 있게 한다.
일부 실시예에서, 디바이스(20)는 호스트 컨트롤러(28)와 인터페이싱될 수 있다. 추가적으로, 호스트 컨트롤러 인터페이스(30)는 (시스템 버스(14)를 통해) 디바이스(20)와 프로세서(12) 사이의 통신을 완성시킬 수 있다. 호스트 컨트롤러(28) 및 호스트 컨트롤러 인터페이스(30)의 작동은 도 2를 참조하여 아래에서 더 상세하게 논의될 것이다.
도 2는 디바이스(20)와, 시스템(10)의 추가 요소들과 함께 디바이스(20)의 상호연결을 더 세부적으로 도시한다. 도시되는 바와 같이, 프로세서(12), 시스템 버스(14), 메모리(16), 호스트 컨트롤러(28), 및 호스트 컨트롤러 인터페이스(30)는 호스트(32)를 구성할 수 있다. 호스트(32)는 디바이스(20)와 통신할 수 있다. 예를 들어, 명령은 호스트(32)와 디바이스(20) 사이의 명령 경로(가령, CMD)를 따라 전송될 수 있다. 추가적으로, 일부 실시예에서, 디바이스(20)로부터 호스트까지 양방향 CMD를 따라 응답이 전송될 수 있다. 마찬가지로, 데이터는 호스트(32)와 디바이스(20) 사이에 복수의 전송선을 포함할 수 있는 데이터 경로(가령, DAT[0:7])를 따라 전송될 수 있다. 마찬가지로, 디바이스(20)로부터 호스트(32)까지 데이터 스트로브 경로(가령, DS)를 따라 데이터 스트로브가 전송될 수 있다. 더욱이, 클럭 신호가 클럭 경로(가령, CLK)를 따라 전송될 수 있고, 호스트(32)와 디바이스(20) 사이의 리셋 신호 경로(가령, RST_n)를 따라 리셋 신호가 전송될 수 있다. 더 구체적으로, 커넥터(가령, 핀, 리드, 등)가 호스트(32)에 존재할 수 있고(가령, 호스트 컨트롤러(28)에 연결될 수 있고), 각자 명령 경로, 데이터 경로, 데이터 스트로브 경로, 클럭 경로, 및 리셋 신호 경로 각각에 연결될 수 있다. 마찬가지로, 커넥터(가령, 핀, 리드, 등)가 디바이스(20)에 존재할 수 있고(가령, 디바이스 컨트롤러(34)에 연결될 수 있고), 각자 명령 경로, 데이터 경로, 데이터 스트로브 경로, 클럭 경로, 및 리셋 신호 경로 각각에 연결될 수 있다. 추가적으로, 일부 실시예에서, 전력 경로(36)가 하나 이상의 전력 신호를 제공하여, 디바이스(20)의 다양한 요소들에게 전력을 제공할 수 있다. 일부 실시예에서, 이러한 전력 신호들은 디바이스(20)에 존재하는(가령, 디바이스 컨트롤러(34)에 연결된) 하나 이상의 커넥터(가령, 핀, 리드, 등)에서 수신될 수 있다.
일부 실시예에서, 디바이스 컨트롤러(34)는 디바이스(20)의 다양한 요소에(가령, 디바이스 컨트롤러(34)에, 비휘발성 메모리(38)에, 비휘발성 메모리(40)에, 그리고 현재 도시되지 않는 디바이스(20)의 추가 요소에) 전력 신호를 산재시킬 수 있다. 추가적으로, 디바이스 컨트롤러(34)는 디바이스 컨트롤러(34)에 의해 해석될 신호를 포함할 수 있는 명령을 명령 경로를 따라 수신할 수 있다. 이 명령 신호들은 소정의 방식으로 작동(가령, 데이터 판독, 데이터 기록, 메모리 영역의 덮어쓰기 방지, 등)하도록 메모리 디바이스(20)에 지시하는 명령어일 수 있다. 마찬가지로, 디바이스 컨트롤러(34)는 디바이스 컨트롤러(34)에 의해 저장될 데이터 신호를 포함할 수 있는 데이터를 데이터 경로를 따라 수신할 수 있다. 디바이스 컨트롤러(34)는 디바이스(20) 작동 중 명령 신호 및/또는 데이터 신호 중 하나 이상을 다시 호스트(32)로 전송하도록 또한 작동할 수 있다.
디바이스 컨트롤러(34)는 예를 들어, 판독 작동 중 호스트(32)에 의해, 사용될 호스트(32)로 데이터 스트로브 신호를 또한 전송할 수 있고, 이 경우 데이터는 디바이스(20)로부터 호스트(32)로 전달된다. 마찬가지로, 디바이스 컨트롤러(34)는 각자, 디바이스(20)에 의해 수행되는, 예를 들어, 판독/기록 작동과 연계하여 사용될, 그리고, 디바이스(20)를 초기화시킬(가령, 리셋시킬) 클럭 및/또는 리셋 신호를 수신할 수 있다.
앞서 논의한 바와 같이, 디바이스(20)는 eMMC 디바이스일 수 있고, 이와 같이, eMMC의 하나 이상의 부분(가령, 메모리 위치)이 덮어써지지 않도록 쓰기 보호 기법과 같은 소정의 액세스 보호 기법을 구현할 수 있다. 이러한 보호 기법은, 예를 들어, 파워-온 중 디바이스 레벨 보호 또는 특정 부분(가령, 기록 보호(WP) 그룹 또는 고용량(HC) WP 그룹) 예측을 영구적으로, 또는 일시적으로 제공할 수 있다. 추가적으로, 부트 파티션 기록 보호는, 예를 들어, 주어진 eMMC의 복수(가령, 2개)의 부트 파티션이 단독으로 또는 집합적으로 영구히/파워-온 기록 보호될 수 있도록 제공될 수 있다.
그러나, 도 2의 시스템(10)과 연계하여 적용가능한 이러한 보호 기법들은 앞서 설명된 기록 보호 기법의 비인가 변경을 방지하기 위해 불충분할 수 있다. 이와 같이, 추가적인 기술들을 이용하여 액세스 보호 기법의 비인가 변경의 기회를 감소시키고 및/또는 이러한 비인가 변경을 방지할 수 있다.
도 3은 디바이스(20)의 액세스 보호 기법의 비인가 변경을 감소/제거할 수 있는 시스템(10)의 디바이스(20) 및 호스트(32)를 도시한다. 도시되는 바와 같이, 디바이스(20)(가령, eMMC 디바이스)는 인증 프로세스(가령, 액세스 시도 또는 다른 수신 신호 또는 전송 패킷, 등이 유효한, 가령, 인가된, 발신자로부터 적절하게 발급되어, 인가된, 가령, 유효한, 액세스 시도, 신호, 전송, 등인지 여부를 결정하는 프로세스)의 성공적 완료후에만 액세스가능한, 2개의 추가 레지스터(42, 44)를, 및/또는, 하나의 범용 컨피규레이션 레지스터(가령, eMMC 디바이스의 확장 카드-특이적 데이터 레지스터) 내에 2개의 전용 필드를 포함할 수 있다. 일부 실시예에서, 레지스터(42, 44)에 저장되는 데이터는 선택적으로 변경가능하고(가령, 요청이 유효하다고 인증되었을 때 변경될 수 있고), 디바이스(20)의 각자의 보호 기법이 변경될 수 있는지 여부를 제어할 수 있다. 일부 실시예에서, 레지스터(42, 44) 각각은 디바이스(20)의 특정 부분의 기록 보호의 제어에 관련될 수 있다. 예를 들어, 레지스터(42)는 (가령, 비휘발성 메모리(38)에 저장된) WP 그룹 또는 HC WP 그룹의 임의의 기록 보호를 선택적으로 변경하는데 사용될 수 있다. 마찬가지로, 예를 들어, 레지스터(44)는 (가령, 비휘발성 메모리(40)에 저장된) 디바이스(20)의 임의의 부트 파티션의 임의의 기록 보호를 선택적으로 변경하는데 사용될 수 있다.
도 4는 인증된 발신자로부터 수신될 때 레지스터(42) 및/또는 레지스터(44)의 레지스터 세팅에 영향을 미칠 수 있는(가령, 변경할 수 있는) 디바이스(20)에 의해 수신될 수 있는 명령(46)들의 3개의 예를 보여준다. 일 실시예에서, 이러한 레지스터 세팅(가령, WP 그룹 또는 HC WP 그룹 레벨에서 액세스 보호 기법[가령, 기록 보호 모드]의 컨피규레이션을 포함한 디바이스(20)의 안전화된 액세스 보호 기법)이 디바이스(20)의 전력 사이클 및/또는 하드 리셋(hard reset)과 관련하여 지속적일 수 있다. 예를 들어, WP 그룹 또는 HC WP 그룹 레벨에서 액세스 보호 기법은, 전력의 변화(사이클)이 디바이스(20)에 나타날 때 및/또는 디바이스(20)가 (가령, 리셋 신호 경로 상의 리셋 신호를 통해) 리셋될 때 모드가 변경되지 않도록, 지속적이다.
도 4는 안전한 WP 모드(가령, 기록 보호 상태가 인증 액세스를 통해서만 변경될 수 있음)의 설정에 사용되는 제 1 명령(48) 신호의 수신을 도시한다. 이는, 예를 들어, 명령 신호 경로를 따라 호스트(32)로부터 디바이스(20)로 송신되는 제 1 명령 신호(48)의 수신을 포함한다. 이러한 명령 신호(48)는 "CMD28" 신호로 불릴 수 있고, 어드레싱되는 WP 그룹의 일시적 기록 보호를 설정하도록 작동할 수 있다. 제 2 명령 신호(50)는 안전한 WP 모드를 삭제할 수 있다. 제 2 명령 신호(50)는 또한 호스트(32)로부터 송신될 수 있고, 명령 신호 경로를 따라 디바이스(20)에 의해 수신될 수 있다. 제 2 명령 신호(50)는 "CMD29" 신호로 불릴 수 있고, 어드레싱되는 WP 그룹의 일시적 기록 보호를 삭제하도록 작동할 수 있다. 마찬가지로, 제 3 명령 신호(52)가 WP 보호의 점검에 사용될 수 있다. 제 3 명령 신호(52)는 또한 호스트(32)로부터 전송될 수 있고, 공통 신호 경로를 따라 디바이스(20)에 의해 수신될 수 있다. 이러한 제 3 명령 신호(52)는 예를 들어, "CMD31" 신호로 불릴 수 있고, 어드레싱되는 WP 그룹과 함께 시작되는, 한 세트의 WP 그룹들의 액세스 보호 기법의 상태를 제공하도록 작동할 수 있다.
일 실시예에서, 명령(48, 50, 52)들 중 하나의 수신 및 분석은 디바이스(20)의 확장 카드-특이적 데이터(CSD) 레지스터에 하나 이상의 추가 필드(가령, 레지스터 위치)를 삽입함으로써 실현될 수 있다. 이러한 확장 CSD 레지스터는 예를 들어, 디바이스 컨트롤러(34)와 연관된(내에 위치하는) 레지스터일 수 있고 디바이스(20)의 컨피규레이션 정보를 저장할 수 있다. 추가적으로, 확장된 CSD 레지스터의 이러한 추가 필드들은 대체로 도 3의 레지스터(42)와 같이 도시될 수 있다. 확장 CSD 레지스터의 제 1 추가 필드일 수 있는, 레지스터(42) 내 하나의 새 필드는, 예를 들어, WP 그룹 레벨에서 일시적 기록 보호를 세팅하기 위해, CMD28 신호의 수신과 관련하여 디바이스(20)의 기존 거동을 변경시킬 수 있다. 예를 들어, 제 1 추가 필드 내 제 1 표시사항(가령, 제 1 값)은 설정된 안전한 기록 보호의 실현(가령, 어드레싱되는 WP 그룹에 대한 안전한 기록 보호를 설정하기 위해 발급/수신된 CMD28의 기능을 실현)을 표시하는데 사용될 수 있다. 반면, 이러한 제 1 추가 필드 내 제 2 표시사항(가령, 제 2 값)은 설정된 안전한 기록 보호의 불능(disabling)(가령, 어드레싱되는 WP 그룹에 대한 안전한 기록 보호를 설정하기 위해 발급/수신된 CMD28의 기능을 불능화)을 표시하는데 사용될 수 있다.
확장 CSD 레지스터의 또한 일부분일 수 있는, 레지스터(42) 내 제 2 추가 필드는, WP 그룹 레벨에서 일시적 기록 보호를 삭제하기 위해, CMD29 신호의 수신과 관련하여 디바이스(20)의 기존 거동을 변경시킬 수 있다. 예를 들어, 이러한 제 2 추가 필드 내 제 1 표시사항(가령, 제 1 값)은 안전한 기록 보호의 삭제 실현(가령, 어드레싱되는 WP 그룹에 대한 안전한 기록 보호를 삭제하기 위해 발급/수신된 CMD29의 기능 실현)을 표시하는데 사용될 수 있다. 즉, 어드레싱되는 WP 그룹이 일시적으로 기록 보호될 경우, 발급/수신되는 CMD29는 제 1 표시사항이 제 2 추가 필드 내에 존재할 때 보호를 삭제할 수 있다. 한편, 연결된 이러한 제 2 추가 필드 내 제 2 표시사항(가령, 제 2 값)은 안전한 기록 보호의 삭제 불능(disabling)(가령, 어드레싱되는 WP 그룹에 대한 안전한 기록 보호를 삭제하기 위해 발급/수신된 CMD29의 기능을 불능화)을 표시하는데 사용될 수 있다. 예를 들어, 제 2 표시사항이 존재할 때, 발급/수신된 CMD29는 (예를 들어 인증 프로세스의 성공적 완료 후까지) 보호를 삭제하도록 작동하지 않을 수 있다. 따라서, 관련 인증 프로세스는 레지스터(42)의 세팅이 변경될 수 있는지 여부를 결정하도록 수행되고, 따라서, CMD28, CMD29, 및/또는 CMD31의 수신에 응답하여 어떤 액션이 취해지는지에 영향을 미치게 된다.
독자적 프로세스를 이용하여, (가령, 비휘발성 스토리지(40)에 위치할 수 있는) 디바이스(20)의 부트 파티션의 선택적 기록 보호를 실현할 수 있다. 이 프로세스는 메모리(가령, 비휘발성 메모리(38) 또는 메모리(16))에 저장된 명령어를 포함한 프로그램을 실행하는 컨트롤러에 의해 실행될 수 있다. 추가적으로, 이러한 안전한 기록 보호 메커니즘은 디바이스(20)의 전력 사이클 및/또는 하드 리셋과 관련하여 지속적일 수 있다.
예를 들어, 하나 이상의 추가 필드(가령, 레지스터 위치)가 디바이스(20)의 확장 CSD 레지스터에 포함될 수 있다. 확장 CSD 레지스터의 이러한 추가 필드들은 대체로 도 3의 레지스터(44)와 같이 도시될 수 있다. 일 실시예에서, 호스트(32)로부터 명령 신호 경로를 따라 디바이스(20)까지 전송되는 하나 이상의 부트 액세스 명령(CMD28, CMD29, 및/또는 CMD31 중 하나 이상과 유사한 명령의 특정 예일 수 있음)을 이용하여, (신호의 유효성 및/또는 발신자가 인증되면) 추가 필드(가령, 위치)를 특정 값으로 설정할 수 있다. 이러한 부트 액세스 명령은 예를 들어, (인증 프로세스의 성공적 완료에 후속하여) 부트 파티션이 안전한 기록 보호되지 않음을(가령, 부트 파티션의 기록 보호 불능을) 표시하도록 레지스터(44)의 제 1 필드를 제 1 값으로 설정하도록 작동할 수 있다. 부트 액세스 명령은 대신에, 예를 들어, (인증 프로세스의 성공적 완료에 후속하여) 부트 파티션이 안전한 기록 보호됨을(가령, 부트 파티션의 기록 보호 실현을) 표시하도록 레지스터(44)의 제 1 필드를 제 2 값으로 설정하도록 작동할 수 있다. 마찬가지로, 이러한 부트 액세스 명령은 (인가되면) 예를 들어, 레지스터(44)의 제 1 필드의 기록 보호(또는 결여)가 제 1 부트 파티션에 적용됨을 표시하도록 레지스터(44)의 제 2 필드를 제 1 값으로 설정하도록 작동할 수 있다. 마찬가지로, 이러한 부트 액세스 명령은 (인가되면) 예를 들어, 레지스터(44)의 제 1 필드의 기록 보호(또는 결여)가 제 2 부트 파티션에 적용됨을 표시하도록 레지스터(44)의 제 2 필드를 제 2 값으로 설정하도록 작동할 수 있다.
추가적으로, 부트 액세스 명령은 (인가되면) 예를 들어, 호스트(32)가 레지스터(44)의 제 1 필드를 설정(가령, 변경)하도록 인가받았음을 표시하기 위해 레지스터(44)의 제 3 필드를 제 1 값으로 설정하도록 작동할 수 있고, 호스트(32)가 레지스터(44)의 제 1 필드를 설정(가령, 변경)하도록 인가받지 않았음을 표시(가령, 레지스터(44)의 제 3 필드 내 제 2 값은 레지스터(44)의 제 1 필드를 변경하려는 호스트(32)의 기능이 불능임을 표시)하기 위해 레지스터(44)의 제 3 필드를 제 2 값으로 설정하도록 작동할 수 있다. 더욱이, 일부 실시예에서, 부트 액세스 명령은 (인가되면) 예를 들어, 레지스터(44)의 제 1 필드가 부트 영역의 복수의 파티션에 적용됨을 표시하기 위해 레지스터(44)의 제 4 필드를 제 1 값으로 설정하도록 작동할 수 있고, 레지스터(44)의 제 1 필드가 레지스터(44)의 제 2 필드에서 선택된 부트 파티션에만 적용됨을 표시하기 위해 레지스터(44)의 제 4 필드를 제 2 값으로 설정하도록 작동할 수 있다. 추가적으로, 일부 실시예에서, 디바이스(20)가 부트 파티션들에 대한 보호를 개별적으로(제 4 필드, 제 2 값) 행할 수 있도록 설정되면, 이 설정은 전력 사이클에 응답하여 역전되지 않을 것이다.
추가적으로, 레지스터(44)의 하나 이상의 필드가 부트 영역의 복수의 부분들(가령, 부트 영역 1 및 부트 영역 2)이 안전하게 보호되는지 여부와, 보호 레벨을 표시할 수 있다(가령, 예를 들어 결정 여부를 호스트(32)에 의해 점검할 수 있다). 예를 들어, 레지스터(44)의 제 5 필드는 부트 영역 1이 안전하게 기록 보호됨(가령, 그 기록 보호 상태가 인증된 액세스를 통해서만 변경될 수 있고, 따라서 부트 영역의 기록 보호 상태가 변경될 수 있기 전에 레지스터 컨피규레이션이 반드시 인증되어야 함)을 표시하기 위해 제 1 값을 저장할 수 있다. 마찬가지로, 레지스터(44)의 제 5 필드가 부트 영역 1이 (가령, 전력 사이클 및 리셋 신호에 대해) 영구적으로 기록 보호됨을 표시하기 위해 제 2 값을 저장할 수 있다. 추가적으로, 레지스터(44)의 제 5 필드는 부트 영역 1이 파워 온 보호됨(가령, 전력 사이클이 디바이스(20)에 주어질 때 기록 보호 상태가 변경되지 않음)을 표시하기 위해 제 3 값을 저장할 수 있고, 부트 영역 1이 기록 보호되지 않음(가령, 기록될 수 있음)을 표시하기 위해 제 4 값을 저장할 수 있다.
마찬가지로, 예를 들어, 레지스터(44)의 제 6 필드가 부트 영역 2가 안전하게 기록 보호됨(가령, 그 기록 보호 상태가 인증된 액세스를 통해서만 변경될 수 있고, 따라서 부트 영역의 기록 보호 상태가 변경될 수 있기 전에 레지스터 컨피규레이션이 반드시 인증되어야 함)을 표시하기 위해 제 1 값을 저장할 수 있고, 부트 영역 2가 (가령, 전력 사이클 및 리셋 신호에 대해) 영구적으로 기록 보호됨을 표시하기 위해 제 2 값을 저장할 수 있다. 추가적으로, 레지스터(44)의 제 6 필드는 부트 영역 2가 파워 온 보호됨(가령, 전력 사이클이 디바이스(20)에 주어질 때 기록 보호 상태가 변경되지 않음)을 표시하기 위해 제 3 값을 저장할 수 있고, 부트 영역 2가 기록 보호되지 않음(가령, 기록될 수 있음)을 표시하기 위해 제 4 값을 저장할 수 있다. 레지스터(44)의 제 5 및 제 6 필드에 저장된 값들의 표시가, 디바이스(20)의 각자의 부트 영역의 기록 보호 상태에 대한 점검에 응답하여 호스트(32)에게 송신될 수 있다.
앞서 논의한 바와 같이, 디바이스(20)의 안전한 기록 보호는 예를 들어, 호스트(32)(또는 다른 인가된 자)만이 디바이스의 액세스 보호 컨피규레이션 변경을 위해 액세스하도록, 디바이스(20)의 기록 보호를 변경하는 기능의 안전화(securing)를 포함할 수 있다. 이는 인증 기술을 통해 실현될 수 있다. 이러한 인증 기술은 예를 들어, 메모리(가령, 비휘발성 메모리(38) 및/또는 메모리(16))에 저장된 명령어를 포함하는 프로그램을 실행하는 컨트롤러에 의해 실행될 수 있다.
예를 들어, 도 4를 참조하여 앞서 논의한 CMD28 및 CMD29를 통해 수행되는 관련 액션들은 명령 CMD28 및 CMD29의 발신자의 인증에 후속하여, 및/또는, 명령 CMD28 및 CMD29 자체의 유효성 인증에 후속하여, 실현될 수 있다. 이러한 인증 기술은 암호 키, 메시지 인증 코드(MAC)(가령, 토큰), 핸드쉐이킹, 및/또는, CMD28 및 CMD29가 인가된 사용자로부터 수신됨을 확인하기 위한 기타의 기술을 이용할 수 있다. 마찬가지로, 암호 키, MAC, 핸드쉐이킹, 및/또는 다른 기술을 이용하는 인증 기술은 디바이스(20)의 부트 파티션(부트 부분)의 기록 보호를 가동(enable)/불능(disable)시키기 위해 레지스터(44)를 설정하도록 적용될 수 있다. 일부 실시예에서, 인증 기술은 SHA-256 알고리즘과 같은 안전 해시 알고리즘(SHA)에 기초하거나 및/또는 이를 이용할 수 있다.
일부 실시예에서, 디바이스(20)는 리플레이 보호 메모리 블록(RPMB) 영역을 포함할 수 있다. 이러한 RPMB는 예를 들어, 제조될 때 디바이스(20)의 일부분으로 포함될 수 있는, 보안 키 또는 신뢰 보안 기능을 통해서만 메모리의 일부분에 액세스할 수 있다. 본 인증 기술은 예를 들어, 추가 과정을 포함하도록, 예를 들어, eMMC 디바이스의 기존 RPMB 프로토콜의 연장을 포함할 수 있다. 예를 들어, 이러한 과정들은 명령을 적용할 CMD28 및 CMD29의 발신자 인증을 포함할 수 있다. 마찬가지로, 이 과정들은 예를 들어, 디바이스(20)의 부트 파티션(부트부)의 기록 보호를 가동/불능시키도록 레지스터(44)를 설정하기 위해, 임의의 명령의 발신자의 인증을 포함할 수 있다. 더 구체적으로, 일부 실시예에서, 이 과정들은 인증된 안전한 WP 컨피규레이션 및 부트 안전 WP 설정/삭제 요청/응답과, 인증된 안전한 WP 컨피규레이션 및 부트 안전 WP 판독 요청/응답을 포함할 수 있다.
인증 기술 이용을 통해 획득될 수 있는 기능들은 예를 들어, 명령(가령, CMD28 또는 CMD29)에 응답하여 어드레싱된 그룹의 기록 보호를 변경(가령, 설정 또는 삭제)하는 기능의 가동 또는 불능을 포함할 수 있다. 더욱이, 인증 기술 이용을 통해 추가적으로 또한 얻을 수 있는 기능들은, 예를 들어, (가령, 레지스터(42 또는 44)에서) 특정 확장 CSD 필드를 판독하는 기능의 가동 또는 불능을 포함할 수 있다.
도 5는 예를 들어, 메모리(가령, 비휘발성 메모리(38) 또는 메모리(16))에 저장된 명령어를 포함하는 프로그램을 실행하는 컨트롤러(가령, 디바이스 컨트롤러(34) 또는 프로세서(12)와 통합된 컨트롤러)에 의해, 실행될 수 있는 인증 기술의 프로세스(54)의 예를 도시한다. 프로세스(54)는 예를 들어, 디바이스(20)의 기록 보호 설정을 변경시키기 위해, RPMB에 액세스하려 시도하는 프로세스를 세부적으로 나타낸다. 단계(56)에서, 액세스하는 자(가령, 호스트(32))는 예를 들어, SHA-526 알고리즘을 이용하여 MAC (토큰)을 발생시키기 위해 카운터 값을 판독한다. 단계(56)로부터 발생된 MAC는 단계(58)에서 디바이스(20)에게로 송신되고, 디바이스(20)(가령, 디바이스(20)의 디바이스 컨트롤러(34))에 의해 수신된다. 디바이스 컨트롤러(34)는 예를 들어, 디바이스(20)의 제조 중 미리 로딩될 수 있는 키와 카운터 값을 판독할 수 있고, 단계(60)에서, 예를 들어, SHA-256 알고리즘을 이용하여, 점검 MAC를 발생시킬 수 있다. 디바이스 컨트롤러(34)는 그 후, 단계(62)에서, 2개의 MAC를 비교한다. MAC가 일치할 경우, RPMB 액세스가 단계(64)에서 허용되고, 기록 보호 변경 명령(가령, 발생된 MAC와 연계하여 수신되는 CMD28 및 CMD29 또는 각자의 부트 액세스 명령)이 단계(66)에서 디바이스(20)의 기록 보호를 변경시키는 것을 허락받을 수 있다. 그렇지 않고 MAC가 일치하지 않을 경우, 디바이스(20)는 단계(68)에서 기록 보호 변경 명령(가령, CMD28 및 CMD29 또는 각자의 부트 액세스 명령)에 응답하지 않을 것이다.
일부 실시예에서, (가령, 레지스터(42 및/또는 44)에서) 확장된 CSD 필드에 대한 인증된 액세스를 도입하기 위한 새 RPMB 요청 및 응답 오피코드가 구축될 수 있다. 그러나, 인증된 액세스는 다른 구조물(반드시 확장 CSD일 필요는 없음)에 또한 적용될 수 있다. 예를 들어, 아래 제시되는 표에서, 요청 메시지 유형 "인증된 EXT CSD 기록 응답" 및 "인증된 EXT CSD 판독 응답"은 앞서 논의된 확장 CSD 필드에 대한 인증된 액세스를 도입하는 추가의 응답 오피코드일 수 있다. 마찬가지로, 요청 메시지 유형 "인증된 EXT CSD 기록 응답" 및 "인증된 EXT CSD 판독 응답"은 앞서 논의된 확장 CSD 필드에 대한 인증된 액세스를 도입하는 추가의 응답 오피코드일 수 있다.
표 1
요청 메시지 유형
0x0001
인증 키 프로그래밍 요청
0x0002
기록 카운터 값 판독 요청
0x0003
인증된 데이터 기록 요청
0x0004
인증된 데이터 판독 요청
0x0005
결과 판독 요청
0x0006
인증된 EXT CSD 기록 요청
0x0007
인증된 EXT CSD 판독 요청
응답 메시지 유형
0x0100
인증 키 프로그래밍 응답
0x0200
기록 카운터 값 판독 응답
0x0300
인증된 데이터 기록 응답
0x0400
인증된 데이터 판독 응답
0x0600
인증된 EXT CSD 기록 응답
0x0700
인증된 EXT CSD 판독 응답
도 6은 디바이스(20)의 안전한 기록 보호를 설정하기 위해 CMD28과 연계하여 요청 메시지 유형의 한 예를 도시한다. 특히, 도 6은 호스트(32)로부터 디바이스(20)까지 안전한 WP 요청을 도시한다. 이 요청은 예를 들어, (RPMB 요청(76)의 데이터(72) 및 어드레스(74) 필드에 나타나듯이) CMD28에 의해 표시되는 WP 그룹에 대한 안전한 기록 보호를 적용(가령, 기록 보호 상태가 인증된 액세스를 통해서만 변경될 수 있음)하는 요청을 포함할 수 있다. 추가적으로, RPMB 요청(76)은 위 표 1의 인증된 EXT CSD 기록 요청을 포함하는 요청 필드(78)를 포함할 수 있다. 이러한 인증된 EXT CSD 기록 요청은 일부 실시예에서, 앞서 설명된 인증 기술을 개시할 요청으로 작동할 것이다.
추가적으로, 도 6은 예를 들어, 디바이스(20)가 금지된 액세스 보호 기법으로 정확하게 설정되었는지 여부를 결정하기 위해 호스트(32)에 의해 개시될 수 있는, 결과 판독 요청(80)을 도시한다. 결과 판독 요청(80)의 한 예가 패킷(82)으로 도시된다. 결과 판독 요청(80)의 수신에 후속하여, 디바이스(20)는 결과 판독 응답(84)을 호스트(32)에 발급할 수 있다. 이 결과 판독 응답(82)은 디바이스(20)가 금지된 액세스 보호 기법으로 정확히 설정되었는지 여부에 관한 정보를 포함할 수 있다. 결과 판독 요청(84)의 한 예가 패킷(86)으로 도시된다.
다양한 변형 및 대안의 형태가 고려되지만, 구체적 실시예들이 도면에서 예를 들어 도시되었고 여기서 세부적으로 설명되었다. 그러나, 이러한 실시예들은 개시되는 특정 형태로 제한되어서는 안된다. 대신에, 실시예들은 다음의 청구범위의 사상 및 범위 내에 있는 모든 변형, 등가물, 및 대안들을 커버해야 한다. 더욱이, "~에 응답하여"와 같은 용어는, 일부 실시예에서, ~할 때, ~후, 등과 같은 시간적 어구/액션과, "~에 기초하여" 또는 "~적어도 부분적으로 ~에 기초하여", 등과 같은 용어를 포괄할 수 있다.
Claims (18)
- 장치에 있어서,
비휘발성 메모리 디바이스와,
상기 비휘발성 메모리 디바이스와 동작적으로 연결된 디바이스 컨트롤러를 포함하되,
상기 디바이스 컨트롤러는,
인증 키를 포함하는 명령을 수신하는 동작;
상기 인증 키를 확인하는 동작; 및
상기 인증 키를 확인하는 동작에 응답하여, 상기 디바이스 컨트롤러와 연관된 레지스터에 저장된 값을 제1 값으로 설정하는 동작 - 상기 제1 값은 상기 비휘발성 메모리 디바이스의 대응하는 부분의 기록 보호 상태가 변경될 수 있음을 나타냄 -
을 포함하는 동작들을 수행하는, 장치. - 제 1 항에 있어서,
상기 비휘발성 메모리 디바이스 및 상기 디바이스 컨트롤러는 임베디드 멀티미디어 카드(eMMC)에 포함되는, 장치. - 제 1 항에 있어서,
상기 명령은 호스트로부터 명령 경로를 통해 수신되는, 장치. - 제 1 항에 있어서,
상기 인증 키는 패스워드를 포함하고, 상기 인증 키를 확인하는 동작은 상기 패스워드가 상기 디바이스 컨트롤러에 의해 저장된 미리 로딩된 값과 일치하는지 결정하는 동작을 포함하는, 장치. - 제 1 항에 있어서,
상기 디바이스 컨트롤러와 연관된 상기 레지스터에 저장된 값은, 오직 상기 인증 키가 성공적으로 확인된 것에 응답하여 상기 제1 값으로 설정될 수 있는, 장치. - 제 1 항에 있어서,
상기 디바이스 컨트롤러와 연관된 상기 레지스터에 저장된 값이 제2 값으로 설정되는 경우, 상기 비휘발성 메모리 디바이스의 대응하는 부분의 기록 보호 상태는 변경될 수 없는 것인, 장치. - 제 1 항에 있어서,
상기 비휘발성 메모리 디바이스의 대응하는 부분의 기록 보호 상태는 전력 사이클 또는 상기 장치의 리셋의 발생 동안 지속적인, 장치. - 제 1 항에 있어서,
상기 비휘발성 메모리 디바이스의 대응하는 부분은 기록 보호 그룹, 고용량 기록 보호 그룹, 또는 부트 파티션 중 적어도 하나를 포함하는, 장치. - 제 1 항에 있어서, 상기 디바이스 컨트롤러는,
기록 보호 상태 명령을 수신하는 동작; 및
상기 디바이스 컨트롤러와 연관된 상기 레지스터에 저장된 값이 제1 값으로 설정된 것에 응답하여, 상기 기록 보호 상태 명령에 기초하여 상기 기록 보호 상태를 변경시키는 동작
을 더 포함하는 동작들을 수행하는, 장치. - 방법에 있어서,
디바이스 컨트롤러에서 인증 키를 포함하는 명령을 수신하는 단계;
상기 인증 키를 확인하는 단계; 및
상기 인증 키를 확인하는 단계에 응답하여, 상기 디바이스 컨트롤러와 연관된 레지스터에 저장된 값을 제1 값으로 설정하는 단계 - 상기 제1 값은 비휘발성 메모리 디바이스의 대응하는 부분의 기록 보호 상태가 변경될 수 있음을 나타냄 -
를 포함하는, 방법. - 제 10 항에 있어서,
상기 비휘발성 메모리 디바이스 및 상기 디바이스 컨트롤러는 임베디드 멀티미디어 카드(eMMC)에 포함되는, 방법. - 제 10 항에 있어서,
상기 명령은 호스트로부터 명령 경로를 통해 수신되는, 방법. - 제 10 항에 있어서,
상기 인증 키는 패스워드를 포함하고, 상기 인증 키를 확인하는 단계는 상기 패스워드가 상기 디바이스 컨트롤러에 의해 저장된 미리 로딩된 값과 일치하는지 결정하는 단계를 포함하는, 방법. - 제 10 항에 있어서,
상기 디바이스 컨트롤러와 연관된 상기 레지스터에 저장된 값은, 오직 상기 인증 키가 성공적으로 확인된 것에 응답하여 상기 제1 값으로 설정될 수 있는, 방법. - 제 10 항에 있어서,
상기 디바이스 컨트롤러와 연관된 상기 레지스터에 저장된 값이 제2 값으로 설정되는 경우, 상기 비휘발성 메모리 디바이스의 대응하는 부분의 기록 보호 상태는 변경될 수 없는 것인, 방법. - 제 10 항에 있어서,
상기 비휘발성 메모리 디바이스의 대응하는 부분의 기록 보호 상태는 전력 사이클 또는 상기 비휘발성 메모리 디바이스의 리셋의 발생 동안 지속적인, 방법. - 제 10 항에 있어서,
상기 비휘발성 메모리 디바이스의 대응하는 부분은 기록 보호 그룹, 고용량 기록 보호 그룹, 또는 부트 파티션 중 적어도 하나를 포함하는, 방법. - 제 10 항에 있어서,
기록 보호 상태 명령을 수신하는 단계; 및
상기 디바이스 컨트롤러와 연관된 상기 레지스터에 저장된 값이 제1 값으로 설정된 것에 응답하여, 상기 기록 보호 상태 명령에 기초하여 상기 기록 보호 상태를 변경시키는 단계
를 더 포함하는, 방법.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461976976P | 2014-04-08 | 2014-04-08 | |
US61/976,976 | 2014-04-08 | ||
US14/677,712 | 2015-04-02 | ||
US14/677,712 US11030122B2 (en) | 2014-04-08 | 2015-04-02 | Apparatuses and methods for securing an access protection scheme |
KR1020167031012A KR102453780B1 (ko) | 2014-04-08 | 2015-04-07 | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 |
PCT/US2015/024705 WO2015157277A1 (en) | 2014-04-08 | 2015-04-07 | Apparatuses and methods for securing an access protection scheme |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167031012A Division KR102453780B1 (ko) | 2014-04-08 | 2015-04-07 | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220140046A true KR20220140046A (ko) | 2022-10-17 |
Family
ID=54209865
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227034875A KR20220140046A (ko) | 2014-04-08 | 2015-04-07 | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 |
KR1020167031012A KR102453780B1 (ko) | 2014-04-08 | 2015-04-07 | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167031012A KR102453780B1 (ko) | 2014-04-08 | 2015-04-07 | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11030122B2 (ko) |
EP (1) | EP3129889B1 (ko) |
JP (1) | JP6985011B2 (ko) |
KR (2) | KR20220140046A (ko) |
CN (1) | CN106462509B (ko) |
TW (1) | TWI620095B (ko) |
WO (1) | WO2015157277A1 (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10257192B2 (en) * | 2014-05-29 | 2019-04-09 | Samsung Electronics Co., Ltd. | Storage system and method for performing secure write protect thereof |
KR102424293B1 (ko) * | 2014-05-29 | 2022-07-25 | 삼성전자주식회사 | 스토리지 시스템 및 그것의 보안 쓰기 방지 수행 방법 |
US10241817B2 (en) * | 2014-11-25 | 2019-03-26 | Red Hat Israel, Ltd. | Paravirtualized access for device assignment by bar extension |
US10438664B2 (en) * | 2016-12-15 | 2019-10-08 | Western Digital Technologies, Inc. | Non-volatile storage device with physical authentication |
CN111066007B (zh) * | 2017-07-07 | 2023-10-31 | 美光科技公司 | 对受到管理的nand的rpmb改进 |
US10652025B2 (en) * | 2017-07-10 | 2020-05-12 | Micron Technology, Inc. | Secure snapshot management for data storage devices |
US10198195B1 (en) * | 2017-08-04 | 2019-02-05 | Micron Technology, Inc. | Wear leveling |
KR102501776B1 (ko) * | 2018-01-31 | 2023-02-21 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR102625275B1 (ko) * | 2018-08-03 | 2024-01-12 | 엘지전자 주식회사 | 비휘발성 메모리를 구비하는 전자 기기 |
US11256427B2 (en) * | 2018-12-28 | 2022-02-22 | Micron Technology, Inc. | Unauthorized memory access mitigation |
US10921996B2 (en) * | 2019-03-22 | 2021-02-16 | Micron Technology, Inc. | Data lines updating for data generation |
KR20210154803A (ko) * | 2019-04-19 | 2021-12-21 | 인텔 코포레이션 | 다중 모드 보호 메모리 |
US11184170B2 (en) * | 2019-06-28 | 2021-11-23 | Micron Technology, Inc. | Public key protection techniques |
US10868679B1 (en) * | 2019-07-25 | 2020-12-15 | Cypress Semiconductor Corporation | Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems |
FR3104280B1 (fr) | 2019-12-06 | 2021-11-26 | Thales Sa | Systeme electronique securise comportant un processeur et un composant memoire ; composant programmable associe |
KR20210113906A (ko) * | 2020-03-09 | 2021-09-17 | 에스케이하이닉스 주식회사 | 컴퓨팅 시스템 및 그 동작 방법 |
US11385906B2 (en) * | 2020-04-13 | 2022-07-12 | Silicon Motion, Inc. | Computer program product and method and apparatus for controlling access to flash storage |
US20220058295A1 (en) * | 2020-08-20 | 2022-02-24 | Micron Technology, Inc. | Safety and security for memory |
US11726672B2 (en) | 2020-12-24 | 2023-08-15 | Samsung Electronics Co., Ltd. | Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device |
CN112784301B (zh) * | 2021-01-22 | 2022-12-20 | 珠海妙存科技有限公司 | 改善rpmb分区数据安全性的方法、装置及介质 |
US11818574B2 (en) * | 2021-05-27 | 2023-11-14 | Citrix Systems, Inc. | Provisioning devices securely using zero touch deployments |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317836B1 (en) | 1998-03-06 | 2001-11-13 | Tv Objects Limited Llc | Data and access protection system for computers |
JP2000181898A (ja) | 1998-12-14 | 2000-06-30 | Nec Corp | フラッシュメモリ搭載型シングルチップマイクロコンピュータ |
US6976136B2 (en) * | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
JP2003005047A (ja) | 2001-06-21 | 2003-01-08 | Minolta Co Ltd | 光ピックアップ用対物レンズ |
US20030002505A1 (en) * | 2001-06-30 | 2003-01-02 | Hoch Thomas A. | Apparatus and method for packet-based switching |
JP2004086353A (ja) | 2002-08-23 | 2004-03-18 | Toshiba Corp | ファームウェア書き込み制御方法および同書き込み制御方法が適用されるカード装置 |
EP1450261A1 (en) | 2003-02-18 | 2004-08-25 | STMicroelectronics S.r.l. | Semiconductor memory with access protection scheme |
CN101908106B (zh) | 2004-12-21 | 2013-06-05 | 桑迪士克股份有限公司 | 具有通用内容控制的存储设备 |
US7934049B2 (en) * | 2005-09-14 | 2011-04-26 | Sandisk Corporation | Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory |
JP2007172062A (ja) | 2005-12-19 | 2007-07-05 | Toshiba Corp | 情報処理装置およびアクセス制御方法 |
US8019994B2 (en) | 2006-04-13 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | Authentication of a request to alter at least one of a BIOS and a setting associated with the BIOS |
JP2010198209A (ja) * | 2009-02-24 | 2010-09-09 | Toshiba Corp | 半導体記憶装置 |
US8225052B2 (en) | 2009-06-03 | 2012-07-17 | Micron Technology, Inc. | Methods for controlling host memory access with memory devices and systems |
WO2010143209A1 (en) | 2009-06-10 | 2010-12-16 | Francesco Falanga | Suspension of memory operations for reduced read latency in memory arrays |
US8307151B1 (en) | 2009-11-30 | 2012-11-06 | Micron Technology, Inc. | Multi-partitioning feature on e-MMC |
US8966657B2 (en) | 2009-12-31 | 2015-02-24 | Intel Corporation | Provisioning, upgrading, and/or changing of hardware |
US9183135B2 (en) | 2011-01-21 | 2015-11-10 | Micron Technology, Inc. | Preparation of memory device for access using memory access type indicator signal |
CN102184365B (zh) * | 2011-06-07 | 2013-05-29 | 郑州信大捷安信息技术股份有限公司 | 基于SoC芯片外部数据安全存储系统及存取控制方法 |
JP2013069250A (ja) | 2011-09-26 | 2013-04-18 | Toshiba Corp | 記憶装置および書き込み装置 |
US9015437B2 (en) * | 2012-02-28 | 2015-04-21 | Smsc Holdings S.A.R.L. | Extensible hardware device configuration using memory |
KR101697446B1 (ko) * | 2012-08-15 | 2017-01-17 | 시놉시스, 인크. | 임베딩된 코드에 대한 보호 스킴 |
US9824004B2 (en) | 2013-10-04 | 2017-11-21 | Micron Technology, Inc. | Methods and apparatuses for requesting ready status information from a memory |
US10277696B2 (en) * | 2016-09-10 | 2019-04-30 | Intelligence Machine Inc. | Method and system for processing data used by creative users to create media content |
US20180341499A1 (en) * | 2017-05-25 | 2018-11-29 | Microsoft Technology Licensing, Llc | Universal platform application support for plugin modules |
US10785190B2 (en) * | 2017-12-13 | 2020-09-22 | Adaptiv Networks Inc. | System, apparatus and method for providing a unified firewall manager |
-
2015
- 2015-04-02 US US14/677,712 patent/US11030122B2/en active Active
- 2015-04-07 JP JP2016560958A patent/JP6985011B2/ja active Active
- 2015-04-07 WO PCT/US2015/024705 patent/WO2015157277A1/en active Application Filing
- 2015-04-07 EP EP15776594.2A patent/EP3129889B1/en active Active
- 2015-04-07 KR KR1020227034875A patent/KR20220140046A/ko not_active Application Discontinuation
- 2015-04-07 KR KR1020167031012A patent/KR102453780B1/ko active IP Right Grant
- 2015-04-07 TW TW104111172A patent/TWI620095B/zh active
- 2015-04-07 CN CN201580026600.8A patent/CN106462509B/zh active Active
-
2021
- 2021-06-02 US US17/337,130 patent/US11809335B2/en active Active
-
2023
- 2023-10-10 US US18/483,724 patent/US20240037045A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3129889A4 (en) | 2017-03-29 |
US20210286737A1 (en) | 2021-09-16 |
JP6985011B2 (ja) | 2021-12-22 |
TWI620095B (zh) | 2018-04-01 |
US20150286585A1 (en) | 2015-10-08 |
US11809335B2 (en) | 2023-11-07 |
CN106462509A (zh) | 2017-02-22 |
US11030122B2 (en) | 2021-06-08 |
KR20160142868A (ko) | 2016-12-13 |
KR102453780B1 (ko) | 2022-10-14 |
US20240037045A1 (en) | 2024-02-01 |
TW201543265A (zh) | 2015-11-16 |
EP3129889A1 (en) | 2017-02-15 |
WO2015157277A1 (en) | 2015-10-15 |
EP3129889B1 (en) | 2019-06-19 |
JP2017518558A (ja) | 2017-07-06 |
CN106462509B (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102453780B1 (ko) | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 | |
KR101991905B1 (ko) | 불휘발성 메모리, 불휘발성 메모리의 읽기 방법 및 불휘발성 메모리를 포함하는 메모리 시스템 | |
KR20170043373A (ko) | 스토리지 장치, 상기 스토리지 장치와 통신하는 호스트 및 상기 스토리지 장치를 포함하는 전자 장치 | |
US11157181B2 (en) | Card activation device and methods for authenticating and activating a data storage device by using a card activation device | |
JP7101318B2 (ja) | メモリ内のデータアテステーション | |
CN102184143B (zh) | 一种存储设备数据的保护方法、装置及系统 | |
US11928192B2 (en) | Vendor unique command authentication system, and a host device, storage device, and method employing the same | |
CN114255813A (zh) | 存储装置、主机装置、包括两者的电子装置及其操作方法 | |
US9032540B2 (en) | Access system and method thereof | |
KR20160105625A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11847209B2 (en) | Memory device and system | |
KR100841982B1 (ko) | 호스트 식별 정보를 저장하는 메모리 카드 및 그것의액세스 방법 | |
CN113287097A (zh) | 用于存储器的未授权访问命令记录 | |
JP2022526934A (ja) | ブロックチェーンを基にしたメモリコマンドの正当性確認 | |
KR20210060867A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20130139604A (ko) | 복수의 메모리 칩을 구비한 메모리 장치, 그 인증 시스템 및 인증 방법 | |
KR102590439B1 (ko) | 메모리 시스템 | |
EP3961451B1 (en) | Storage device | |
CN217640204U (zh) | 一种固态硬盘及固态硬盘访问控制系统 | |
US20230134534A1 (en) | Memory controller and storage device | |
KR102720140B1 (ko) | 분리된 rpmb 기능을 가지는 스토리지 시스템 및 그 구동 방법 | |
US20230289071A1 (en) | Electronic device and method of operating the same | |
KR20230064538A (ko) | 메모리 컨트롤러 및 스토리지 장치 | |
KR101023100B1 (ko) | 유에스비 뱅킹 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |