부채널 공격에 대응하기 위한 프로세서의 제어 방법 및 제어 장치
METHOD AND DEVICE FOR CONTROLLING PROCESSOR CORRESPONDING SIDE-CHANNEL ATTACK
특허 요약
부채널 공격에 대응하기 위한 프로세서의 제어 방법 및 제어 장치가 개시된다. 본 발명에 따른 부채널 공격에 대응하기 위한 프로세서의 제어 방법은, 입력된 명령어를 연산 처리 중인 프로세서에 대해, 고차 부채널 공격에 대한 방어가 필요한 상태로 확인되면, 상기 프로세서에 내장된 무작위 명령어 삽입 모듈로, 제어 프레임을 전달하는 단계와, 상기 제어 프레임이 전달된 상기 무작위 명령어 삽입 모듈을 통해, 난수 생성기로부터 읽은 난수값을 이용하여, 무작위 명령어를 생성하는 단계, 및 상기 입력된 명령어 대신에, 상기 무작위 명령어에 상응하는 실행코드를 실행하여, 상기 프로세서 내부에서 생성되는 전력 데이터를 변동시킴으로써, 상기 고차 부채널 공격에 방어하는 단계를 포함한다.
청구항
번호청구항
9

제1항에 있어서,상기 프로세서의 제어 방법은,상기 프로세서에 대해, 고차 부채널 공격에 대한 방어가 필요한 상태로 확인됨에 따라, 특정 비트의 값을 '0'으로 설정한 제어 프레임을 상기 무작위 명령어 삽입 모듈로 전달하는 단계; 및상기 제어 프레임의 전달 이후, 상기 프로세서에 대해, 고차 부채널 공격에 대한 방어가 필요하지 않은 상태로 확인되면,상기 특정 비트의 값을 '0'에서 '1'로 스위칭한 제어 프레임을 상기 무작위 명령어 삽입 모듈로 전달하여, 상기 무작위 명령어의 생성을 중지시키는 단계를 더 포함하는 부채널 공격에 대응하기 위한 프로세서의 제어 방법.

1

무작위 명령어 삽입 모듈을 내장한 프로세서의 제어 방법에 있어서,입력된 명령어를 연산 처리 중인 프로세서에 대해, 고차 부채널 공격에 대한 방어가 필요한 상태로 확인되면, 상기 무작위 명령어 삽입 모듈로, 제어 프레임을 전달하는 단계;상기 제어 프레임이 전달된 상기 무작위 명령어 삽입 모듈을 통해, 난수 생성기로부터 읽은 난수값을 이용하여, 무작위 명령어를 생성하는 단계; 및상기 입력된 명령어 대신에, 상기 무작위 명령어에 상응하는 실행코드를 실행하여, 상기 프로세서 내부에서 생성되는 전력 데이터를 변동시킴으로써, 상기 고차 부채널 공격에 방어하는 단계를 포함하고,상기 무작위 명령어를 생성하는 단계는,상기 난수값을 이루는 복수 비트의 값 중 지정된 제1 비트의 값을 추출하는 단계;사전에 마련된 명령코드 리스트로부터, 상기 제1 비트의 값에 대응되는 일정 수의 삽입코드를 선택하는 단계;상기 난수값을 이루는 상기 복수 비트의 값 중, 상기 제1 비트를 제외하고 지정된 제2 비트의 값을 추출하는 단계;상기 제2 비트의 값에 따라, 상기 일정 수의 삽입코드 각각에 대한 저장 주소를 설정하는 단계; 및상기 일정 수의 삽입코드와 상기 저장 주소를 포함하여, 상기 무작위 명령어를 생성하는 단계를 포함하는 부채널 공격에 대응하기 위한 프로세서의 제어 방법.

2

삭제

3

삭제

4

제1항에 있어서,상기 무작위 명령어를 생성하는 단계는,상기 난수값을 이루는 상기 복수 비트의 값 중, 상기 제1 비트 및 상기 제2 비트를 제외하고 지정된 제3 비트의 값을 mod값으로서 추출하는 단계; 및상기 제어 프레임에 설정된 offset값을 상기 mod값으로 나머지 연산하여 얻어지는 결과값이 '0'일 때, 상기 무작위 명령어를 생성하는 단계를 더 포함하는 부채널 공격에 대응하기 위한 프로세서의 제어 방법.

