VeraCrypt(베라크립트)는 현재 개발이 중단된 TrueCrypt를 이어받은 프로젝트로, 불륨(혹은 시스템)을 암호화하는 데 사용되는 암호화 소프트웨어다.
소개[편집 | 원본 편집]
VeraCrypt는 TrueCrypt에서 쓰던 암호화된 불륨을 이어서 쓸 수 있으며, TrueCrypt에 비해 암호화가 한층 더 강력해졌다.[1] 하드웨어가 가속화를 지원하면 매우 빠르게 사용할 수 있다.
매우 힘쎄고 강한 암호화[편집 | 원본 편집]
VeraCrypt는 AES, Camallia, Kuznyechik, Serpent, TwoFish 등의 암호화 알고리즘을 지원하며 여러 개를 동시에 쓸 수도 있다. 해시 알고리즘도 RIPEMD-160, SHA-256, SHA-512, Whirlpool, Streebog 등을 지원한다.
불륨의 형식[편집 | 원본 편집]
암호화된 불륨은 파티션 형식으로 만들어질 수도 있고, 파일 형식으로 만들어 질 수도 있다. 심지어 운영체제(시스템)를 암호화할 수도 있다.
숨겨진 불륨[편집 | 원본 편집]
숨겨진 불륨은 VeraCrypt에서 지원하는 기능으로, 말 그대로 기존 암호화된 불륨 외에 숨겨진 불륨을 말한다. 위의 사진에서 standard VeraCrypt volume은 숨겨진 불륨이 없는 암호화된 불륨을 의미하고, 그 밑의 그림은 숨겨진 불륨이 있는 암호화된 불륨이다.
사진에서 보다시피, 아무도 숨겨진 불륨의 존재여부를 알 수 없다. 그 이유는 숨겨진 불륨이 없을 시 그 영역은 무작위 데이터로 채워지고 숨겨진 불륨이 있으면 그 영역이 숨겨진 불륨이 되는데 숨겨진 불륨과 랜덤 데이터를 구별할 수 없기 때문에 존재여부를 알 수 없는 것이다.
그러면 VeraCrypt는 어떻게 숨겨진 불륨을 마운트할까? 당신이 VeraCrypt 불륨을 마운트할 때 숨겨진 불륨의 비밀번호를 쳤다고 가정하자. 그러면 VeraCrypt는 먼저 주어진 비밀번호로 외부 불륨의 복호화를 시도할 것이다. 그리고 만약 복호화가 실패한다면 그 비밀번호로 다시 숨겨진 불륨의 복호화를 시도한다. 즉, 외부 불륨을 먼저 시도해보고 안되면 숨겨진 불륨을 시도하는 식으로 숨겨진 불륨을 마운트하는 것이다. 따라서 숨겨진 불륨의 비밀번호와 외부 불륨(숨겨진 불륨이 아닌 불륨)의 비밀번호는 서로 다르게 설정되어야 한다[2]
참고로 숨겨진 불륨처럼 숨겨진 운영체제도 있다.
키파일[편집 | 원본 편집]
VeraCrypt는 TrueCrypt보다 강화된 키파일 시스템을 가지고 있다. 키파일을 사용할시 장점은 상대방이 비밀번호를 알거나 무차별 대입 공격(brute force attack)을 통해 비밀번호를 알아내고자 해도 키파일이 없다면 복호화할 수 없어 안전성이 높아진다는 점이다. 또 VeraCrypt는 PKCS #11를 지원하는 보안 토큰 및 스마트 카드에 키파일을 내장할 수 있다.