로딩로딩중

TrueCrypt

최근 수정 시각:

1. 개요2. 알고리듬3. UEFI와 GPT 미지원4. 국가 기관의 암호화 해제 실패 사례
4.1. Operation Satyagraha4.2. United States v. John Doe4.3. 데이비드 미란다4.4. James DeSilva4.5. Lauri Love
5. 개발 중지 이유6. 숨김 볼륨7. 활용 방법
7.1. 공인인증서 보관7.2. 암호화폐 보관
8. 보안 위협
8.1. 채굴기의 보안 위협8.2. 메모리에서 비밀번호 추출 가능
9. 관련 문서

1. 개요[편집]

오픈 소스 암호화 소프트웨어. 파일 형태의 암호화된 저장소(volume)를 만들 수 있고, 파티션을 통째로 암호화하거나, 물리 하드 디스크 드라이브를 통째로 암호화할 수도 있다.

트루크립트는 미국 NSA의 세계 각국 지도자들에 대한 도청 사건을 에드워드 스노든과 몇몇 사람들이 폭로했을 때 그 사건 폭로자들이 사용하여 유명해졌다. Tor나 트루크립트는 NSA에서도 암호를 풀어낼 수 없다.[1] 브라질 경찰과 미국 FBI도 용의자의 트루크립트 암호화를 푸는 데 실패하였다.[2] 즉 현재 TrueCrypt는 NSA, FBI, CIA 등 세계 원탑들도 못 뚫는다.

리눅스, , 윈도우에서 사용 가능하다. 현재는 VeraCryptCipherShed라는 포크(fork) 소프트웨어가 있다. 근데 맥은 어차피 FileVault가 있어서...

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 드라이브 암호화는 BIOSMBR만 지원하며 UEFIGPT는 지원하지 않는다.

VeraCrypt의 경우 윈도우즈의 C 드라이브 암호화는 BIOS와 MBR만 지원했었으나, 2016년 8월 17일 릴리즈된 버전 1.18a부터는 UEFI와 GPT도 지원하기 시작했다.

4. 국가 기관의 암호화 해제 실패 사례[편집]

사법 기관인 브라질 경찰, 미국 FBI, 영국 NCA와 정보 기관인 미국 CIA, NSA, 영국 GCHQ 등에서 트루크립트 암호화 해제에 실패하였다.

4.1. Operation Satyagraha[편집]

4.2. United States v. John Doe[편집]

4.3. 데이비드 미란다[편집]

에드워드 스노든(Edward Snowden)의 협력자였던 데이비드 미란다(David Miranda)와 글렌 그린월드(Glenn Greenwald)의 사건에서 영국 정보 기관인 GCHQ와 미국 정보기관인 CIANSA도 트루크립트의 암호화를 풀 수 없다는 게 드러났다.

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[편집]

5. 개발 중지 이유[편집]

최신 버전은 7.2지만 7.2 버전에는 복호화(암호화 해제) 기능만 있기 때문에 그전 버전인 7.1a를 사용해야 한다. 공식 웹사이트는 폐쇄되었으며 공식 배포처에서는 현재 7.2 버전만 배포하고 있다. SourceForge의 공식 배포처에서 트루크립트는 더 이상 업데이트가 안 되어 보안상 위험하니 마이크로소프트BitLocker를 사용하라고 해서[3] 여러 가지 루머가 많다.

현재는 개발이 중지되었지만 오픈 소스 소프트웨어이기 때문에 소스 코드는 여전히 배포되고 있다. 개발 중단 이유로 에드워드 스노든 사건으로 주요 동맹국들과도 불편한 관계가 되고, 결국 미국 대통령까지 사과하고서야 사태가 수습되고서, 그때 쓴맛을 본 NSACIA에서 개발자를 압박했기 때문이라는 루머와 마이크로소프트에 팔렸다는 루머가 서양 메이저 언론사에서도 제기될 정도로 많이 돌았다. ZDNet 보도에 따르면 마이크로소프트의 BitLockerCIA에 의해 정보를 탈취당하지만 트루크립트는 공개 감사(public audit)에도 불구하고, NSA에 의해 심어진 백도어나 심각한 보안 결함을 찾지 못했다고 한다.[4]

트루크립트가 NSA의 압박에 의해 프로젝트가 중단됐다거나, 마이크로소프트에 팔렸다는 것은 명확한 증거가 없기 때문에, 자금 지원이 들어오지 않는 개발 프로젝트를 10년 이상 진행해오던 개발자가 더 이상의 소프트웨어 유지 관리를 포기해서 그렇다는 설이 현재로서는 가장 설득력이 있다.

TrueCrypt는 개발이 중단되었지만 이 TrueCrypt를 기반으로 한 VeraCrypt라는 오픈소스 프로젝트가 비공식적으로 이어받고 있다. 속도는 다소 느려졌지만 보안이 더욱 강력해졌으며 아직도 한참 지원 중이므로 TrueCrypt 사용자들을 흡수하는 중이다.

6. 숨김 볼륨[편집]

트루크립트의 숨김 볼륨(hidden volume) 기능을 사용하면 암호화 볼륨 속에 숨김 볼륨을 숨길 수 있어 고문이나 협박에 의해 비밀번호를 토해내야 할 때도 비밀 자료를 숨길 수 있다.

트루크립트 완벽 사용법 - 3. 숨김 볼륨과 키파일

트루크립트 완벽 사용법 - 4. 기존 볼륨 속에 숨김 볼륨 만들기

7. 활용 방법[편집]

공인인증서, 비트코인, 기밀정보, 야동 등을 도둑, 해커, 스파이, 수사기관, 정보기관 등에서도 찾지 못하게 안전하게 숨겨놓을 수 있다. 에드워드 스노든 사건 때 사용되면서 미국 FBI, CIA, NSA로부터도 안전하다는 사실이 입증되었다.

