경량암호
경량암호(LEA; Lightweight Encryption Algorithm)란 현재 연구 개발 및 표준화가 가장 활발한 암호기술 분야 중 하나로, 가용 자원이 제한된 다양한 환경에서 효율적으로 구현되고 동작할 수 있는 암호 알고리즘을 의미한다. HIGHT, LEA, CLEFIA, DESXL, KASUMI, PRESENT 등이 경량암호 알고리즘에 속한다.
개요
사회의 전반적인 생활 영역에 사물인터넷 기기가 많아지자 이를 안전하게 지킬 보안이 중요한 문제가 되었다. HP의 2015년 보고서에 의하면 10개의 사물인터넷 기기중 7개가 인터넷이나 LAN과 통신할 때 암호화를 하지 않았다는 결과가 나왔다. 이러한 스마트 기기의 보안을 따로 중점적으로 보는 이유는 사물인터넷의 특성에 따른 하드웨어의 제한된 면적과 전력 소비량, 메모리 크기 등의 제약을 받기 때문이다. 이런 제한된 환경에서 필요한 것이 바로 경량 암호 기술이다. 경량 암호 기술은 현재 연구 개발 및 표준화가 가장 활발한 암호기술 분야 중 하나로, 경량 암호기술 외에는 미국 국립표준기술연구소가 공모 사업을 진행하고 있는 양자컴퓨팅에 안전한 공개키 암호가 있고, 도청에 대해 물리적으로 완벽한 안전성을 제공하는 양자키분배 기술도 있다.
기존에는 AES와 DES와 같은 암호화 방식이 사용되고 있다. 스마트 기기 또한 높은 보안을 보장하는 AES를 적용해도 문제는 크게 없지만, 경량 알고리즘을 사용할 때와 비교하면 제한된 환경으로 인하여 속도가 감소하거나 기기에 과부하 현상이 일어날 수 있어 낮은 성능을 보여준다. 따라서 다양한 경량 암호 알고리즘의 종류나 특징을 분석하여 사물인터넷 환경에 보다 적합한 알고리즘을 적용해야만 한다.
경량 블록 암호 알고리즘을 형태에 따라 분류하면 크게 SPN 형태와 파이스텔(Feistel) 형태로 나뉜다. SPN 형태는 S-box와 P-box를 사용하며, 병렬 연산이 가능하고 암호화와 복호화 모듈이 동일하지 않다는 특징을 가지고 있다. SPN 형태의 대표적인 예시가 바로 가장 널리 사용되는 AES이다. 파이스텔 형태는 ARX-Based라고도 하며, 모듈러 연산, XOR 연산을 사용한다. 파이스텔 형태의 대표적인 예시가 DES인데, 보안에 취약해서 이 이상 많이 사용되지 않는 알고리즘이다.[1]
동향
경량 암호는 기존의 암호화 알고리즘 분야에서 최근 이슈가 되는 개념이다. 초연결 시대가 도래함에 따라 더 작은 기기에서, 더 많은 데이터를, 더 빠르게 암호화해야할 필요성이 대두되고 있으며, 이에 따라 ISO/IEC는 경량 암호를 하나의 분야로 보고 표준화를 진행하고 있다. 경량 암호 표준은 다양하게 나뉘는데, 가장 논의가 치열하면서 기술 집약적인 분야가 바로 블록암호이다. 일본의 프레젠트(PRESENT)와 일본의 소니에서 만든 클레피아(CLEFIA)를 예로 들 수 있는데, 실질적인 활용도는 높지 않은 편이다.
미국 국가 안보국은 2013년에 두 개의 경량 블록암호 SIMON/SPECK를 발표했다. 기존의 블록암호보다 우수한 경량성을 갖고 있고, 미국 국가 보안국이 처음으로 공개적으로 개발한 알고리즘이기도 하다. 미국 국가 안보국은 2016년에 ISO/IEC 암호기술 그룹에 제출했지만, 2013년 스노든의 폭로로 밝혀진 백도어의 여파가 강했다. 기존에는 미국이 제안한 암호들은 ISO/IEC의 표준으로 비교적 쉽게 채택됐다. 그러나 미국 국가 보안국이 제안한 난수발생기 표준에 백도어 삽입 의혹이 발표된 후로 상황은 반전됐다. 표준화 회의에 참석한 전문가들은 설계 부분의 투명성에 대하여 계속해서 문제를 제기했고, 미국은 이에 응하여 해명을 했다. 그러나 2018년 봄 중국 회의에서 표준화 추진 취소 절차가 진행되었으며, 결국 국가 단위 투표를 진행한 끝에 2018년 8월에 표준화 추진 취소가 최종적으로 확정되었다. 국내에서는 사물인터넷 환경에 적합한 암호화 기술을 확보하기 위하여 2014년에 개발한 고속경량 블록암호 LEA를 2016년에 경량 블록암호 표준으로 제안했다. LEA는 소프트웨어에서의 최적속도를 위하여 덧셈과 비트순환, XOR만으로 연산하는 매우 간단한 구조를 채택했다. 2015년에 룩셈부르크대학 개발경량암호 성능 측정 프레임워크를 활용한 구현경진대회에서 128비트 블록암호 부분의 1위를 차지하는 등 경량 소프트웨어 환경에서 우수한 성능이 검증되었으며, 현재 가장 널리 사용되는 국제표준 블록암호 AES와 비교하여 약 1.5배 이상의 속도를 제공한다. LEA와 SIMON/SPECK 모두 사물인터넷 환경에서 우수하고 유사한 구조를 갖고 있지만, LEA는 안전한 설계로 인해 안전성이 견고하며, AES 개발 기관이자 암호관련 연구 개발 선도하는 벨기에 루벤 대학 등 제삼자의 객관적인 안전성 평가를 갖고 있다. 한편, ISO/IEC 일반 블록암호 표준에는 우리나라의 블록암호인 SEED와 HIGHT도 있다. 그러나 SEED와 HIGHT는 국제표준 AES 대비 낮은 성능을 보여주고 있어서 암호제품의 국제 경쟁력 확보에는 한계가 있다.[2]
종류
국내
- LEA
- 2013년 국가보안기술연구소에서 개발한 GFN 구조의 경량 블록 암호 알고리즘이다. 32비트 플랫폼에 최적화되어 있으며, 블록 사이즈는 128비트이고, 128/192/256 비트 키가 있다. 소프트웨어 구현 및 활용을 목적으로 설계된 알고리즘이다. 국제 표준에 등록된 PRESENT나 CLEFIA는소프트웨어보다 하드웨어를 구현하는 데 더 효율적이다. 반면에 LEA는 소프트웨어에서의 구현과 활용을 목적으로 설계되었다. 사물인터넷의 발전으로 소프트웨어 구현이 더 필요해질 수도 있다는 가능성을 고려한다면 어떤 경우에서는 LEA가 적절한 선택일 수 있다. LEA는 현재까지 알려진 모든 블록 알고리즘에 대한 공격에 안전하다. 룩셈부르크 대학교의 암호연구그룹에서 제작한 FELICS의 두 가지 측정 시나리오에서 128비트 키 블록암호들 중에서 각각 3위와 4위를 차지하여 128비트 블록 암호 중에서는 가장 뛰어난 성능을 보이는 알고리즘이다.
- HIGHT
- HIGHT는 국내에서 개발한 GFS 구조의 경량 블록 암호 알고리즘이다. 블록 사이즈는 64비트이며, 128비트의 키가 있다. HIGHT의 모든 연산은 8비트 프로세서에 최적화되어 있고, 8비트 소프트웨어 구현시에는 AES-128보다 HIGHT가 더 뛰어난 성능을 보인다. 차분 오류 주입 공격과 부채널 공격 중 가장 강력한 차분 전력 분석이 제기되었다.
국외
- PRESENT
- PRESENT는 AES 기반의 SPN 형태의 경량 블록 암호 알고리즘이다. 블록 사이즈는 64비트이고, 키 사이즈는 80과 128비트 두 종류가 있으며, 31라운드로 구성된다. Sbox, XOR 연산 등을 수행한다. AES와 비교하면 암호화 등급은 낮으나, 하드웨어 설계에서는 훨씬 좋은 성능을 가지는 알고리즘이다. AES에 비해 2.5배 작은 하드웨어 설계가 가능하며, 면적과 소비전력의 효율을 높여서 RFID, 스마트카드, USN과 같은 시스템에 적합하다.
- PRESENT는 차분 오류 공격이 제기된 바가 있다. 부채널 공격 기법에 해당하는 차분 오류 공격은 암호의 안정성 분석에서도 자주 사용되는 방식이다. 공격 방법은 다음과 같다. 공격자 이브는 총 31라운드 중에서 28라운드의 입력 레지스터에 2바이트 오류를 입력한다고 하자. 이를 통해 80비트 키의 경우에는 3개의 오류를 이용하여 평균 개의 후보 비밀키를 얻을 수 있다. 비밀키는 이러한 과정을 통해 복구될 수 있다.
- CLEFIA
- 소니에서 개발한 CLEFIA는 파이스텔 형태의 경량 블록 암호화 알고리즘이다. 블록 사이즈는 128비트이고, 키 사이즈는 127/192/256 세 가지이다. 키의 크기에 따라 18, 22, 26 라운드로 구성된 CLEFIA는 DRM 시스템에 적용하기 위해 만들어진 알고리즘으로, DRM 시스템이란 출판자 혹은 저작권 소유자가 배포한 하드웨어나 디지털 자료가 이들이 허용하고 의도한 용도로만 제한적으로 사용될 수 있도록 만드는 모든 기술을 의미한다.
- CLEFIA도 다중 불능 차분 공격이 제기되었다. 소니에서 공개한 자체 평가에서는 선형 공격, 차분 공격, 불능 차분 공격, 연관키 공격 등이 있다. 차분 오류 공격을 이용하면 128비트 키의 경우 비밀키 전체를 복구하는데 평균적으로 18개의 오류 암호문으로 복구가 가능하다. 또한, 192비트 키와 256비트 키의 경우 평균 54개의 오류 암호문으로도 복구할 수 있다.
- SIMON/SPECK
- SIMON은 파이스텔 형태의 경량 블록 암호화 알고리즘이다. 미국 국가 안보국에서 제안한 알고리즘으로, 32/48/64/128 비트의 블록 사이즈가 있으며, 블록 사이즈 각각에 대해 64/72, 96/96, 128/96, 144/128, 192, 256의 키 사이즈가 있다. 라운드는 블록 사이즈 각각에 대해 32/36/42, 44/52, 54/68, 69, 72가 있다. XOR, AND 연산 등을 사용하며, 블록 크기가 다양하여 길이가 긴 데이터 암호화의 경우 상황에 맞춰서 효율적으로 선택할 수 있다.
- SPECK도 미국 국가 안보국에서 제안한 경량 블록 암호화 알고리즘이며, ARX 형태이다. 32/48/64/96/128 비트의 블록 사이즈가 있고 블록 사이즈 각각에 대하여 64/72, 96/96, 128/96, 144/128, 192, 256의 키 사이즈가 있다. SPECK도 XOR 연산을 사용하며, 라운드는 블록 사이즈 각각에 대하여 22/22, 23/26, 27/28, 29/32, 33, 34가 있다.
- 미국 국가 안보국은 SIMON은 하드웨어 플랫폼, SPECK는 소프트웨어 플랫폼에 최적화되도록 개발했지만, 양 쪽 모두 두 영역에서 좋은 성능을 낸다. 미국 국가 안보국의 보고서에서 다른 알고리즘과 비교하고 다양한 하드웨어 상에서 성능 비교 분석을 한 결과이기 때문에 어느 정도 검증이 되어있다. 그러나 미국 국가 안복구의 보고서에서는 보안 능력과 관련한 내용은 없다.
- 다양한 블록과 키 길이 지원으로 여러 환경에서의 구현을 지원한다는 것이 큰 장점이지만, 48비트 블록의 보안 취약성과 ARX 구조 발전 가능성, 미국 국가 안보국을 향한 불신으로 인해 ISO/IEC 국제회의에서 표준화를 반대했다.[1][3]
각주
참고자료
- 노동영, 권대성, 〈[차세대 표준암호기술 동향]〉, 《정보통신기획평가원》, 2019-09-25
- 박채원, 〈[표준 경량 블록 암호 알고리즘들의 분석과 사물인터넷에 적용에 관한 조사]〉, 《시맨틱스칼라》
- 한양대학교 산학협력단, 〈[경량 암호 알고리즘(HIGHT)의 하드웨어적 구현 방안 연구]〉, 《한국인터넷진흥원》, 2011-11
같이 보기