본문 바로가기
  • 홈으로
  • 128비트 블록 암호 LEA 표준

더 빠르게, 더 가볍게, 더 강력하게!

‘128비트 블록 암호 LEA(Lightweight Low-power Encryption Algorithm)’ 기술이란

블록 암호는 64 또는 128비트와 같은 짧은 특정 길이의 데이터 블록을 기본 처리 단위로 암호화 또는 복호화를 수행하는 암호기술입니다. 암호문으로부터 평문을 얻는 복호화 과정에서 암호화 과정과 동일한 암호 키(이하 비밀키)를 사용해야 하는 대칭 키 암호기술의 일종이며, 블록 암호 알고리즘 중 하나입니다. 사용 가능한 키 길이는 요구되는 데이터의 보안 강도에 따라 128, 192, 256비트로 구분할 수 있습니다.

[그림 1] 대칭 키 암호 암ㆍ복호화 과정

3년간의 개발을 통해 2013년에 공개된 128비트 블록암호 LEA는 소프트웨어 환경에서 현재 미국 연방정부 표준 블록 암호인 AES*의 성능을 능가하면서 효과적인 경량 구현이 가능하도록 설계되었습니다. LEA는 당시 새로운 정보통신기술로 주목받고 있던 사물인터넷(IoT) 환경을 구성하는 기기, 네트워크, 서비스, 플랫폼의 경량 및 저전력 운용 특성을 고려하여 설계되었으며, 기술발전에 따라 32 또는 64비트 프로세서를 탑재한 기기의 활용이 증가하고, 기기에 적용되는 보안 기능을 위해 별도의 하드웨어 전용 칩이 아닌 소프트웨어로 구현된 정보보호 시스템이 적용될 것이라는 판단에 근거하여 개발되었습니다. 기존의 설계 목표를 달성하기 위해 기존 대다수 블록 암호 알고리즘의 설계에서 활용되었던 설계기술(비선형 치환 기반의 구조)과는 차별화된 ARX 구조*를 활용한 것이 LEA의 특징입니다. 따라서 LEA는 ARX 구조가 가진 코드 크기 대비 빠른 동작의 장점을 유지하면서, 정량적인 안전성 분석과 병렬처리를 통한 고속화 구현도 가능합니다. 이러한 특성을 통해 LEA는 경량 구현이 요구되는 제한된 자원을 가진 환경뿐만 아니라 많은 양의 데이터를 빠른 속도로 암호화해야 하는 환경에서도 경쟁력을 가지고 있습니다.

  • *AES(Advanced Encryption Standard) : DES를 대체하여 미국 정부에서 활용할 새로운 블록 암호 알고리즘을 채택하기 위해 미국표준기술연구소(NIST)에서 주관한 국제 공모(Development of a Federal Information Processing Standard for Advanced Encryption Standard, 1997~2000)에서 선정된 128비트 블록 암호 알고리즘
  • *ARX 구조: 범용 프로세서가 제공하는 명령어 집합을 효과적으로 활용할 수 있는 모듈러 덧셈(Addition), 비트 회전(Rotation), 배타적 논리합(eXclusive OR) 연산의 조합. 연산속도가 빠르고 비선형 치환 테이블 저장에 필요한 메모리가 불필요하여 코드 크기 또는 코드 크기 대비 속도를 높일 수 있다는 것이 장점, 하지만 비선형 치환(S-box) 기반 구조에 비해 안전성 확보를 위한 라운드 수의 증가가 불가피하고, 안전성 분석이 어렵다는 단점 보유
  • *비선형 치환(S-box): 입력과 출력 사이의 관계식이 복잡하게 표현되도록 하는 작은 크기(주로 4 또는 8비트)의 입출력을 가지는 치환 함수로, 주로 사전 계산된 입출력 표의 형태로 구현에 사용

LEA와 기존 기술과의 차별점