야한 동영상/은폐와 탐지에 있는 방법 중 FBI나 NSA 레벨에서도 안 뚫릴 만한 방법은 TrueCrypt처럼 데이터를 통째로 암호화하는 방법 밖에 없다. 거기 실려있는 다른 방법들은 전문가에 의해 쉽게 뚫린다. 데이터를 통째로 암호화하면 컴퓨터의 연산력을 이용하여 사전 공격브루트포스 공격에 의해 비밀번호를 파훼하는 방법을 써야 하는데 영어 소문자, 대문자, 숫자, 특수문자를 섞어서 20자리 이상의 비밀번호를 만들면 양자 컴퓨터라도 상용화되지 않는 이상, 이 지구 상의 어떤 슈퍼 컴퓨터를 동원하더라도 수십 년 안에는 비밀번호를 풀어낼 수 없기 때문이다.

7.1. 공인인증서 보관[편집]

공인인증서 보관에 사용하면 좋다.

7.2. 암호화폐 보관[편집]

거래소에서 구입한 비트코인Electrum 등으로 생성한 자신의 컴퓨터의 지갑으로 전송한 후, 송금에 필요한 개인 키(private key)를 TrueCrypt로 암호화한 공간에 저장하면 안전하다. 암호화된 볼륨을 여러개 복사하여 USB 메모리, SD 카드, 이메일, 클라우드 등에 저장하면 USB 메모리 분실이나 고장에 대비할 수 있다. 암호화 볼륨의 암호를 영어 소문자, 대문자, 숫자, 특수문자를 모두 넣어서 12자리 이상으로 만들면 USB 메모리를 분실해도 꽤 안전하다. 이러한 오프라인 암호화폐 저장소를 콜드 스토리지라고 부른다.

암호화폐 거래소을 목적으로 하는 해커들이 가장 선호하는 목표물 중 하나라 해킹을 자주 당하며, 마운트 곡스(Mt. Gox) 파산 사태처럼 거래소 파산이나 BTC-e처럼 당국의 암호화폐에 대한 출금 규제 등으로 언제든지 계좌에 있는 비트코인이 내 비트코인이 아니게 될 수 있다. 하지만 일렉트럼 등으로 자신의 컴퓨터에 생성한 지갑으로 비트코인을 옮겨놓으면 외부 요인과 상관없이 안전하게 보관할 수 있다. 자신의 컴퓨터도 거래소보다는 안전하지만 해킹 등의 위험이 있으므로 거액의 암호화폐는 오프라인 보관소인 콜드 스토리지에 보관하는 것이 더 안전하다.

전쟁이 났을 때 해외로 대량으로 가지고 나갈 수 없는 달러과는 달리 암호화폐전 세계의 컴퓨터에 내 비트코인이 저장되어 있는 것이나 마찬가지이므로 종이 등에 직접 키를 적어서 들고 다니거나 클라우드 등에 키 파일을 TrueCrypt 등으로 암호화하여 업로드한다면 몸만 부지해서 외국으로 나가도 해외로 거액의 자금을 안전하게 가지고 나가는 것과 같은 효과를 가진다.

8. 보안 위협[편집]

8.1. 채굴기의 보안 위협[편집]

대량의 그래픽 카드병렬로 연결히거나 비트코인 채굴기를 대량으로 동원할 경우 예상 외로 빨리 깨질 수도 있다. 비트코인 채굴이 이런 암호화 수식의 답을 찾는 것이니만큼 수퍼 컴퓨터보다도 암호화 해제에 최적화되어있기 때문이다. 그럴 경우 암호화에 키 파일(key file)도 사용하고, 비밀번호도 최대한 길고 어렵게 만들어야 상대방에 의한 강제적 암호화 해제를 막을 수 있다. 비트코인은 SHA-256(SHA-2의 일종)을 사용하고, 트루크립트는 키 파일 생성에 SHA-512(역시 SHA-2 중 하나)를 사용한다.

SHA 해독에 그래픽카드보다 96,000배의 연산력을 보이는 ASIC, FPGA 등을 이용한 비트코인 채굴기가 개발되면서 해시 함수의 보안력이 급격히 떨어졌다.

당장 2017년 현재의 상황을 보면, 라데온 R9 290X를 8대 크로스파이어해서 사용한다고 해도 1.12GH/s 정도의 해시레이트가 나오는데, 1,100달러(126만 원) 정도 하는 ASIC 채굴기인 Antminer S9를 사용하면 13,500GH/s가 나온다. 그래픽카드보다 성능이 9만 6천 배나 나은 채굴기가 있다.
사실 채굴기는 SHA-256이 아니라 80byte의 문자열을 X라고 두면 이런 연산을 한다. SHA-256(SHA-256(X))[5]

이걸로 설명끝.
이런 특별한 경우에만 채굴기를 통한 암호화 해제가 가능하다.
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바이트여야 한다.
해시는 zero-byte 4바이트로 시작한다.
이것은 큰 하드웨어 낭비처럼 보이기 때문에 아마 쓸모가 없을것이다.

번역이 정확하지 않은 경우 추가바람

8.2. 메모리에서 비밀번호 추출 가능[편집]

컴퓨터 전원을 끈 후 5분 이내라면 메모리에 임시로 저장돼있던 트루크립트의 비밀번호를 복구할 가능성이 있다.

컴퓨터 꺼도 남는 ‘5분 흔적’ 잡아채 암호 단서 포착 2011.01.11

[정리] TrueCrypt Forensics 2014.06.14

9. 관련 문서[편집]