류성재 쿤텍 TND팀 책임연구원

[컴퓨터월드]

▲ 류성재 쿤텍 TND팀 책임연구원

데이터 보호를 위한 암호 기술

외부에 노출되면 안 되는 민감한 데이터를 다루는 플랫폼은 통신 기술과 데이터를 악의적인 공격으로 보호하기 위해 필수적으로 암호 기술을 사용하고 있다. 암호 알고리즘과 암호 키로 구성되는 암호 시스템은 평문의 데이터를 암호화해 외부에서 그 내용을 알 수 없도록 보호하는 기술로 예전에는 중요한 정보를 다루는 특정한 모바일 앱이나 통신 기술을 보호할 필요가 있는 기업의 서버와 같이 제한된 분야에만 활용됐다. 하지만 최근 ‘초연결 사회(Hyper-Connected Society)’가 빠르게 발전하고 IT를 기반으로 하는 다양한 제품과 서비스가 개발되면서, 다양한 플랫폼에서 사용되는 중요한 데이터를 보호하고 보안 통신 및 사용자와 기기 사이의 인증을 강화하기 위해 기술의 활용 범위가 확대되고 있다.


블랙박스 암호의 한계를 보완하는 화이트박스 암호

암호 시스템은 공격자가 암호 키를 획득하게 될 경우 암호화된 데이터를 복호화 할 수 있고 정당한 사용자로 위장하는 공격을 수행할 수 있기 때문에, 공격자의 공격으로부터 암호 알고리즘 뿐 아니라 암호 키를 보호하는 것은 매우 중요하다. 암호 기술은 블랙박스 암호(Black-Box Cryptography)와 화이트박스 암호(White-Box Cryptography)로 구분된다.

블랙박스 암호는 물리적인 하드웨어로 구성된 암호화 장치를 기반으로 작동되는 암호 기술로, 하드웨어로 구성된 암호화 장치가 외부의 공격으로부터 완벽하게 안전하다고 가정해 암호 키를 암호 장치 내부에 두고 공격자가 볼 수 없도록 설계하는 방식이다. 그러나 블랙박스 암호는 공격자에게 블랙박스의 내부가 공개되는 순간 암호 알고리즘과 암호 키가 모두 노출되기 때문에 공격자에게 쉽게 노출될 수 있어, 더 이상 완벽하지 않다는 인식이 확산됐다.

또한 암호 기술이 적용되는 분야의 확대, 각종 오픈 플랫폼의 등장으로 암호 알고리즘이 동작하는 기기가 다양해지면서 하드웨어 자체에 대한 제약이 있는 블랙박스 암호의 한계가 부각되고 있다.

오픈 플랫폼 서비스의 대표적인 활용 사례인 오픈뱅킹의 경우, 이용자가 PC를 통한 인터넷 뱅킹 뿐 아니라 스마트폰, 태블릿 등 다양한 기기를 통해서 오픈뱅킹 서비스를 이용할 수 있다. 하지만 블랙박스 암호 기술은 물리적인 하드웨어를 기반으로 구성된 장치를 통해 암호키를 숨겨두는 방식이기 때문에 블랙박스 암호 기술이 탑재되지 않은 기기를 사용할 경우 암호 보안을 지킬 수 없게 되는 등 다양한 채널에서의 이용에 제약이 있기 때문이다.

이러한 블랙박스 암호 기술의 한계를 보완할 수 있는 것이 화이트박스 암호 기술이다. 화이트박스 암호는 암호화 기술에 소프트웨어의 개념이 도입된 것으로, 공격자가 접근 가능한 환경에서도 소프트웨어를 통해 암호 알고리즘의 중간 연산 값 및 암호 키를 안전하게 보호할 수 있다. 이 때문에 공격자가 암호 시스템 내부의 동작을 분석하더라도 암호 키를 유추할 수 없어 하드웨어만으로 구성되는 블랙박스 암호의 한계를 보완할 수 있다.

또한 화이트박스 암호는 물리적인 하드웨어 장치에 국한되지 않기 때문에 암호 알고리즘과 암호 키 적용의 유연성을 보장할 수 있고, 애플리케이션의 업데이트를 통해 원격으로 암호 알고리즘에 대한 오류 수정 및 새로운 취약점에 대한 보완이 가능하다는 장점이 있다.

이러한 화이트박스 암호 기술은 소프트웨어를 기반으로 구동되기 때문에 화이트박스 암호 기술은 변조 행위나 역공학을 통한 공격을 받을 경우 암호 키가 노출될 수 있다. 이와 같은 악의적인 공격을 막고 화이트박스 암호의 보안을 강화하기 위해서는 공격자가 쉽게 변조 행위를 할 수 없도록 암호 키를 난독화할 수 있어야 하고 다양한 플랫폼 및 암호 알고리즘에 적용해 유연한 안전성을 확보해야 한다.

▲ 블랙박스 vs 화이트박스 암호환경


화이트박스 암호 보안을 위한 애플리케이션 실드 솔루션, ‘화이트크립션’

화이트박스 암호 보안을 위한 강력한 애플리케이션 보호 기능을 제공하는 ‘화이트크립션(whiteCryption)’은 하드웨어가 필요 없는 소프트웨어 기반의 화이트박스 암호화 솔루션인 ‘시큐어 키 박스(Secure Key Box)’와 소프트웨어 코드의 저항성을 높인 앱 해킹 방지 솔루션인 ‘코드 프로텍션(Code Protection)’으로 구성돼 있다.

이 중 화이트박스 암호 보안을 강화할 수 있도록 지원하는 ‘화이트크립션 시큐어 키 박스’는 키 생성, 암호화, 디지털 서명, 동적 키 래핑과 같은 기본적인 암호화 기능을 보호할 수 있으며 화이트 박스 암호 실행 중에도 암호 키를 항상 인코딩해 암호 키가 메모리에 노출되지 않도록 보호한다.


포괄적인 크로스 플랫폼(Cross-Platform) 암호화 라이브러리

기존의 화이트박스 기반 암호화 함수는 암호 키 값을 인자로 암호화를 수행하기 때문에 암호 키 노출에 대한 위협을 받을 수 있다는 단점이 있다. 하지만 ‘화이트크립션 시큐어 키 박스’는 화이트박스 상에서 구현된 개방형 또는 제로 트러스트 환경에서 실행되는 암호 알고리즘 및 암호 키를 사용하는 모든 애플리케이션을 지원할 수 있는 포괄적인 크로스 플랫폼(Cross-Platform) 암호화 라이브러리다. DES, AES, RSA, SPECK, ECC, ECDSA, DH, ECDH, SHA 등의 광범위한 암호화 알고리즘을 제공하는 것은 물론 맞춤형 암호 알고리즘까지도 지원할 수 있으며, 다양한 암호 알고리즘을 고도화해 제공하고, 표준 암호화 함수를 불분명한 형태로 생성해 암호화를 수행하도록 설계하기 때문에 공격자의 각종 변조 행위로부터 암호 키를 보호할 수 있다.

또한 소프트웨어 애플리케이션에 존재하는 기존 암호화 모듈을 정적 시큐어 키 박스 라이브러리를 추가하고 기존에 작성한 암호화 코드를 시큐어 키 박스 API로 교체하거나 빌드하는 등의 간단한 절차만으로 적용할 수 있어 암호 알고리즘 적용의 이식성이 뛰어나다. 이를 통해 기존의 애플리케이션과 기능적으로 동일하면서도 강력하게 암호 키를 보호할 수 있다는 장점을 가진다.

‘화이트크립션’은 글로벌 임베디드 장비 보안 테스트 기관 리스큐어(Riscure)의 다중 부채널 공격, 결함 주입 공격, 역공학을 이용한 공격 테스트인 ‘AES-128’ 공격 테스트를 통과해 플랫폼의 안전성을 인정받았으며, 화이트박스 암호를 보호하기 위한 암호 보안 솔루션 중 유일하게 암호 키 해킹 기술인 DFA(Differential Fault Analysis)/DCA(Differential Computation Analysis) 부채널 공격에 대한 보안성을 검증 받아 화이트박스 암호를 기반으로 설계되는 다양한 제품과 서비스에서의 암호 키 보안에 가장 적합하다는 평가를 받고 있다.


‘화이트크립션’을 통한 콘텐츠 보안 사례

화이트박스 암호 기술을 통해 블랙박스 암호 기술의 한계를 보완할 수 있는 것은 사실이지만 화이트박스 암호 기술 역시 완벽한 암호 보안을 보장하는 것은 아니기 때문에 화이트박스 상에서 구현되는 암호 보안을 강화하기 위해서는 고도화 된 전문 보안 도구를 사용할 필요가 있다.

실제로 DRM(Digital Right Management) 관련 분야에서는 해커들의 악의적인 정보 침해 공격인 크래킹(Cracking)을 통한 침해 사고로 개인정보 등의 민감한 데이터가 유출되는 피해 사례가 다수 발생하고 있다. 제품 개발에 사용된 칩 해킹 공격으로 심각한 콘텐츠 및 데이터 탈취 피해를 입은 글로벌 엔터테인먼트 기업 S사는 암호 키 보안 강화를 통해 해커의 크래킹 공격으로부터 데이터 자산을 보호하기 위하여 화이트크립션의 대칭키 암호화 알고리즘 기술을 적용했고, 화이트크립션의 키 보호 기능 적용 이후 콘텐츠에 대한 침해 사고가 한 건도 발생하지 않은 것으로 나타났다.

 

▲ 화이트크립션 시큐어 키 박스 적용 알고리즘

 

앞서 언급한 사례에서 알 수 있듯이 ‘화이트크립션’은 암호화 및 복호화 과정에서도 암호 키가 원본의 형태로 노출되지 않도록 해 암호 키를 안전하게 보호할 수 있으며 뛰어난 데이터 난독화 기술을 기반으로 애플리케이션에 행해지는 잠재적인 공격을 차단할 수 있어 암호 시스템 보안을 강화할 수 있다. 또한 ‘화이트크립션’은 구글, 네이버 라인, 샤오미 등 다양한 글로벌 기업과 카카오뱅크와 같이 민감한 데이터와 강화된 인증 서비스를 다루는 국내 대형 기업을 고객으로 확보하여 기술의 안정성을 인정받고 있다.


다양한 분야의 암호 보안 강화 지원

‘화이트크립션’은 강력한 애플리케이션 보호 기능을 제공하면서도 다양한 플랫폼에 적용할 수 있다는 장점을 가진다. 안드로이드, iOS, 윈도우, 맥OS, 리눅스와 같은 IT 디바이스 뿐 아니라 OS with a GNU/Clang C/C++ 컴파일러를 지원해 tvOS, 구글 네이티브 클라이언트(Google Native Client, NaCl), 플레이스테이션3, MinGW, QNX 등의 다양한 IoT 디바이스를 지원한다.

더불어 웹어셈블리(WebAssembly) 지원을 통해 IE, 파이어폭스, 크롬, 사파리, 오페라, 삼성 인터넷 등 표준 웹 브라우저가 동작되는 모든 디바이스에 화이트박스 암호 기술을 적용할 수 있어 다양한 환경과 플랫폼에 폭넓게 적용할 수 있다. 이와 더불어 ‘화이트크립션’은 소프트웨어 모듈이 라이브러리 형태로 제공되기 때문에 다양한 개발환경에서도 쉽게 적용할 수 있다.

‘화이트크립션’은 이와 같은 플랫폼 적용의 유연성을 바탕으로 최근 공인인증서 제도 폐지, 핀테크(FinTech), 테크핀(TechFin)의 확산으로 화이트박스 암호의 중요성이 부각되고 있는 금융권 뿐 아니라 콘텐츠 및 데이터에 대한 보호가 필요한 DRM(Digital Right Management) 분야, 산업제어시설(ICS, Industrial Control System), 국방 무기체계, IoT 산업 등 암호 키 보안이 필요한 다양한 분야에서 관심을 보이고 있다.

특히 자율 주행 기술의 발전으로 소프트웨어가 고도화 되고 있는 자동차 산업에 적용해 자율 주행 기술과 관련된 소프트웨어는 물론 자동차의 차량 도어 잠금 장치와 같은 기본적인 차량 관련 소프트웨어의 암호 키를 보호해 안전한 차량 운행을 보장할 수 있으며, 환자의 생체 정보와 관련된 데이터, 의료 장비의 조작과 관련된 다양한 애플리케이션의 보안이 요구되는 의료 산업에 적용해 큰 보안 효과를 거둘 수 있을 것으로 전망된다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지