TrueCrypt
1. 개요
오픈 소스 암호화 소프트웨어. 파일 형태의 암호화된 저장소(volume)를 만들 수 있고, 파티션을 통째로 암호화하거나, 물리 하드 디스크 드라이브를 통째로 암호화할 수도 있다.
트루크립트는 미국 NSA의 세계 각국 지도자들에 대한 도청 사건을 에드워드 스노든과 몇몇 사람들이 폭로했을 때 그 사건 폭로자들이 사용하여 유명해졌다. Tor나 트루크립트는 NSA에서도 암호를 풀어낼 수 없다.[1] 브라질 경찰과 미국 FBI도 용의자의 트루크립트 암호화를 푸는 데 실패하였다.[2] 즉 현재 TrueCrypt는 NSA, FBI, CIA 등 세계적인 정보기관들도 뚫지 못했다.
리눅스, 맥, 윈도우에서 사용 가능하다. 현재는 VeraCrypt와 CipherShed라는 포크(fork) 소프트웨어가 있다. 맥은 FileVault가 있고 윈도우는 BitLocker가 있다... 만, 미국 정부는 열어볼 수 있다는 이야기가 있다.
7.1a 버전 TrueCrypt와 소스 코드를 다운로드받을 수 있는 링크이다.
공식 웹사이트 주소는 http://www.truecrypt.org이지만 현재는 http://truecrypt.sourceforge.net으로 자동으로 넘겨준다.
2. 알고리즘
암호화 알고리즘(encryption algorithm), 즉 암호화와 복호화에 대칭 키 암호 방식인 AES, Serpent, Twofish를 사용한다.
해시 알고리즘(hash algorithm), 즉 암복호화 키를 만들 때 암호학적 해시 함수(cryptographic hash function)를 쓸 수 있는데 트루크립트는 RIPEMD-160, SHA-512, Whirlpool을 쓴다.
미국 정부 표준인 AES와 SHA-512 조합을 가장 많이 쓴다.
트루크립트에서 AES는 256비트, RIPEMD-160은 160비트, SHA-512는 512비트를 사용한다. 여러분의 개인정보는 안녕하십니까?
RIPEMD-160은 Hans Dobbertin, Antoon Bosselaers, Bart Preneel이 개발했다. 1996년에 공개되었으며 160비트의 키 파일을 만든다.
3. UEFI와 GPT 미지원
윈도우의 C 드라이브 암호화는 BIOS와 MBR만 지원하며 UEFI와 GPT는 지원하지 않는다.
VeraCrypt의 경우 윈도우즈의 C 드라이브 암호화는 BIOS와 MBR만 지원했었으나, 2016년 8월 17일 릴리즈된 버전 1.18a부터는 UEFI와 GPT도 지원하기 시작했다.
4. 국가 기관의 암호화 해제 실패 사례
사법 기관인 브라질 경찰, 미국 FBI, 영국 NCA와 정보 기관인 미국 CIA, NSA, 영국 GCHQ 등에서 트루크립트 암호화 해제에 실패하였다.
4.1. Operation Satyagraha
브라질 경찰과 미국 FBI가 트루크립트의 암호화를 못 풀었다.
Brazilian banker's crypto baffles FBI (28 Jun 2010)
FBI hackers fail to crack TrueCrypt (Jun 30, 2010)
4.2. United States v. John Doe
미국 FBI가 트루크립트의 암호화를 못 풀었다.
Court: Fifth Amendment Protects Suspects from Having to Decrypt Hard Drives (Feb 23, 2012)
FORCING DEFENDANT TO DECRYPT HARD DRIVE IS UNCONSTITUTIONAL, APPEALS COURT RULES (02.24.12)
IN RE: GRAND JURY SUBPOENA DUCES TECUM DATED MARCH 25 (February 23, 2012)
In RE: GRAND JURY SUBPOENA DUCES TECUM DATED MARCH 25, 2011 (FEBRUARY 23, 2012)
4.3. 데이비드 미란다
에드워드 스노든(Edward Snowden)의 협력자였던 데이비드 미란다(David Miranda)와 글렌 그린월드(Glenn Greenwald)의 사건에서 영국 정보 기관인 GCHQ와 미국 정보기관인 CIA와 NSA도 트루크립트의 암호화를 풀 수 없다는 게 드러났다.
UK asked N.Y. Times to destroy Snowden material (AUGUST 31, 2013)
Miranda: Where is the UK Government getting its numbers from? (August 31, 2013)
4.4. James DeSilva
미국 애리조나 주의 Maricopa County Sheriff's Office에서도 James DeSilva 사건에서 트루크립트 암호화를 못 풀었다.
"True Crypt" Encryption Software Stumps MCSO Detectives in Child-Porn Case (FEBRUARY 4, 2014)
4.5. Lauri Love
영국의 National Crime Agency (NCA)에서도 Lauri Love 사건에서 트루크립트 암호화를 못 풀었다.
Briton Lauri Love faces hacking charges in US (29 Oct 2013)
Briton Lauri Love faces new US hacking charges (27 February 2014)
Hacker Charged with Breaching Multiple Government Computers and Stealing Thousands of Employee and Financial Records (July 24, 2014)
Judge Rejects Attempt To Force Lauri Love To Decrypt His Computers, Despite Never Charging Him With A Crime (May 10th 2016)
4.6. 드루킹 특검
드루킹이 트루크립트를 사용하였어도, 드루킹 특검팀이 일부 암호화를 풀어내어 증거를 확보하였다.
드루킹 일당이 암호에 사용했을 것으로 추정되는 패턴을 대입해 풀어내는 방식을 사용하였다. 드루킹이 신봉한 것으로 알려진 '자미두수'(중국 점성술)와 경공모를 지칭하는 'KKM' 등을 조합하여 암호에 대입해서 넣어보는 사전 공격과 비슷한 방식을 사용하였다. [3] [4]
5. 개발 중지 이유
최신 버전은 7.2지만 7.2 버전에는 복호화(암호화 해제) 기능만 있기 때문에 그전 버전인 7.1a를 사용해야 한다. 공식 웹사이트는 폐쇄되었으며 공식 배포처에서는 현재 7.2 버전만 배포하고 있다. SourceForge의 공식 배포처에서 트루크립트는 더 이상 업데이트가 안 되어 보안상 위험하니 마이크로소프트의 BitLocker를 사용하라고 해서[5] 여러 가지 루머가 많다.
현재는 개발이 중지되었지만 오픈 소스 소프트웨어이기 때문에 소스 코드는 여전히 배포되고 있다. 개발 중단 이유로 에드워드 스노든 사건으로 주요 동맹국들과도 불편한 관계가 되고, 결국 미국 대통령까지 사과하고서야 사태가 수습되고서, 그때 쓴맛을 본 NSA나 CIA에서 개발자를 압박했기 때문이라는 루머와 마이크로소프트에 팔렸다는 루머가 서양 메이저 언론사에서도 제기될 정도로 많이 돌았다. ZDNet 보도에 따르면 마이크로소프트의 BitLocker는 CIA에 의해 정보를 탈취당하지만 트루크립트는 공개 감사(public audit)에도 불구하고, NSA에 의해 심어진 백도어나 심각한 보안 결함을 찾지 못했다고 한다.[6]
트루크립트가 NSA의 압박에 의해 프로젝트가 중단됐다거나, 마이크로소프트에 팔렸다는 것은 명확한 증거가 없기 때문에, 자금 지원이 들어오지 않는 개발 프로젝트를 10년 이상 진행해오던 개발자가 더 이상의 소프트웨어 유지 관리를 포기해서 그렇다는 설이 현재로서는 가장 설득력이 있다.
TrueCrypt는 개발이 중단되었지만 이 TrueCrypt를 기반으로 한 VeraCrypt라는 오픈소스 프로젝트가 비공식적으로 이어받고 있다. 속도는 다소 느려졌지만 보안이 더욱 강력해졌으며 아직도 한참 지원 중이므로 TrueCrypt 사용자들을 흡수하는 중이다.
6. 숨김 볼륨
트루크립트의 숨김 볼륨(hidden volume) 기능을 사용하면 암호화 볼륨 속에 숨김 볼륨을 숨길 수 있어 고문이나 협박에 의해 비밀번호를 토해내야 할 때도 비밀 자료를 숨길 수 있다.
트루크립트 완벽 사용법 - 3. 숨김 볼륨과 키파일
트루크립트 완벽 사용법 - 4. 기존 볼륨 속에 숨김 볼륨 만들기
7. 활용 방법
공인인증서, 비트코인, 기밀정보, 야동 등을 도둑, 해커, 스파이, 수사기관, 정보기관 등에서도 찾지 못하게 안전하게 숨겨놓을 수 있다. 에드워드 스노든 사건 때 사용되면서 미국 FBI, CIA, NSA로부터도 안전하다는 사실이 입증되었다.
야한 동영상/은폐와 탐지에 있는 방법 중 FBI나 NSA 레벨에서도 안 뚫릴 만한 방법은 TrueCrypt처럼 데이터를 통째로 암호화하는 방법 밖에 없다. 거기 실려있는 다른 방법들은 전문가에 의해 쉽게 뚫린다. 데이터를 통째로 암호화하면 컴퓨터의 연산력을 이용하여 사전 공격과 브루트포스 공격에 의해 비밀번호를 파훼하는 방법을 써야 하는데 영어 소문자, 대문자, 숫자, 특수문자를 섞어서 20자리 이상의 비밀번호를 만들면 양자 컴퓨터라도 상용화되지 않는 이상, 이 지구 상의 어떤 슈퍼 컴퓨터를 동원하더라도 수십 년 안에는 비밀번호를 풀어낼 수 없기 때문이다.
7.1. 암호화폐 보관
거래소에서 구입한 비트코인을 Electrum 등으로 생성한 자신의 컴퓨터의 지갑으로 전송한 후, 송금에 필요한 개인 키(private key)를 TrueCrypt로 암호화한 공간에 저장하면 안전하다. 암호화된 볼륨을 여러개 복사하여 USB 메모리, SD 카드, 이메일, 클라우드 컴퓨팅 등에 저장하면 USB 메모리 분실이나 고장에 대비할 수 있다. 암호화 볼륨의 암호를 영어 소문자, 대문자, 숫자, 특수문자를 모두 넣어서 12자리 이상으로 만들면 USB 메모리를 분실해도 꽤 안전하다. 이러한 오프라인 암호화폐 저장소를 콜드 스토리지라고 부른다.
암호화폐 거래소는 돈을 목적으로 하는 해커들이 가장 선호하는 목표물 중 하나라 해킹을 자주 당하며, 마운트 곡스(Mt. Gox) 파산 사태처럼 거래소 파산이나 BTC-e처럼 당국의 암호화폐에 대한 출금 규제 등으로 언제든지 계좌에 있는 비트코인이 내 비트코인이 아니게 될 수 있다. 하지만 일렉트럼 등으로 자신의 컴퓨터에 생성한 지갑으로 비트코인을 옮겨놓으면 외부 요인과 상관없이 안전하게 보관할 수 있다. 자신의 컴퓨터도 거래소보다는 안전하지만 해킹 등의 위험이 있으므로 거액의 암호화폐는 오프라인 보관소인 콜드 스토리지에 보관하는 것이 더 안전하다.
전쟁이 났을 때 해외로 대량으로 가지고 나갈 수 없는 달러나 금과는 달리 암호화폐는 '''전 세계의 컴퓨터에 내 비트코인이 저장되어 있는 것이나 마찬가지이므로''' 종이 등에 직접 키를 적어서 들고 다니거나 클라우드 등에 키 파일을 TrueCrypt 등으로 암호화하여 업로드한다면 몸만 부지해서 외국으로 나가도 해외로 거액의 자금을 안전하게 가지고 나가는 것과 같은 효과를 가진다.
8. 보안 위협
8.1. 채굴기의 보안 위협
대량의 그래픽 카드를 병렬로 연결할 경우 예상 외로 빨리 깨질 수도 있다. 비트코인 채굴이 이런 암호화 수식의 답을 찾는 것이니만큼 수퍼 컴퓨터보다도 암호화 해제에 최적화되어있기 때문이다. 그럴 경우 암호화에 키 파일(key file)도 사용하고, 비밀번호도 최대한 길고 어렵게 만들어야 상대방에 의한 강제적 암호화 해제를 막을 수 있다.
SHA 해독에 그래픽카드보다 96,000배의 연산력을 보이는 ASIC, FPGA 등을 이용한 비트코인 채굴기가 개발되면서 해시 함수의 보안력이 급격히 떨어졌다. 당장 2017년 현재의 상황을 보면, 라데온 R9 290X를 8대 크로스파이어해서 사용한다고 해도 1.12GH/s 정도의 해시레이트가 나오는데, 1,100달러(126만 원) 정도 하는 ASIC 채굴기인 Antminer S9를 사용하면 13,500GH/s가 나온다. 그래픽카드보다 성능이 '''9만 6천 배'''나 나은 채굴기가 있다.
하지만 비트코인 채굴기 ASIC는 아래에 나와있듯이 매우 특별한 연산을 하기 때문에, 트루크립트같이 보통 비밀번호를 뚫는데는 쓸 수 없다. 당장에 암호가 (salt포함) 80바이트여야 하는데 그렇게 긴 비밀번호를 쓸 이유가 없지 않는가. 비트코인 채굴기를 바로 암호를 뚫기 위해 쓸수는 없지만, 비트코인 채굴기처럼 암호 뚫기 전용 ASIC을 만든다면 위험할 수도 있다.
아래와 같은 특별한 경우에만 채굴기를 통한 암호화 해제가 가능하다.
the hashes are generated with SHA-256(SHA-256(X))
salt + password = 80 bytes
the hash starts with 4 zero-bytes
which will probably make them obsolete it seems like a huge waste of hardware.
SHA-256을 2번 사용하여 생성된 해쉬이다.
Hash는 비밀번호 부분과 salt 부분의 합이 80바이트여야 한다.
해시는 4바이트의 0[7]
으로 시작한다.이것은 큰 하드웨어 낭비처럼 보이기 때문에 아마 쓸모가 없을것이다.
8.2. 메모리에서 비밀번호 추출 가능
컴퓨터 전원을 끈 후 수 분 이내라면 메모리에 임시로 저장돼있던 트루크립트의 비밀번호를 복구할 가능성이 있다.
컴퓨터 꺼도 남는 ‘5분 흔적’ 잡아채 암호 단서 포착 2011.01.11
[정리] TrueCrypt Forensics 2014.06.14
9. 관련 문서
- 비트코인: 비트코인은 SHA-256을 쓰고, TrueCrypt는 SHA-512를 쓴다.
- Electrum: 비트코인 지갑 소프트웨어이다.
- VeraCrypt
- CipherShed
- FileVault
- 야한 동영상/은폐와 탐지
- BitLocker
- gpg4usb
- 다크 웹
- 디지털 포렌식
- Tor(익명 네트워크)
- Tails OS
- Whonix
[1] New documents reveal which encryption tools the NSA couldn't crack 2014/12/28 https://www.theverge.com/platform/amp/2014/12/28/7458159/encryption-standards-the-nsa-cant-crack-pgp-tor-otr-snowden[2] 비트코인 지갑 TRUECRYPT보안키 사용하기 2014/03/30 http://www.news-btc.com/?p=47[3] "드루킹 일당이 걸어둔 암호 풀어라"…특검, 전문가 총동원 2018-07-18 https://www.yna.co.kr/view/AKR20180718142500004[4] "드루킹 댓글조작 1/3 암호…FBI도 못 푸는 트루크립트 사용" 2018.07.19 https://voda.donga.com/3/all/39/1394189/1[5] http://truecrypt.sourceforge.net[6] TrueCrypt audit shows no evidence of NSA backdoors 2015-04-02 http://www.zdnet.com/google-amp/article/truecrypt-likely-didnt-quit-on-nsa-backdoor-fears/[7] 즉
0x00 00 00 00