NearSeal

2026-07-25

파일 패스프레이즈를 잊어버리면 어떻게 될까? 복구는 원천적으로 불가능합니다

지금까지 잊어버린 다른 비밀번호들은 대부분 돌아갈 길이 있었습니다. "비밀번호를 잊으셨나요"를 누르고, 이메일을 받고, 새로 설정하면 그만이었죠. NearSeal로 암호화한 파일은 다릅니다. 두 형식 어느 쪽이든 그런 복구 방법이 없고, 앞으로도 없을 것입니다. "복구 불가"라는 말은 언뜻 기능이 빠진 것처럼 들리지만, 이유를 알고 나면 오히려 그게 핵심이라는 걸 알게 됩니다.

초기화할 대상 자체가 없다

비밀번호 재설정이 가능하려면 어딘가의 서버가 비밀번호나 그 해시값, 혹은 새로 발급해줄 방법을 가지고 있어야 합니다. NearSeal은 애초에 이 이야기에 등장할 서버 자체가 없습니다. 파일을 여는 키는 어딘가에 정해져서 저장되어 있는 게 아니라, 입력한 패스프레이즈와 파일 안에 함께 저장된 무작위 솔트로부터 그때그때 계산됩니다. 패스프레이즈가 맞으면 계산 결과가 정확히 그 파일을 여는 키와 같아집니다. 틀리면 AES-GCM 인증 태그 검증이 실패하고 앱은 그냥 "패스프레이즈가 틀렸습니다"라는 오류만 띄웁니다 — "거의 맞았어요, 다시 해보세요" 같은 건 없습니다. 옵션으로 선택할 수 있는 age 형식도 구조는 똑같습니다. 키 유도에 PBKDF2 대신 scrypt를 쓴다는 차이만 있을 뿐입니다. NearSeal을 포함해 그 누구도 애초에 사용자의 패스프레이즈를 가진 적이 없습니다. 고객지원팀이 찾아볼 기록조차 없는 이유는, 애초에 저장된 사본이 없기 때문입니다.

시도 횟수 제한이 없다는 것은 대신 지켜줄 문지기도 없다는 뜻

일부 암호화 기기는 사용자의 건망증으로부터 스스로를 보호하기 위해 시도 횟수 제한을 둡니다. 잘 알려진 실제 사례로, 개발자 스테판 토머스는 비트코인 7,002개의 키를 IronKey USB 드라이브에 보관했는데, 이 드라이브는 비밀번호를 열 번 틀리면 스스로 내용을 지워버립니다. 그는 이미 여덟 번을 틀린 뒤에야 종이에 적어둔 비밀번호를 잃어버렸다는 사실을 깨달았고, 남은 두 번의 기회로 수천억 원어치의 자산을 지켜야 하는 처지가 되었습니다. 이건 암호화된 파일과는 근본적으로 다른 메커니즘이며, 그 차이를 정확히 짚을 필요가 있습니다. NearSeal이 만드는 결과물은 그냥 파일이지, 스스로 판단해서 내용을 지울 수 있는 펌웨어를 가진 기기가 아닙니다. 그 파일의 사본을 가진 사람이라면 누구든 완전히 오프라인에서, 원하는 만큼, 몇 번이든, 아무 경고나 잠금 없이 패스프레이즈를 시도해볼 수 있습니다. 이건 NearSeal만의 약점이 아니라 오프라인 파일 암호화 전반의 특성입니다 — 다만 그 말은 결국 패스프레이즈 하나가 유일한 벽이라는 뜻입니다. 그 뒤에 다른 방어선은 없습니다.

내장된 지연 장치가 실제로 벌어주는 시간

시도 횟수를 제한할 수 없는 이상, 남은 방어 수단은 시도 한 번 한 번을 비싸게 만드는 것뿐입니다. NearSeal의 기본 형식은 패스프레이즈를 AES 키로 바꾸기 전에 PBKDF2-SHA256을 220회(1,048,576회) 반복시키며, 공격자가 시도하는 모든 추측 하나하나에 이 반복이 그대로 적용됩니다. 2025년의 한 GPU 벤치마크에 따르면 고성능 소비자용 그래픽카드는 반복 횟수 10만 회 기준으로 초당 약 380만 회의 PBKDF2-SHA256 추측을 처리할 수 있었습니다. 이를 NearSeal의 약 10배 많은 반복 횟수에 맞춰 단순히 비례 계산하면 같은 하드웨어로도 초당 약 36만 회 정도로 떨어집니다 — 이건 공개된 수치를 비례 계산한 추정치일 뿐, NearSeal의 정확한 설정을 직접 측정한 값은 아닙니다. 그래도 짧거나 흔한 패스프레이즈에는 여전히 빠른 속도지만, 반복 없는 해시와는 완전히 다른 이야기입니다. 그리고 이것이 바로 복호화 시에도 반복 횟수에 합리적인 상한을 두는 이유입니다 — 악의적으로 만든 파일이 터무니없이 큰 반복 횟수를 주장해서 브라우저를 그대로 멈춰 세우지 못하게 막는 것이죠.

강도 표시줄은 이미 알고 있다: 기호보다 길이

NearSeal에서 패스프레이즈를 입력할 때 채워지는 강도 표시줄은 사실상 길이 위주로 설계되어 있습니다. 다섯 글자당 한 칸씩 점수를 채우고(상한 있음), 대소문자·숫자·기호를 섞는 것은 이미 세 가지 종류 이상을 섞었을 때에 한해서만 딱 한 칸을 추가로 채워줄 뿐입니다. 이 설계는 최신 권고와 우연히도 일치합니다. 미국 NIST의 SP 800-63B(4차 개정판)는 서비스가 강제로 복잡성 규칙을 요구하지 말 것을 명시하고, 단독으로 무언가를 보호하는 비밀번호라면 최소 15자를 권장하며, 여러 단어로 이루어진 진짜 패스프레이즈가 들어갈 수 있도록 최대 64자까지는 받아줄 것을 권장합니다. 글자 하나를 기호로 바꿔치기한 짧은 비밀번호보다, 길고 기억하기 쉬운 문장 하나가 더 낫다는 것은 NIST의 권고로도, NearSeal 강도 표시줄의 계산식으로도 같은 결론입니다.

그래서 실제로 어떻게 해야 하는가

패스프레이즈를 잃어버리면 되돌릴 방법이 없기 때문에, 진짜 안전장치는 필요해지기 전에 미리 어딘가에 안전하게 적어두는 것뿐입니다. 비밀번호 관리자를 써도 좋고, 암호화된 파일을 담고 있는 기기와는 분리된 곳에 물리적으로 메모해둬도 좋습니다 — 단, 파일이 든 기기에 테이프로 붙여두는 것은 안 됩니다. 이 패스프레이즈를 금고를 여는 유일한 열쇠라고 생각하십시오. 실제로 정확히 그런 역할을 하기 때문입니다 — 마스터키도 없고, 예비 열쇠도 없고, 전화를 걸어 물어볼 곳도 없습니다. 기본 NearSeal 형식을 썼든, 이식성이 있는 age 형식을 선택했든 이 사실은 똑같습니다 — 둘 다 오직 패스프레이즈만으로 키를 유도하며, 바로 그 성질이 사용자 본인 외에는 누구도 그 파일을 열지 못하게 지켜주는 것입니다.

광고
← NearSeal

이 페이지는 동의하신 경우에만 광고를 표시합니다.