5

제4항에 있어서,상기 제어 프레임 내 상기 offset값은,상기 입력된 명령어의 연산 처리 중 상기 프로세서에서 참조한 데이터에 대한 중요도에 따라 설정되는부채널 공격에 대응하기 위한 프로세서의 제어 방법.

6

제1항에 있어서,상기 제어 프레임에는, 상기 무작위 명령어 삽입 모듈을 통한 무작위 명령어의 총 생성 횟수가 설정되고,상기 무작위 명령어를 생성하는 단계는,상기 제어 프레임이 전달된 시점에 상기 난수 생성기에 의해 유도된 난수값에 따라, 1차 무작위 명령어를 생성하는 단계;상기 1차 무작위 명령어의 생성으로부터 일정 시간이 경과한 시점에, 상기 난수 생성기에 의해 변경되어 유도된 난수값에 따라, 2차 무작위 명령어를 생성하는 단계; 및상기 1차 무작위 명령어 및 상기 2차 무작위 명령어의 수가, 상기 제어 프레임 내, 상기 무작위 명령어의 총 생성 횟수에 미달하면,상기 2차 무작위 명령어의 생성으로부터 일정 시간이 경과한 시점에, 상기 난수 생성기에 의해 재변경되어 유도되는 난수값에 따라, 3차 무작위 명령어를 더 생성하는 단계를 더 포함하는 부채널 공격에 대응하기 위한 프로세서의 제어 방법.

7

제6항에 있어서,상기 제어 프레임에는, 상기 난수 생성기의 초기화 카운트값이 설정되고,상기 프로세서의 제어 방법은,상기 제어 프레임이 전달된 시점으로부터 상기 무작위 명령어 삽입 모듈을 통해 생성되는 상기 무작위 명령어의 수를 누적 카운트하는 단계; 및상기 누적 카운트된 수가, 상기 제어 프레임 내 초기화 카운트값에 도달 시, 상기 난수 생성기에서 상기 난수값을 유도할 때 사용하는 초기값을 변경하는 단계를 더 포함하는 부채널 공격에 대응하기 위한 프로세서의 제어 방법.

8

제1항에 있어서,상기 프로세서의 제어 방법은,상기 무작위 명령어에 상응하는 실행코드의 결과값 저장 주소를 포함하도록, 상기 무작위 명령어를 생성하는 단계; 및상기 실행코드를 실행하여 얻어지는 결과값을, 상기 결과값 저장 주소에 따라 식별되는 상기 프로세서의 데이터 메모리 내 영역에, 상기 입력된 명령어에 따른 결과값과 구분되도록 저장하는 단계를 더 포함하는 부채널 공격에 대응하기 위한 프로세서의 제어 방법.

10

무작위 명령어 삽입 모듈을 내장한 프로세서의 제어 장치에 있어서,입력된 명령어를 연산 처리 중인 프로세서에 대해, 고차 부채널 공격에 대한 방어가 필요한 상태로 확인되면, 상기 무작위 명령어 삽입 모듈로, 제어 프레임을 전달하는 전달부;상기 제어 프레임이 전달된 상기 무작위 명령어 삽입 모듈을 통해, 난수 생성기로부터 읽은 난수값을 이용하여, 무작위 명령어를 생성하는 생성부; 및상기 입력된 명령어 대신에, 상기 무작위 명령어에 상응하는 실행코드를 실행하여, 상기 프로세서 내부에서 생성되는 전력 데이터를 변동시킴으로써, 상기 고차 부채널 공격에 방어하는 실행부를 포함하고,상기 생성부는,상기 난수값을 이루는 복수 비트의 값 중 지정된 제1 비트의 값을 추출하고, 사전에 마련된 명령코드 리스트로부터, 상기 제1 비트의 값에 대응되는 일정 수의 삽입코드를 선택하고,상기 난수값을 이루는 상기 복수 비트의 값 중, 상기 제1 비트를 제외하고 지정된 제2 비트의 값을 추출하고, 상기 제2 비트의 값에 따라, 상기 일정 수의 삽입코드 각각에 대한 저장 주소를 설정하고,상기 일정 수의 삽입코드와 상기 저장 주소를 포함하여, 상기 무작위 명령어를 생성하는부채널 공격에 대응하기 위한 프로세서의 제어 장치.

