1 |
1
암호 알고리즘이 동작하는 칩 정보를 확인하는 정보 확인부;암호 알고리즘의 구현 방법을 판단하는 암호 알고리즘 판단부;암호 알고리즘 하드웨어 구현시 비밀키 비트 값을 확인하기 위한 반복 연산 시작 전에 랜덤한 값으로 매번 초기화하는 하드웨어 대응 처리부;암호 알고리즘 소프트웨어 구현시 비밀키 비트 값을 확인하는 반복 연산 수행 전 단계에서 랜덤 값으로 마스킹 하는 소프트웨어 대응 처리부;를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치
|
2 |
2
제 1 항에 있어서, 상기 하드웨어 대응 처리부는,암호 알고리즘 하드웨어 구현 시 n비트 비밀 키 k=(kn-1 kn-2 … k1 k0)2의 i번째 비트 ki값을 확인하는 단계에서 ki+1과 ki(0 ≤ i 003c# n-1)의 헤밍 디스턴스 값에 의존한 전력 소모가 발생하여 전력 파형 집합이 값에 따른 두 집합으로 분류되는 특성 및,암호 알고리즘 하드웨어 구현 시 비밀 키 비트 ki값을 확인하는 단계에서 ki+1과 ki(0 ≤ i 003c# n-1)의 헤밍 디스턴스 값에 따른 전력 소모가 발생하고, 반복 연산에서 불려오는 레지스터 R의 주소는 ki+1과 ki값에 따라 결정되기 때문에 연산에 활용되는 레지스터 주소의 헤밍 디스턴스에 따른 전력 소모가 발생하여 전력 파형 집합이 값에 따른 두 집합으로 분류되는 특성을 없애 전력 파형 집합이 비밀 키 비트값에 따른 특성에 관계없이 두 집합으로 랜덤하게 분류되도록 하여 취약점을 제거하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치
|
3 |
3
제 1 항에 있어서, 소프트웨어 대응 처리부는,암호 알고리즘 소프트웨어 구현 시 n비트 비밀 키 k=(kn-1 kn-2 … k1 k0)2의 i번째 비트 ki값을 확인하는 단계에서 ki(0 ≤ i 003c# n-1)의 헤밍웨이트, 즉 ki값을 이진수로 표현했을 때 1의 개수인 헤밍 웨이트 값에 의존한 전력 소모가 발생하여 전력 파형 집합이 헤밍 웨이트 값에 따른 두 집합으로 분류되는 특성 및,암호 알고리즘 소프트웨어 구현 시 비밀 키 비트 ki값을 확인하는 단계에서 ki(0 ≤ i 003c# n-1)의 헤밍웨이트, 즉 ki값을 이진수로 표현했을 때 1의 개수인 헤밍 웨이트 값에 따른 전력 소모가 발생하고, 반복 연산에서 불려오는 레지스터 R의 주소는 ki값에 따라 결정되기 때문에 연산에 활용되는 레지스터 주소의 헤밍 웨이트, 즉, 레지스터 주소를 이진수로 표현했을 때 1의 개수에 따른 전력 소모가 발생하여 전력 파형 집합이 헤밍 웨이트 값에 따른 두 집합으로 분류되는 특성을 없애 전력 파형 집합이 비밀 키 비트값에 따른 특성에 관계없이 두 집합으로 랜덤하게 분류되도록 하여 취약점을 제거하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치
|
4 |
4
제 1 항 또는 제 2 항에 있어서, 하드웨어 대응 처리부는,하드웨어로 구현된 암호 알고리즘의 취약성을 판단하는 취약성 판단부와,하드웨어로 구현된 대응 기법을 적용하여 비밀키 비트 값을 확인하기 위한 반복 연산 시작 전에 랜덤한 값으로 초기화하는 랜덤 초기화부와,공개키 암호 알고리즘의 1회 수행시 발생하는 전력 파형을 수집하는 전력 파형 수집부와,암호 알고리즘의 1회 수행시에 수집한 전력 파형을 n개의 반복 연산 단위로 자르고, 키 비트 확인을 위한 연산 위치를 선택하고 n개의 반복 연산을 하는 연산단위 및 위치 선택부와,n개의 전력파형을 값에 따른 두 집합으로 분류할 수 있는 지를 판단하여 분류되지 않는 경우에 취약성이 제거된 것으로 판단하는 안전성 판단부를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치
|
5 |
5
제 1 항 또는 제 3 항에 있어서, 소프트웨어 대응 처리부는,소프트웨어로 구현된 암호 알고리즘의 취약성을 판단하는 취약성 판단부와, 소프트웨어로 구현된 대응 기법을 적용하여 랜덤 비트 마스킹을 하는 랜덤 비트 마스킹부와,공개키 암호 알고리즘의 1회 수행시 발생하는 전력 파형을 수집하는 전력 파형 수집부와,암호 알고리즘의 1회 수행시에 수집한 전력 파형을 n개의 반복 연산 단위로 자르고, 키 비트 확인을 위한 연산 위치를 선택하고 n개의 반복 연산을 하는 연산단위 및 위치 선택부와,n개의 전력파형을 값에 따른 두 집합으로 분류할 수 있는 지를 판단하여 분류되지 않는 경우에 취약성이 제거된 것으로 판단하는 안전성 판단부를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치
|
6 |
6
암호 알고리즘이 동작하는 칩 정보를 확인하는 단계;암호 알고리즘의 구현 방법을 판단하는 단계; 및암호 알고리즘 구현이 하드웨어인 경우에는 암호 알고리즘 하드웨어 구현시 비밀키 비트 값을 확인하기 위한 반복 연산 시작 전에 랜덤한 값으로 매번 초기화하는 하드웨어 대응 처리를 하고, 암호 알고리즘 구현이 소프트웨어인 경우에는 암호 알고리즘 소프트웨어 구현시 비밀키 비트 값을 확인하는 반복 연산 수행 전 단계에서 랜덤 값으로 마스킹 하는 소프트웨어 대응 처리를 하는 단계;를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 방법
|
7 |
7
제 6 항에 있어서, 암호 알고리즘 구현이 하드웨어인 경우에는,하드웨어로 구현된 암호 알고리즘의 취약성을 판단하고, 하드웨어로 구현된 대응 기법을 적용하여 비밀키 비트 값을 확인하기 위한 반복 연산 시작 전에 랜덤한 값으로 초기화하는 단계와,공개키 암호 알고리즘의 1회 수행시 발생하는 전력 파형을 수집하는 단계와,암호 알고리즘의 1회 수행시에 수집한 전력 파형을 n개의 반복 연산 단위로 자르고, 키 비트 확인을 위한 연산 위치를 선택하고 n개의 반복 연산을 하는 단계와,n개의 전력파형을 값에 따른 두 집합으로 분류할 수 있는 지를 판단하여 분류되지 않는 경우에 취약성이 제거된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 방법
|
8 |
8
제 6 항에 있어서, 암호 알고리즘 구현이 소프트웨어인 경우에는,소프트웨어로 구현된 암호 알고리즘의 취약성을 판단하고, 소프트웨어로 구현된 대응 기법을 적용하여 랜덤 비트 마스킹을 하는 단계와,공개키 암호 알고리즘의 1회 수행시 발생하는 전력 파형을 수집하는 단계와,암호 알고리즘의 1회 수행시에 수집한 전력 파형을 n개의 반복 연산 단위로 자르고, 키 비트 확인을 위한 연산 위치를 선택하고 n개의 반복 연산을 하는 단계와,n개의 전력파형을 값에 따른 두 집합으로 분류할 수 있는 지를 판단하여 분류되지 않는 경우에 취약성이 제거된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 방법
|
9 |
9
제 6 항에 있어서, 반복 연산 시작 전에 랜덤한 값으로 매번 초기화하는 하드웨어 대응 처리를 하는 것에 의해,암호 알고리즘 하드웨어 구현 시 n비트 비밀 키 k=(kn-1 kn-2 … k1 k0)2의 i번째 비트 ki값을 확인하는 단계에서 ki+1과 ki(0 ≤ i 003c# n-1)의 헤밍 디스턴스 값에 의존한 전력 소모가 발생하여 전력 파형 집합이 값에 따른 두 집합으로 분류되는 특성 및,암호 알고리즘 하드웨어 구현 시 비밀 키 비트 ki값을 확인하는 단계에서 ki+1과 ki(0 ≤ i 003c# n-1)의 헤밍 디스턴스 값에 따른 전력 소모가 발생하고, 반복 연산에서 불려오는 레지스터 R의 주소는 ki+1과 ki값에 따라 결정되기 때문에 연산에 활용되는 레지스터 주소의 헤밍 디스턴스에 따른 전력 소모가 발생하여 전력 파형 집합이 값에 따른 두 집합으로 분류되는 특성을 없애 전력 파형 집합이 비밀 키 비트값에 따른 특성에 관계없이 두 집합으로 랜덤하게 분류되도록 하여 취약점을 제거하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 방법
|
10 |
10
제 6 항에 있어서, 랜덤 비트 마스킹을 하는 소프트웨어 대응 처리를 하는 것에 의해,암호 알고리즘 소프트웨어 구현 시 n비트 비밀 키 k=(kn-1 kn-2 … k1 k0)2의 i번째 비트 ki값을 확인하는 단계에서 ki(0 ≤ i 003c# n-1)의 헤밍웨이트, 즉 ki값을 이진수로 표현했을 때 1의 개수인 헤밍 웨이트 값에 의존한 전력 소모가 발생하여 전력 파형 집합이 헤밍 웨이트 값에 따른 두 집합으로 분류되는 특성 및,암호 알고리즘 소프트웨어 구현 시 비밀 키 비트 ki값을 확인하는 단계에서 ki(0 ≤ i 003c# n-1)의 헤밍웨이트, 즉 ki값을 이진수로 표현했을 때 1의 개수인 헤밍 웨이트 값에 따른 전력 소모가 발생하고, 반복 연산에서 불려오는 레지스터 R의 주소는 ki값에 따라 결정되기 때문에 연산에 활용되는 레지스터 주소의 헤밍 웨이트,즉,레지스터 주소 값을 이진수로 표현했을 때 1의 개수에 따른 전력 소모가 발생하여 전력 파형 집합이 헤밍 웨이트 값에 따른 두 집합으로 분류되는 특성을 없애 전력 파형 집합이 비밀 키 비트값에 따른 특성에 관계없이 두 집합으로 랜덤하게 분류되도록 하여 취약점을 제거하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 방법
|
11 |
11
제 8 항에 있어서, 하드웨어 및 소프트웨어로 구현된 암호 알고리즘의 취약성 판단을 하는 단계에서,공격 대상과 동일한 장비를 활용할 수 있다면,공격 대상과 동일한 장비에서 n 비트 비밀 키 설정 후 공개키 암호 알고리즘 1회 수행시 발생하는 전력 파형을 수집하는 단계와,알고리즘 1회 수행시 수집한 전력 파형을 n개의 반복 연산 단위로 자르고, 설정된 n 비트 키를 기반으로 n 개의 전력 파형을 두 집합으로 분류하는 단계와,분류된 두 집합의 SOST 값을 계산하고, SOST 피크 값의 존재 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 방법
|
12 |
12
제 8 항에 있어서, 하드웨어 및 소프트웨어로 구현된 암호 알고리즘의 취약성 판단을 하는 단계에서,공격 대상과 동일한 장비를 활용할 수 없다면,공격 대상 장비에서 공개키 암호 알고리즘 1회 수행시 발생하는 전력 파형을 수집하는 단계와,알고리즘 1회 수행시 수집한 전력 파형을 n개의 반복 연산 단위로 자르고, 공격 대상 칩의 동작 주파수 확인 및 알고리즘 구조 분석을 통하여 키 비트 확인을 위한 연산 단계를 구분하는 단계와,n개의 전력 파형을 비밀 키 비트 값 ki에 따른 두 집합으로 분류할 수 있는지 확인하는 단계를 포함하는 것을 특징으로 하는 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 방법
|