1 |
1
컴퓨터로 구현되는 컴퓨팅 보호 시스템에 의해 수행되는 컴퓨팅 보호 방법에 있어서, 이종 컴퓨팅을 사용하는 환경에서 CPU 및 GPU의 데이터를 보호하기 위하여, GPU 엔클레이브(Enclave)에서 GPU MMIO 영역에 액세스하여 GPU를 관리 및 제어하는 단계를 포함하고,상기 GPU를 관리 및 제어하는 단계는,GPU엔클레이브를 생성하여 GPU MMIO영역을 등록하면, 상기 GPU 엔클레이브에서 상기 GPU MMIO영역을 통해 명령을 전송하여 GPU를 단독으로 제어하고, 상기 GPU MMIO영역에 의해 액세스되는 PCIe 인터커넥트를 통하여 GPU에 대한 명령 및 데이터 경로가 보호되고, 상기 생성된 GPU 엔클레이브에서 상기 GPU에 대한 사용자 액세스 인터페이스를 제공하여 단일의 사용자 엔클레이브에서 상기 GPU가 실행되도록 제한하는 독점 실행 모드를 통하여 복수의 사용자의 GPU 실행으로 발생하는 데이터의 유출을 방지하는 것을 특징으로 하는 방법
|
2 |
2
삭제
|
3 |
3
제1항에 있어서, 상기 GPU를 관리 및 제어하는 단계는,상기 GPU를 사용하려는 사용자 엔클레이브로부터 명령 메시지 큐(queue)를 통해 상기 GPU 엔클레이브에게 GPU 사용을 위한 요청 패킷이 전송됨에 따라 상기 사용자 엔클레이브의 GPU 사용 요청이 승인되고, 상기 GPU 엔클레이브에서 승인된 사용자 엔클레이브의 GPU 실행이 완료될 때까지 다른 사용자 엔클레이브의 연결 요청을 거부하는 것을 포함하고,상기 사용자 엔클레이브에서, GPU 실행이 완료됨에 따라 GPU 메모리, 공유 메모리 및 레지스터와 같은 내부 스토리지가 0으로 채워지는 것을 특징으로 하는 방법
|
4 |
4
컴퓨터로 구현되는 컴퓨팅 보호 시스템에 의해 수행되는 컴퓨팅 보호 방법에 있어서, 이종 컴퓨팅을 사용하는 환경에서 CPU 및 GPU의 데이터를 보호하기 위하여, GPU 엔클레이브(Enclave)에서 GPU MMIO 영역에 액세스하여 GPU를 관리 및 제어하는 단계를 포함하고,상기 GPU를 관리 및 제어하는 단계는,GPU엔클레이브를 생성하여 GPU MMIO영역을 등록하면, 상기 GPU 엔클레이브에서 상기 GPU MMIO영역을 통해 명령을 전송하여 GPU를 단독으로 제어하고, 상기 GPU MMIO영역에 의해 액세스되는 PCIe 인터커넥트를 통하여 GPU에 대한 명령 및 데이터 경로가 보호되고, 상기 GPU 엔클레이브에서 상기 GPU MMIO 영역을 등록하기 위하여 새로운 명령어를 만들고, GPU 관리를 위한 내부 데이터 구조를 EPC 메모리 페이지에 저장하는 것을 특징으로 하는 방법
|
5 |
5
제4항에 있어서, 상기 GPU를 관리 및 제어하는 단계는,상기 GPU 엔클레이브의 프로세스가 초기화되면 GPU버스, 디바이스 및 기능번호와 EGCREATE명령을 사용하여 GPU 엔클레이브를 생성하고, 상기 GPU 엔클레이브를 생성함에 따라 획득된 GPU enclave ID와 GPU번호 쌍이 GECS(GPU Enclave Control Structure)에 저장되는것을 특징으로 하는 방법
|
6 |
6
제5항에 있어서, 상기 GPU를 관리 및 제어하는 단계는,상기 생성된 GPU 엔클레이브에서 상기 MMIO영역에 매핑된 가상 주소를 GPU장치 드라이버에 요청하고, EGADD명령으로 가상 주소와 GPU MMIO 영역의 물리적 주소 쌍을 포함하는 주소 정보를 하드웨어에 등록하고, CPU에서 상기 등록된 주소 정보가 상기 GPU장치에 포함되는지 확인하여 상기 주소 정보를 TGMR테이블에 저장하는 것을 특징으로 하는 방법
|
7 |
7
제1항에 있어서, 상기 GPU를 관리 및 제어하는 단계는,상기 GPU 엔클레이브가 생성되어 로드됨에 따라 GPU 상태를 초기화하여 GPU의 잠재적인 악성 코드를 정리하고, 상기 GPU엔클레이브가 생성되기 전에 손상 가능성이 있는 GPU BIOS를 읽고 측정하는 것을 포함하고,상기 사용자 엔클레이브는 상기 GPU 엔클레이브를 검증하고, 상기 GPU엔클레이브에서 측정된 GPU BIOS의 결과를 수신하는 것을 특징으로 하는 방법
|
8 |
8
컴퓨터로 구현되는 컴퓨팅 보호 시스템에 의해 수행되는 컴퓨팅 보호 방법에 있어서, 이종 컴퓨팅을 사용하는 환경에서 CPU 및 GPU의 데이터를 보호하기 위하여, GPU 엔클레이브(Enclave)에서 GPU MMIO 영역에 액세스하여 GPU를 관리 및 제어하는 단계를 포함하고,상기 GPU를 관리 및 제어하는 단계는,GPU엔클레이브를 생성하여 GPU MMIO영역을 등록하면, 상기 GPU 엔클레이브에서 상기 GPU MMIO영역을 통해 명령을 전송하여 GPU를 단독으로 제어하고, 상기 GPU MMIO영역에 의해 액세스되는 PCIe 인터커넥트를 통하여 GPU에 대한 명령 및 데이터 경로가 보호되고, 상기 GPU MMIO 영역의 액세스의 유효 여부를 확인하기 위하여 GECS 및 TGMR 데이터 구조를 사용하여 상기 GPU MMIO 영역의 주소 변환을 보호하는 것을 특징으로 하는 방법
|
9 |
9
제1항, 제4항, 제8항 중 어느 한 항에 있어서, 상기 GPU를 관리 및 제어하는 단계는,사용자 엔클레이브와 상기 GPU 엔클레이브 간에 전송된 데이터의 기밀성과 무결성을 보장하는 통신 채널을 구축하는것을 특징으로 하는 방법
|
10 |
10
제9항에 있어서, 상기 GPU를 관리 및 제어하는 단계는,상기 사용자 엔클레이브와 상기 GPU 엔클레이브에서 접근 가능한 공유 메모리 영역이 통신에 사용되고, 상기 사용자 엔클레이브와 상기 GPU 엔클레이브 간 하드웨어 지원 로컬 증명을 수행하는 것을 특징으로 하는 방법
|
11 |
11
제10항에 있어서, 상기 GPU를 관리 및 제어하는 단계는,상기 로컬 증명을 통해 신뢰를 구축함에 따라 키 교환 프로토콜을 사용하여 공유 대칭 키를 생성하고, 상기 사용자 엔클레이브와 상기 GPU 엔클레이브에서 접근 가능한 공유 메모리 간에 기록된 데이터가 공유 대칭 키로 암호화되고, 상기 암호화된 데이터가 복호화될 경우, 메시지 인증 코드(MAC)를 통하여 데이터에 대한 무결성을 검증하는 것을 특징으로 하는 방법
|
12 |
12
제1항에 있어서,상기 GPU를 관리 및 제어하는 단계는,GPU 메모리에 매핑된 GPU MMIO 영역에 데이터를 쓰거나, GPU DMA 엔진을 사용하여 데이터를 상기 사용자 엔클레이브 및 상기 GPU 엔클레이브 간 공유 메모리에서 GPU 메모리로 복사하는것을 특징으로 하는 방법
|
13 |
13
컴퓨터로 구현되는 컴퓨팅 보호 시스템에 있어서,컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 이종 컴퓨팅을 사용하는 환경에서 CPU 및 GPU의 데이터를 보호하기 위하여, GPU 엔클레이브(Enclave)에서 GPU MMIO 영역에 액세스하여 GPU를 관리 및 제어하는 과정을 처리하고, 상기 GPU를 관리 및 제어하는 과정은,GPU 엔클레이브를 생성하여 GPU MMIO영역을 등록하면, 상기 GPU 엔클레이브에서 상기 GPU MMIO영역을 통해 명령을 전송하여 GPU를 단독으로 제어하고, 상기 GPU MMIO영역에 의해 액세스되는 PCIe 인터커넥트를 통하여 GPU에 대한 명령 및 데이터 경로가 보호되고, 상기 생성된 GPU 엔클레이브에서 상기 GPU에 대한 사용자 액세스 인터페이스를 제공하여 단일의 사용자 엔클레이브에서 상기 GPU가 실행되도록 제한하는 독점 실행 모드를 통하여 복수의 사용자의 GPU 실행으로 발생하는 데이터의 유출을 방지하는 것을 특징으로 하는 시스템
|