KEY DISCLOSURE 법과 디바이스 암호화

얼마전 추미애 법무부 장관이 피의자가 강제로 비밀번호를 자백하게 요구하는 법을 만들겠다고 했습니다.

지금 우리나라 법으로는 불가능합니다. 형사소송법에 진술거부권(묵비권)이 명시되어 있고 설령 법안 제정을 추진한다고 해도 헌법 제12조 제19조 제21조 위반으로 위헌먹을 가능성이 큽니다. 대놓고 인권을 침해하는 법인데 주장하는 것 자체가 자기가 얼마나 무식한지 스스로 증명하는 꼴이죠.

모 사이트에서 압수수색에 비유하며 피의자가 문을 안 열어주면 어쩌냐고 옹호하던데 그러면 경찰은 알아서 문을 따고 들어갑니다. 마찬가지로 휴대폰에 비밀번호가 걸려있다면 경찰이 ‘알아서‘ 해제하고 데이터를 꺼내야 합니다. 비밀번호나 길어서 수억년이 걸리니 AES를 깰 수 없니 그런거 상관없이 암호를 뚫지 못하면 전부 경찰 책임이고 정부가 무능한 탓입니다.

마치 영장 나오면 무조건 비번을 알려주어야 하는 식으로 몰아가는데, 정부의 권위 위에 보편적인 인권이 있고 법원 영장은 만능열쇠가 아닙니다. 정부가 우리의 머릿속까지 지배할수는 없습니다. 그래도 납득이 안되는 사람은 이 기사를 읽고 와주세요.

이렇게 암호화된 정보에 접근할 수 있도록 수사기관이 키를 몰수하는 행위를 Key disclosure 법이라 합니다. 한국에서는 범죄자의 암호화폐 지갑 키를 몰수하기 위한 아이디어로 제기된 바 있습니다. 이 법이 있는 나라가 있고 없는 나라가 있는데 Key disclosure 법이 있는 나라 중에서도 누구에게 적용되는지 차이가 존재합니다.

악명높은 파이브 아이즈의 일원인 영국과 호주는 피의자가 비밀번호를 자백하지 않으면 징역형에 처해집니다. 둘다 대테러 수사를 명목으로 도입되었는데 당시에도 말이 많았고 지금도 틈만 나면 감시 국가라는 비판을 사고 있습니다. 프랑스에는 2001년 판례가 존재하는데 이게 지금도 적용되는지는 모르겠지만, 프랑스도 악명높은 빅 브라더 국가니 더 나아지지는 않았을거라 생각합니다. 노르웨이는 생체 인증에 한해 적용하고 있습니다. 그외에 러시아, 중국, 남아공이 피의자에게 적용하고 있습니다.

다른 선진국이 한다고 우리도 따라해야 한다고 생각하지 마시기 바랍니다. 모든 나라의 정부의 꿈은 빅 브라더가 되는 것입니다. 민주국가에서도 잘못된 일은 얼마든지 생길 수 있습니다.

핀란드, 네덜란드, 미국은 Key disclosure 법이 있지만 암호화 키를 알고 있는 제3자에게 적용되고 수사를 받는 피의자나 그 가족에게는 상관이 없습니다. 피의자에게 자해하도록 명령하는 것은 묵비권을 침해하기 때문입니다.

캐나다, 독일, 스위스, 스웨덴은 아예 그런 법이 없습니다.

과연 어느 나라를 따라해야 할지 각자 알아서 생각해보세요.

디바이스 암호화

이제 실제로 디지털 기기를 암호화하는 소프트웨어를 간단히 알아봅시다.

어디까지나 이런 툴이 있다 소개하는 정도고 자세한 사용법은 공식 document나 직접 사용하면서 알아내주세요.

PC: Windows, Mac OS, Linux

공통

PC용 하드웨어 암호화는 역시 베라크립트가 최고입니다. 어지간한 OS는 전부 지원합니다. 오픈 소스에 보안 감사도 받았고 이것보다 더 낫다고 여겨지는 툴이 없습니다.

시스템 드라이브, 외장 드라이브, USB 모두 암호화 가능합니다. 드라이브 전체를 잠글 수도 있고 내부에 암호화 볼륨을 생성하는 것도 됩니다. 저는 베라크립트만을 애용하고 있습니다.

다만 윈도우에서는 사용하기 전에 몇가지 주의사항을 읽어주세요.

그리고 가끔 좆대로 부트로더를 날려먹으니 시스템 드라이브를 암호화 했으면 꼭 복구 키를 잘 챙겨두시기 바랍니다.

Windows

마이크로소프트 사에서 공식적으로 지원하는 비트락커(BitLocker)가 있습니다. 베라크립트와 달리 시스템 변조를 탐지하는 TPM을 지원합니다.

하지만 그것 외에는 메리트가 없으니 비트락커보다는 베라크립트를 쓰는게 더 낫습니다.

솔직히 마이크로소프트가 언제부터 사용자 프라이버시를 신경썼답니까. 오픈 소스도 아닌데 CIA나 NSA의 백도어가 있을지 누가 아나요.

Mac OS

애플은 Filevault라는 자체 암호화 소프트웨어를 제공하고 있습니다. 암호화 할때 백업 키를 애플 본사 서버에 저장할 수 있는데 당연히 안하는게 좋습니다.

Linux

리눅스에는 LUKS라는 커널 표준 암호화 기능이 있습니다. cryptsetup 명령어를 사용해서 쉽게 사용할 수 있습니다.

모바일

안드로이드

안드로이드는 8.0버전 이상부터 파일 기반 암호화(FBE)를 사용하고 있습니다. 환경설정에서 잠금화면만 켜주면 암호화가 적용됩니다. 이때 패스워드를 설정해야 하는데 PIN이나 생체인증을 쓰지 말고 꼭 비밀번호를 사용하세요. 영어 대소문자, 숫자, 특수문자를 모두 조합한 최소 12자리 이상의 비밀번호가 안전합니다.

안드로이드는 구글 스토어 계정이나 삼성 계정에 비밀먼호를 백업하는 기능이 있습니다. 믿지 않는다면 둘을 꺼두어야 합니다.

그리고 공격자에게 휴대전화를 탈취당한 상황에서 반드시 전원이 꺼져있어야 합니다. 한번 부트로더가 열려 암호가 해제된 상황이라면 일반 잠금화면 정도는 쉽게 우회할 수 있습니다.

아이폰

아이폰은 이전부터 암호화된 상태로 폰을 출시하고 있습니다. 주의점은 안드로이드와 같습니다.

이스라엘의 셀레브라이트가 아이폰의 암호화를 뚫을 수 있다는 뉴스를 보고 오해하는 분들이 많은데, 셀레브라이트가 뚫는 것은 일정 횟수 이상 비밀번호를 틀리면 데이터가 지워지는 아이폰의 자폭 기능을 우회하는 걸 말합니다. 어차피 전원이 꺼져 있다면 비밀번호를 알아야 폰을 열어볼 수 있고, 브루트 포스로 뚫을 수 없는 긴 비밀번호라면 열 수 없습니다.

아이클라우드 백업에 주의하세요. 중요한 자료를 애플이 열어볼 수 있습니다.

안드로이드 VS 아이폰

어차피 둘다 암호화를 사용하고 있기 때문에 결국 비밀번호가 얼마나 기냐에 따라 창과 방패의 승패가 갈립니다.

최근에는 하드웨어 가속화, 클라우드를 이용한 병렬 컴퓨팅으로 브루트 포스 속도가 비약적으로 빨라졌습니다. 예로 러시아의 포렌식 솔루션 회사 엘콤소프트는 1초에 1000회 이상의 비밀번호를 대입할 수 있습니다. 이 성능의 인스턴스가 최소 1만대 있다고 가정하고 비밀번호 길이를 선택해야 합니다. 길고 복잡할수록 좋습니다.

안드로이드는 최대 16자리의 비밀번호를 설정할 수 있습니다. 그에 비해 아이폰은 37자리까지 비밀번호를 설정할 수 있습니다. 안드로이드가 이렇게 짦은 이유는 그저 개발자가 UI에서 긴 비밀번호가 불편하기 때문이라 생각했기 때문이라네요. 정말 안전하려면 지금보다 2배는 더 늘려야 합니다.

따라서 아이폰이 안드로이드에 비해 ‘비교적’ 안전한다고 할 수 있습니다.

하지만 그보다 더 안전한 모바일 OS도 있습니다. 안드로이드 기반의 GrapheneOS인데 고도의 보안이 필요한 기자나 사회운동가들을 위해 만들어졌습니다. 비밀번호를 최대 64자리까지 설정할 수 있어 아이폰보다 더 안전합니다.

한가지 문제는 하드웨어 보안 문제로 구글 픽셀 시리즈만 지원한다는 점입니다. 픽셀은 한국에 정식 발매되지 않았습니다.

클라우드

Cryptomator 처럼 클라우드에 보관하기 전에 자료를 암호화 할 수 있도록 도와주는 툴이 몇개 있습니다.

이걸 사용하면 드롭박스나 구글 드라이브를 사용해도 다른 사람이 내 파일을 들여다볼 수 없습니다. 클라우드에 파일을 올리기 전에 중요한 자료는 꼭 암호화하세요.

2 comments

  1. 추미애 씨발년 교통사고 당해서 몸 반쪽나 고통스럽게 뒤지는거 보고싶노 씨발ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

Leave a Reply

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다