KR102072160B1 - 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법 - Google Patents

비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법 Download PDF

Info

Publication number
KR102072160B1
KR102072160B1 KR1020170145295A KR20170145295A KR102072160B1 KR 102072160 B1 KR102072160 B1 KR 102072160B1 KR 1020170145295 A KR1020170145295 A KR 1020170145295A KR 20170145295 A KR20170145295 A KR 20170145295A KR 102072160 B1 KR102072160 B1 KR 102072160B1
Authority
KR
South Korea
Prior art keywords
virtual machine
block cipher
node
information
algorithm
Prior art date
Application number
KR1020170145295A
Other languages
English (en)
Other versions
KR20190050105A (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 KR1020170145295A priority Critical patent/KR102072160B1/ko
Publication of KR20190050105A publication Critical patent/KR20190050105A/ko
Application granted granted Critical
Publication of KR102072160B1 publication Critical patent/KR102072160B1/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법이 개시된다. 본 발명에 따른 비대칭 메모리 접근 환경에서의 블록암호 연산 장치에 의해 수행되는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법은, 비대칭 메모리 접근(NUMA) 환경에서, 마스터 가상머신으로부터 암호 연산 요청을 전달받는 단계, 복수의 슬레이브 가상머신들 중에서 상기 암호 연산 요청에 상응하는 블록 암호 연산을 수행할 연산 수행 가상머신을 선택하는 단계, 선택된 상기 연산 수행 가상머신으로 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계, 그리고 상기 연산 수행 가상머신으로부터 상기 블록 암호 연산의 연산 결과를 수신하는 단계를 포함한다.

Description

비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법{BLOCK CIPHER OPERATION SYSTEM, APPARATUS AND METHOD IN NON-UNIFORM MEMORY ACCESS ENVIRONMENT}
본 발명은 비대칭 메모리 접근(NUMA) 환경에서의 블록암호 연산 기술에 관한 것으로, 특히 비대칭 메모리 접근 환경에서 병렬 계산 가능한 블록 암호 운용 모드의 연산을 효율적이고 안전하게 처리할 수 있는 기술에 관한 것이다.
보안 서비스의 중요성이 증가함에 따라, 암호 연산을 빠르게 수행할 수 있는 고성능 하드웨어 및 시스템에 대한 연구가 진행되고 있다. 특히, 초고속 통신망이 보편화되고, 산업체와 공공기관 등 사회 전반에 걸쳐 네트워크를 통해 업무가 이루어짐에 따라 VPN(Virtual Private Networks), DRM(Digital Rights Management) 등의 네트워크 암호화 기술을 고속으로 처리할 수 있는 시스템의 중요성이 증가하였다.
Angelo Barnes 등은 포크 시스템 호출(fork system call)과 POSIX 스레드(POSIX Threads, pthread) 등을 사용하여, 32 코어 등 멀티 코어 환경에서의 최적화를 통해 AES 암호 알고리즘의 쓰루풋(Throughput)을 높이는 연구를 진행하였다.
그러나, 종래의 연구들은 멀티 코어 시스템에서 널리 사용되는 NUMA 아키텍쳐 및 메모리의 효율적인 사용을 고려하지 않았고, 암호 연산에 필요한 안정성에 문제가 있다는 한계가 있다.
또한, 멀티 코어 및 매니 코어 환경에서의 병렬 처리 성능 향상을 위해, 물리적 머신 안에서의 통신에 소요되는 시간을 줄이기 위한 연구가 진행되었다. Shigang Li 등은 MPI Collective 연산 시, 같은 메모리 어드레스 스페이스를 공유하는 프로세스 간의 통신 효율을 높여, 계산 성능을 향상시키는 연구를 진행하였다. 그러나 블록 암호의 특징과 메모리 특성을 고려해, 각 연산을 여러 코어에 효율적으로 배분하는 단계가 고려되지 않았다.
따라서, 복수의 노드로 구성된 매니 코어 비대칭 메모리 접근(NUMA) 환경에서, 블록 암호 연산 속도를 향상시키고, 데이터 격리를 통해 암호 연산에 중요한 키 정보를 보호하고 고장 방지 능력을 통해 안전성을 증대시키는 기술의 개발이 필요하다.
한국 등록 특허 제 10-1008574호, 2011년 01월 17일 공고(명칭: 다중 프로세서를 이용한 AES 암호화 방법)
본 발명의 목적은 복수의 노드로 구성된 매니 코어 NUMA 환경에서의 가상화 기술을 이용하여, 병렬 가능한 블록 암호 운용 모드의 연산을 효율적이고 안전하게 처리하는 것이다.
또한, 본 발명의 목적은 매니 코어 시스템에서 범용적으로 사용되는 NUMA 시스템의 가상화 기술과 공유 메모리를 사용한 효율적인 통신 방법을 적용하여, 암호 연산을 신속하고 안전하게 수행하는 것이다.
또한, 본 발명의 목적은 VPN(Virtual Private Networks), DRM(Digital Rights Management) 등의 보안 기술에 응용될 수 있는 블록 암호 연산 기술을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 비대칭 메모리 접근 환경에서의 블록암호 연산 장치에 의해 수행되는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법은, 비대칭 메모리 접근(NUMA) 환경에서, 마스터 가상머신으로부터 암호 연산 요청을 전달받는 단계, 복수의 슬레이브 가상머신들 중에서 상기 암호 연산 요청에 상응하는 블록 암호 연산을 수행할 연산 수행 가상머신을 선택하는 단계, 선택된 상기 연산 수행 가상머신으로 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계, 그리고 상기 연산 수행 가상머신으로부터 상기 블록 암호 연산의 연산 결과를 수신하는 단계를 포함한다.
이때, 상기 연산 수행 가상머신을 선택하는 단계는, 메모리 부하 정보, 상기 암호 연산 요청 및 기존 연산 할당 상태 정보 중 적어도 어느 하나를 기반으로, 상기 연산 수행 가상머신을 선택할 수 있다.
이때, 상기 메모리 부하 정보는, 노드에 포함된 복수의 코어들 각각에 대한 캐시 미스율의 합일 수 있다.
이때, 상기 연산 수행 가상머신을 선택하는 단계는, 상기 캐시 미스율의 합이 가장 작은 노드에 상응하는 상기 슬레이브 가상머신을 상기 연산 수행 가상머신으로 선택할 수 있다.
이때, 상기 캐시 미스율은, 단위 개수의 명령 당 캐시 미스율인 MPKI(Cache Miss Per Kilo Instruction)일 수 있다.
이때, 상기 연산 수행 가상머신을 선택하는 단계는, 알고리즘 ID, 노드 번호, 코어 번호 및 노드의 상기 캐시 미스율의 합을 포함하는 암호 알고리즘 할당 테이블과, 상기 암호 연산 요청의 파라미터를 기반으로, 상기 연산 수행 가상머신을 선택할 수 있다.
이때, 상기 연산 수행 가상머신을 선택하는 단계는, 상기 암호 연산 요청이 동일한 알고리즘을 사용하여 여러 개의 블록 연산들을 수행하도록 하는 요청인 경우, 상기 블록 연산들이 동일한 노드에서 수행되도록 상기 연산 수행 가상머신을 선택할 수 있다.
이때, 상기 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계는, 노드 전용 공유 메모리 및 가상머신별 공유 메모리 중 적어도 어느 하나를 통하여, 상기 알고리즘 정보 및 상기 키 정보 중 적어도 어느 하나를 전송할 수 있다.
이때, 상기 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계는, 상기 노드 전용 공유 메모리를 통하여, 상기 알고리즘 정보를 상기 연산 수행 가상머신으로 전송할 수 있다.
이때, 상기 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계는, 상기 가상머신별 공유 메모리를 통하여, 상기 키 정보를 상기 연산 수행 가상머신으로 전송할 수 있다.
또한, 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록암호 연산 장치는, 비대칭 메모리 접근(NUMA) 환경에서, 각각의 노드의 메모리 부하 정보를 측정하는 프로파일링부, 암호 연산 요청을 수신하고, 복수의 슬레이브 가상머신들 중에서 상기 메모리 부하 정보를 기반으로, 상기 암호 연산 요청에 상응하는 블록 암호 연산을 수행할 연산 수행 가상머신을 선택하는 가상머신 선택부, 그리고 마스터 가상머신으로부터 수신한 상기 블록 암호 연산에 상응하는 알고리즘 정보 및 키 정보를 상기 연산 수행 가상머신으로 전송하고, 상기 연산 수행 가상머신으로부터 상기 블록 암호 연산의 연산 결과를 수신하는 통신부를 포함한다.
이때, 상기 가상머신 선택부는, 상기 메모리 부하 정보, 상기 암호 연산 요청 및 기존 연산 할당 상태 정보 중 적어도 어느 하나를 기반으로, 상기 연산 수행 가상머신을 선택할 수 있다.
이때, 상기 메모리 부하 정보는, 노드에 포함된 복수의 코어들 각각에 대한 캐시 미스율의 합일 수 있다.
이때, 상기 가상머신 선택부는, 상기 캐시 미스율의 합이 가장 작은 노드에 상응하는 상기 슬레이브 가상머신을 상기 연산 수행 가상머신으로 선택할 수 있다.
이때, 상기 캐시 미스율은, 단위 개수의 명령 당 캐시 미스율인 MPKI(Cache Miss Per Kilo Instruction)일 수 있다.
이때, 상기 가상머신 선택부는, 알고리즘 ID, 노드 번호, 코어 번호 및 노드의 상기 캐시 미스율의 합을 포함하는 암호 알고리즘 할당 테이블과, 상기 암호 연산 요청의 파라미터를 기반으로, 상기 연산 수행 가상머신을 선택할 수 있다.
이때, 상기 가상머신 선택부는, 상기 암호 연산 요청이 동일한 알고리즘을 사용하여 여러 개의 블록 연산들을 수행하도록 하는 요청인 경우, 상기 블록 연산들이 동일한 노드에서 수행되도록 상기 연산 수행 가상머신을 선택할 수 있다.
이때, 상기 통신부는, 노드 전용 공유 메모리를 통하여, 상기 알고리즘 정보를 상기 연산 수행 가상머신으로 전송할 수 있다.
이때, 상기 통신부는, 가상머신별 공유 메모리를 통하여, 상기 키 정보를 상기 연산 수행 가상머신으로 전송할 수 있다.
또한, 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템은, 블록 암호 연산의 수행을 요청하는 마스터 가상머신, 연산을 수행하는 복수의 슬레이브 가상머신들, 그리고 복수의 상기 슬레이브 가상머신들을 포함하는 복수의 노드들 중에서, 상기 노드에 포함된 복수의 코어들의 캐시 미스율의 합을 기반으로, 상기 연산 수행 가상머신을 선택하는 블록 암호 연산 장치를 포함하고, 상기 마스터 가상머신은, 상기 블록 암호 연산 장치의 제어를 기반으로, 상기 연산 수행 가상머신으로 상기 블록 암호 연산에 상응하는 알고리즘 정보 및 키 정보를 전송하며, 상기 연산 수행 가상머신으로부터 상기 블록 암호 연산의 연산 결과를 수신한다.
본 발명에 따르면, 복수의 노드로 구성된 매니 코어 NUMA 환경에서의 가상화 기술을 이용하여, 병렬 가능한 블록 암호 운용 모드의 연산을 효율적이고 안전하게 처리할 수 있다.
또한 본 발명에 따르면, 매니 코어 시스템에서 범용적으로 사용되는 NUMA 시스템의 가상화 기술과 공유 메모리를 사용한 효율적인 통신 방법을 적용하여, 암호 연산을 신속하고 안전하게 수행할 수 있다.
또한 본 발명에 따르면, VPN(Virtual Private Networks), DRM(Digital Rights Management) 등의 보안 기술에 응용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치가 적용되는 비대칭 메모리 접근(NUMA) 시스템의 구성을 나타낸 예시도이다.
도 2는 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 방법을 나타낸 순서도이다.
도 4는 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치의 가상머신 선택부 및 프로파일링부를 도시한 예시도이다.
도 5는 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 시스템을 나타낸 예시도이다.
도 6은 본 발명의 일 실시예에 따른 알고리즘 정보 및 키 정보를 전송하는 과정을 설명하기 위한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치가 적용되는 비대칭 메모리 접근(NUMA) 시스템의 구성을 나타낸 예시도이다.
비대칭 메모리 접근(NUMA)은 멀티 프로세서 시스템에서 사용되고 있는 컴퓨터 메모리 설계 방법 중 하나로, 메모리에 접근하는 시간이 메모리와 프로세서간의 상대적인 위치에 따라 달라진다.
도 1에 도시한 비대칭 메모리 접근(NUMA) 시스템이 2개의 노드(110, 120)를 포함하는 것으로 도시하였으나, 비대칭 메모리 접근(NUMA) 시스템(100)은 복수의 프로세서들로 구성될 수 있으며, 각각의 프로세서는 복수의 노드들을 포함할 수 있다.
도 1에 도시한 바와 같이, 비대칭 메모리 접근(NUMA) 시스템(100)은 공용 캐시(115, 125)를 포함할 수 있으며, 메모리에 저장된 데이터에 대한 접근 요청이 발생하면 코어(113, 123)는 먼저 동일 노드에 포함된 공용 캐시(115, 125)를 탐색한다.
공용 캐시(115, 125)에 요청한 데이터가 존재하면 코어(113, 123)는 원하는 데이터를 획득한다. 반면, 공용 캐시(115, 125)에 요청한 데이터가 존재하지 않는 경우, 다른 노드에 포함된 공용 캐시(115, 125)를 탐색하여, 요청한 데이터를 획득한다.
예를 들어, 제1 노드(110)의 제1 코어(113_1)에 데이터 접근 요청이 발생한 경우, 제1 코어(113_1)는 동일 노드에 포함된 공용 캐시(115)를 탐색하여 요청된 데이터를 획득한다. 이때, 공용 캐시(115)에 데이터가 존재하는 경우를 로컬 캐시 히트(local cache hit)라 한다.
공용 캐시(115)에 데이터가 존재하지 않는 경우, 제1 코어(113_1)는 다른 노드에 포함된 공용 캐시(125)를 탐색하여 데이터를 획득할 수 있다. 이때, 다른 노드에 포함된 공용 캐시(125)로부터 데이터를 획득하는 경우를 리모트 캐시 히트(local cache hit)라 한다.
공용 캐시(115, 125) 모두에서 캐시 미스(cache miss)가 발생하는 경우, 제1 코어(113_1)는 메모리 컨트롤러(117)를 통해 동일한 노드에 포함된 메모리(119)에 접근하는 로컬 메모리 액세스(local memory access)를 수행할 수 있다.
또한, 동일한 노드에 포함된 메모리(119)에 데이터가 존재하지 않는 경우, 제1 코어(113_1)는 메모리 컨트롤러(117)와 인터커넥션(118)을 통해 다른 노드(120)에 속한 메모리(129)에 접근하는 리모트 메모리 액세스(remote memory access)를 수행할 수 있다.
비대칭 메모리 접근(NUMA) 시스템(100)에서 로컬 공용 캐시(115)나 리모트 공용 캐시(125)에서 캐시 미스가 발생하는 경우, 접근 시간이 크게 증가한다. 또한, 원격 노드(120)에 위치하는 메모리(129)에 접근할 경우, 동일한 노드(110)에 포함된 메모리(119)에 접근할 때보다 더 긴 응답 시간이 요구된다. 특히, 메모리 컨트롤러(117)와 인터커넥션(118)에 부하가 발생하여, 동시에 처리해야 하는 업무가 충돌할 경우, 응답 시간은 더 지연될 수 있다.
한편, 블록 암호 연산을 요청하는 마스터 가상머신과 연산을 수행하는 슬레이브 가상머신들 사이에서, 블록 암호 연산에 필요한 데이터를 주고받을 때, 일반적으로 공유 메모리를 사용하여 통신을 수행한다. 따라서, 가상머신(111)이 수행되는 코어(113)와 공유 메모리의 위치 선정에 따라 연산 속도가 달라질 수 있다.
이에, 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 시스템은 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치를 포함할 수 있다.
그리고 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치는 가상화 환경의 마스터 노드(마스터 가상머신)가 블록 암호 연산을 요청하기 위해 사용되는 병렬 암호 연산 API, 블록 암호 연산을 수행할 슬레이브 가상머신을 선택하는 가상머신 선택부, 공유 메모리를 통해 슬레이브 가상머신으로 알고리즘 정보 및 키 정보를 전송하고, 블록 암호 연산의 수행 결과를 수신하는 통신부를 포함할 수 있다.
특히, 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치는 슬레이브 가상머신이 위치한 노드의 메모리를 각각의 가상머신의 시스템 영역 공유 메모리와 노드 공용 시스템 영역 공유 메모리로 분리하여 할당할 수 있다.
또한, 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치는 메모리 사용률이 낮은 노드에 포함된 가상머신에서 연산 실행하도록, 연산 수행 가상머신을 선택할 수 있다.
이하에서는 도 2를 통하여 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치의 구성에 대하여 더욱 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치의 구성을 도시한 블록도이다.
도 2에 도시한 바와 같이, 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치(200)는 프로파일링부(210), 가상머신 선택부(220) 및 통신부(230)를 포함한다. 이하에서는 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치(200)를 블록 암호 연산 장치(200)로 명명하여 설명한다.
먼저, 블록 암호 연산 장치(200)의 프로파일링부(210)는 비대칭 메모리 접근(NUMA) 환경에서, 각각의 노드의 메모리 부하 정보를 측정한다.
여기서, 메모리 부하 정보는, 노드에 포함된 복수의 코어들 각각에 대한 캐시 미스(cache miss)율의 합일 수 있으며, 단위 개수의 명령 당 캐시 미스율인 MPKI(Cache Miss Per Kilo Instruction)일 수 있다.
그리고 가상머신 선택부(220)는 암호 연산 요청을 수신하고, 복수의 슬레이브 가상머신들 중에서 암호 연산 요청에 상응하는 블록 암호 연산을 수행할 연산 수행 가상머신을 선택한다.
이때, 가상머신 선택부(220)는 암호 알고리즘 할당 테이블 및 암호 연산 요청의 파라미터를 기반으로 연산 수행 가상머신을 선택할 수 있다. 여기서, 암호 알고리즘 할당 테이블은 알고리즘 ID, 노드 번호, 코어 번호 및 노드의 캐시 미스율의 합 중 적어도 어느 하나를 포함할 수 있다.
그리고 가상머신 선택부(220)는 프로파일링부(210)의 메모리 부하 정보, 암호 연산 요청 및 기존 연산 할당 상태 정보 중 적어도 어느 하나를 기반으로, 연산 수행 가상머신을 선택할 수 있다. 그리고 가상머신 선택부(220)는 메모리 부하 정보에 포함된 캐시 미스율의 합이 가장 작은 노드의 슬레이브 가상머신을 연산 수행 가상머신으로 선택할 수 있다.
또한, 암호 연산 요청이 동일한 알고리즘을 사용하여 여러 개의 블록 연산을 수행하도록 하는 요청인 경우, 가상머신 선택부(220)는 블록 연산들이 동일한 노드에서 수행되도록 연산 수행 가상머신을 선택할 수 있다.
마지막으로, 통신부(230)는 마스터 가상머신으로부터 수신한 블록 암호 연산에 상응하는 알고리즘 정보 및 키 정보를 선택된 연산 수행 가상머신으로 전송하고, 연산 수행 가상머신으로부터 블록 암호 연산의 연산 결과를 수신할 수 있다.
이때, 통신부(230)는 노드 전용 공유 메모리를 통하여 알고리즘 정보를 연산 수행 가상머신으로 전송하고, 가상머신별 공유 메모리를 통하여 키 정보를 연산 수행 가상머신으로 전송할 수 있다.
이하에서는 도 3을 통하여 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치에 의해 수행되는 블록 암호 연산 방법에 대하여 더욱 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 방법을 나타낸 순서도이다.
먼저, 블록 암호 연산 장치(200)는 메모리 부하 정보를 생성한다(S310).
블록 암호 연산 장치(200)는 복수의 노드들 각각에 포함된 복수의 코어들에 대하여 MPKI(Cache Miss Per Kilo Instruction)를 측정하고, 노드에 포함된 코어들의 MPKI 합을 연산할 수 있다.
블록 암호 연산 장치(200)는 각 코어가 메모리에 접근할 때 발생하는 캐시 미스(cache miss)를 카운트하여, 각각의 노드별 메모리 부하 정보를 생성할 수 있다.
블록 암호 연산 장치(200)는 하드웨어 PMU(Performance Monitoring Unit) 값을 읽어와, 코어별 명령(instruction)의 개수와 캐시 미스(cache miss)의 개수를 측정한다. 그리고 블록 암호 연산 장치(200)는 각 코어별 MPKI(Cache Miss Per Kilo Instruction)를 연산할 수 있다.
각각의 코어별 MPKI는 100개의 명령 당 캐시 미스율을 의미하며, 블록 암호 연산 장치(200)는 MPKI의 값이 높을수록, 노드의 메모리 부하 정보가 큰 것으로 판단할 수 있다. 그리고 블록 암호 연산 장치(200)는 하나의 노드에 포함된 복수의 코어들의 MPKI를 합산하여 메모리 부하 정보를 연산할 수 있다.
그리고 블록 암호 연산 장치(200)는 블록 암호 연산을 수행할 연산 수행 가상머신을 선택한다(S320).
블록 암호 연산 장치(200)는 암호 알고리즘 할당 테이블과 암호 연산 요청의 파라미터 및 기존 연산 할당 상태 정보 중 적어도 어느 하나를 기반으로, 연산 수행 가상머신을 선택할 수 있다.
마스터 가상머신은 병렬 암호 연산 API를 통하여 블록 암호 연산 장치(200)로 암호 연산을 요청할 수 있다. 이때, 동일한 알고리즘을 사용해 복수의 블록 연산들을 수행하는 암호 연산을 요청받은 경우, 블록 암호 연산 장치(200)는 해당 블록 암호 연산이 동일한 노드에서 수행되도록 연산 수행 가상머신을 선택할 수 있다.
동일한 노드에서 블록 암호 연산이 수행될 경우, 해당 노드의 노드 공용 시스템 영역 공유 메모리에 알고리즘을 한 번만 복사하는 것으로 구현될 수 있다. 또한, 해당 노드에 속한 코어에서 블록 암호 알고리즘을 실행할 경우, 로컬 캐시 히트(local cache hit) 또는 로컬 메모리 액세스(local memory access)가 발생하여, 메모리 접근 시간을 단축시킬 수 있다.
그리고, 블록 암호 연산 장치(200)는 암호 알고리즘 할당 테이블을 참조하여, 이전에 동일한 알고리즘이 실행되었거나, 동일한 알고리즘을 실행하고 있는 노드에서 암호 연산 요청에 상응하는 블록 암호 연산이 수행되도록 연산 수행 가상머신을 선택할 수 있다.
블록 암호 연산 장치(200)는 암호 알고리즘 할당 테이블의 노드 MPKI의 합 정보를 기반으로, 메모리 사용률이 낮은 노드에 위치한 가상머신에서 블록 암호 연산이 수행되도록 연산 수행 가상머신을 선택할 수도 있다.
메모리 사용률이 낮은 경우, 캐시 히트(cache hit)가 발생할 확률이 높아지고, 메모리 컨트롤러나 인터커넥션에서 충돌로 인한 접근 시간 증가가 발생할 확률이 낮아져, 높은 성능을 기대할 수 있다. 따라서, 본 발명의 일 실시예에 따른 블록 암호 연산 장치(200)는 메모리 사용률이 낮은 노드에 위치한 가상머신을 연산 수행 가상머신으로 선택할 수 있다.
다음으로 블록 암호 연산 장치(200)는 선택된 연산 수행 가상머신으로 알고리즘 정보 및 키 정보를 전송한다(S330).
블록 암호 연산 장치(200)는 키 정보를 안전하게 보호하기 위하여, 2중 공유 메모리 구조를 사용할 수 있다. 암호 연산에서 키 정보의 보안성은 매우 높으며, 키 정보에 다른 사용자가 접근할 수 있게 될 경우 암호 연산이 무의미해진다.
따라서, 본 발명의 일 실시예에 따른 블록 암호 연산 장치(200)는 메모리를 노드 공용 시스템 영역 공유 메모리와 가상머신별 시스템 영역 공유 메모리로 구분하여, 알고리즘 정보 및 키 정보를 저장하고, 공유 메모리를 통한 통신을 수행하여, 연산 수행 가상머신으로 알고리즘 정보 및 키 정보를 전달할 수 있다.
이때, 블록 암호 연산 장치(200)는 노드 공용 시스템 영역 공유 메모리를 통해 알고리즘 정보를 전송하고, 가상머신별 시스템 영역 공유 메모리를 통해 키 정보를 전송할 수 있다.
마지막으로, 블록 암호 연산 장치(200)는 블록 암호 연산의 결과를 수신한다(S340).
블록 암호 연산 장치(200)는 연산 수행 가상머신으로부터 암호 연산 요청에 상응하는 블록 암호 연산의 결과를 수신할 수 있다.
이하에서는 도 4를 통하여 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치의 가상머신 선택부 및 프로파일링부에 대하여 더욱 상세하게 설명한다.
도 4는 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치의 가상머신 선택부 및 프로파일링부를 도시한 예시도이다.
도 4에 도시한 바와 같이, 블록 암호 연산을 위하여 어플리케이션에서 암호 연산 API를 호출하면, 가상머신 선택부(220)는 암호 연산 요청에 상응하는 연산 수행 가상머신을 선택한다.
이때, 암호 연산 API는 알고리즘의 식별을 위하여 알고리즘 ID를 사용할 수 있으며, 암호 연산 API의 파라미터는 블록 알고리즘 ID, 키 정보 등을 포함할 수 있다.
그리고 가상머신 선택부(220)는 암호 연산 API의 결과를 사용할 수 있으며, 암호 알고리즘 할당 테이블(400) 및 가상머신 선택 알고리즘을 포함할 수 있다. 여기서, 암호 알고리즘 할당 테이블(400)은 알고리즘 ID, 노드 번호, 코어 번호 및 노드 MPKI 합 등을 포함할 수 있으며, 암호 연산이 실행됨에 따라 가상머신 선택부(220)는 주기적으로 암호 알고리즘 할당 테이블(400)을 갱신할 수 있다.
그리고 프로파일링부(210)는 하드웨어 PMU 값을 읽어와 가상머신(310)의 코어(315)별 명령의 개수 및 캐시 미스의 개수를 측정한다. 또한, 프로파일링부(210)는 각각의 코어(315)별 MPKI를 계산하며, 노드(300)에 포함된 코어(315)들의 MPKI 합을 연산한다. 프로파일링부(210)가 연산한 노드 MPKI 합은 암호 알고리즘 할당 테이블(400)에 저장된다.
도 5는 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 시스템을 나타낸 예시도이다.
도 5에 도시한 바와 같이, 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 시스템은 비대칭 메모리 접근(NUMA) 환경의 범용적인 매니코어 시스템에 적용될 수 있으며, 매니코어 시스템은 암호 연산에 특화된 전용 암호칩, 보조 프로세서(Coprocessor) 및 FPGA(Field-Programmable Gate Array) 등을 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서 동작하는 블록 암호 연산 시스템은 블록 암호 연산을 요청하는 마스터 가상머신(530)과 연산을 수행하는 복수의 슬레이브 가상머신들(540) 및 가상머신 모니터(550)를 포함할 수 있다.
그리고 블록 암호 연산을 위하여 어플리케이션에서 암호 연산 API(510)를 호출하면, 마스터 노드(600_1)의 마스터 가상머신(530)은 병렬 암호 연산 API를 사용하여 암호 연산을 요청할 수 있다.
비대칭 메모리 접근 환경에서 동작하는 블록 암호 연산 시스템은 복수의 노드들(600)을 포함할 수 있으며, 각각의 노드(600)는 복수의 가상머신들을 포함할 수 있다. 그리고 각각의 가상머신은 복수의 코어(610)들을 포함할 수 있으며, 노드(600)의 메모리는 가상머신의 사용자 영역 메모리(630)와 공유 메모리를 포함하고, 공유 메모리는 가상머신의 시스템 영역 공유 메모리(650) 및 노드 공용 시스템 영역 공유 메모리(660)로 구분될 수 있다.
또한, 도 5와 같이, 마스터 노드(600_1)도 마스터 가상머신의 사용자 영역 메모리(620) 및 마스터 가상머신의 시스템 영역 공유 메모리(640)를 포함할 수 있다.
블록 암호 연산 시스템은 복수의 코어들(610)을 포함하며, 빠른 블록 암호 연산을 위하여, FPGA(Field-Programmable Gate Array), 암호칩, 보조 프로세서(coprocessor) 등을 포함할 수 있다.
블록 암호 연산 시스템은 비대칭 메모리 접근(NUMA) 환경에서 효율적이고 안전하게 블록 암호 연산을 수행하기 위한 시스템으로, 가상화 기술을 사용하여 전체 시스템의 안전성 및 효율을 증대시킬 수 있다.
블록 암호 연산 시스템은 고장 방지 능력을 통하여, 가상머신의 정지 상황에 대비할 수 있고, 1개의 가상머신에 문제가 발생하더라도 신속하게 복구할 수 있다. 또한, 블록 암호 연산 시스템은 가상머신 별로 메모리 어드레스 스페이스를 분리하여, 암호 연산에 사용되는 키 정보를 보호할 수 있다.
블록 암호 연산 시스템은 도 5와 같이, 가상머신 선택부(521), 메모리 프로파일링부(523) 및 통신부(525)를 포함하는 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치(520)를 포함할 수 있다.
그리고 블록 암호 연산 시스템의 블록 암호 연산 장치(520)는 블록 암호 연산에 필요한 알고리즘 정보 및 키 정보를 주고받기 위하여, 공유 메모리를 통한 통신을 수행한다.
이때, 공유 메모리는 노드 공용 시스템 영역 공유 메모리(660_1, 660_2)와 가상머신의 시스템 영역 공유 메모리(650_1, 650_2, 650_3, 650_4)로 구분될 수 있다. 그리고 블록 암호 연산 장치(520)는 노드 공용 시스템 영역 공유 메모리(660_1, 660_2)를 통하여 연산 수행 가상머신에 해당하는 슬레이브 가상머신으로 알고리즘 정보를 전송할 수 있다. 또한, 블록 암호 연산 장치(520)는 가상머신의 시스템 영역 공유 메모리(650_1, 650_2, 650_3, 650_4)를 통하여 연산 수행 가상머신에 해당하는 슬레이브 가상머신으로 키 정보를 전송할 수 있다.
이하에서는 도 6을 통하여 본 발명의 일 실시예에 따른 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치가 알고리즘 정보 및 키 정보를 전송하는 과정에 대하여 더욱 상세하게 설명한다.
도 6은 본 발명의 일 실시예에 따른 알고리즘 정보 및 키 정보를 전송하는 과정을 설명하기 위한 예시도이다.
도 6에서 제1 노드는 마스터 노드이고, 제2 노드(600_2)의 가상머신 1 및 가상머신 2와 제3 노드(600_3)의 가상머신 3 및 가상머신 4는 슬레이브 가상머신이다. 또한, 제2 노드의 가상머신 1은 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치에 의해 선택된 연산 수행 가상머신인 것으로 가정한다.
도 6에 도시한 바와 같이, 마스터 가상머신은 블록 암호 연산 장치의 통신부(525)를 통하여 연산 수행 가상머신으로 키 정보 및 알고리즘 정보를 전송할 수 있다.
이때, 각 노드(600_2, 600_3)의 공유 메모리는 가상머신의 시스템 영역 공유 메모리와 노드 공용 시스템 영역 공유 메모리로 구분된다. 그리고 마스터 가상머신은 통신부(525)를 통하여 키 정보를 가상머신의 시스템 영역 공유 메모리로 전송하고, 알고리즘 정보를 노드 공용 시스템 영역 공유 메모리로 전송할 수 있다.
도 7은 본 발명의 일 실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 7을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(700)에서 구현될 수 있다. 도 7에 도시된 바와 같이, 컴퓨터 시스템(700)은 버스(720)를 통하여 서로 통신하는 하나 이상의 프로세서(710), 메모리(730), 사용자 인터페이스 입력 장치(740), 사용자 인터페이스 출력 장치(750) 및 스토리지(760)를 포함할 수 있다. 또한, 컴퓨터 시스템(700)은 네트워크(780)에 연결되는 네트워크 인터페이스(770)를 더 포함할 수 있다. 프로세서(710)는 중앙 처리 장치 또는 메모리(730)나 스토리지(760)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(730) 및 스토리지(760)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(731)이나 RAM(732)을 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 태양에 따른 방법을 수행할 수 있다.
이상에서와 같이 본 발명에 따른 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 비대칭 메모리 접근 시스템 110, 120, 300: 노드
111, 121, 310: 가상머신 113, 123, 315: 코어
115, 125, 320: 공용 캐시 117, 127, 340: 메모리 컨트롤러
118, 128, 330: 인터커넥션 119, 129, 350: 메모리
200, 520: 비대칭 메모리 접근 환경에서의 블록 암호 연산 장치
210, 523: 프로파일링부 220, 521: 가상머신 선택부
230, 525: 통신부 510: 암호 연산 API
530: 마스터 가상머신 540: 슬레이브 가상머신
550: 가상머신 모니터 600: 노드
610: 코어
620: 마스터 가상머신의 사용자 영역 메모리
630: 가상머신의 사용자 영역 메모리
640: 마스터 가상머신의 시스템 영역 공유 메모리
650: 가상머신의 시스템 영역 공유 메모리
660: 노드 공용 시스템 영역 공유 메모리
700: 컴퓨터 시스템 710: 프로세서
720: 버스 730: 메모리
731: 롬 732: 램
740: 사용자 인터페이스 입력 장치
750: 사용자 인터페이스 출력 장치
760: 스토리지 770: 네트워크 인터페이스
780: 네트워크

Claims (20)

  1. 비대칭 메모리 접근 환경에서의 블록암호 연산 장치에 의해 수행되는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법에 있어서,
    비대칭 메모리 접근(NUMA) 환경에서, 마스터 가상머신으로부터 암호 연산 요청을 전달받는 단계,
    복수의 슬레이브 가상머신들 중에서 상기 암호 연산 요청에 상응하는 블록 암호 연산을 수행할 연산 수행 가상머신을 선택하는 단계,
    선택된 상기 연산 수행 가상머신으로 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계, 그리고
    상기 연산 수행 가상머신으로부터 상기 블록 암호 연산의 연산 결과를 수신하는 단계를 포함하고,
    상기 알고리즘 정보는 노드 전용 공유 메모리를 통하여 상기 연산 수행 가상머신에 전송되고,
    상기 키 정보는 가상머신별 공유 메모리를 통하여 상기 연산 수행 가상머신에 전송되는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  2. 제1항에 있어서,
    상기 연산 수행 가상머신을 선택하는 단계는,
    메모리 부하 정보, 상기 암호 연산 요청 및 기존 연산 할당 상태 정보 중 적어도 어느 하나를 기반으로, 상기 연산 수행 가상머신을 선택하는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  3. 제2항에 있어서,
    상기 메모리 부하 정보는,
    노드에 포함된 복수의 코어들 각각에 대한 캐시 미스율의 합인 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  4. 제3항에 있어서,
    상기 연산 수행 가상머신을 선택하는 단계는,
    상기 캐시 미스율의 합이 가장 작은 노드에 상응하는 상기 슬레이브 가상머신을 상기 연산 수행 가상머신으로 선택하는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  5. 제4항에 있어서,
    상기 캐시 미스율은,
    단위 개수의 명령 당 캐시 미스율인 MPKI(Cache Miss Per Kilo Instruction)인 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  6. 제3항에 있어서,
    상기 연산 수행 가상머신을 선택하는 단계는,
    알고리즘 ID, 노드 번호, 코어 번호 및 노드의 상기 캐시 미스율의 합을 포함하는 암호 알고리즘 할당 테이블과, 상기 암호 연산 요청의 파라미터를 기반으로, 상기 연산 수행 가상머신을 선택하는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  7. 제2항에 있어서,
    상기 연산 수행 가상머신을 선택하는 단계는,
    상기 암호 연산 요청이 동일한 알고리즘을 사용하여 여러 개의 블록 연산들을 수행하도록 하는 요청인 경우, 상기 블록 연산들이 동일한 노드에서 수행되도록 상기 연산 수행 가상머신을 선택하는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  8. 제1항에 있어서,
    상기 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계는,
    노드 전용 공유 메모리 및 가상머신별 공유 메모리 중 적어도 어느 하나를 통하여, 상기 알고리즘 정보 및 상기 키 정보 중 적어도 어느 하나를 전송하는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  9. 제8항에 있어서,
    상기 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계는,
    상기 노드 전용 공유 메모리를 통하여, 상기 알고리즘 정보를 상기 연산 수행 가상머신으로 전송하는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  10. 제8항에 있어서,
    상기 알고리즘 정보 및 키 정보 중 적어도 어느 하나를 전송하는 단계는,
    상기 가상머신별 공유 메모리를 통하여, 상기 키 정보를 상기 연산 수행 가상머신으로 전송하는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 방법.
  11. 비대칭 메모리 접근(NUMA) 환경에서, 각각의 노드의 메모리 부하 정보를 측정하는 프로파일링부,
    암호 연산 요청을 수신하고, 복수의 슬레이브 가상머신들 중에서 상기 메모리 부하 정보를 기반으로, 상기 암호 연산 요청에 상응하는 블록 암호 연산을 수행할 연산 수행 가상머신을 선택하는 가상머신 선택부, 그리고
    마스터 가상머신으로부터 수신한 상기 블록 암호 연산에 상응하는 알고리즘 정보 및 키 정보를 상기 연산 수행 가상머신으로 전송하고, 상기 연산 수행 가상머신으로부터 상기 블록 암호 연산의 연산 결과를 수신하는 통신부를 포함하고,
    상기 알고리즘 정보는 노드 전용 공유 메모리를 통하여 상기 연산 수행 가상머신에 전송되고,
    상기 키 정보는 가상머신별 공유 메모리를 통하여 상기 연산 수행 가상머신에 전송되는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 장치.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 블록 암호 연산의 수행을 요청하는 마스터 가상머신,
    연산을 수행하는 복수의 슬레이브 가상머신들, 그리고
    복수의 상기 슬레이브 가상머신들을 포함하는 복수의 노드들 중에서, 상기 노드에 포함된 복수의 코어들의 캐시 미스율의 합을 기반으로, 연산 수행 가상머신을 선택하는 블록 암호 연산 장치를 포함하고,
    상기 마스터 가상머신은,
    상기 블록 암호 연산 장치의 제어를 기반으로, 상기 연산 수행 가상머신으로 상기 블록 암호 연산에 상응하는 알고리즘 정보 및 키 정보를 전송하며, 상기 연산 수행 가상머신으로부터 상기 블록 암호 연산의 연산 결과를 수신하고,
    상기 알고리즘 정보는 노드 전용 공유 메모리를 통하여 상기 연산 수행 가상머신에 전송되고,
    상기 키 정보는 가상머신별 공유 메모리를 통하여 상기 연산 수행 가상머신에 전송되는 것을 특징으로 하는 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템.
KR1020170145295A 2017-11-02 2017-11-02 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법 KR102072160B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170145295A KR102072160B1 (ko) 2017-11-02 2017-11-02 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170145295A KR102072160B1 (ko) 2017-11-02 2017-11-02 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법

Publications (2)

Publication Number Publication Date
KR20190050105A KR20190050105A (ko) 2019-05-10
KR102072160B1 true KR102072160B1 (ko) 2020-02-03

Family

ID=66581001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170145295A KR102072160B1 (ko) 2017-11-02 2017-11-02 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법

Country Status (1)

Country Link
KR (1) KR102072160B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003519943A (ja) 1999-12-23 2003-06-24 ソニー エレクトロニクス インク 情報ゲートウェイシステム及び方法
JP2015184965A (ja) 2014-03-25 2015-10-22 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090027287A (ko) * 2007-09-12 2009-03-17 (주)왈도시스템 음성 및 데이터 서비스를 통합적으로 제공하는 위성 통신시스템 및 보안 기능 제공 방법
KR101008574B1 (ko) 2010-05-14 2011-01-17 삼성탈레스 주식회사 다중 프로세서를 이용한 aes 암호화 방법
KR20150095015A (ko) * 2014-02-12 2015-08-20 한국전자통신연구원 가상 서버를 관리하는 장치 및 이를 이용하는 부하 분산 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003519943A (ja) 1999-12-23 2003-06-24 ソニー エレクトロニクス インク 情報ゲートウェイシステム及び方法
JP2015184965A (ja) 2014-03-25 2015-10-22 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KYU HO PARK 외 7명, MN-MATE: Elastic Resource Management of Manycores and a Hybrid Memory Hierarchy for a Cloud Node, ACM Journal on Emerging Technologies in Computing Systems, Vol.12, No.1(2015.07.)*

Also Published As

Publication number Publication date
KR20190050105A (ko) 2019-05-10

Similar Documents

Publication Publication Date Title
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
US20210374234A1 (en) Using trusted execution environments to perform a communal operation for mutually-untrusted devices
EP3268873B1 (en) Memcached systems having local caches
JP2020518907A5 (ko)
US9858228B2 (en) Dynamic assignment of groups of resources in a peripheral component interconnect express network
US20210374232A1 (en) Data distribution using a trusted execution environment in an untrusted device
CN108833522B (zh) 一种确定节点可信的系统及方法
Rani et al. An implementation of modified blowfish technique with honey bee behavior optimization for load balancing in cloud system environment
US11848965B2 (en) Secure software defined storage
WO2018076238A1 (zh) 异构系统、计算任务分配方法及装置
KR101825838B1 (ko) 데이터의 부분 암호화 방법, 데이터의 부분 복호화 방법 및 부분 암호화된 데이터를 복호화하는 프로그램을 저장하는 저장매체
Yu et al. A security-awareness virtual machine management scheme based on Chinese wall policy in cloud computing
US20210374233A1 (en) Data distribution across multiple devices using a trusted execution environment in a mobile device
CN110598416B (zh) 交易调度方法及装置
Guan et al. Hadoop-based secure storage solution for big data in cloud computing environment
EP3596602B1 (en) Unobtrusive support for third-party traffic monitoring
KR102072160B1 (ko) 비대칭 메모리 접근 환경에서의 블록암호 연산 시스템, 연산 장치 및 연산 방법
Younis et al. Preventing and detecting cache side-channel attacks in cloud computing
Hansraj et al. Secure VM placement analysis against co-location based attack in cloud
KR101533405B1 (ko) Numa 시스템의 공유 메모리 관리 방법
Thoma et al. Behind enemy lines: Exploring trusted data stream processing on untrusted systems
Jain et al. Spy Cartel: Parallelizing Evict+ Time-Based Cache Attacks on Last-Level Caches
CN114707134A (zh) 一种高性能密码卡安全管理方法、装置和系统
US10938742B1 (en) Multiplexed resource allocation architecture
KR101757563B1 (ko) 사물인터넷 환경에서의 비밀키 관리 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right