KR101879809B1 - 부채널 분석에 안전한 연산 장치 및 방법 - Google Patents
부채널 분석에 안전한 연산 장치 및 방법 Download PDFInfo
- Publication number
- KR101879809B1 KR101879809B1 KR1020170120642A KR20170120642A KR101879809B1 KR 101879809 B1 KR101879809 B1 KR 101879809B1 KR 1020170120642 A KR1020170120642 A KR 1020170120642A KR 20170120642 A KR20170120642 A KR 20170120642A KR 101879809 B1 KR101879809 B1 KR 101879809B1
- Authority
- KR
- South Korea
- Prior art keywords
- technique
- subchannel
- sub
- analysis
- unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 일반적인 암호 알고리즘에 더미 연산을 활용한 하이딩 기법을 적용하여 부채널 분석에 대한 더미 연산과 실제 암호 연산과의 구분 가능성을 제거하여 부채널 분석에 안전한 더미 연산 장치 및 방법을 제공하기 위한 것으로서, 부채널 분석 대상 장치의 암호 연산 과정에서 발생하는 파형 데이터를 수집하는 파형 데이터 수집부와, 상기 파형 데이터 수집부에서 수집된 파형 데이터를 이용하여 부채널 분석을 수행하는 부채널 분석부와, 상기 부채널 분석부에서 수행된 부채널 분석을 통해 키가 도출되는 여부를 기반으로 취약성 정보를 선별하는 취약점 선별부와, 상기 취약성 선별부에서 선별된 취약성 정보를 기반으로 공격된 부채널 분석의 공격법을 검출하고, 부채널 대응 기법 DB에 미리 저장되어 있는 부채널 대응 기법 중 검출된 공격법에 대응되는 부채널 대응 기법을 선택하는 대응기법 선택부와, 상기 대응기법 선택부에서 선택된 부채널 대응 기법을 고려하여 부채널 분석에 대한 실제 암호 연산과 더미 연산 모두 동일한 변수를 사용하여 암호 알고리즘 코드를 새롭게 구현하는 코드 재구성부를 포함하여 구성되는데 있다.
Description
본 발명은 부채널 분석 연산 장치 및 방법에 관한 것으로, 특히 일반적인 암호 알고리즘에 더미 연산을 활용한 하이딩 기법을 적용하여 부채널 분석에 대한 더미 연산과 실제 암호 연산과의 구분 가능성을 제거하여 부채널 분석에 안전한 더미 연산 장치 및 방법에 관한 것이다.
부채널 분석(Side Channel Analysis : SCA)은 1996년 Paul Kocher가 최초로 제안한 분석 기법으로, 암호 기기가 암호 알고리즘 수행 시 노출하는 물리적 정보(암호알고리즘이 구동될 때 발생하는 전력신호, 전자파, 소리 등)를 이용하여 키를 찾는 분석 기법이다.
이때, 사물인터넷(Internet of Things, IoT) 환경, 금융 IC 카드 등의 임베디드 장비에 암호 알고리즘을 부채널 분석에 안전하게 구현하는 경우, 일반적으로 1차 마스킹 기법과 하이딩 기법을 혼합하여 부채널 대응기법으로 사용된다. 왜냐하면 2차 이상의 고차 마스킹을 사용 시 암호 알고리즘 동작 시간이 비약적으로 증가하기 때문이다. 하지만 1차 마스킹만으로는 2차 차분 전력 분석 및 상관 전력 분석에 의해 어렵지 않게 키 분석이 가능하여 충분한 안전성을 제공하지 못한다. 따라서 공격 복잡도를 증가시키기 위해 하이딩 기법을 추가적으로 적용한다.
랜덤 더미 연산 삽입 기법(Random Insertion of Dummy Operations Scheme)은 하이딩 기법의 일종으로 암ㅇ복호화와는 무관한 연산을 정상적인 연산 중간에 삽입하여 공격자가 목표로 하는 연산의 수행 시점을 찾기 힘들게 하는 대응법이다. 여기서 중요한 점은 더미 연산을 정상적인 연산과 파형 상에서 구분할 수 없도록 유사하게 구성하는 데에 있다.
하이딩 기법의 또 다른 대응기법으로는 셔플링 기법(Shuffling Scheme)이 있다. 셔플링 기법은 연산 순서를 랜덤하게 섞는 방법으로 랜덤 더미 연산 삽입 기법과 동일하게 공격자가 목표로 하는 연산의 수행 시점을 숨기는 것을 목적으로 하고 있다.
그러나 이러한 더미 연산을 삽입하는 랜덤 더미 연산 삽입 기법은 도 3에서 도시하고 있는 것과 같이, 정상적인 암호 연산(case 0 내지 case 15)(100)에서는 "st_in" 및 "st_out"의 연산 변수를 이용하고, 대응기법을 고려한 더미 연산(case 16 내지 case 32)(200)에서는 "dm_in" 및 "dm_out"의 연산 변수를 이용하고 있다.
이처럼 실제 암호 연산과 더미 연산은 서로 다른 연산 변수를 이용하고 있어, 부채널 분석 시에 실제 암호 연산과 더미 연산을 서로 구분할 가능성이 존재함에 따라 부채널 분석에 키가 도출될 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 일반적인 암호 알고리즘에 더미 연산을 활용한 하이딩 기법을 적용하여 부채널 분석에 대한 더미 연산과 실제 암호 연산과의 구분 가능성을 제거하여 부채널 분석에 안전한 더미 연산 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 부채널 분석에 안전한 연산 장치의 특징은 부채널 분석 대상 장치의 암호 연산 과정에서 발생하는 파형 데이터를 수집하는 파형 데이터 수집부와, 상기 파형 데이터 수집부에서 수집된 파형 데이터를 이용하여 부채널 분석을 수행하는 부채널 분석부와, 상기 부채널 분석부에서 수행된 부채널 분석을 통해 키가 도출되는 여부를 기반으로 취약성 정보를 선별하는 취약점 선별부와, 상기 취약성 선별부에서 선별된 취약성 정보를 기반으로 공격된 부채널 분석의 공격법을 검출하고, 부채널 대응 기법 DB에 미리 저장되어 있는 부채널 대응 기법 중 검출된 공격법에 대응되는 부채널 대응 기법을 선택하는 대응기법 선택부와, 상기 대응기법 선택부에서 선택된 부채널 대응 기법을 고려하여 부채널 분석에 대한 실제 암호 연산과 더미 연산 모두 동일한 변수를 사용하여 암호 알고리즘 코드를 새롭게 구현하는 코드 재구성부를 포함하여 구성되는데 있다.
바람직하게 상기 취약성 선별부에서 선별되는 취약성 정보는 디바이스에서 키를 찾아낸 공격법의 정보인 것을 특징으로 한다.
바람직하게 상기 부채널 대응 기법 DB에 저장된 부채널 대응 기법은 마스킹 기법, 하이딩 기법 및 마스킹 기법과 하이딩 기법을 혼합한 기법을 포함하는 것을 특징으로 한다.
바람직하게 상기 코드 재구성부는 랜덤 더미 연산 삽입 기법과 셔플링 기법을 적용한 'Subbytes(*st_in, *st_out)' 함수로 모두 동일한 변수를 사용하여 암호 알고리즘 코드를 구현하는 것을 특징으로 한다.
바람직하게 상기 코드 재구성부는 전반부에 실제 암호 연산으로 사용하고, 후반부에 더미 연산으로 사용하여 함수 파라미터로 입력하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 부채널 분석에 안전한 연산 방법의 특징은 (A) 파형 데이터 수집부를 통해 부채널 분석 대상 장치의 암호 연산 과정에서 발생하는 파형 데이터를 수집하는 단계와, (B) 부채널 분석부에서 상기 수집된 파형 데이터를 이용하여 부채널 분석을 수행하면, 취약점 선별부를 통해 상기 수행된 부채널 분석으로 키가 도출되는 여부를 기반으로 취약성 정보를 선별하는 단계와, (C) 대응기법 선택부를 통해 상기 선별 결과 부채널 분석에 취약하여 선별된 취약성 정보를 기반으로 공격된 부채널 분석의 공격법을 검출하고, 부채널 대응 기법 DB에 미리 저장되어 있는 부채널 대응 기법 중 검출된 공격법에 대응되는 부채널 대응 기법을 선택하는 단계와, (D) 코드 재구성부를 통해 선택된 부채널 대응 기법을 고려하여 부채널 분석에 대한 실제 암호 연산과 더미 연산 모두 동일한 변수를 사용하여 암호 알고리즘 코드를 재구성하는 단계와, (E) 상기 재구성된 암호 알고리즘 코드에 대한 부채널 분석을 수행하고, 안전성 검증에 통과한 경우에 재구성된 암호 알고리즘을 적용하는 단계를 포함하여 이루어지는데 있다.
바람직하게 상기 (C) 단계는 상기 부채널 대응 기법 DB에 마스킹 기법, 하이딩 기법 및 마스킹 기법과 하이딩 기법을 혼합한 기법을 포함하는 부채널 대응 기법을 저장하는 것을 특징으로 한다.
바람직하게 상기 (D) 단계는 재구성되는 암호 알고리즘 코드는 랜덤 더미 연산 삽입 기법과 셔플링 기법을 적용한 'Subbytes(*st_in, *st_out)' 함수로 모두 동일한 변수를 사용하는 것을 특징으로 한다.
바람직하게 상기 (D) 단계는 전반부에 실제 암호 연산으로 사용하고, 후반부에 더미 연산으로 사용하여 함수 파라미터로 입력하는 것을 특징으로 한다.
바람직하게 상기 (E) 단계는 안전성 검증에 통과하지 않는 경우에는 대응되는 부채널 대응 기법을 다시 선택하여 상기 과정을 반복하는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 부채널 분석에 안전한 연산 장치 및 방법은 암호 알고리즘을 구현하였을 때 부채널 분석에 사용되는 부가적인 정보(소비 전력, 전자파, 연산 시간 등) 관점에서 더미 연산과 실제 암호 연산의 구분이 불가능한 효과가 있다.
따라서 설계자가 의도한 대응기법이 올바르게 적용되어 2차 차분 전력 분석 및 상관 전력 분석에 필요한 파형 수가 대응기법을 적용하기 전에 비해 배로 증가한다. 이때, n은 실제 암호 연산에 사용된 변수의 수이고, d는 더미 연산에 사용된 변수의 수를 나타낸다.
그 결과 부채널 분석 필요 파형수의 증가로 현실적인 안전성을 제공할 수 있게 된다.
도 1 은 본 발명의 실시예에 따른 부채널 분석에 안전한 연산 장치의 구성을 나타낸 블록도
도 2 는 본 발명의 실시예에 따른 부채널 분석에 안전한 연산 방법을 설명하기 위한 흐름도
도 3 은 종래의 Subbytes 함수를 C 언어를 이용한 대응기법으로 나타낸 도면
도 4 는 본 발명에 따른 Subbytes 함수를 C 언어를 이용한 대응기법으로 나타낸 도면
도 5 는 본 발명에 따른 부채널 분석에 안전한 연산으로 검출된 소비 전력 파형의 실시예
도 6 은 도 5의 32개의 연산 중 앞의 4개를 확대한 소비 전력 파형의 실시예
도 2 는 본 발명의 실시예에 따른 부채널 분석에 안전한 연산 방법을 설명하기 위한 흐름도
도 3 은 종래의 Subbytes 함수를 C 언어를 이용한 대응기법으로 나타낸 도면
도 4 는 본 발명에 따른 Subbytes 함수를 C 언어를 이용한 대응기법으로 나타낸 도면
도 5 는 본 발명에 따른 부채널 분석에 안전한 연산으로 검출된 소비 전력 파형의 실시예
도 6 은 도 5의 32개의 연산 중 앞의 4개를 확대한 소비 전력 파형의 실시예
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 부채널 분석에 안전한 연산 장치 및 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1 은 본 발명의 실시예에 따른 부채널 분석에 안전한 연산 장치의 구성을 나타낸 블록도이다.
도 1에서 도시하고 있는 것과 같이, 본 발명은 부채널 분석 대상 장치의 암호 연산 과정에서 발생하는 파형 데이터를 수집하는 파형 데이터 수집부(10)와, 상기 파형 데이터 수집부(10)에서 수집된 파형 데이터를 이용하여 부채널 분석을 수행하는 부채널 분석부(20)와, 상기 부채널 분석부(20)에서 수행된 부채널 분석을 통해 키가 도출되는 여부를 기반으로 취약성 정보를 선별하는 취약점 선별부(30)와, 상기 취약성 선별부(30)에서 선별된 취약성 정보를 기반으로 공격된 부채널 분석의 공격법을 검출하고, 부채널 대응 기법 DB(50)에 미리 저장되어 있는 부채널 대응 기법 중 검출된 공격법에 대응되는 부채널 대응 기법을 선택하는 대응기법 선택부(40)와, 상기 대응기법 선택부(40)에서 선택된 부채널 대응 기법을 고려하여 부채널 분석에 대한 실제 암호 연산과 더미 연산 모두 동일한 변수를 사용하여 암호 알고리즘 코드를 새롭게 구현하는 코드 재구성부(60)로 구성된다.
이때, 취약성 선별부(30)에서 선별되는 취약성 정보는 부채널 대응기법 중 디바이스마다 서로 다른 공격법으로 키를 찾아내게 되는데, 이때 키를 찾아낸 공격법의 정보를 말한다.
그리고 상기 부채널 대응 기법 DB(50)에 저장하고 있는 부채널 대응 기법은 마스킹 기법, 하이딩 기법 및 마스킹 기법과 하이딩 기법을 혼합한 기법 등을 포함한다.
또한 상기 코드 재구성부(60)는 랜덤 더미 연산 삽입 기법과 셔플링 기법을 적용한 'Subbytes(*st_in, *st_out)' 함수로 모두 동일한 변수를 사용하여 전반부는 실제 암호 연산에 사용하고, 후반부는 더미 연산에 사용하여 함수 파라미터로 입력되는 암호 알고리즘 코드를 구현한다.
이처럼, 코드 재구성부(60)를 통해 선택된 부채널 대응기법을 모두 고려하여 처음부터 구현해야 할 암호 알고리즘을 설계하는 방식으로, 설계자가 코드 구현 시 얽매여야 하는 기존의 코드가 없기 때문에 자유로운 구현이 가능하며, 이를 통해 의도한 안전성을 충분히 제공할 수 있다.
이와 같이 구성된 본 발명에 따른 부채널 분석에 안전한 연산 장치의 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다. 도 1과 동일한 참조부호는 동일한 기능을 수행하는 동일한 부재를 지칭한다.
도 2 는 본 발명의 실시예에 따른 부채널 분석에 안전한 연산 방법을 설명하기 위한 흐름도이다.
도 2를 참조하여 설명하면, 먼저 파형 데이터 수집부(10)를 통해 부채널 분석 대상 장치의 암호 연산 과정에서 발생하는 파형 데이터를 수집한다(S10).
그리고 부채널 분석부(20)에서 상기 수집된 파형 데이터를 이용하여 부채널 분석을 수행하면, 취약점 선별부(30)를 통해 상기 수행된 부채널 분석으로 키가 도출되는 여부를 기반으로 취약성 정보를 선별한다(S20).
대응기법 선택부(40)를 통해 상기 선별 결과(S20) 부채널 분석에 취약하여 선별된 취약성 정보를 기반으로 공격된 부채널 분석의 공격법을 검출하고, 부채널 대응 기법 DB(50)에 미리 저장되어 있는 부채널 대응 기법 중 검출된 공격법에 대응되는 부채널 대응 기법을 선택한다(S30). 이때, 상기 부채널 대응 기법 DB(50)에 저장하고 있는 부채널 대응 기법은 마스킹 기법, 하이딩 기법 및 마스킹 기법과 하이딩 기법을 혼합한 기법 등을 포함한다.
그리고 코드 재구성부(60)를 통해 선택된 부채널 대응 기법을 고려하여 부채널 분석에 대한 실제 암호 연산과 더미 연산 모두 동일한 변수를 사용하여 암호 알고리즘 코드를 새롭게 재구성한다(S40).
이때, 새롭게 재구성되는 암호 알고리즘 코드는 도 4에서 도시하고 있는 것과 같이, 랜덤 더미 연산 삽입 기법과 셔플링 기법을 적용한 'Subbytes(*st_in, *st_out)' 함수로 모두 동일한 변수(300)를 사용하여 전반부는 실제 암호 연산에 사용하고, 후반부는 더미 연산에 사용하여 함수 파라미터로 입력된다. *st_in 및 *st_out는 각각 Subbytes 함수의 입/출력 변수이고, 오더(order) 배열은 셔플링 된 연산 순서가 저장되어 있는 변수이다.
한편, 도 4 는 C 언어를 이용하는 경우에서의 대응기법으로, 실제 암호 연산에 사용하는 전반부의 변수를 16개 case(case0 ~ case15)로, 더미 연산에 사용하는 후반부의 변수를 16개 case(case16 ~ case32)로 구현하고 있지만, 이는 하나의 실시예로서, 오더(oder) 변수 설정에 따라 변경 가능함에 주의하여야 한다.
이어 상기 재구성된 암호 알고리즘 코드에 대한 부채널 분석을 수행하고(S50), 안전성 검증에 통과한 경우에 재구성된 암호 알고리즘을 적용하고, 안전성 검증에 통과하지 않는 경우에는 대응되는 부채널 대응 기법을 다시 선택하여 상기 과정을 반복한다(S60).
이처럼, 기존의 대응기법은 도 3에서 도시하고 있는 것과 같이 'Subbytes(*st_in, *dm_in, *st_out, *dm_out)' 함수로 st_in, dm_in, st_out, dm_out이 각각 16개의 배열로 사용하는 경우였다면(AES의 경우), 본 발명에서 제시하는 대응기법은 도 4에서 도시하고 있는 것과 같이, 'Subbytes(*st_in, *st_out)' 함수로 st_in과 st_out을 32개의 배열로 설정하여 전반부는 정상 연산에 사용하고 후반부는 더미 연산에 사용하는 방식이다.
실시예
도 4에 따른 본 발명의 대응기법을 적용하여 AES를 XMEGA128D4-U 칩이 내장되어 있는 Chipwhisperer-Lite(CW1173)에 구현을 하였으며, 그 결과 어셈블리어는 표 1과 같다. 표 1 은 더미 연산이 같은 함수 인수로 사용될 때 Subbytes 연산의 어셈블리 코드를 나타내고 있다.
또한 이의 소비 전력 파형은 도 5와 같다. 또한 도 5의 32개의 연산 중 앞의 4개를 확대한 파형은 도 6과 같다.
이처럼, 도 5 및 도 6에서 볼 수 있듯이 정상 연산과 더미 연산의 공통된 차이점을 찾을 수 없는 것을 알 수 있다. 그 결과 부채널 분석 필요 파형수의 증가로 현실적인 안전성을 제공할 수 있게 된다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술적 분야의 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (10)
- 부채널 분석 대상 장치의 암호 연산 과정에서 발생하는 파형 데이터를 수집하는 파형 데이터 수집부와,
상기 파형 데이터 수집부에서 수집된 파형 데이터를 이용하여 부채널 분석을 수행하는 부채널 분석부와,
상기 부채널 분석부에서 수행된 부채널 분석을 통해 키가 도출되는 여부를 기반으로 취약성 정보를 선별하는 취약점 선별부와,
상기 취약점 선별부에서 선별된 취약성 정보를 기반으로 공격된 부채널 분석의 공격법을 검출하고, 부채널 대응 기법 DB에 미리 저장되어 있는 부채널 대응 기법 중 검출된 공격법에 대응되는 부채널 대응 기법을 선택하는 대응기법 선택부와,
상기 대응기법 선택부에서 선택된 부채널 대응 기법을 고려하여 부채널 분석에 대한 실제 암호 연산과 더미 연산을 구현한 함수에 대해 상기 함수의 입력 및 출력 변수들 모두 각각 동일한 변수 이름을 사용하도록 암호 알고리즘 코드를 새롭게 구현하는 코드 재구성부를 포함하여 구성되는 것을 특징으로 하는 부채널 분석에 안전한 연산 장치.
- 제 1 항에 있어서,
상기 취약점 선별부에서 선별되는 취약성 정보는 디바이스에서 키를 찾아낸 공격법의 정보인 것을 특징으로 하는 부채널 분석에 안전한 연산 장치. - 제 1 항에 있어서,
상기 부채널 대응 기법 DB에 저장된 부채널 대응 기법은 마스킹 기법, 하이딩 기법 및 마스킹 기법과 하이딩 기법을 혼합한 기법을 포함하는 것을 특징으로 하는 부채널 분석에 안전한 연산 장치. - 제 1 항에 있어서,
상기 코드 재구성부는 랜덤 더미 연산 삽입 기법과 셔플링 기법을 적용한 'Subbytes(*st_in, *st_out)' 함수로 상기 함수의 입력 및 출력 변수들 모두 각각 동일한 변수 이름을 사용하여 암호 알고리즘 코드를 구현하는 것을 특징으로 하는 부채널 분석에 안전한 연산 장치. - 제 4 항에 있어서,
상기 코드 재구성부는 상기 입력 및 출력 변수들 각각의 전반부는 실제 암호 연산으로 사용하고, 후반부는 더미 연산으로 사용하도록 함수 파라미터로 입력하는 것을 특징으로 하는 부채널 분석에 안전한 연산 장치. - (A) 파형 데이터 수집부를 통해 부채널 분석 대상 장치의 암호 연산 과정에서 발생하는 파형 데이터를 수집하는 단계와,
(B) 부채널 분석부에서 상기 수집된 파형 데이터를 이용하여 부채널 분석을 수행하면, 취약점 선별부를 통해 상기 수행된 부채널 분석으로 키가 도출되는 여부를 기반으로 취약성 정보를 선별하는 단계와,
(C) 대응기법 선택부를 통해 상기 선별 결과 부채널 분석에 취약하여 선별된 취약성 정보를 기반으로 공격된 부채널 분석의 공격법을 검출하고, 부채널 대응 기법 DB에 미리 저장되어 있는 부채널 대응 기법 중 검출된 공격법에 대응되는 부채널 대응 기법을 선택하는 단계와,
(D) 코드 재구성부를 통해 선택된 부채널 대응 기법을 고려하여 부채널 분석에 대한 실제 암호 연산과 더미 연산을 구현한 함수에 대해 상기 함수의 입력 및 출력 변수들 모두 각각 동일한 변수 이름을 사용하도록 암호 알고리즘 코드를 재구성하는 단계와,
(E) 상기 재구성된 암호 알고리즘 코드에 대한 부채널 분석을 수행하고, 안전성 검증에 통과한 경우에 재구성된 암호 알고리즘을 적용하는 단계를 포함하여 이루어지는 것을 특징으로 하는 부채널 분석에 안전한 연산 방법.
- 제 6 항에 있어서, 상기 (C) 단계는
상기 부채널 대응 기법 DB에 마스킹 기법, 하이딩 기법 및 마스킹 기법과 하이딩 기법을 혼합한 기법을 포함하는 부채널 대응 기법을 저장하는 것을 특징으로 하는 부채널 분석에 안전한 연산 방법. - 제 6 항에 있어서, 상기 (D) 단계는
재구성되는 암호 알고리즘 코드는 랜덤 더미 연산 삽입 기법과 셔플링 기법을 적용한 'Subbytes(*st_in, *st_out)' 함수로 상기 함수의 입력 및 출력 변수들 모두 각각 동일한 변수 이름을 사용하는 것을 특징으로 하는 부채널 분석에 안전한 연산 방법. - 제 8 항에 있어서, 상기 (D) 단계는
상기 입력 및 출력 변수들 각각의 전반부는 실제 암호 연산으로 사용하고, 후반부는 더미 연산으로 사용하도록 함수 파라미터로 입력하는 것을 특징으로 하는 부채널 분석에 안전한 연산 방법. - 제 6 항에 있어서,
상기 (E) 단계는
안전성 검증에 통과하지 않는 경우에는 대응되는 부채널 대응 기법을 다시 선택하여 상기 (C) 내지 (E) 단계의 과정을 반복하는 것을 특징으로 하는 부채널 분석에 안전한 연산 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170120642A KR101879809B1 (ko) | 2017-09-19 | 2017-09-19 | 부채널 분석에 안전한 연산 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170120642A KR101879809B1 (ko) | 2017-09-19 | 2017-09-19 | 부채널 분석에 안전한 연산 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101879809B1 true KR101879809B1 (ko) | 2018-08-16 |
Family
ID=63443799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170120642A KR101879809B1 (ko) | 2017-09-19 | 2017-09-19 | 부채널 분석에 안전한 연산 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101879809B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110098916A (zh) * | 2019-04-08 | 2019-08-06 | 武汉大学 | 一种基于软件指令定位的高阶侧信道分析方法 |
KR102020804B1 (ko) * | 2018-11-16 | 2019-09-11 | 국민대학교산학협력단 | 글로벌 최적 보안 컴포넌트 기반의 암호 알고리즘 생성 장치 및 방법 |
KR20210040669A (ko) * | 2019-10-04 | 2021-04-14 | 국방과학연구소 | 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 |
KR20220093900A (ko) * | 2020-12-28 | 2022-07-05 | 국방과학연구소 | 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101260239B1 (ko) | 2011-08-18 | 2013-05-03 | 한국과학기술원 | 타원 곡선 스칼라 곱셈 연산을 위한 방법 및 장치 |
JP2013126078A (ja) * | 2011-12-14 | 2013-06-24 | Renesas Electronics Corp | 暗号処理装置、暗号処理方法、プログラム |
KR20160015776A (ko) * | 2014-07-31 | 2016-02-15 | 국민대학교산학협력단 | 금융 ic 카드 암호문 데이터 생성 절차에 적합한 부채널 분석 대응 방법 |
KR20160114252A (ko) | 2015-03-23 | 2016-10-05 | 한국전자통신연구원 | 부채널 분석 연산 방법 |
KR20160115963A (ko) * | 2014-02-03 | 2016-10-06 | 퀄컴 인코포레이티드 | 암호 알고리즘들 상의 사이드-채널 공격들에 대해 치환들을 사용하는 대책들 |
JP2017079336A (ja) * | 2014-01-31 | 2017-04-27 | 国立大学法人東北大学 | サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 |
JP2017526042A (ja) * | 2014-06-24 | 2017-09-07 | クアルコム,インコーポレイテッド | サイドチャネル攻撃を妨害するための方法およびシステム |
-
2017
- 2017-09-19 KR KR1020170120642A patent/KR101879809B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101260239B1 (ko) | 2011-08-18 | 2013-05-03 | 한국과학기술원 | 타원 곡선 스칼라 곱셈 연산을 위한 방법 및 장치 |
JP2013126078A (ja) * | 2011-12-14 | 2013-06-24 | Renesas Electronics Corp | 暗号処理装置、暗号処理方法、プログラム |
JP2017079336A (ja) * | 2014-01-31 | 2017-04-27 | 国立大学法人東北大学 | サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 |
KR20160115963A (ko) * | 2014-02-03 | 2016-10-06 | 퀄컴 인코포레이티드 | 암호 알고리즘들 상의 사이드-채널 공격들에 대해 치환들을 사용하는 대책들 |
JP2017526042A (ja) * | 2014-06-24 | 2017-09-07 | クアルコム,インコーポレイテッド | サイドチャネル攻撃を妨害するための方法およびシステム |
KR20160015776A (ko) * | 2014-07-31 | 2016-02-15 | 국민대학교산학협력단 | 금융 ic 카드 암호문 데이터 생성 절차에 적합한 부채널 분석 대응 방법 |
KR20160114252A (ko) | 2015-03-23 | 2016-10-05 | 한국전자통신연구원 | 부채널 분석 연산 방법 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102020804B1 (ko) * | 2018-11-16 | 2019-09-11 | 국민대학교산학협력단 | 글로벌 최적 보안 컴포넌트 기반의 암호 알고리즘 생성 장치 및 방법 |
CN110098916A (zh) * | 2019-04-08 | 2019-08-06 | 武汉大学 | 一种基于软件指令定位的高阶侧信道分析方法 |
CN110098916B (zh) * | 2019-04-08 | 2021-07-20 | 武汉大学 | 一种基于软件指令定位的高阶侧信道分析方法 |
KR20210040669A (ko) * | 2019-10-04 | 2021-04-14 | 국방과학연구소 | 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 |
KR102297318B1 (ko) * | 2019-10-04 | 2021-09-02 | 국방과학연구소 | 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 |
KR20220093900A (ko) * | 2020-12-28 | 2022-07-05 | 국방과학연구소 | 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 |
KR102522709B1 (ko) * | 2020-12-28 | 2023-04-18 | 국방과학연구소 | 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101879809B1 (ko) | 부채널 분석에 안전한 연산 장치 및 방법 | |
Medwed et al. | Template attacks on ECDSA | |
Bos et al. | Differential computation analysis: Hiding your white-box designs is not enough | |
Choukri et al. | Round reduction using faults | |
Clavier | Secret external encodings do not prevent transient fault analysis | |
EP2207087A1 (en) | Method for protecting a cryptographic device against SPA, DPA and timing attacks | |
Agrawal et al. | Templates as master keys | |
Dabosville et al. | A new second-order side channel attack based on linear regression | |
Thiebeauld et al. | Scatter: A new dimension in side-channel | |
Tunstall et al. | Efficient use of random delays in embedded software | |
Russell et al. | Destroying Steganography via Amalgamation: Kleptographically CPA Secure Public Key Encryption. | |
Bauer et al. | Side-channel attack against RSA key generation algorithms | |
Luo et al. | Towards secure cryptographic software implementation against side-channel power analysis attacks | |
Masure et al. | Side-channel analysis against ANSSI’s protected AES implementation on ARM: end-to-end attacks with multi-task learning | |
Huss et al. | Amasive: an adaptable and modular autonomous side-channel vulnerability evaluation framework | |
You et al. | Low trace-count template attacks on 32-bit implementations of ASCON AEAD | |
Aldaya et al. | Online template attacks: Revisited | |
KR101981621B1 (ko) | 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치 및 방법 | |
Pan et al. | You cannot hide behind the mask: Power analysis on a provably secure s-box implementation | |
KR101276683B1 (ko) | Seed 암호화 시스템의 f-함수 처리 장치 및 방법 | |
Walters et al. | Sleak: A side-channel leakage evaluator and analysis kit | |
Feix et al. | Defeating iso9797-1 mac algo 3 by combining side-channel and brute force techniques | |
Mu et al. | A voltage template attack on the modular polynomial subtraction in Kyber | |
Grosso et al. | Combining Leakage-Resilient PRFs and Shuffling: Towards Bounded Security for Small Embedded Devices | |
Collin et al. | Side channel attacks against the Solo key-HMAC-SHA256 scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |