SW 못믿겠다?…HW보안기술 'TPM' 주목

일반입력 :2014/05/19 16:49    수정: 2014/05/19 16:50

손경호 기자

공인인증서 유출 사고를 포함해 끊임없이 이어지는 보안사고를 소프트웨어(SW) 기술로 막기에는 한계가 따른다. 프로그램은 사람이 개발한 탓에 보안 취약점이 존재하기 마련이다. 마이크로소프트(MS)가 쉼없이 보안업데이트를 내놓는 것도 이런 이유 때문이다.

이런 가운데 아예 하드웨어(HW)적인 방법으로 보안문제를 해결하자는 아이디어가 주목 받고 있다. '트러스티드플랫폼모듈(TPM)'이 대표적이다.

10년도 넘은 TPM 프로젝트는 PC, 서버, 네트워크 기기, 스마트폰 내부에 별도 칩을 만들어 거기에 암호화 기능을 위한 공개키, 개인키, 비밀번호, 공인인증서(전자서명) 등을 모두 집어 넣자는 아이디어에서 출발했다. 해커들이 해당 칩을 물리적으로 훔치지 않는 이상 해킹이 불가능하도록 하겠다는 것이다. 국내로 따지면 스마트폰 유심칩을 보안용으로 활용하자는 것과 비슷하다.

이에 대해 오픈소스 진영에서는 마이크로소프트(MS), 인텔, HP, IBM 등에 대한 종속이 심해질 수 있다면 이같은 아이디어에 반대 논리를 펴기도 한다.

2003년 MS, 인텔, HP, IBM, 시스코, 웨이브시스템 등 글로벌 IT회사들은 2003년 트러스티드컴퓨팅그룹(TCG)를 결성했다. TCG는 여러 IT기기에서 핵심적인 기능을 담당하고 있는 반도체 내에 암호화 기능 구현을 위한 공개키, 개인키, 전자서명 등을 저장해 사용하는 방법인 '트러스티드플랫폼모듈(TPM)'을 선보였다.

지난달 TCG는 TPM2.0 라이브러리 규격을 새롭게 발표했다. 새 규격은 기존 PC는 물론 모바일 기기에 저장된 데이터까지 보호할 수 있는 방법을 제공한다.기존 TPM1.2에 비해 강화된 것은 모바일 기기 및 임베디드시스템 등 까지 지원한다는 점이다. 또 여러가지 다양한 암호화 알고리즘과 함께 일반적으로 사용되는 공개키, 대칭키 암호화 방식, 전자서명 등을 안전하게 보관할 수 있도록 지원한다.

공개키, 전자서명은 우리나라에서는 공인인증체계에 적용된 기술이다. 국내에서는 공인인증서(전자서명), 공개키, 개인키들을 하드디스크 내 NPKI라는 폴더 내에 저장해 유출이 쉽도록 했다는 점이 그동안 여러차례 문제로 지적돼 왔었다.

TPM을 여기에 도입하면 PC 내에 탑재된 반도체 안에 해당 내용을 모두 저장해 더 복잡한 암호화 알고리즘으로 보호할 수 있게 되는 것이다. 마치 보안토큰을 PC내에 저장해 놓고 필요할 때마다 꺼내 쓰는 것과 같은 역할을 한다.

TCG에 따르면 현재까지 약 20억대 이상 기기에 TPM 기술이 적용돼 있다. 최근 레노버가 출시한 씽크패드X1 카본이 대표적이다. 인텔은 자사 서버용 CPU인 제온 프로세서 등에 TPM을 활용한 '인텔 트러스티드 익스큐션 테크놀로지(인텔 TXT)라는 자체 플랫폼 기술을 적용하기도 했다. 이를 통해 SW가 실행됐을 때 할당된 메모리 영역에 다른 SW가 접근해 내용을 위변조하거나 훔쳐갔는지 여부를 확인할 수 있게 했다.

획기적인 보안대책으로 보이는 TPM도 한계는 있다. 가장 큰 문제는 가격이다. 이미 하향평준화된 PC, 노트북에 암호화 기능을 구현할 수 있는 별도 칩을 탑재하는 것은 그에 따르는 비용증가를 의미한다.

오픈소스 진영에서는 TPM은 '벤더 종속성(Lock-in)'을 심화시킨다고 주장한다. TCG에 참여하고 있는 글로벌 It기업들이 자사 입맛에 맞게 보안 플랫폼을 하나로 묶으려는 시도를 하고 있다는 지적이다.

실제로 2006년 자유 소프트웨어 재단 창립자로 불리는 리차드 스톨만은 2006년께 개발자 컨퍼런스 등에서 트러스티드 컴퓨팅 그룹은 트레쳐러스 컴퓨팅(Treacherous Computing)이라고 맹비난했다.

관련기사

TPM을 적용하면 여기에 참여한 회사들이 사용하는 OS, 반도체 아키텍처, SW 등에 종속될 수밖에 없다는 우려 탓이다. 오픈소스 형태로 공개되는 리눅스 등에서는 TPM을 쓸 수 없었고, 다른 공유SW, 무료SW 등에서도 TCG 회원사들이 승인한 경우에만 지원할 수 있도록 했기 때문이다.

이를 극복하기 위해 TCG는 리눅스를 위한 TPM 기기 드라이버, 트러스티드 소프트웨어 스택(TrouSerS)을 공개했다. 자바를 지원하기 위해 'TPM/J'라는 인터페이스도 새롭게 개발했다.