KR101219191B1 - 휘발성 메모리 내 키 정보 보호 장치 및 그 방법 - Google Patents

휘발성 메모리 내 키 정보 보호 장치 및 그 방법 Download PDF

Info

Publication number
KR101219191B1
KR101219191B1 KR1020110026397A KR20110026397A KR101219191B1 KR 101219191 B1 KR101219191 B1 KR 101219191B1 KR 1020110026397 A KR1020110026397 A KR 1020110026397A KR 20110026397 A KR20110026397 A KR 20110026397A KR 101219191 B1 KR101219191 B1 KR 101219191B1
Authority
KR
South Korea
Prior art keywords
key information
random numbers
encoding
key
generating
Prior art date
Application number
KR1020110026397A
Other languages
English (en)
Other versions
KR20120109041A (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 KR1020110026397A priority Critical patent/KR101219191B1/ko
Publication of KR20120109041A publication Critical patent/KR20120109041A/ko
Application granted granted Critical
Publication of KR101219191B1 publication Critical patent/KR101219191B1/ko

Links

Images

Abstract

본 발명은 휘발성 메모리 내 키 정보 보호 장치 및 그 방법에 관한 것으로, 외장 메모리로부터 호출된 키정보를 암호화하여 인코딩 키를 생성하는 인코딩 키 생성부, 사용자 단말에 전원이 인가되는 경우마다 서로 다른 난수를 발생시킬 수 있으며 시간변화에 따라 서로 다른 난수를 발생시킬 수 있는 난수 발생부, 휘발성 메모리로서 키 정보를 이용한 암호 연산이 수행되는 동안 키 정보에 대해 암호화된 인코딩 키 및 하나 이상의 난수들이 저장되는 저장부, 암호 연산을 수행하는 프로세서로부터 키 정보 요청 명령이 입력되면 난수들을 일방향 함수의 입력값으로 하여 난수들 각각에 대응하는 출력값을 생성하는 출력값 생성부, 인코딩 키 정보를 호출하고 이원 가산기를 통해 출력값들과 인코딩 키 정보를 이원 가산(XOR)하여 키 정보를 복원하는 키 정보 획득부, 및 복원된 키 정보를 프로세서로 출력하는 출력부를 포함한다.

Description

휘발성 메모리 내 키 정보 보호 장치 및 그 방법{Apparatus for protecting key information in volatile memory and method thereof}
본 발명은 휘발성 메모리 내 키 정보 보호 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 휘발성 메모리에 상주하는 키 정보의 노출 위험을 최소화하도록 하는 휘발성 메모리 내 키 정보 보호 장치 및 그 방법에 관한 것이다.
개인정보보호, 금융정보보호, 공공기관의 정보통신보호 등을 위해 컴퓨터에서 수행하는 정보보호제품들이 널리 사용되고 있다. 이들 정보보호제품들은 소프트웨어로서 프로그램 난독화, 안전한 키 저장, 무결성 확인 등의 보호대책이 채택되고 있다. 안전한 키 보관에 속하는 기술분야로서 키 보관은 하드디스크, USB 혹은 보안토큰 등에 장기간 저장되는 경우와 프로그램이 동작하는 동안 암호연산을 위해 레지스터 혹은 RAM 등의 휘발성 메모리에 상주되는 경우가 있다. 하드디스크, USB 혹은 보안토큰 등에 장기간 저장되는 경우 사용자 패스워드에 의해 암호화되어 저장되거나 외부로부터 접근 통제되어 키 저장의 안전성을 확보하고 있다.
일반적으로 암호연산을 위해 레지스터 혹은 RAM 등의 휘발성 메모리에 상주되는 키는 평문으로 존재하는 제품이 많다. 이 경우 휘발성 메모리 분석을 실행하는 악성 프로그램에 의해 키는 쉽게 해킹되게 된다. 키가 노출됨으로써 정보보호제품이 보호하고자 하는 민감 정보들이 노출될 취약성을 가지게 된다.
휘발성 메모리에 상주하는 키를 보호하기 위하여 프로그램에 하드코딩되어 있는 상수를 암호키로 사용하여 암호화하는 경우도 있다. 이 경우 휘발성 메모리에 평문으로 존재하는 경우보다는 키 정보를 획득하는 것이 어렵다. 프로그램에 하드코딩되어 있는 상수는 소스코드에서 직접 알아내거나 소프트웨어 역공학 방법에 의해 알아 낼 수 있다. 휘발성 메모리에 상주한 암호화된 키 정보를 상수로 복호화하면 키 정보를 획득하게 된다. 여기서 키 정보가 고정되어 있으면 암호화된 키 정보는 항상 고정되어 있다. 항상 고정된 암호화된 키 정보는 메모리 분석과 소프트웨어 역공학 공격에 용이하다.
본 발명의 목적은, 컴퓨터에서 정보보호용 소프트웨어 제품의 프로그램이 동작되는 동안 레지스터 혹은 RAM 같은 휘발성 메모리에 상주하는 키 정보를 보호하기 위한 휘발성 메모리 내 키 정보 보호 장치 및 그 방법을 제공함에 있다.
본 발명의 다른 목적은, 메모리 분석 악성 프로그램에 대해 키 정보 노출 위험을 최소화하도록 하기 위한 휘발성 메모리 내 키 정보 보호 장치 및 그 방법을 제공함에 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치는, 휘발성 메모리로서, 키 정보를 이용한 암호 연산이 수행되는 동안 상기 키 정보에 대해 암호화된 인코딩 키 및 하나 이상의 난수들이 저장되는 저장부, 암호 연산을 수행하는 프로세서로부터 키 정보 요청 명령이 입력되면 상기 난수들을 일방향 함수의 입력값으로 하여 상기 난수들 각각에 대응하는 복원 출력값을 생성하는 출력값 생성부, 상기 인코딩 키 정보를 호출하고 이원 가산기를 통해 상기 복원 출력값들과 상기 인코딩 키 정보를 이원 가산(XOR)하여 상기 키 정보를 복원하는 키 정보 획득부, 및 복원된 상기 키 정보를 상기 프로세서로 출력하는 출력부를 포함하는 것을 특징으로 한다.
상기 출력값 생성부는 N개의 난수 각각에 대해 일방향 함수를 N번 실행하여 N개의 복원 출력값을 생성하는 것을 특징으로 한다. 이때, N은 1 이상의 정수인 것을 특징으로 한다.
또한, 본 발명에 따른 키 정보 보호 장치는, 상기 키 정보에 대한 상기 인코딩 키를 생성하기 위하여 하나 이상의 상기 난수들을 발생하는 난수 발생부를 더 포함하는 것을 특징으로 한다.
상기 출력값 생성부는 상기 키 정보에 대한 상기 인코딩 키를 생성하기 위하여 상기 난수들에 대응하는 각각의 인코딩 출력값을 생성하는 것을 특징으로 한다.
또한, 본 발명에 따른 키 정보 보호 장치는, 상기 인코딩 출력값들과 상기 키 정보를 상기 이원 가산기를 통해 이원 가산(XOR)하여 하나의 상기 인코딩 키를 생성하는 인코딩 키 생성부를 더 포함하는 것을 특징으로 한다.
한편, 상기의 목적을 달성하기 위한 본 발명에 따른 키 정보 보호 방법은, 키 정보를 이용한 암호 연산이 수행되는 동안 상기 키 정보에 대해 암호화된 인코딩 키 및 하나 이상의 난수들이 휘발성 메모리에 저장되는 단계, 암호 연산을 수행하는 프로세서로부터 키 정보 요청 명령이 입력되면 상기 난수들을 일방향 함수의 입력값으로 하여 상기 난수들 각각에 대응하는 복원 출력값을 생성하는 단계, 상기 인코딩 키 정보를 호출하고 이원 가산기를 통해 상기 복원 출력값들과 상기 인코딩 키 정보를 이원 가산(XOR)하여 상기 키 정보를 복원하는 단계, 및 복원된 상기 키 정보를 상기 프로세서로 출력하는 단계를 포함하는 것을 특징으로 한다.
상기 복원 출력값을 생성하는 단계는 N개의 난수 각각에 대해 일방향 함수를 N번 실행하여 N개의 복원 출력값을 생성하는 것을 특징으로 한다. 이때, N은 1 이상의 정수인 것을 특징으로 한다.
또한, 본 발명에 따른 키 정보 보호 방법은, 상기 저장되는 단계 이전에, 상기 키 정보에 대한 상기 인코딩 키를 생성하기 위하여 하나 이상의 상기 난수들을 발생하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 키 정보 보호 방법은, 상기 키 정보에 대한 상기 인코딩 키를 생성하기 위하여 상기 난수들에 대응하는 각각의 인코딩 출력값을 생성하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 키 정보 보호 방법은, 상기 저장되는 단계 이전에, 상기 인코딩 출력값들과 상기 키 정보를 상기 이원 가산기를 통해 이원 가산(XOR)하여 하나의 상기 인코딩 키를 생성하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, 컴퓨터에서 정보보호용 소프트웨어 제품의 프로그램이 동작되는 동안 레지스터 혹은 RAM 같은 휘발성 메모리에 상주하는 키 정보를 보호할 수 있는 이점이 있다.
또한, 본 발명은, 메모리 분석 악성 프로그램에 대해 키 정보 노출 위험을 최소화시키는 이점이 있다.
도 1은 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치의 구성을 설명하는데 참조되는 블록도이다.
도 2는 본 발명에 따른 인코딩 키 생성부의 세부 구성을 도시한 도이다.
도 3은 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치의 인코딩 키 생성 동작을 설명하는데 참조되는 예시도이다.
도 4는 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치의 키 정보 획득 동작을 설명하는데 참조되는 예시도이다.
도 5는 본 발명에 따른 휘발성 메모리 내 키 정보 보호 방법의 인코딩 키 생성 동작에 대한 흐름을 도시한 순서도이다.
도 6은 본 발명에 따른 휘발성 메모리 내 키 정보 보호 방법의 키 정보 획득 동작에 대한 흐름을 도시한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다.
도 1은 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치의 구성을 설명하는데 참조되는 블록도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치(이하, '키 정보 보호 장치'라 칭한다)는 제어부(10), 입력부(20), 출력부(30), 저장부(40), 난수 발생부(50), 출력값 생성부(60), 인코딩 키 생성부(70), 및 키 정보 획득부(80)를 포함한다. 이때, 제어부(10)는 키 정보 보호 장치의 각 부 동작을 제어한다.
입력부(20)는 키 정보가 휘발성 메모리로 호출되는 경우, 해당 키 정보에 대한 인코딩 키 생성 명령을 입력 받는다. 또한, 입력부(20)는 키 정보를 이용하여 암호 연산을 수행하는 경우, 암/복호화, 전자서명, 인증 등을 수행하는 프로세서로부터 키 정보 요청 명령을 입력 받는다.
출력부(30)는 입력부(20)로부터 입력된 명령에 따른 처리 동작 결과를 출력한다. 일 예로서, 출력부(30)는 프로세서로부터의 키 정보 요청 명령에 따라 획득된 키 정보를 해당 암호 연산을 수행하는 프로세서로 출력한다.
저장부(40)는 휘발성 메모리로서, 레지스터, RAM 등을 포함한다. 저장부(40)는 암호 연산을 위해 호출된 키 정보를 암호화한 인코딩 키 정보가 저장된다. 또한, 저장부(40)는 인코딩 키 생성을 위해 발생된 난수들이 저장된다.
난수 발생부(50)는 키 정보 보호 장치에서 인코딩 키를 생성하는데 필요한 난수를 발생한다. 이때, 난수 발생부(50)는 N개의 난수를 발생하게 된다. 여기서, N은 1 또는 그 이상의 정수를 포함한다.
난수 발생부(50)는 사용자 단말에 전원이 인가되는 경우마다 서로 다른 난수를 발생시킬 수 있으며, 시간 변화에 따라 서로 다른 난수를 발생시킬 수도 있다. 인코딩 키를 생성하기 위하여 발생된 난수는 저장부(40)에 저장된다. 이때, 저장부(40)에 저장된 난수들은 인코딩 키로부터 원래의 키 정보를 복원하는데 이용된다.
출력값 생성부(60)는 난수 발생부(50)에서 발생된 N개의 난수를 이용하여 출력값을 생성한다. 이때, 출력값 생성부(60)는 각 난수를 일방향 함수의 입력값으로 하여 각 난수에 대응하는 출력값을 생성한다.
여기서, 출력값은 외부의 저장수단으로부터 저장부(40)로 호출된 키 정보에 대한 인코딩 키를 생성하기 위한 인코딩 출력값과, 해당 인코딩 키로부터 키 정보를 복원하기 위한 복원 출력값을 포함한다.
다시 말해, 출력값 생성부(60)는 외부의 저장수단으로부터 저장부(40)로 호출된 키 정보에 대한 인코딩 키를 생성하는 경우, 각각의 난수들에 대응되는 각각의 인코딩 출력값을 생성한다.
여기서, 출력값 생성부(60)는 N개의 난수 각각에 대하여 일방향 함수를 N번 실행함으로써 N개의 인코딩 출력값을 생성한다.
인코딩 키 생성부(70)는 데이터 암/복호화, 전자서명, 인증 등에 이용되는 키 정보를 호출한다. 이때, 키 정보는 HDD, USB, 보안토큰 등의 외장 메모리로부터 호출 가능하다. 그리고, 인코딩 키 생성부(70)는 호출된 키 정보를 암호화하여 인코딩 키를 생성한다.
한편, 인코딩 키 생성부(70)는 도 2에 도시된 바와 같이, 이원 가산기(75)를 포함한다. 여기서, 이원 가산기(75)는 배타적 논리합(eXclusive OR, XOR)을 이용하여 이원 가산을 수행하게 된다.
다시 말해, 인코딩 키 생성부(70)는 이원 가산기(75)를 이용하여 N개의 난수에 대응하는 N개의 인코딩 출력값과 호출된 키 정보를 이원 가산(XOR)하여, 하나의 인코딩 키를 생성한다. 이때, 생성된 인코딩 키는 저장부(40)에 저장되며, 추후 키 정보를 복원하는데 이용된다.
키 정보 획득부(80)는 암호 연산을 수행하는 프로세서로부터 키 정보 획득 명령이 입력되면, 저장부(40)에 저장된 인코딩 키 정보를 호출한다. 또한, 키 정보 획득부(80)는 저장부(40)로부터 키 정보를 암호화하는데 이용된 난수들을 호출한다. 이때, 키 정보 획득부(80)는 출력값 생성부(60)로 호출된 난수들, 즉, N개의 난수들에 대한 출력값 생성을 지시한다.
따라서, 출력값 생성부(60)는 호출된 난수들을 일방향 함수의 입력값으로 하여 각 난수에 대응하는 복원 출력값을 생성한다. 여기서, 출력값 생성부(60)는 인코딩 키 생성 시와 마찬가지로, N개의 난수 각각에 대하여 일방향 함수를 N번 실행함으로써 N개의 복원 출력값을 생성한다.
이때, 키 정보 획득부(80)는 N개의 복원 출력값으로부터 호출된 인코딩 키를 복호화하여 원래의 키 정보를 획득한다. 더욱 상세하게, 키 정보 획득부(80)는 이원 가산기(75)를 이용하여 N개의 복원 출력값과 호출된 인코딩 키 정보를 이원가산(XOR)하여, 원래의 키 정보를 복원한다.
따라서, 사용자는 키 정보 획득부(80)에 의해 획득된 키 정보를 이용하여 데이터 암/복호화, 전자서명, 인증 등을 수행하게 된다.
도 3은 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치의 인코딩 키 생성 동작을 설명하는데 참조되는 예시도이다.
도 3에 도시된 바와 같이, 인코딩 키를 생성하기에 앞서 난수 발생부(50)는 N개의 난수, 즉, 변수값1(a1), 변수값2(a2), ..., 변수값N(aN)을 생성한다.
이렇게 발생된 N개의 난수들(a1, a2, ..., aN)은 출력값 생성부(60)로 입력되고, 출력값 생성부(60)는 입력된 N개의 난수들(a1, a2, ..., aN) 각각을 일방향 함수(65)의 입력값으로 하여 N개의 인코딩 출력값을 생성한다.
이후, 인코딩 키 생성부(70)는 암호화 할 키 정보(ka)를 호출하고, 이원 가산기(75)를 이용하여 호출된 키 정보(ka)와 N개의 인코딩 출력값을 이원 가산한다. 이때, 인코딩 키 생성부(70)는 N개의 인코딩 출력값 각각에 대하여 이원 가산을 수행하고, 이원 가산 수행 결과로부터 인코딩 키 정보(kb)를 생성한다.
도 4는 본 발명에 따른 휘발성 메모리 내 키 정보 보호 장치의 키 정보 획득 동작을 설명하는데 참조되는 예시도이다.
도 4에 도시된 바와 같이, 인코딩 키로부터 키 정보를 복원하기에 앞서, 이전 인코딩 키를 생성하는 때 난수 발생부(50)에 의해 발생된 N개의 난수, 즉, 변수값1(b1), 변수값2(b2), ..., 변수값N(bN)을 호출한다.
이때, N개의 난수들(b1, b2, ..., bN)은 인코딩 키를 생성하는 과정에서 저장부(40)에 저장되며, 키 정보 획득부(80)에 의해 저장부(40)에 저장된 N개의 난수들(b1, b2, ..., bN)이 호출되게 된다.
이렇게 호출된 N개의 난수들(b1, b2, ..., bN)은 출력값 생성부(60)로 입력되고, 출력값 생성부(60)는 입력된 N개의 난수들(b1, b2, ..., bN) 각각을 일방향 함수(65)의 입력값으로 하여 N개의 복원 출력값을 생성한다.
이후, 키 정보 획득부(80)는 복호화 할 인코딩 키 정보(kb)를 호출하고, 이원 가산기(75)를 이용하여 호출된 인코딩 키 정보(kb)와 N개의 복원 출력값을 이원 가산한다. 이때, 키 정보 획득부(80)는 N개의 복원 출력값 각각에 대하여 이원 가산을 수행하고, 이원 가산 수행 결과로부터 키 정보(ka)를 획득한다.
도 4에서는 변수값1(b1), 변수값2(b2), ..., 변수값N(bN)을 호출하는 것으로 도시하였으나, 도 3에서와 같이 변수값1(a1), 변수값2(a2), ..., 변수값N(aN)이 인코딩 키를 생성하는데 이용된 경우, bN= aN이 될 수 있다.
도 5는 본 발명에 따른 휘발성 메모리 내 키 정보 보호 방법의 인코딩 키 생성 동작에 대한 흐름을 도시한 순서도이다.
도 5에 도시된 바와 같이, 본 발명에 따른 키 정보 보호 장치는 사용자로부터 인코딩 키 생성 명령이 입력되면, 인코딩 키를 생성하는데 필요한 N개의 난수를 발생한다(S100). 여기서, N은 1 또는 그 이상의 정수를 포함한다. 'S100' 과정에서 발생된 N개의 난수는 저장부(40)에 저장되며, 추후 인코딩 키 정보로부터 원래의 키 정보를 복원하는데 이용된다.
이때, 키 정보 보호 장치는 'S100' 과정에서 발생된 N개의 난수를 일방향 함수(65)의 입력값으로 각각 입력하여 각 난수에 대응하는 인코딩 출력값을 생성한다(S110). 따라서, 키 정보 보호 장치는 'S110' 과정으로부터 N개의 난수 각각에 대하여 일방향 함수(65)를 N번 실행함으로써 N개의 인코딩 출력값을 생성한다.
한편, 키 정보 보호 장치는 데이터 암/복호화, 전자서명, 인증 등에 이용되는 키 정보의 암호화를 위하여, 해당 키 정보를 호출한다(S120). 이때, 키 정보는 HDD, USB, 보안토큰 등의 외장 메모리로부터 호출 가능하다.
이후, 키 정보 보호 장치는 이원 가산기(75)를 이용하여 'S110' 과정에서 생성된 N개의 인코딩 출력값과 'S120' 과정에서 호출된 키 정보를 이원 가산(XOR)하여(S130), 인코딩 키 정보를 생성한다(S140). 여기서, 'S130' 과정은 배타적 논리합(eXclusive OR, XOR)을 이용하여 이원 가산을 수행하게 된다.
마지막으로, 키 정보 보호 장치는 'S140' 과정에서 생성된 인코딩 키 정보를 저장부(40)에 저장하고(S150), 해당 동작을 종료한다.
도 6은 본 발명에 따른 휘발성 메모리 내 키 정보 보호 방법의 키 정보 획득 동작에 대한 흐름을 도시한 순서도이다.
도 6에 도시된 바와 같이, 본 발명에 따른 키 정보 보호 장치는 암호 연산을 수행하는 프로세서로부터 키 정보 요청 명령이 입력되면, 도 5의 'S100' 과정에서 발생되어 저장부(40)에 저장된 N개의 난수들을 획득한다(S200).
이때, 키 정보 보호 장치는 'S200' 과정에서 획득된 N개의 난수를 일방향 함수(65)의 입력값으로 각각 입력하여 각 난수에 대응하는 복원 출력값을 생성한다(S210). 따라서, 키 정보 보호 장치는 'S210' 과정으로부터 N개의 난수 각각에 대하여 일방향 함수(65)를 N번 실행함으로써 N개의 복원 출력값을 생성한다.
또한, 키 정보 보호 장치는 암호화된 키 정보, 즉, 인코딩 키 정보의 복호화를 위하여 도 5의 'S150' 과정에서 저장된 인코딩 키 정보를 호출한다(S220).
이후, 키 정보 보호 장치는 이원 가산기(75)를 이용하여 'S210' 과정에서 생성된 N개의 복원 출력값과 'S220' 과정에서 호출된 인코딩 키 정보를 이원 가산(XOR)하여(S230), 원래의 키 정보를 획득한다(S240). 여기서, 'S230' 과정은 배타적 논리합(eXclusive OR, XOR)을 이용하여 이원 가산을 수행하게 된다.
마지막으로, 키 정보 보호 장치는 'S240' 과정에서 획득된 키 정보를 암호 연산을 수행하는 프로세서로 출력하고(S250), 해당 동작을 종료한다.
이상과 같이 본 발명에 의한 휘발성 메모리 내 키 정보 보호 장치 및 그 방법은 예시된 도면을 참조로 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않고, 기술사상이 보호되는 범위 이내에서 응용될 수 있다.
10: 제어부 20: 입력부
30: 출력부 40: 저장부
50: 난수 발생부 60: 출력값 생성부
65: 일방향 함수 70: 인코딩 키 생성부
75: 이원 가산기 80: 키 정보 획득부

Claims (10)

  1. 암호 연산을 위해 호출된 키 정보를 암호화한 인코딩 키 정보 및 서로 다른 난수들이 저장되는 저장부;
    상기 서로 다른 난수들 각각을 각각의 일방향 함수의 입력값으로 하여 상기 서로 다른 난수들 각각에 대응되는 각각의 인코딩 출력값을 생성하고, 상기 서로 다른 난수들 각각을 각각의 일방향 함수의 입력값으로 하여 상기 서로 다른 난수들 각각에 대응되는 각각의 복원 출력값을 생성하는 출력값 생성부;
    상기 각각의 인코딩 출력값과 상기 키 정보를 이원 가산기를 통해 이원 가산(XOR)하여 하나의 상기 인코딩 키 정보를 생성하는 인코딩 키 생성부;
    상기 암호 연산을 수행하는 프로세서로부터 키 정보 획득 명령이 입력되면 상기 저장부에 저장된 상기 인코딩 키 정보를 호출하고, 상기 각각의 복원 출력값과 상기 인코딩 키 정보를 이원 가산기를 통해 이원 가산(XOR)하여 상기 키 정보를 복원하는 키 정보 획득부; 및
    복원된 상기 키 정보를 상기 프로세서로 출력하는 출력부;를 포함하고,
    상기 저장부는 휘발성 메모리이고, 상기 키 정보는 상기 암호 연산을 위해 외부의 저장수단으로부터 상기 저장부로 호출되는 것을 특징으로 하는 키 정보 보호 장치.
  2. 청구항 1에 있어서,
    상기 출력값 생성부는,
    N개의 난수 각각에 대해 일방향 함수를 N번 실행하여 N개의 복원 출력값을 생성하는 것을 특징으로 하는 키 정보 보호 장치.(N≥1, N은 정수)
  3. 청구항 1에 있어서,
    상기 키 정보에 대한 상기 인코딩 키를 생성하기 위하여 하나 이상의 상기 난수들을 발생하는 난수 발생부;를 더 포함하는 것을 특징으로 하는 키 정보 보호 장치.
  4. 삭제
  5. 삭제
  6. 서로 다른 난수들 각각을 각각의 일방향 함수의 입력값으로 하여 상기 서로 다른 난수들 각각에 대응하는 각각의 인코딩 출력값을 생성하는 단계;
    상기 인코딩 출력값과 키 정보를 이원 가산기를 통해 이원 가산(XOR)하여 하나의 인코딩 키를 생성하는 단계;
    상기 키 정보를 이용한 암호 연산이 수행되는 동안 상기 인코딩 키 및 상기 서로 다른 난수들이 휘발성 메모리에 저장되는 단계;
    상기 암호 연산을 수행하는 프로세서로부터 키 정보 획득 명령이 입력되면, 상기 서로 다른 난수들 각각을 각각의 일방향 함수의 입력값으로 하여 상기 서로 다른 난수들 각각에 대응되는 각각의 복원 출력값을 생성하는 단계;
    상기 휘발성 메모리에 저장된 상기 인코딩 키 정보를 호출하고, 상기 각각의 복원 출력값과 상기 인코딩 키 정보를 상기 이원 가산기를 통해 이원 가산(XOR)하여 상기 키 정보를 복원하는 단계; 및
    복원된 상기 키 정보를 상기 프로세서로 출력하는 단계;를 포함하고,
    상기 키 정보는 상기 암호 연산을 위해 외부의 저장수단으로부터 상기 휘발성 메모리로 호출되는 것을 특징으로 하는 키 정보 보호 방법.
  7. 청구항 6에 있어서,
    상기 출력값을 생성하는 단계는,
    N개의 난수 각각에 대해 일방향 함수를 N번 실행하여 N개의 복원 출력값을 생성하는 것을 특징으로 하는 키 정보 보호 방법.(N≥1, N은 정수)
  8. 청구항 6에 있어서,
    상기 인코딩 출력값 생성 단계 이전에,
    상기 키 정보에 대한 상기 인코딩 키를 생성하기 위하여 상기 서로 다른 난수들을 발생하는 단계;를 더 포함하는 것을 특징으로 하는 키 정보 보호 방법.
  9. 삭제
  10. 삭제
KR1020110026397A 2011-03-24 2011-03-24 휘발성 메모리 내 키 정보 보호 장치 및 그 방법 KR101219191B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110026397A KR101219191B1 (ko) 2011-03-24 2011-03-24 휘발성 메모리 내 키 정보 보호 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110026397A KR101219191B1 (ko) 2011-03-24 2011-03-24 휘발성 메모리 내 키 정보 보호 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20120109041A KR20120109041A (ko) 2012-10-08
KR101219191B1 true KR101219191B1 (ko) 2013-01-21

Family

ID=47280481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110026397A KR101219191B1 (ko) 2011-03-24 2011-03-24 휘발성 메모리 내 키 정보 보호 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101219191B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019152461A1 (en) 2018-01-31 2019-08-08 Cryptography Research, Inc. Protecting cryptographic keys stored in non-volatile memory
WO2021061596A1 (en) * 2019-09-25 2021-04-01 Micron Technology, Inc. Exclusive or engine on random access memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070051314A (ko) * 2004-08-09 2007-05-17 컴캐스트 케이블 홀딩스, 엘엘씨 단순화된 구조의 키 관리를 위한 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070051314A (ko) * 2004-08-09 2007-05-17 컴캐스트 케이블 홀딩스, 엘엘씨 단순화된 구조의 키 관리를 위한 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019152461A1 (en) 2018-01-31 2019-08-08 Cryptography Research, Inc. Protecting cryptographic keys stored in non-volatile memory
EP3746901A4 (en) * 2018-01-31 2021-11-17 Cryptography Research, Inc. PROTECTION OF CRYPTOGRAPHIC KEYS STORED IN NON-VOLATILE MEMORY
WO2021061596A1 (en) * 2019-09-25 2021-04-01 Micron Technology, Inc. Exclusive or engine on random access memory
US11556656B2 (en) 2019-09-25 2023-01-17 Micron Technology, Inc. Exclusive or engine on random access memory

Also Published As

Publication number Publication date
KR20120109041A (ko) 2012-10-08

Similar Documents

Publication Publication Date Title
Turan et al. Recommendation for password-based key derivation
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
JP2018098739A (ja) 暗号データ処理方法、暗号データ処理装置および暗号データ処理プログラム
CN112469036B (zh) 一种消息加解密方法、装置、移动终端和存储介质
JP6882666B2 (ja) 鍵生成装置および鍵生成方法
WO2017000726A1 (zh) 一种密钥变换方法、装置及终端
KR20120061405A (ko) 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법
US20150256343A1 (en) Securely Generating and Storing Passwords in a Computer System
US8392723B2 (en) Information processing apparatus and computer readable medium for preventing unauthorized operation of a program
CN111066077A (zh) 加密装置、加密方法、解密装置以及解密方法
KR20130093557A (ko) 적어도 하나의 암호화 명령어를 포함하는 소프트웨어 애플리케이션의 협력 실행을 위한 시스템, 장치, 및 방법
CN111614467B (zh) 系统后门防御方法、装置、计算机设备和存储介质
Turan et al. Sp 800-132. recommendation for password-based key derivation: Part 1: Storage applications
KR101219191B1 (ko) 휘발성 메모리 내 키 정보 보호 장치 및 그 방법
KR101687492B1 (ko) 분산적으로 데이터를 저장하는 방법 및 암호학적 정보 처리 장치
JP6488954B2 (ja) 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム
KR102024379B1 (ko) 생체 정보 기반의 전자 서명이 가능한 데이터 전송 장치 및 그 동작 방법
KR101978684B1 (ko) 재생 공격 방지가 가능한 부호 기반 암호화 장치 및 방법
JPWO2006046484A1 (ja) 認証方法
KR101440680B1 (ko) 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
CN111008837B (zh) 区块链账户私钥恢复方法、装置、计算机设备及存储介质
KR101974345B1 (ko) 전자 서명을 통한 차량 간 보안 통신을 지원하는 커넥티드 차량용 데이터 통신 장치 및 그 동작 방법
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
CN111859408A (zh) 文件加密、解密方法及装置、电子设备、可读存储介质
WO2020173662A1 (en) Method secured against side-channel attacks with a new masking scheme protecting linear operations of a cryptographic algorithm

Legal Events

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

Payment date: 20161004

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181030

Year of fee payment: 7