2013년 LEA가 개발된 당시, 국내에서 개발한 블록 암호 알고리즘으로 SEED, ARIA, HIGHT가 있었습니다. SEED와 ARIA는 LEA와 같은 128비트 블록 암호 알고리즘으로, DES*나 AES와 같이 범용성을 가지도록 개발되었으나, AES 대비 성능 측면의 장점이 없어, 정책적인 수요 이외에 현재 부각되고 있는 ICBM(IoT, Cloud, Big data, Mobile) 환경에서의 새로운 암호제품 수요 창출이나 경쟁력 강화의 여지를 찾기 어려운 것이 단점입니다. 또한 HIGHT의 경우 국내에서는 하드웨어 경량 환경에 특화된 자체 수요를 찾기 어렵고 이외의 환경에서는 역시 성능 문제를 가지고 있습니다.

반면 LEA는 소프트웨어 환경에서 AES를 능가하는 성능의 경량, 고속 구현이 모두 가능하다는 점에서 기존의 표준 블록 암호 알고리즘과 차별화됩니다.

LEA의 전체 구조와 암ㆍ복호화 과정 자체는 다른 블록 암호 알고리즘과 크게 다르지 않으나 다른 블록 암호 알고리즘과 차별화하는 LEA의 핵심 요소는 라운드 함수입니다. LEA에서 ARX 구조가 적용된 부분이 바로 라운드 함수로, 32 또는 64비트 프로세서에서 최적으로 동작하면서 안전성을 보장할 수 있도록 32비트 단위 연산이 정교하게 배치되었습니다. 라운드 함수는 비밀 키의 길이와 독립적으로 정의되지만, 키 스케줄 함수는 안전성 수준에 따른 라운드 함수 반복 횟수 증가를 고려하여 다른 방식으로 정의되어 있습니다.

[그림 2] LEA 암호화 라운드 함수
  • * DES(Data Encryption Standard): 1970년대 IBM에서 개발하고 미국 정부가 채택하여 활용한 64비트 블록 암호 알고리즘으로 56비트 비밀키를 사용. 계산 자원의 발전으로 암호 키 전수조사 공격과 같은 위협이 점차 현실화됨에 따라 이후 개발된 AES로 대체
  • *암호화 과정: 암호화를 위해서 주어진 길이의 평문과 비밀키를 입력받아 라운드 함수를 정해진 라운드 수만큼 반복 수행하여 암호문을 생성. 여기에서 각 라운드 함수는 일반적으로 동일한 구조로 되어 있으나 서로 다른 라운드 키가 적용되어 독립적인 요소로서 역할. 이때 라운드 키는 키 스케줄 함수를 이용하여 비밀키로부터 생성됨. 복호화 과정은 암호화 과정과 유사한 형태로 동작.

‘128비트 블록 암호 LEA’ 표준이란

‘128비트 블록 암호 LEA’ 표준(이하 LEA 표준)은 블록 암호 LEA를 구현하거나 검증하는데 참조할 수 있는 규격과 참조 구현 값을 정의한 표준입니다. 구체적으로 살펴보면, LEA 표준은 LEA의 전체 구조와 암ㆍ복호화 과정에서 반복 동작하는 라운드 함수, 그리고 라운드 함수의 변화 요소로 작용하는 라운드 키를 생성하는 키 스케줄 함수를 규정하고 있습니다.

[그림 3] LEA 암ㆍ복호화 과정

LEA의 동작 방식을 규정하고 있는 LEA 표준은 32 또는 64비트 플랫폼 등을 대상으로 고속, 경량, 저전력을 요구하는 소프트웨어 암호제품 및 정보보호 시스템에 다양하게 활용되어 국내 정보통신망의 안전성과 신뢰성을 제고하는 데 기여할 수 있습니다. 특히 LEA 표준은 기존의 국내 표준 블록 암호 알고리즘을 적용하기 어려운 신규 ICBM 환경에서 정보시스템에 대한 기밀성과 무결성 등 주요 정보보호 서비스를 제공하는 데 필요한 암호기술 수요에 선제적으로 대응하고 실제로 활용하는데 필요한 준비 장치입니다.

표준을 제정한 이유

암호 알고리즘의 우수성은 실제 암호제품에 탑재되어 정보통신망 보안에 활용되었을 때 비로소 가치를 가질 수 있고, LEA가 암호제품 시장에서 실제로 활용되기 위해서 먼저 필요한 것이 표준이었습니다.

