KR20170079826A - 암호화 키 갱신 장치 및 방법 - Google Patents

암호화 키 갱신 장치 및 방법 Download PDF

Info

Publication number
KR20170079826A
KR20170079826A KR1020150190806A KR20150190806A KR20170079826A KR 20170079826 A KR20170079826 A KR 20170079826A KR 1020150190806 A KR1020150190806 A KR 1020150190806A KR 20150190806 A KR20150190806 A KR 20150190806A KR 20170079826 A KR20170079826 A KR 20170079826A
Authority
KR
South Korea
Prior art keywords
encryption key
buffer
key
encryption
data
Prior art date
Application number
KR1020150190806A
Other languages
English (en)
Other versions
KR101810044B1 (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 KR1020150190806A priority Critical patent/KR101810044B1/ko
Publication of KR20170079826A publication Critical patent/KR20170079826A/ko
Application granted granted Critical
Publication of KR101810044B1 publication Critical patent/KR101810044B1/ko

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/78Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

미리 정해진 시간 간격 마다 갱신되는 암호화 키; 및 상기 암호화 키를 기초로 암호화되어 메모리 영역에 저장된 적어도 하나의 보호 데이터 각각의 저장 위치를 저장하는 버퍼를 포함하되, 상기 보호 데이터 각각은 상기 암호화 키의 갱신에 대응되도록 재-암호화되는 암호화 키 갱신 장치.

Description

암호화 키 갱신 장치 및 방법{APPARATUS AND METHOD FOR UPDATING ENCRYPTION KEY}
본 발명은 암호화 키 갱신 장치 및 방법에 관한 것으로, 더욱 상세하게는 실행 시간 암호화 키 갱신을 통해 데이터 암호화 상태를 강화하기 위한, 암호화 키 갱신 장치 및 방법에 관한 것이다.
정보 보호를 위해 복잡한 암호화 알고리즘을 사용하면 공격자가 암호화된 데이터를 해독하기는 불가능하거나 매우 오랜 시간이 소요되어 높은 수준의 보안성을 유지할 수 있다. 그러나, 프로그램 실행 중에 암호화와 복호화를 하는데 많은 시간이 필요하기 때문에 프로그램의 실행 성능이 낮아지는 부작용이 있다. 이러한 이유로 암호화에는 단순한 연산이 사용되는 경우가 대부분이다. 단순한 연산을 사용하여 암호화를 수행하면, 정보 유출에 의해 암호화된 값이 노출되는 경우에 암호문 해독법(Cryptanalysis)으로 암호화 키 값을 추정할 수 있다.
프로그램 실행시간에 난독화(Randomization)로 데이터를 보호하기 위해서는 실행 성능의 감소는 최소화 하면서 암호화 상태는 해독이 어렵게 해야 한다. 실행 성능 감소를 최소화 하기 위해서는 단순한 연산을 사용한 암호화가 불가피하다. 따라서 이를 보완하여 암호화된 데이터에 해독법을 적용하여 키를 알아낼 수 있는 확률을 매우 낮게 하는 장치와 방법이 강구되어야 프로그램 실행 중 높은 수준의 보안성을 유지할 수 있다.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 성능과 보안의 적절한 수준을 유지하기 위해 암호화에는 단순한 연산을 사용하며, 이와 동시에 암호 키 값은 주기적 또는 비주기적으로 계속 갱신하고 이를 사용하여 암호화 대상이 되는 데이터를 다시 암호화할 수 있는 암호화 키 갱신 장치 및 방법을 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른, 암호화 키 갱신 장치는 미리 정해진 시간 간격 마다 갱신되는 암호화 키; 및 상기 암호화 키를 기초로 암호화되어 메모리 영역에 저장된 적어도 하나의 보호 데이터 각각의 저장 위치를 저장하는 버퍼를 포함하되, 상기 보호 데이터 각각은 상기 암호화 키의 갱신에 대응되도록 재-암호화된다.
본 발명의 일 실시예에 있어서, 상기 암호화 키는 갱신 키에 기초하여 갱신되며, 상기 보호 데이터 각각은 상기 갱신 키에 기초하여 재-암호화될 수 있다.
본 발명의 일 실시예에 있어서, 상기 갱신 키는 난수를 이용하여 생성될 수 있다.
본 발명의 일 실시예에 있어서, 상기 암호화 키의 갱신 및 상기 보호 데이터의 재-암호화는 프로그램의 실행시간(runtime)에 수행될 수 있다.
본 발명의 일 실시예에 있어서, 상기 보호 데이터의 저장 위치를 상기 버퍼로 푸시(push) 하는 푸시 모듈을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보호 데이터의 저장 위치를 상기 버퍼로부터 팝(pop) 하는 팝 모듈을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 버퍼에 저장된 저장 위치들을 참조하여 상기 보호 데이터 각각을 재-암호화 하는 재-암호화 모듈을 포함할 수 있다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른, 암호화 키 갱신 방법은 암호화 키에 의해 암호화 되어 메모리 영역에 저장된 적어도 하나의 보호 데이터 각각의 저장 위치를 버퍼에 저장하는 단계; 미리 정해진 시간 간격 마다 상기 암호화 키를 갱신하는 단계; 및 상기 암호화 키의 갱신에 대응되도록 상기 보호 데이터 각각을 재-암호화 하는 단계를 포함한다.
본 발명의 일 실시예에 있어서, 상기 암호화 키는 갱신 키에 기초하여 갱신되며, 상기 보호 데이터 각각은 상기 갱신 키에 기초하여 재-암호화될 수 있다.
본 발명의 일 실시예에 있어서, 상기 갱신 키는 난수를 이용하여 생성될 수 있다.
본 발명의 일 실시예에 있어서, 상기 암호화 키의 갱신 및 상기 보호 데이터의 재-암호화는 프로그램의 실행시간(runtime)에 수행될 수 있다.
본 발명의 일 실시예에 있어서, 상기 적어도 하나의 보호 데이터 각각의 저장 위치를 상기 버퍼에 저장하는 단계는 상기 보호 데이터의 저장 위치를 상기 버퍼로 푸시(push) 하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보호 데이터의 저장 위치를 상기 버퍼로부터 제거하는 단계를 더 포함하되, 상기 제거하는 단계는 상기 보호 데이터의 저장 위치를 상기 버퍼로부터 팝(pop) 하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보호 데이터 각각을 재-암호화 하는 단계는 상기 버퍼에 저장된 저장 위치들을 참조하여 상기 보호 데이터 각각을 재-암호화 하는 단계를 포함할 수 있다.
이와 같은 암호화 키 갱신 장치 및 방법에 따르면, 암호 키가 계속 갱신되고 데이터도 이에 따라 재-암호화 되어 정보 유출이 있더라도 일정 시간이 경과된 후에는 키 값이 바뀌기 때문에, 공격자가 유출된 데이터를 해독법으로 분석하여 알아낸 암호 키는 이를 사용하려는 순간에는 유효하지 않은 값이 된다. 따라서, 유효한 암호 키를 해독해 내기 어렵게 된다. 또한, 성능 저하는 최소화 하면서 이와 동시에 암호화 상태는 강하게 유지할 수 있는 보안성과 성능의 최적점을 찾을 수 있다.
도 1은 본 발명의 일 실시예에 따른 암호화 키 갱신 장치를 포함하는 전자 장치의 일 실시 예의 블록도이다.
도 2는 도 1의 암호화 키 갱신 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 암호화 키 갱신을 위한 데이터 구조를 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 암호화 키 갱신을 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 푸시 명령어를 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 팝 명령어를 설명하기 위한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 재-암호화 명령어를 설명하기 위한 순서도이다.
이하, 첨부한 도면들을 참조하여 본 발명을 보다 상세하게 설명하고자 한다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대한 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것에 불과하므로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 의해 한정되는 것으로 해석되지 않는다.
본 명세서에서, "모듈" 이라는 용어는 특정 기능을 제공하는 컴퓨터적 로직(computational logic)을 의미한다. 모듈은 하드웨어, 펌웨어, 및/또는 소프트웨어로 구현될 수 있다. 여기서 설명하는 명명된 모듈들은 본 발명의 일 실시 예를 나타내며, 다른 실시 예들은 다른 모듈들을 포함할 수 있다. 추가적으로, 다른 실시 예들은 여기에 설명된 모듈을 생략하고/또는 설명된 기능을 상이한 방식으로 모듈들 중에서 분배할 수 있다. 추가적으로, 둘 이상의 모듈들에 부가된 기능은 단일 모듈로 통합될 수 있다. 모듈들이 소프트웨어로 구현된 일 실시 예에서, 그것들은 컴퓨터 판독 가능한 지속적 저장 장치(예컨대, 하드 디스크)에 저장되고, 메모리에 로딩되어 하나 이상의 프로세서에 의해 실행될 수 있다.
도 1은 본 발명의 일 실시예에 따른 암호화 키 갱신 장치를 포함하는 전자 장치의 일 실시 예의 블록도이다.
도 1을 참조하면, PC(personal computer), 태블릿 PC(tablet PC), 노트북(notebook), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어 등과 같은 전자 장치는 전자 장치의 전반적인 동작을 제어하는 CPU 칩(central processing unit chip, 1)을 포함할 수 있다.
CPU 칩(1)은 프로그램 명령들(program instructions)을 읽고 실행하는 칩이다. 일 실시예에서, CPU 칩(1)은 암호화 키 갱신 장치(10), CPU(20), 메모리 관리 유닛(30), 캐시/메모리(40)를 포함할 수 있다.
CPU(20)는 캐시/메모리(40)로부터 프로그램들을 읽고 실행하는 동작을 수행하는 프로세서의 일 부분이다.
캐시/메모리(40)는 데이터를 보다 빠르게 읽기 위해 데이터를 저장하는 데이터 저장소이다.
메모리 관리 유닛(30)은 CPU(20)에 의해 요청되는 메모리(40) 접근을 처리하기 위한 하드웨어 구성요소이다. 메모리 관리 유닛(30)은 가상 메모리 주소를 물리적인 메모리 주소로 번역(translation), 메모리 보호, 메모리 제어 등의 기능을 수행할 수 있다.
암호화 키 갱신 장치(10)는 암호화 키와 더불어 상기 암호화 키에 의해 암호화 되어 메모리(40)에 저장된 보호 데이터를 주기적 또는 비 주기적으로 갱신할 수 있다. 상기 암호화 키 갱신 장치(10)는 이하에서 도 2 내지 도 7을 참조하여 자세하게 설명한다.
도 2는 도 1의 암호화 키 갱신 장치를 설명하기 위한 개념도이다. 도 3은 본 발명의 일 실시예에 따른 암호화 키 갱신을 위한 데이터 구조를 설명하기 위한 개념도이다. 도 4는 본 발명의 일 실시예에 따른 암호화 키 갱신을 설명하기 위한 개념도이다.
도 1 내지 도 4를 참조하면, 암호화 키 갱신 장치(10)는 암호화 키(KEY), 버퍼(dpxbuffer), 탑(TOP), 푸시 모듈(11), 팝 모듈(12), 재-암호화 모듈(13)을 포함할 수 있다.
암호화 키(KEY)는 메모리(40)에 저장된 보호 데이터의 암호화에 사용되는 키 값을 포함할 수 있다. 암호화 키(KEY)는 미리 정해진 시간 간격 마다 갱신될 수 있다. 상기 미리 정해진 시간 간격은 주기적일 수 있으나, 이에 한정되는 것은 아니다. 다른 실시예에서, 상기 미리 정해진 시간 간격은 비 주기적일 수 있다. 암호화 키(KEY)의 갱신은 프로그램의 실행시간(runtime)에 수행될 수 있다. 암호화 키(KEY)는 갱신 키(NEW)에 기초하여 갱신될 수 있다. 갱신 키(NEW)는 난수(random number)를 이용하여 생성될 수 있으나, 이에 한정되는 것은 아니다.
보호 데이터의 암호화에 사용되는 암호화 키(KEY)가 갱신됨에 따라서 메모리에 저장된 보호 데이터는 갱신된 암호화 키를 기초로 재-암호화될 수 있다. 일 실시예에서, 보호 데이터의 재-암호화에 의한 실행 성능 저하를 방지하기 위하여 보호 데이터의 재-암호화는 암호화 키(KEY)의 갱신에 사용되는 갱신 키(NEW)를 사용하여 수행될 수 있다.
버퍼(dpxbuffer)는 메모리(40)의 영역에 저장된 적어도 하나의 보호 데이터 각각의 저장 위치를 저장할 수 있다. 예를 들어, 버퍼(dpxbuffer)는 보호 데이터 각각의 주소(address)를 저장할 수 있다. 따라서, CPU(20)는 버퍼(dpxbuffer)에 저장된 주소를 참조하여 메모리(40)에 저장된 보호 데이터에 접근할 수 있다.
탑(TOP)은 마지막으로 삽입된 보호 데이터의 위치에 대응되는 값을 포함할 수 있다. 일 실시예에서, 탑(TOP)은 마지막으로 삽입된 보호 데이터의 위치를 가리키는 포인터일 수 있다. 예를 들어, TOP은 마지막으로 삽입된 데이터가 저장된 버퍼(dpxbuffer)의 마지막 주소를 가질 수 있다.
암호화 키 갱신 장치(10)는 탑(TOP)을 참조하여 마지막으로 삽입된 보호 데이터의 위치에 이어서 새로운 보호 데이터의 위치를 버퍼(dpxbuffer)에 삽입할 수 있으며, 새로이 삽입된 보호 데이터의 위치가 저장된 버퍼(dpxbuffer)의 마지막 주소로 탑(TOP)의 값을 갱신할 수 있다.
푸시 모듈(11)은 데이터의 저장 위치를 버퍼(dpxbuffer)로 푸시(push)할 수 있다. 푸시 모듈(11)은 데이터의 저장 위치를 포함하는 제1 입력(IN_1)을 전달 받는 푸시 명령어(dpxpush)에 대응되는 모듈이다.
이하에서 도 5를 참조하여 푸시 모듈(11)에 대해 자세하게 설명한다. 도 5는 본 발명의 일 실시예에 따른 푸시 명령어를 설명하기 위한 순서도이다.
도 5를 참조하면, 일 실시예에서, 버퍼(dpxbuffer)는 배열(array)의 형태로 구현될 수 있으나, 이에 한정되는 것은 아니다. 도 5 이하에서는 버퍼(dpxbuffer)는 배열(array)의 형태로 구현되는 경우를 기준으로 설명한다.
버퍼(dpxbuffer)가 배열로서 구현되는 일 실시예에서, 메모리(40)에 n 개의 보호 데이터가 저장되는 경우, 첫 번째 보호 데이터부터 n 번째 보호 데이터 각각의 주소는 dpxbuffer[0]부터 dpxbuffer[n-1]에 저장될 수 있다.
탑(TOP)은 마지막으로 삽입된 보호 데이터의 위치에 대응되는 값을 포함할 수 있다. 예를 들어, 메모리에 저장된 보호 데이터가 n 개인 경우, n 번째 보호 데이터의 주소는 dpxbuffer[n-1]에 저장되며, 탑(TOP)은 n의 값을 가질 수 있다.
버퍼(dpxbuffer)에 새로운 보호 데이터의 저장 위치, 즉, 새로운 주소(address)를 삽입하기 위하여, 먼저, 푸시 명령어가 실행되는 도중에 다른 프로세서에 의한 탑(TOP)으로의 접근을 제한할 수 있다(S110). 다른 프로세서에 의한 접근을 제한하기 위하여 탑(TOP)에 대한 잠금 함수(예를 들어, lock() 함수)가 실행될 수 있다.
잠금 함수 호출 후, dpxbuffer[TOP]에 새로운 주소(address)를 저장할 수 있다(S120).
새로운 보호 데이터가 추가됨으로 인해 버퍼(dpxbuffer)에 저장된 주소 값들의 수가 1 증가하였으므로, 탑(TOP)을 1 증가시킬 수 있다(S130).
이후, 잠금 해제 함수(예를 들어, unlock() 함수)를 호출하여 다른 프로세서에 의한 탑(TOP)으로의 접근을 허용할 수 있다(S140).
팝 모듈(12)은 데이터의 저장 위치를 버퍼(dpxbuffer)로부터 팝(pop) 할 수 있다. 팝 모듈(12)은 데이터의 저장 위치를 버퍼(dpxbuffer)로부터 팝(pop) 하는 팝 명령어(dpxpop)에 대응되는 모듈이다. 팝 모듈(12)은 팝 명령어의 실행 여부를 결정하기 위한 제2 입력(IN_2)을 전달 받을 수 있다.
이하에서 도 6을 참조하여 팝 모듈(12)에 대해 자세하게 설명한다. 도 6은 본 발명의 일 실시예에 따른 팝 명령어를 설명하기 위한 순서도이다.
도 6을 참조하면, 버퍼(dpxbuffer)로부터 데이터의 저장 위치를 팝 하기 위하여, 먼저 팝 명령어가 실행되는 도중에 다른 프로세서에 의한 탑(TOP)으로의 접근을 제한할 수 있다(S210). 다른 프로세서에 의한 접근을 제한하기 위하여 탑(TOP)에 대한 잠금 함수(예를 들어, lock() 함수)가 실행될 수 있다.
잠금 함수 호출 후, 버퍼(dpxbuffer)에 저장된 주소 값들 중 어느 하나(예를 들어, 버퍼(dpxbuffer)에 마지막으로 입력된 주소 값)를 버퍼(dpxbuffer)로부터 삭제할 수 있다.
버퍼(dpxbuffer)에 저장된 주소 값들의 수가 1 감소하였으므로, 탑(TOP)을 1 감소시킬 수 있다(S220).
이후, 잠금 해제 함수(예를 들어, unlock() 함수)를 호출하여 다른 프로세서에 의한 탑(TOP)으로의 접근을 허용할 수 있다(S230).
재-암호화 모듈(13)은 버퍼(dpxbuffer)에 저장된 저장 위치들(즉, 주소 값들)을 참조하여 보호 데이터 각각을 재-암호화 할 수 있다. 재-암호화 모듈(13)은 갱신 키(NEW)를 포함하는 제3 입력(IN_3)을 전달 받는 재-암호화 명령어에 대응되는 모듈이다.
이하에서 도 7을 참조하여 재-암호화 모듈(13)에 대해 자세하게 설명한다. 도 7은 본 발명의 일 실시예에 따른 재-암호화 명령어를 설명하기 위한 순서도이다.
도 7을 참조하면, 메모리(40)에 저장된 보호 데이터 각각을 재-암호화 하기 전에, 프로세스의 모든 스레드(thread)를 일시 정지시킬 수 있다(S310).
일 실시예에서, 암호화 키(KEY)를 갱신하기 위한 갱신 키(NEW)는 외부로부터 전달 받거나 또는 재-암호화 모듈(13) 내에서 생성할 수 있다. 본 실시예에서, 갱신 키(NEW)는 난수(random number)를 이용하여 생성될 수 있다(S320).
생성된 갱신 키(NEW)를 이용하여 메모리에 저장된 보호 데이터 각각을 재-암호화 할 수 있다(S330, S430). 일 실시예에서, 재-암호화는 보호 데이터(memory[dpxbuffer[i]])와 갱신 키(NEW) 간의 XOR 비트 연산을 통해 수행될 수 있다. 여기서, XOR 비트 연산("^" 기호로 표현)은 비교 대상이 되는 두 개의 값이 서로 다른 경우에 결과 값이 "참(true)"이 되는 비트 연산을 의미한다. 도 7에서, memory[dpxbuffer[i]] ^= NEW는 memory[dpxbuffer[i]] = memory[dpxbuffer[i]] ^ NEW를 의미한다.
메모리에 저장된 보호 데이터들에 대한 재-암호화가 종료된 후 갱신 키(NEW)를 이용하여 암호화 키(KEY)를 갱신할 수 있다(S350).
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
10: 암호화 키 갱신 장치 11: 푸시 모듈
12: 팝 모듈 13: 재-암호화 모듈
20: CPU 30: 메모리 관리 모듈
40: 캐시/메모리 KEY: 암호화 키
NEW: 갱신 키

Claims (14)

  1. 미리 정해진 시간 간격 마다 갱신되는 암호화 키; 및
    상기 암호화 키를 기초로 암호화되어 메모리 영역에 저장된 적어도 하나의 보호 데이터 각각의 저장 위치를 저장하는 버퍼를 포함하되,
    상기 보호 데이터 각각은 상기 암호화 키의 갱신에 대응되도록 재-암호화되는 암호화 키 갱신 장치.
  2. 제1항에 있어서,
    상기 암호화 키는 갱신 키에 기초하여 갱신되며,
    상기 보호 데이터 각각은 상기 갱신 키에 기초하여 재-암호화되는 것을 특징으로 하는 암호화 키 갱신 장치.
  3. 제2항에 있어서, 상기 갱신 키는
    난수를 이용하여 생성되는 것을 특징으로 하는 암호화 키 갱신 장치.
  4. 제1항에 있어서,
    상기 암호화 키의 갱신 및 상기 보호 데이터의 재-암호화는 프로그램의 실행시간(runtime)에 수행되는 것을 특징으로 하는 암호화 키 갱신 장치.
  5. 제1항에 있어서,
    상기 보호 데이터의 저장 위치를 상기 버퍼로 푸시(push) 하는 푸시 모듈을 포함하는 것을 특징으로 하는 암호화 키 갱신 장치.
  6. 제1항에 있어서,
    상기 보호 데이터의 저장 위치를 상기 버퍼로부터 팝(pop) 하는 팝 모듈을 포함하는 것을 특징으로 하는 암호화 키 갱신 장치.
  7. 제1항에 있어서,
    상기 버퍼에 저장된 저장 위치들을 참조하여 상기 보호 데이터 각각을 재-암호화 하는 재-암호화 모듈을 포함하는 것을 특징으로 하는 암호화 키 갱신 장치.
  8. 암호화 키에 의해 암호화 되어 메모리 영역에 저장된 적어도 하나의 보호 데이터 각각의 저장 위치를 버퍼에 저장하는 단계;
    미리 정해진 시간 간격 마다 상기 암호화 키를 갱신하는 단계; 및
    상기 암호화 키의 갱신에 대응되도록 상기 보호 데이터 각각을 재-암호화 하는 단계를 포함하는 암호화 키 갱신 방법.
  9. 제8항에 있어서,
    상기 암호화 키는 갱신 키에 기초하여 갱신되며,
    상기 보호 데이터 각각은 상기 갱신 키에 기초하여 재-암호화되는 것을 특징으로 하는 암호화 키 갱신 방법.
  10. 제9항에 있어서, 상기 갱신 키는
    난수를 이용하여 생성되는 것을 특징으로 하는 암호화 키 갱신 방법.
  11. 제8항에 있어서,
    상기 암호화 키의 갱신 및 상기 보호 데이터의 재-암호화는 프로그램의 실행시간(runtime)에 수행되는 것을 특징으로 하는 암호화 키 갱신 방법.
  12. 제8항에 있어서, 상기 적어도 하나의 보호 데이터 각각의 저장 위치를 상기 버퍼에 저장하는 단계는
    상기 보호 데이터의 저장 위치를 상기 버퍼로 푸시(push) 하는 단계를 포함하는 것을 특징으로 하는 암호화 키 갱신 방법.
  13. 제8항에 있어서, 상기 보호 데이터의 저장 위치를 상기 버퍼로부터 제거하는 단계를 더 포함하되, 상기 제거하는 단계는
    상기 보호 데이터의 저장 위치를 상기 버퍼로부터 팝(pop) 하는 단계를 포함하는 것을 특징으로 하는 암호화 키 갱신 방법.
  14. 제8항에 있어서, 상기 보호 데이터 각각을 재-암호화 하는 단계는
    상기 버퍼에 저장된 저장 위치들을 참조하여 상기 보호 데이터 각각을 재-암호화 하는 단계를 포함하는 것을 특징으로 하는 암호화 키 갱신 방법.
KR1020150190806A 2015-12-31 2015-12-31 암호화 키 갱신 장치 및 방법 KR101810044B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150190806A KR101810044B1 (ko) 2015-12-31 2015-12-31 암호화 키 갱신 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150190806A KR101810044B1 (ko) 2015-12-31 2015-12-31 암호화 키 갱신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170079826A true KR20170079826A (ko) 2017-07-10
KR101810044B1 KR101810044B1 (ko) 2017-12-18

Family

ID=59355912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150190806A KR101810044B1 (ko) 2015-12-31 2015-12-31 암호화 키 갱신 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101810044B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962731B2 (en) * 2005-10-20 2011-06-14 Qualcomm Incorporated Backing store buffer for the register save engine of a stacked register file

Also Published As

Publication number Publication date
KR101810044B1 (ko) 2017-12-18

Similar Documents

Publication Publication Date Title
US8516271B2 (en) Securing non-volatile memory regions
US10204229B2 (en) Method and system for operating a cache in a trusted execution environment
US9990249B2 (en) Memory integrity with error detection and correction
US9996479B2 (en) Encryption of executables in computational memory
US9798900B2 (en) Flexible counter system for memory protection
US9135450B2 (en) Systems and methods for protecting symmetric encryption keys
US8826035B2 (en) Cumulative integrity check value (ICV) processor based memory content protection
US9965619B2 (en) Return address overflow buffer
US10956157B1 (en) Taint protection during speculative execution
US20200082088A1 (en) User/Enterprise Data Protection Preventing Non-Authorized Firmware Modification
US9760737B2 (en) Techniques for integrated circuit data path confidentiality and extensions thereof
WO2016042287A1 (en) Puf and address dependent data encryption
JP6219391B2 (ja) メモリに保存されたデータの安全な削除
US20160335201A1 (en) Data and instruction set encryption
US20150301957A1 (en) Secured memory system and method therefor
CN111566650A (zh) 管理加密系统中的密码术密钥集合
CN113711194A (zh) 基于密钥更新的高效侧信道攻击抵抗存储器加密器
US20140344947A1 (en) Method and apparatus for handling storage of context information
CN109344656B (zh) 一种数据库的数据加密/解密方法、装置和设备
US10880082B2 (en) Rekeying keys for encrypted data in nonvolatile memories
CN112514320A (zh) 动态密码术密钥扩展
US9218296B2 (en) Low-latency, low-overhead hybrid encryption scheme
EP3262481B1 (en) Efficiently storing initialization vectors
KR20180059217A (ko) 메모리 데이터 보안 처리 장치 및 방법
KR101810044B1 (ko) 암호화 키 갱신 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant