사용 설명서
1. 이 설명서에 대하여 • 2. GravesZIP이란 • 3. 형식 • 4. 비밀번호로 보호된 메시지 열기 • 5. 암호화 • 6. 암호 • 7. 암호화는 서명이 아닙니다 • 8. 안전하게 압축 풀기 • 9. 압축 파일 검증 • 10. 화면 구성 • 11. 언어 • 12. 접근성 • 13. 지원
1. 이 설명서에 대하여
이 설명서는 GravesZIP 1.0을 다룹니다. 처리하는 형식, 암호화의 동작 방식, 보호하는 것과 보호하지 않는 것, 그리고 화면의 모든 부분을 사용하는 방법을 설명합니다. 동작하지 않는 기능은 하나도 설명하지 않습니다. 계획했지만 아직 없는 기능은 화면 구성의 끝부분에 그렇다고 밝혀 나열했습니다.
2. GravesZIP이란
압축 파일 관리자입니다. 파일을 압축 파일로 묶고, 다시 풀고, 묶는 내용을 암호화할 수 있습니다.
압축과 암호화는 여기서 새로 구현하지 않고, 오랜 기간 검증된 오픈 소스 라이브러리인 SharpZipLib이 수행합니다. GravesZIP이 만드는 압축 파일은 일반적인 ZIP 파일입니다. 암호화하지 않은 압축 파일은 Windows와 macOS에 내장된 압축 파일 기능을 포함해 어디서든 열립니다. 암호화한 압축 파일은 7-Zip, WinZip 등 ZIP의 AES-256 암호화를 이해하는 프로그램이면 어디서든 열립니다. Windows 자체의 이전 버전을 포함한 일부 내장 ZIP 도구는 AES를 이해하지 못하므로, 어떤 프로그램으로 만들었든 암호화된 압축 파일을 열 수 없습니다. 그럴 때는 GravesZIP이나 위의 프로그램 중 하나를 사용하세요.
네트워크 연결은 하지 않습니다. 개인정보 처리방침을 참조하세요.
3. 형식
이 릴리스는 ZIP을 처리합니다.
이것이 목록의 전부이며, 의도적으로 짧게 두었습니다. ZIP은 GravesMail의 비밀번호로 보호된 메시지가 도착하는 형식이고, 다른 모든 압축 프로그램이 읽을 수 있는 형식이며, 한 가지 형식을 제대로 지원하는 것이 여러 형식을 어중간하게 지원하는 것보다 가치가 있습니다. 다른 형식도 추가될 것입니다. 그때까지 이 설명서는 그 형식들을 지원한다고 말하지 않습니다.
7z, RAR, tar 등은 아직 지원하지 않습니다. GravesZIP은 7-Zip을 포함하지 않으며 7-Zip이 설치되어 있을 필요도 없습니다.
4. 비밀번호로 보호된 메시지 열기
GravesMail에서 보낸 비밀번호로 보호된 메시지는 protected-message.zip이라는 첨부 파일로 도착합니다. GravesZIP으로 열고, 보낸 사람이 따로 알려 준 비밀번호를 입력하세요. 비밀번호는 전화나 문자로 전달해야 하며, 절대 그 이메일 안에 적어서는 안 됩니다.
그 안에는 다음이 들어 있습니다.
첨부 파일의 이름은 의도적으로 바꾼 것입니다. ZIP은 각 파일의 내용은 암호화하지만 이름 목록은 압축 파일을 가진 사람이면 누구나 읽을 수 있게 남겨 두므로, “layoff-list.xlsx”라는 파일은 누군가 비밀번호를 입력하기도 전에 스스로 정체를 드러내게 됩니다. 실제 이름은 message.html에 들어 있습니다.
이런 파일을 여는 과정에서 네트워크로 나가는 것은 아무것도 없으며, GravesZIP도 GravesWare도 비밀번호를 볼 일이 없습니다.
5. 암호화
ZIP에 암호를 설정하면 AES-256으로 암호화됩니다.
ZIP은 두 가지 암호화 방식을 지원하며, 그중 하나는 이미 깨졌습니다. 원래의 방식인 ZipCrypto는 일반적인 하드웨어에서 알려진 평문 공격으로 몇 초 만에 뚫리는데, 7-Zip을 포함한 대부분의 도구는 ZIP 암호를 설정할 때 기본으로 이 방식을 적용합니다. GravesZIP은 절대 사용하지 않습니다. 이를 위한 설정도 없습니다. 그것이 올바른 선택인 경우는 없기 때문입니다.
암호화가 보호하지 않는 것
ZIP은 자신의 파일 목록을 암호화할 수 없습니다. 내용은 읽을 수 없더라도, 안에 든 모든 것의 이름, 크기, 타임스탬프는 압축 파일을 가진 사람이면 누구나 읽을 수 있습니다. 이는 GravesZIP이 아니라 형식의 한계이며, 어떤 ZIP 도구도 이보다 나을 수 없습니다.
이름 자체가 민감하다면 압축하기 전에 파일 이름을 바꾸세요. GravesMail이 실제 이름 대신 attachment-01이라고 쓰는 것이 바로 그런 조치입니다.
압축 파일 자체에도 이름, 크기, 수정 날짜가 있으며, 이 중 어느 것도 암호화되지 않습니다. “resignation-letter.zip”이라는 압축 파일은 이미 너무 많은 것을 말해 버린 셈입니다.
GravesZIP은 그렇지 않은 척하지 않습니다. 파일 목록까지 숨긴 암호화 ZIP을 만들어 달라고 하면, 읽을 수 있는 목록을 슬그머니 써 버리는 대신 요청을 거부합니다.
6. 암호
여러분도, GravesWare도, 그 누구도 복구할 수 없습니다. 백도어도, 복구 키도, 재설정도 없습니다. 암호를 잃어버리면 압축 파일은 사라진 것과 같습니다. 암호화는 바로 그러라고 있는 것입니다.
이제 암호화된 압축 파일에 들어 있다는 이유로 어떤 것의 유일한 사본을 지우려 한다면, 지우지 마세요.
암호 고르기
보안은 전적으로 암호에 달려 있습니다. AES-256은 약점이 아니며 앞으로도 그럴 일이 없습니다. 약점은 추측할 수 있는 암호입니다.
길이가 복잡성보다 중요합니다. 서로 관련 없는 단어 여러 개가 글자를 바꿔 넣은 짧은 문자열보다 강력하고 기억하기도 쉽습니다. “correct horse battery staple”은 “P@ssw0rd!”보다 추측하기가 훨씬 어렵습니다.
다른 곳에서 쓰는 암호를 다시 쓰지 마세요. 압축 파일은 그 암호를 빌려 온 계정보다 오래 남을 수 있고, 의도하지 않은 곳으로 흘러갈 수도 있습니다.
GravesZIP이 암호를 보관하는 곳
작업이 진행되는 동안 메모리에만 보관하며, 다른 어디에도 보관하지 않습니다. 디스크에는 절대 기록되지 않습니다. “이 암호 기억하기” 옵션은 의도적으로 두지 않았습니다.
이 보호의 한계는 개인정보 처리방침을 참조하세요.
7. 암호화는 서명이 아닙니다
암호는 압축 파일을 만든 사람이 그 암호를 알고 있었다는 것을 증명합니다. 그 사람이 누구였는지는 증명하지 않으며, 여러분이 받은 압축 파일이 그 사람이 보낸 바로 그 파일이라는 것도 증명하지 않습니다. 암호를 아는 사람이라면 같은 암호로 똑같이 열리는 다른 압축 파일을 만들 수 있습니다.
암호화는 내용을 읽지 못하게 합니다. 누가 만들었는지를 확인하는 것은 별개의 문제이며, 이 프로그램은 그 문제를 해결하지 않습니다.
8. 안전하게 압축 풀기
다른 사람에게서 받은 압축 파일은 신뢰할 수 없는 입력입니다.
GravesZIP은 여러분이 선택한 폴더 밖에는 어떤 파일도 쓰지 않습니다. “../../.ssh/authorized_keys” 같은 경로를 저장해, 부주의한 압축 해제 프로그램이 그 경로가 가리키는 곳에 파일을 쓰게 만드는 압축 파일이 있습니다. GravesZIP은 이런 압축 파일을 전면 거부하며, 해당 항목만 건너뛰는 것이 아니라 압축 풀기 자체를 중단하므로, 악의적인 압축 파일이 일부만 풀리는 일도 없습니다.
GravesZIP은 압축을 푼 내용에 악성 코드가 있는지 검사하지 않습니다. 그것은 바이러스 백신 소프트웨어가 할 일입니다.
9. 압축 파일 검증
파일 > 압축 파일 테스트는 디스크에 아무것도 쓰지 않고 모든 항목의 압축을 풀어, 함께 저장된 체크섬과 대조합니다. 압축 파일이 손상되지 않았는지, 그리고 암호화된 압축 파일이라면 암호가 올바른지 확인해 줍니다. 암호가 필요하면 암호를 묻고, 입력한 암호가 틀리면 다시 묻습니다.
결과는 쉬운 말로 알려 줍니다. 모든 항목을 검사했고 압축 파일이 정상이거나, 체크섬과 일치하지 않는 항목이 하나 이상 있어 압축 파일이 손상된 것입니다. 손상된 압축 파일이라도 ‘선택 항목 압축 풀기’로 일부 파일은 꺼낼 수 있을지 모릅니다. 가능하다면 온전한 사본을 다시 구하세요.
압축 파일이 어디서 왔는지, 누가 만들었는지는 확인해 주지 않습니다.
10. 화면 구성
창
열린 압축 파일이 없을 때 창에는 ‘열기’와 ‘새 압축 파일’ 버튼이 있습니다. 압축 파일이 열려 있으면 그 안의 내용이 나열됩니다. 각 항목의 이름과 폴더, 크기, 마지막으로 수정한 날짜가 이름순으로 표시됩니다. 행 옆의 자물쇠는 그 항목의 내용이 암호화되어 있다는 뜻입니다.
압축 파일에 관한 모든 동작은 파일 메뉴에 있으며, 같은 동작이 오른쪽 클릭 메뉴에도 있습니다. 창 아무 곳이나 오른쪽 클릭하거나 Shift+F10 또는 메뉴 키를 누르세요. 열린 압축 파일이나 선택 항목이 있어야 하는 동작은 그것이 생길 때까지 회색으로 비활성화됩니다.
압축 파일 열기
파일 > 열기를 사용하거나 명령줄에 압축 파일의 경로를 전달합니다. GravesZIP을 .zip 파일의 연결 프로그램으로 지정했거나 압축 파일을 GravesZIP 아이콘에 끌어다 놓으면 후자의 방식으로 열립니다. Microsoft Store 버전은 Windows의 “연결 프로그램” 목록에 .zip 파일용으로 나타납니다.
암호화된 압축 파일이라도 목록은 즉시 나타납니다. 이는 보안 허점이 아닙니다. ZIP의 색인은 암호화되지 않으므로 이름, 크기, 날짜는 파일을 가진 사람이면 누구나 읽을 수 있습니다.
압축 풀기
파일 > 모두 압축 풀기는 전부를 풉니다. 파일 > 선택 항목 압축 풀기는 선택한 행만 풉니다. 하나를 클릭하거나, Ctrl+클릭 또는 Shift+클릭으로 여러 개를 선택하세요. 폴더의 행을 선택하면 그 폴더 안의 모든 것이 함께 풀립니다.
어느 쪽이든 파일을 둘 위치를 선택합니다. 암호화된 압축 파일은 이때 암호를 묻습니다. 암호가 실제로 필요해지는 첫 시점이 바로 여기이기 때문입니다. 암호가 틀리면 GravesZIP은 작업 전체를 실패로 끝내지 않고, 틀렸다고 알린 뒤 다시 묻습니다.
모든 항목의 대상 위치를 확인하기 전에는 아무것도 쓰지 않습니다. 선택한 폴더 밖을 가리키는 경로가 들어 있는 압축 파일은 통째로 거부하므로, 내용의 절반만 남겨 놓는 일이 없습니다.
테스트
파일 > 압축 파일 테스트. 위의 압축 파일 검증을 참조하세요.
압축 파일 만들기
파일 > 새 압축 파일. 원하는 파일과 폴더를 추가합니다. 각 항목은 이름으로 나열되고 그 아래에 원래 있던 폴더가 표시됩니다. 압축 강도를 고르고, 원하면 암호를 설정합니다. 폴더는 그 아래의 모든 것을 포함해 통째로 추가되며, 압축 파일 안에서도 원래 이름을 유지합니다.
압축은 아홉 단계의 눈금이 아니라 세 가지 설정을 제공합니다.
일반 압축 파일을 만들려면 암호를 비워 두세요. 암호를 입력하면 확인용 두 번째 필드가 나타납니다. 암호는 복구할 수 없기 때문입니다. 잘못 입력한 암호는 압축 파일이 기록되는 순간부터 그 파일을 읽을 수 없게 만들며, 나중에 그 사실을 알려 줄 방법은 없습니다. 파일 이름은 계속 읽을 수 있다는 알림도 함께 나타납니다.
압축 파일은 기록되자마자 열리므로, 무엇이 들어갔는지 그냥 믿을 필요 없이 직접 볼 수 있습니다.
닫기
파일 > 압축 파일 닫기. 암호는 프로그램이 종료될 때까지 남아 있지 않고 그 순간 메모리에서 지워집니다.
키보드 단축키
Windows와 Linux에서는 Ctrl을, Mac에서는 Command를 사용합니다.
메뉴 자체는 Alt와 밑줄 친 글자로 엽니다. 파일은 Alt+F, 도움말은 Alt+H입니다.
아직 없는 기능
압축을 풀지 않고 압축 파일 안의 파일 열기, 이미 있는 압축 파일에 파일 추가하기, ZIP 이외의 형식.
11. 언어
GravesZIP은 55개 언어로 제공됩니다. 도움말 > 언어에서 고르세요. 목록에는 각 언어가 그 언어의 문자로 표시되며, 현재 언어에는 표시가 되어 있습니다.
영어(영국식 및 호주식 철자 포함), 스페인어(스페인 및 라틴 아메리카), 프랑스어, 독일어(스위스 포함), 포르투갈어(유럽 및 브라질), 이탈리아어, 폴란드어, 튀르키예어, 베트남어, 인도네시아어, 필리핀어, 네덜란드어, 스웨덴어, 핀란드어, 루마니아어, 크로아티아어, 보스니아어, 세르비아어(라틴 문자 및 키릴 문자), 말레이어, 스와힐리어, 요루바어, 이보어, 우즈베크어, 그리스어, 러시아어, 우크라이나어, 중국어 간체, 중국어 번체(홍콩), 일본어, 한국어, 태국어, 힌디어, 벵골어, 타밀어, 펀자브어, 마라티어, 네팔어, 구자라트어, 오리야어, 텔루구어, 칸나다어, 말라얄람어, 암하라어, 아랍어(이집트 포함), 페르시아어, 우르두어, 신디어, 위구르어.
선택한 언어는 GravesZIP을 다시 시작하면 적용됩니다. 이는 피해 가야 할 제약이 아닙니다. 창은 만들어질 때 언어를 읽고, 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽이라는 방향도 그 순간에 정해집니다. 그래서 이미 화면에 떠 있는 창의 언어를 바꾸면 절반만 번역되고 방향도 틀린 창이 남게 됩니다.
언어를 선택하기 전에는 GravesZIP이 운영 체제의 언어를 따릅니다.
아랍어, 페르시아어, 우르두어, 신디어, 위구르어에서는 인터페이스가 오른쪽에서 왼쪽으로 배치됩니다. 압축 파일의 내용은 좌우가 뒤집히지 않습니다. “docs/report.txt” 같은 경로는 어느 언어에서나 방향을 그대로 유지합니다. 구분 기호는 왼쪽이 오른쪽을 포함한다는 뜻이기 때문입니다. 어떤 문자로 된 파일 이름과 폴더 이름이든 목록 안에서는 올바르게 표시됩니다.
12. 접근성
GravesZIP은 보지 않고도 쓸 수 있도록 만들었습니다.
화면 읽기 프로그램
조작할 수 있는 모든 컨트롤에는 화면 읽기 프로그램이 읽어 줄 수 있는 이름이 있으며, 정보 창의 문서 패널도 마찬가지입니다. 이는 눈으로 살펴보는 것이 아니라 빌드할 때마다 자동으로 검사합니다. 읽어 줄 수 없는 컨트롤이 있으면 빌드가 실패합니다.
키보드
메뉴는 Alt와 밑줄 친 글자로 열고 화살표 키로 이동합니다. 대화 상자는 Escape로 닫히며, 기본 버튼은 Enter에 반응합니다.
언어 메뉴는 드롭다운 목록 대신 라디오 버튼 방식의 항목을 사용합니다. 화면 읽기 프로그램이 어느 항목이 선택되어 있는지 읽어 주기 때문입니다. 시각 장애가 있는 사용자는 현재 어떤 언어가 적용되어 있는지 추측할 필요 없이 그렇게 직접 듣습니다.
색상과 대비
GravesZIP은 GravesWare 색상을 사용하며, 시스템의 밝은 모드 또는 어두운 모드 설정을 따르는 밝은 버전과 어두운 버전이 있습니다. 두 버전의 모든 텍스트는 WCAG AA 대비 기준인 4.5 대 1을 충족하며, 어떤 변경이 이 기준 아래로 떨어뜨리면 자동화된 테스트가 빌드를 실패시킵니다. 색상만으로 전달하는 정보는 없습니다. 암호화된 행에는 자물쇠가 있고, 화면 읽기 프로그램은 “암호화됨”이라고 읽어 줍니다.
시스템이 고대비로 설정되어 있으면 GravesZIP은 자체 색상을 쓰지 않고 시스템 기본 테마를 그대로 사용합니다. 그 색상은 여러분에게 필요해서 고른 것이며, 그 선택 위에 자기 색을 덧칠하는 앱은 스스로를 읽기 어렵게 만든 것입니다.
크기
버튼과 텍스트 필드의 높이는 44픽셀 이상입니다. 포인터나 손가락, 또는 떨리는 손으로 쓰기에 편한 최소 크기입니다. GravesZIP은 Windows에서 디스플레이 배율을 인식한다고 선언하므로, 150%나 200%에서도 늘어나 흐려지지 않고 선명하게 유지됩니다.
13. 지원
GravesWare, LLC
support@gravesware.com
이 주소는 정보 페이지(도움말 > GravesZIP 정보)에도 있으며, 거기에는 주소와 사용 중인 버전이 이미 채워진 상태로 여러분의 메일 프로그램을 여는 ‘지원팀에 이메일 보내기’ 버튼이 있습니다. 여러분이 보내기 전에는 아무것도 전송되지 않습니다.
사용 중인 버전(정보 창에 표시됩니다)과 운영 체제를 알려 주세요. 암호화된 압축 파일과 관련된 문의라면 압축 파일이나 암호를 보내지 마세요.