[목차] == 개요 == [[오픈 소스]] 암호화 소프트웨어이다. 주요 기능으로 파일 형태의 암호화된 저장소(volume)를 만들 수 있고, [[파티션]]을 통째로 암호화하거나, 물리 [[하드 디스크 드라이브]]를 통째로 암호화할 수도 있다. [[Linux|리눅스]], [[Macintosh(컴퓨터)|맥]], [[Microsoft Windows|윈도우]]를 지원한다. TrueCrypt는 미국 [[NSA]]의 세계 각국 지도자들에 대한 도청 사건을 [[에드워드 스노든]]과 몇몇 사람들이 폭로했을 때 폭로자들이 사용하여 유명해졌다. 2014년까지 TrueCrypt는 [[NSA]], [[FBI]], [[CIA]] 등 세계적인 정보기관들도 뚫지 못했다고 한다.[* 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]]][* 비트코인 지갑 TRUECRYPT보안키 사용하기 2014/03/30 [[http://www.news-btc.com/?p=47]]] 공식 웹사이트 주소는 [[http://www.truecrypt.org]]이지만 현재는 [[http://truecrypt.sourceforge.net]]으로 자동으로 넘겨준다. 이 페이지로 가면 TrueCrypt 개발이 중단되었으며 취약점이 고쳐지지 않은 채로 포함되어 있을 수 있으니 BitLocker를 사용하라는 설명이 있다. 또한, 복호화만 가능한 7.2 버전 프로그램이 게시되어 있는데 암호화가 가능한 마지막 버전인 7.1a 버전 실행 프로그램과 [[소스 코드]]는 [[https://github.com/DrWhax/truecrypt-archive?files=1|이곳]]에서 받을 수 있다.[* TrueCrypt의 소스 코드는 세 가지 오류 및 약점이 발견되었다. 도구 기반 결과를 수동으로 조사했을때 오버플로와 같이 코드 보안에 잠재적으로 중요한 것으로 [[플래그]]가 지정된 의심되는 모든 취약점을 오탐지로 식별할 수 있다. 품질 결함은 주로 소스 코드의 유지 관리 및 문서화에서 식별되고 있다. 정적 코드 분석, 자동으로 계산된 다양한 평가 메트릭 및 소스 코드의 수동 검토에서도 결함과 편차에 대한 수많은 오류가 확인된다.] TrueCrypt는 개발이 중단되었지만 소스 코드는 공개되어 있기 때문에 다른 사람들이 [[포크]]하여 개발한 암호화 소프트웨어로 [[VeraCrypt]]와 [[CipherShed]]가 있다. == 알고리즘 == 암호화 [[알고리즘]](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비트를 사용한다. [[http://www.dailysecu.com/?mod=news&act=articleView&idxno=24 |여러분의 개인정보는 안녕하십니까?]] RIPEMD-160은 한스 도베르틴(Hans Dobbertin), 안톤 보셀라르스(Antoon Bosselaers), 바르트 프레넬(Bart Preneel)이 개발했다. 1996년에 공개되었으며 160비트의 키 파일을 만든다. == UEFI와 GPT 미지원 == 윈도우의 [[C 드라이브]] 암호화는 [[BIOS]]와 [[MBR]]만 지원하며 [[UEFI]]와 [[UEFI#GPT|GPT]]는 지원하지 않는다. [[VeraCrypt]]의 경우 윈도우즈의 C 드라이브 암호화는 BIOS와 MBR만 지원했었으나, 2016년 8월 17일 릴리즈된 버전 1.18a부터는 UEFI와 GPT도 지원하기 시작했다. == 국가 기관의 암호화 해제 실패 사례 == 사법 기관인 [[브라질 경찰]], 미국 [[FBI]], 영국 [[영국 국립범죄청|NCA]]와 정보 기관인 미국 [[미국 중앙정보국|CIA]], [[NSA]], 영국 [[GCHQ]] 등에서 트루크립트 암호화 해제에 실패하였다. === Operation Satyagraha === [[브라질 경찰]]과 미국 [[FBI]]가 트루크립트의 암호화를 못 풀었다. [[https://www.theregister.co.uk/2010/06/28/brazil_banker_crypto_lock_out/ |Brazilian banker's crypto baffles FBI (28 Jun 2010)]] [[https://www.techworld.com/news/security/fbi-hackers-fail-to-crack-truecrypt-3228701/ |FBI hackers fail to crack TrueCrypt (Jun 30, 2010)]] === United States v. John Doe === 미국 [[FBI]]가 트루크립트의 암호화를 못 풀었다. [[https://blogs.wsj.com/law/2012/02/23/court-fifth-amendment-protects-suspects-from-decrypting-computers/ |Court: Fifth Amendment Protects Suspects from Having to Decrypt Hard Drives (Feb 23, 2012)]] [[https://www.wired.com/2012/02/laptop-decryption-unconstitutional/ |FORCING DEFENDANT TO DECRYPT HARD DRIVE IS UNCONSTITUTIONAL, APPEALS COURT RULES (02.24.12)]] [[https://caselaw.findlaw.com/us-11th-circuit/1595245.html |IN RE: GRAND JURY SUBPOENA DUCES TECUM DATED MARCH 25 (February 23, 2012)]] [[https://web.archive.org/web/20130115144156/http://www.ca11.uscourts.gov/opinions/ops/201112268.pdf |In RE: GRAND JURY SUBPOENA DUCES TECUM DATED MARCH 25, 2011 (FEBRUARY 23, 2012)]] === David Miranda === 스노든의 협력자였던 [[데이비드 미란다]]와 [[글렌 그린월드]]의 사건에서 영국 정보 기관인 [[GCHQ]]와 미국 정보기관인 [[미국 중앙정보국|CIA]]와 [[NSA]]도 트루크립트의 암호화를 풀 수 없다는 게 드러났다. [[https://www.reuters.com/article/us-usa-security-snowden-nytimes/uk-asked-n-y-times-to-destroy-snowden-material-idUSBRE97T0RC20130830 |UK asked N.Y. Times to destroy Snowden material (AUGUST 31, 2013)]] [[https://auerfeld.wordpress.com/2013/08/31/miranda-where-is-the-uk-government-getting-its-numbers-from/ |Miranda: Where is the UK Government getting its numbers from? (August 31, 2013)]] === James DeSilva === 미국 애리조나 주의 Maricopa County Sheriff's Office에서도 제임스 더실바(James DeSilva) 사건에서 트루크립트 암호화를 못 풀었다. [[http://www.phoenixnewtimes.com/news/true-crypt-encryption-software-stumps-mcso-detectives-in-child-porn-case-6627226 |"True Crypt" Encryption Software Stumps MCSO Detectives in Child-Porn Case (FEBRUARY 4, 2014)]] === Lauri Love === 영국의 National Crime Agency ([[영국 국립범죄청|NCA]])에서도 로리 러브(Lauri Love) 사건에서 트루크립트 암호화를 못 풀었다. [[https://www.theguardian.com/world/2013/oct/28/us-briton-hacking-charges-nasa-lauri-love |Briton Lauri Love faces hacking charges in US (29 Oct 2013)]] [[http://www.bbc.com/news/world-us-canada-26376865 |Briton Lauri Love faces new US hacking charges (27 February 2014)]] [[https://www.fbi.gov/contact-us/field-offices/washingtondc/news/press-releases/hacker-charged-with-breaching-multiple-government-computers-and-stealing-thousands-of-employee-and-financial-records |Hacker Charged with Breaching Multiple Government Computers and Stealing Thousands of Employee and Financial Records (July 24, 2014)]] [[https://www.techdirt.com/articles/20160510/08042734397/judge-rejects-attempt-to-force-lauri-love-to-decrypt-his-computers-despite-never-charging-him-with-crime.shtml |Judge Rejects Attempt To Force Lauri Love To Decrypt His Computers, Despite Never Charging Him With A Crime (May 10th 2016)]] === 드루킹 특검 === [[드루킹]]이 [[트루크립트]]를 사용하였어도, [[드루킹 특검]]팀이 일부 암호화를 풀어내어 증거를 확보하였다. 드루킹 일당이 암호에 사용했을 것으로 추정되는 패턴을 대입해 풀어내는 방식을 사용하였다. 드루킹이 신봉한 것으로 알려진 [[자미두수]]와 [[경제적 공진화 모임]]을 지칭하는 'KKM' 등을 조합하여 암호에 대입해서 넣어보는 [[사전 공격]]과 비슷한 방식을 사용하였다.[* "드루킹 일당이 걸어둔 암호 풀어라"…특검, 전문가 총동원 2018-07-18 [[https://www.yna.co.kr/view/AKR20180718142500004]]] [* "드루킹 댓글조작 1/3 암호…FBI도 못 푸는 트루크립트 사용" 2018.07.19 [[https://voda.donga.com/3/all/39/1394189/1]]] == 개발 중지 이유 == 최신 버전은 7.2지만 7.2 버전에는 [[복호화]]([[암호화]] 해제) 기능만 있기 때문에 그전 버전인 7.1a를 사용해야 한다. 공식 웹사이트는 폐쇄되었으며 공식 배포처에서는 현재 7.2 버전만 배포하고 있다. [[SourceForge]]의 공식 배포처에서 트루크립트는 더 이상 업데이트가 안 되어 보안상 위험하니 [[마이크로소프트]]의 [[BitLocker]]를 사용하라고 해서[* [[http://truecrypt.sourceforge.net]]] 여러 가지 [[루머]]가 많다. 현재는 개발이 중지되었지만 [[오픈 소스]] 소프트웨어이기 때문에 [[소스 코드]]는 여전히 배포되고 있다. 개발 중단 이유로 [[에드워드 스노든]] 사건으로 주요 동맹국들과도 불편한 관계가 되고, 결국 미국 대통령까지 사과하고서야 사태가 수습되고서, 그때 쓴맛을 본 [[NSA]]나 [[미국 중앙정보국|CIA]]에서 개발자를 압박했기 때문이라는 루머와 [[마이크로소프트]]에 팔렸다는 루머가 서양 메이저 언론사에서도 제기될 정도로 많이 돌았다. ZDNet 보도에 따르면 마이크로소프트의 [[BitLocker]]는 [[미국 중앙정보국|CIA]]에 의해 정보를 탈취당하지만 트루크립트는 공개 감사(public audit)에도 불구하고, [[NSA]]에 의해 심어진 [[백도어]]나 심각한 보안 결함을 찾지 못했다고 한다.[* 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/]]] 트루크립트가 NSA의 압박에 의해 프로젝트가 중단됐다거나, 마이크로소프트에 팔렸다는 것은 명확한 증거가 없기 때문에, 자금 지원이 들어오지 않는 개발 프로젝트를 10년 이상 진행해오던 개발자가 더 이상의 소프트웨어 유지 관리를 포기해서 그렇다는 설이 현재로서는 가장 설득력이 있다. TrueCrypt는 개발이 중단되었지만 이 TrueCrypt를 기반으로 한 [[VeraCrypt]]라는 오픈소스 프로젝트가 비공식적으로 이어받고 있다. 속도는 다소 느려졌지만 보안이 더욱 강력해졌으며 아직도 한창 지원 중이므로 TrueCrypt 사용자들을 흡수하는 중이다. == 숨김 볼륨 == 트루크립트의 숨김 볼륨(hidden volume) 기능[* 절전 모드 방지 기능을 사용해도 유효함.]을 사용하면 암호화 볼륨 속에 숨김 볼륨을 숨길 수 있어 고문이나 협박에 의해 비밀번호를 토해내야 할 때도 비밀 자료를 숨길 수 있다.[* 이처럼 TrueCrypt의 보안 특성이 부분적으로 사용자 행동에 의존하기 때문에 다음과 같은 문제를 유발한다. 보안 관점에서 TrueCrypt가 순수한 소프트웨어 솔루션이라는 사실은 원칙적으로 모든 관련 위협으로부터 보호할 수 없다는 것이다. 비활성화된 상태에서 암호화된 디스크를 분실하거나 도난당한 경우에만 효과적인 보호가 가능하다. 그리고 TrueCrypt는 [[키로거]] 또는 맬웨어(악성 소프트웨어로서, 사용자의 이익을 침해하는 모든 소프트웨어를 포함) 설치와 같은 활성 공격 시나리오에 대한 보호 기능을 제공하지 않는다. 이를 방지하려면 [[TPM]] 또는 [[스마트카드]]에서 제공하는 것과 같은 하드웨어 기반 보안 조치가 요구된다.] [[https://www.neoanime.co.kr/free/3903160 |트루크립트 완벽 사용법 - 3. 숨김 볼륨과 키파일]] [[https://www.neoanime.co.kr/free/3771987 |트루크립트 완벽 사용법 - 4. 기존 볼륨 속에 숨김 볼륨 만들기]] == 활용 방법 == [[공인인증서]], [[비트코인]], 기밀정보, [[야한 동영상|야동]]--?-- 등을 [[도둑]], [[해커]], [[스파이]], [[수사기관]], [[정보기관]] 등에서도 찾지 못하게 안전하게 숨겨놓을 수 있다. [[에드워드 스노든]] 사건 때 사용되면서 미국 [[FBI]], [[미국 중앙정보국|CIA]], [[NSA]]로부터도 안전하다는 사실이 입증되었다. [[야한 동영상/은폐와 탐지]]에 있는 방법 중 FBI나 NSA 레벨에서도 안 뚫릴 만한 방법은 TrueCrypt처럼 데이터를 통째로 암호화하는 방법 밖에 없다. 거기 실려있는 다른 방법들은 전문가에 의해 쉽게 뚫린다. 데이터를 통째로 암호화하면 컴퓨터의 연산력을 이용하여 [[사전 공격]]과 [[브루트포스 공격]]에 의해 비밀번호를 파훼하는 방법을 써야 하는데 영어 소문자, 대문자, 숫자, 특수문자를 섞어서 20자리 이상의 비밀번호를 만들면 [[양자 컴퓨터]]라도 상용화되지 않는 이상, 이 지구 상의 어떤 [[슈퍼 컴퓨터]]를 동원하더라도 수십 년 안에는 비밀번호를 풀어낼 수 없기 때문이다. === 암호화폐 보관 === [[거래소]]에서 구입한 [[비트코인]]을 [[Electrum]] 등으로 생성한 자신의 컴퓨터의 지갑으로 전송한 후, 송금에 필요한 개인 키(private key)를 TrueCrypt로 암호화한 공간에 저장하면 안전하다. 암호화된 볼륨을 여러개 복사하여 [[USB 메모리]], [[SD 카드]], [[이메일]], [[클라우드 컴퓨팅]] 등에 저장하면 USB 메모리 분실이나 고장에 대비할 수 있다. 암호화 볼륨의 암호를 영어 소문자, 대문자, 숫자, 특수문자를 모두 넣어서 12자리 이상으로 만들면 USB 메모리를 분실해도 꽤 안전하다. 이러한 [[오프라인]] [[암호화폐]] 저장소를 [[콜드 스토리지]]라고 부른다. [[암호화폐 거래소]]는 [[화폐|돈]]을 목적으로 하는 [[해커]]들이 가장 선호하는 목표물 중 하나라 [[해킹]]을 자주 당하며, [[마운트 곡스]]([[Mt. Gox]]) 파산 사태처럼 거래소 [[파산]]이나 [[BTC-e]]처럼 당국의 암호화폐에 대한 출금 규제 등으로 언제든지 계좌에 있는 [[비트코인]]이 내 비트코인이 아니게 될 수 있다. 하지만 [[일렉트럼]] 등으로 자신의 컴퓨터에 생성한 지갑으로 비트코인을 옮겨놓으면 외부 요인과 상관없이 안전하게 보관할 수 있다. 자신의 컴퓨터도 [[거래소]]보다는 안전하지만 해킹 등의 위험이 있으므로 거액의 [[암호화폐]]는 오프라인 보관소인 콜드 스토리지에 보관하는 것이 더 안전하다. [[전쟁]]이 났을 때 [[해외]]로 대량으로 가지고 나갈 수 없는 [[미국 달러|달러]]나 [[금]]과는 달리 [[암호화폐]]는 '''전 세계의 컴퓨터에 내 비트코인이 저장되어 있는 것이나 마찬가지이므로''' 종이 등에 직접 키를 적어서 들고 다니거나 클라우드 등에 키 파일을 TrueCrypt 등으로 암호화하여 업로드한다면 몸만 부지해서 외국으로 나가도 해외로 거액의 자금을 안전하게 가지고 나가는 것과 같은 효과를 가진다. == 보안 위협 == === 채굴기를 통한 무차별 대입 공격 === 대량의 [[그래픽 카드]]를 [[병렬]]로 연결할 경우 예상 외로 빨리 깨질 수도 있다. 비트코인 채굴이 이런 암호화 수식의 답을 찾는 것이니만큼 [[슈퍼컴퓨터]]보다도 암호화 해제에 최적화되어있기 때문이다. 그럴 경우 암호화에 키 파일(key file)도 사용하고, 비밀번호도 최대한 길고 어렵게 만들어야 상대방에 의한 강제적 암호화 해제를 막을 수 있다. [[SHA]] 해독에 그래픽카드보다 96,000배의 연산력을 보이는 [[ASIC]], [[FPGA]] 등을 이용한 비트코인 [[채굴기]]가 개발되면서 [[해시 함수]]의 보안력이 급격히 떨어졌다. 당장 2017년 현재의 상황을 보면, [[AMD/GPU/Rx 200 시리즈|라데온 R9 290X]]를 8대 [[AMD CrossFire|크로스파이어]]해서 사용한다고 해도 [[https://gist.github.com/epixoip/8171031 |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[* 즉 {{{0x00 00 00 00}}}]으로 시작한다. >이것은 큰 하드웨어 낭비처럼 보이기 때문에 아마 쓸모가 없을것이다. === 메모리에서 비밀번호 추출 가능 === 컴퓨터 전원을 끈 후 수 분 이내라면 메모리에 임시로 저장돼있던 트루크립트의 비밀번호를 복구할 가능성이 있다. [[https://www.joongang.co.kr/article/4908455|컴퓨터 꺼도 남는 ‘5분 흔적’ 잡아채 암호 단서 포착 2011.01.11]] [[http://maj3sty.tistory.com/1104 |[정리] TrueCrypt Forensics 2014.06.14]] == 관련 문서 == * [[비트코인]]: 비트코인은 [[SHA]]-256을 쓰고, TrueCrypt는 SHA-512를 쓴다. * [[Electrum]]: 비트코인 지갑 소프트웨어이다. * [[VeraCrypt]] * [[CipherShed]] * [[FileVault]] * [[야한 동영상/은폐와 탐지]] * [[BitLocker]] * [[gpg4usb]] * [[다크 웹]] * [[디지털 포렌식]] * [[Tor(익명 네트워크)]] * [[Tails OS]] * [[Whonix]] [[분류:암호화 소프트웨어]][[분류:오픈 소스 소프트웨어]]