암호화된 데이터를 주고받는 사용자들은 LEA를 탑재한 동일 기능의 서로 다른 회사에서 개발한 암호제품을 사용하더라도 데이터를 공유할 수 있어야 합니다. 이러한 상호 운용성을 보장할 수 있게 하는 것이 바로 ‘128비트 블록 암호 LEA’ 표준이었습니다. 표준이 있으면 향후 발생 가능한 기술적/정책적 변화를 반영하여 개정되는 문서를 표준이라는 체계를 통해 공신력을 가지도록 관리할 수 있으며, 이를 LEA를 탑재하는 암호제품 개발, 검증 시 활용할 수 있습니다. 개발자는 구현 과정에서 표준을 참고하여 처리 단계별 중간값과 최종 결과값을 참조 구현 값과 비교하여 LEA가 정확하게 구현되었는지를 확인할 수 있고, LEA가 탑재된 암호제품을 평가하는 기관에서도 LEA 구현 정확성 검증의 첫 단계로 표준에서 제시하는 참조 구현 값과의 일치 여부를 확인할 수 있습니다.

뿐만 아니라 표준을 통해 누구나 최신 규격과 변경 사항들을 쉽게 확인할 수 있다는 장점이 있습니다. 이러한 사항들을 고려하여 알고리즘을 공개한 2013년에 LEA 규격의 국내 표준화를 추진했습니다.

표준이 제정된 과정

LEA는 그 우수성을 확인하는 것과 동시에 LEA의 안전성 및 투명성에 대해 객관적인 자료를 확보하기 위해 표준화에 앞서 학계 발표를 통해 전문가들의 충분한 검증을 받았습니다. LEA가 ‘백도어를 이용한 암호 알고리즘 부정 사용의 여지가 없다는 것’에 대한 객관적인 보장을 위해, 국가보안기술연구소(NSR)에서는 구체적인 설계안을 도출한 후 국외(벨기에) 암호 전문 연구기관인 COSIC에 알고리즘의 안전성과 성능에 대한 평가를 의뢰했습니다. AES 개발자가 직접 참여한 평가에서, LEA는 “매우 주목할 만한 설계이고 일반 CPU에서의 성능이 매우 인상적이며, 현재까지 알려진 모든 블록 암호 공격 방법에 안전하다”는 결과를 받았습니다.

개발 완료 후 한국정보통신기술협회(TTA) 표준으로 제안하는 과정에서는 국제학회에 발표한 논문과 함께 COSIC의 평가 결과를 같이 제시하여 LEA의 신규성(차별성)과 성능이 탁월함을 인정받았습니다. 특히 ICBM 환경에서 LEA가 AES를 비롯한 기존의 표준 블록 암호 알고리즘 대비 우수한 성능의 소프트웨어 경량/고속 구현이 가능한 장점이 있다는 점이 표준화 회의에서 인정을 받아 이후 원활하게 표준화 작업이 진행되었습니다.

표준을 활용한 구체적인 사례

LEA는 2015년 암호 모듈검증(KCMVP) 제도*의 검증대상 암호 알고리즘으로 지정된 이후 2019년 8월 19종의 LEA 적용 암호 모듈이 검증을 통과하였습니다. 이들은 국가, 공공의 정보시스템에 도입되는 소프트웨어 라이브러리 암호제품에 탑재되어 활용되고 있습니다. 공개 암호 라이브러리에 적용된 사례로는 국가보안기술연구소에서 LEA의 이용 활성화를 위해 제작, 배포하는 고속 구현 코드와 공개 암호 알고리즘 라이브러리인 CRYPTO++*이 있습니다. 그리고 LEA를 적용한 단독 소프트웨어 제품으로는 알집(AlZip)이 있습니다. 알집 10.5 버전 이후부터 EGG 압축파일의 암호화 기능에 LEA를 지원하고 있습니다.

  • *암호모듈검증(KCMVP, Korea Cryptographic Module Validation Program) 제도: 전자정부법 시행령 제69조와 [암호모듈 시험 및 검증지침]에 따라 국가ㆍ공공기관 정보통신망에서 소통되는 자료 중에서 비밀로 분류되지 않은 중요 정보의 보호를 위해 사용되는 암호모듈의 안전성과 구현 적합성을 검증하는 제도
  • *LEA 고속 구현 코드: C, Java, Python 언어로 작성된 LEA 소스코드와 OpenSSL과 연동해서 사용할 수 있는 코드를 제공
  • *CRYPTO++: 다양한 암호 알고리즘을 구현한 오픈 소스 C++ 클래스 라이브러리로 LEA는 버전 8부터 포함
