데스크톱의 금고: Argon2id와 추측에 강한 프로필
AirGap 모드에서 AirNox의 데스크톱 쪽에는 서명 키가 없어요. 그래도 지킬 가치가 있는 것들은 있어요. 어떤 지갑을 갖고 있는지, 어떤 주소가 내 것인지, 주소록, 설정 같은 것들이요. 이 모든 게 암호화된 프로필 하나에 담겨 있어요.

목차
하나의 프로필
데스크톱이 사용자에 대해 아는 모든 것은 암호화된 파일 하나에 들어 있어요. 지갑과 그 주소, 라벨, 주소록, 네트워크 설정, 휴대폰과의 페어링 정보, 그리고 에어갭(air-gapped)이 아닌 지갑이라면 그 지갑의 시드(seed)까지요. 이 파일은 그것을 만든 컴퓨터에서 비밀번호로 열리고, 지갑 파일답게 신중하게 저장돼요.
Argon2id, 그리고 메모리 하드(memory-hard)가 중요한 이유
비밀번호만으로는 약한 비밀이에요. 사람들은 짧은 비밀번호를 고르고, 빠른 컴퓨터는 가벼운 해시를 상대로 초당 수십억 번을 추측할 수 있어요. 방어책은 추측 한 번 한 번을 비싸게 만드는 것, 그것도 특수 하드웨어로 우회할 수 없는 방식으로 비싸게 만드는 거예요.
AirNox Wallet은 Argon2id로 비밀번호를 스트레칭해요. Argon2id는 Password Hashing Competition(비밀번호 해싱 경연)의 우승 알고리즘이고, 지금 바로 이 용도에 권장되는 방식이에요. Argon2id는 메모리 하드 방식이에요. 계산하는 내내 프로세서 시간뿐 아니라 큰 메모리 블록이 필요해요. 그래픽카드는 코어는 수천 개지만 큰 메모리 블록을 수천 개 갖고 있지는 않아서, GPU로 추측을 병렬 실행하는 흔한 수법이 거의 효과가 없어요. 전용 하드웨어도 사정은 마찬가지예요.

내 컴퓨터에 맞춘 조정
비용은 고정된 숫자가 아니에요. 프로필을 만들 때 지갑이 컴퓨터를 측정하고, 그 컴퓨터에서 큰 메모리 영역을 쓰면서 한 번 계산하는 데 약 1초가 걸리도록 Argon2id를 조정해요. 빠른 워크스테이션이라면 추측 한 번에 드는 작업량이 더 늘어나고, 작은 싱글보드 컴퓨터라면 하드웨어가 가진 만큼에 맞춰 파라미터가 정해지면서도 여전히 약 1초가 걸려요.

이 비대칭이 핵심이에요. 사용자는 잠금을 풀 때 한 번 비용을 내고, 1초는 아무것도 아니에요. 추측하는 사람은 추측할 때마다 비용을 내요. 100만 번 추측하려면 컴퓨터 한 대가 100만 초 동안 온전히 매달려야 하고, 매번 큰 메모리를 차지해요. 게다가 그래픽카드를 잔뜩 꽂은 랙에 작업을 나눠 맡겨 비용을 낮출 수도 없어요.
컴퓨터에 묶인 프로필
프로필은 그것을 만든 컴퓨터에 묶여 있고, TPM 2.0 보안 칩이 있는 컴퓨터에서는 그 결합이 칩에 고정돼요. 다른 컴퓨터로 복사하면 비밀번호만으로는 파일이 열리지 않아요. 그래서 파일을 훔쳐 가도, 보통 훔친 파일보다 훨씬 다루기 어려운 문제가 돼요.
금고의 나머지 기능
점점 늘어나는 대기 시간. 틀린 시도가 이어지면 다음 시도까지 기다려야 하는 시간이 늘어나요. 이미 비싼 추측이 비싸고 느린 추측이 돼요.
유휴 시 자동 잠금. 자리를 비우면 프로필이 스스로 잠겨요. 돌아와서는 비밀번호 한 번만 입력하면 돼요.
메모리 잠금. 프로필이 열려 있는 동안 비밀 정보는 운영체제가 디스크로 스왑하지 않도록 지정된 메모리에 있어요. 시드는 필요한 동안에만 거기 머물고 바로 지워지며, 지갑을 닫거나 잠그면 모든 것이 지워져요.
화면 캡처 차단. 지갑은 자기 창이 스크린샷과 화면 녹화에 찍히지 않게 해요. 그래서 같은 컴퓨터의 캡처 도구는 사용자가 보는 화면을 볼 수 없어요.
안전한 저장. 모든 저장은 원자적이에요. 새 파일을 끝까지 다 쓴 다음 제자리에 교체하기 때문에, 쓰는 도중에 프로그램이 죽어도 반쯤 쓰인 파일이 아니라 직전의 정상 버전이 남아요. 손상된 파일은 이름에 표시를 붙여 따로 치워 두고, 아무 말 없이 사용하는 일은 없어요.
소유자 전용 권한. 프로필은 내 사용자 계정만 읽을 수 있고, 그 컴퓨터의 다른 누구도 읽을 수 없어요.
지키는 것과 지키지 못하는 것
에어갭 지갑이라면 데스크톱 프로필에는 주소와 설정이 있고, 키는 휴대폰에 있어요. 이때 금고는 프라이버시와 설정을 지켜요. 시드가 데스크톱에 있는 지갑이라면, 파일을 손에 넣은 공격자와 자금 사이를 가로막는 게 바로 이 금고예요. 금고를 이렇게 만든 이유도 그거예요. 시드를 이 금고에 둔 AirNox Wallet 단독 구성이 일상적인 거래에 탄탄한 선택인 이유도, AirGap이 가장 중요한 자금을 위한 가장 강력한 보호 계층으로 남는 이유도 마찬가지예요. 어느 경우든 강한 비밀번호는 직접 골라야 해요. 금고는 추측할 때마다 비용을 치르게 만들어요. 짧은 비밀번호를 길게 만들어 주지는 못해요.
시리즈 목차
- 컴퓨터는 이미 감염됐다고 가정하세요
- Mass Adoption Security: 서명 기기는 이미 가진 휴대폰이에요
- 에어갭을 건너는 세 가지 방법: QR 코드, Bluetooth LE, NFC
- 전파에 드러나지 않기: 아무도 스캔으로 찾을 수 없는 서명 기기
- 전송 수단은 절대 신뢰하지 않아요
- 휴대폰이 보여 주는 것: 서명 기기에서 하는 트랜잭션 분석
- 휴대폰은 자기만의 기록을 남겨요
- 데스크톱의 금고: Argon2id와 추측에 강한 프로필
- 브라우저 지갑 없이 dApp 쓰기
- 규칙이 있는 MCP 서버: 한도 안에서 움직이는 AI 에이전트
- 모든 걸 담은, 보호받는 지갑 하나
- 작고 네이티브하게: C++, JavaScript 런타임 없이, 워크스테이션부터 Raspberry Pi까지