11

삭제

12

삭제

13

제10항에 있어서,상기 생성부는,상기 난수값을 이루는 상기 복수 비트의 값 중, 상기 제1 비트 및 상기 제2 비트를 제외하고 지정된 제3 비트의 값을 mod값으로서 추출하고, 상기 제어 프레임에 설정된 offset값을 상기 mod값으로 나머지 연산하여 얻어지는 결과값이 '0'일 때, 상기 무작위 명령어를 생성하는부채널 공격에 대응하기 위한 프로세서의 제어 장치.

14

제13항에 있어서,상기 제어 프레임 내 상기 offset값은,상기 입력된 명령어의 연산 처리 중 상기 프로세서에서 참조한 데이터에 대한 중요도에 따라 설정되는부채널 공격에 대응하기 위한 프로세서의 제어 장치.

15

제10항에 있어서,상기 제어 프레임에는, 상기 무작위 명령어 삽입 모듈을 통한 무작위 명령어의 총 생성 횟수가 설정되고,상기 생성부는,상기 제어 프레임이 전달된 시점에 상기 난수 생성기에 의해 유도된 난수값에 따라, 1차 무작위 명령어를 생성하고,상기 1차 무작위 명령어의 생성으로부터 일정 시간이 경과한 시점에, 상기 난수 생성기에 의해 변경되어 유도된 난수값에 따라, 2차 무작위 명령어를 생성하고,상기 1차 무작위 명령어 및 상기 2차 무작위 명령어의 수가, 상기 제어 프레임 내, 상기 무작위 명령어의 총 생성 횟수에 미달하면,상기 2차 무작위 명령어의 생성으로부터 일정 시간이 경과한 시점에, 상기 난수 생성기에 의해 재변경되어 유도되는 난수값에 따라, 3차 무작위 명령어를 더 생성하는부채널 공격에 대응하기 위한 프로세서의 제어 장치.

16

제15항에 있어서,상기 제어 프레임에는, 상기 난수 생성기의 초기화 카운트값이 설정되고,상기 생성부는,상기 제어 프레임이 전달된 시점으로부터 상기 무작위 명령어 삽입 모듈을 통해 생성되는 상기 무작위 명령어의 수를 누적 카운트하고,상기 누적 카운트된 수가, 상기 제어 프레임 내 초기화 카운트값에 도달 시, 상기 난수 생성기에서 상기 난수값을 유도할 때 사용하는 초기값을 변경하는부채널 공격에 대응하기 위한 프로세서의 제어 장치.

17

제10항에 있어서,상기 생성부는,상기 무작위 명령어에 상응하는 실행코드의 결과값 저장 주소를 포함하도록, 상기 무작위 명령어를 생성하고,상기 실행부는,상기 실행코드를 실행하여 얻어지는 결과값을, 상기 결과값 저장 주소에 따라 식별되는 상기 프로세서의 데이터 메모리 내 영역에, 상기 입력된 명령어에 따른 결과값과 구분되도록 저장하는부채널 공격에 대응하기 위한 프로세서의 제어 장치.

18

제10항에 있어서,상기 전달부는,상기 프로세서에 대해, 고차 부채널 공격에 대한 방어가 필요한 상태로 확인됨에 따라, 특정 비트의 값을 '0'으로 설정한 제어 프레임을 상기 무작위 명령어 삽입 모듈로 전달하고,상기 제어 프레임의 전달 이후, 상기 프로세서에 대해, 고차 부채널 공격에 대한 방어가 필요하지 않은 상태로 확인되면,상기 특정 비트의 값을 '0'에서 '1'로 스위칭한 제어 프레임을 상기 무작위 명령어 삽입 모듈로 전달하여, 상기 무작위 명령어의 생성을 중지시키는부채널 공격에 대응하기 위한 프로세서의 제어 장치.