[그림 4] LEA 적용 사례 - 알집

향후 LEA의 전망

LEA는 국내 표준 블록 암호 알고리즘 중에서 가장 우수한 성능을 바탕으로 경량 구현이 가능해야 하는 사물인터넷 환경, 고속으로 동작해야 하는 클라우드와 빅데이터 환경, 그리고 이들을 포괄하는 5G 모바일 환경에 모두 적용 가능합니다. 국내 정보통신 환경에서 ICBM 환경의 비중이 증가함에 따라 LEA의 사용 또한 증가할 것으로 기대되고 있습니다.

또한 향후 암호 모듈검증(KCMVP)을 통과한 암호 모듈이 탑재된 국가ㆍ공공 정보통신망의 정보보호 시스템을 시작으로 민간 영역까지 LEA의 적용이 확대될 때는 LEA는 국산 암호제품의 시장 경쟁력을 강화하는 데 기여할 수 있을 것으로 예상됩니다.LEA가 국제표준(ISO/IEC29192-2)으로 제정됨(2019.10.24)으로써, 향후 LEA를 적용한 국산 암호제품의 해외 시장 확대에도 기여할 것으로 기대하고 있습니다.

표준의 활용도 향상을 위해 보완되어야 할 점

LEA의 표준화는 KS 표준화(KSX3246, 2016.10.)에 이어 현재 ISO 표준 제정을 눈앞에 두고 있으며, 알고리즘 자체에 대한 표준화는 마무리되는 단계입니다. 하지만 LEA의 활용성을 제고하기 위해서는 TLS, IPSec과 같이 정보보호 시스템에서 널리 활용되고 있는 각종 암호 프로토콜을 대상으로 LEA를 사용할 수 있도록 하는 방법이 표준으로 제정될 필요가 있습니다. 이러한 표준을 개발하는 기구(IETF)가 기존(ISO)과 다르고 표준화에 참여하는 전문가들의 관심 분야가 실제 제품 개발 및 활용 측면에 집중되어 있어, 지금까지와는 다른 전략을 가지고 단계별로 표준화를 진행할 필요가 있습니다.

정보보호 시스템 전반에서도 다양한 영역에서 블록 암호 알고리즘의 사용이 확대될 전망이기 때문에, 정보보호 시스템 운용 전반의 관련 표준/가이드라인에서 LEA(표준)가 반영될 수 있도록 국내 표준화 전문가들의 관심과 지원이 필요합니다.

128 비트 블록 암호 LEA 표준 안내
표준명 표준번호 목적 및 내용
128 비트 블록 암호 LEA TTAK.KO-12.0223
  • · 정보처리 시스템 및 정보통신망 환경에서 비밀키를 사용하여 블록 단위로 데이터를 변환하는 암호 알고리즘을 규정함
  • · 블록 암호 LEA(Lightweight Encryption Algorithm)의 전체 구조 및 암호화 과정과 복호화 과정의 라운드 함수를 정의하고 있으며, 각 과정에서 라운드 함수의 비밀요소로 사용되는 라운드 키를 비밀키로부터 생성하는 방법을 정의하고 있음
  • · 범용 32비트 플랫폼을 대상으로 고속, 경량, 저전력을 요구하는 소프트웨어 암호제품 및 정보보호 시스템에 다양하게 활용되어 국내 정보통신망의 안전성과 신뢰성을 제고할 수 있음

더 많은 이야기는 영상을 통해 확인하세요.

글과 인터뷰

박제홍 책임
국가보안기술연구소