← SECURITY 목록으로
2026-09-11

물리적 보안키 - YUBIKEY (final)

나는 내 개인적 기밀정보를 세 가지로 분류한다.

이걸 안전한 장소에 보관하는 데 유비키가 핵심적인 역할을 했다.

키링을 단 유비키 두 개

유비키 하나로 해온 것들

이 기능들을 하나씩 써가면서, 유비키 2개를 사며 들인 20만 원 가까운 돈이 더는 아깝지 않게 됐다.

사실 처음엔 아까웠다

난 그저 중국인에게 내가 쓰는 사이트들의 계정 정보를 탈취당하기 싫어서 샀다. 근데 딱 그 용도로 쓰기엔 20만 원이 너무 과한 느낌이었다. 그랬던 게 지금은 내게 너무 소중한 아이템이 돼버렸다. 둘 중 하나를 잃어버리면, 곧장 또 하나를 사야겠다고 마음먹었다.

1~2편으로 끝날 줄 알았던 시리즈가 7까지 와버렸다.

이제 뭐 또 새로운 앱이 나오지 않는 이상, 더는 유비키에 대한 글을 쓸 일이 없을 것 같다. 이걸로 YubiKey 시리즈를 마친다.

뭐, 유비키로 열 수 있는 금고 같은 제품이 등장하면 다시 글을 쓸지도? (혹시나 해서 찾아봤는데 검색되는 게 없더라고.)

내가 암호화에 관심 갖게 해준 계기가 유비키였고, 그 최종 종착지 또한 유비키였다. 소중한 최애템이 돼버렸다.

추가로 — 유비키로 문서 암호화하는 세 가지 방법, 다 똑같이 안전한가?

이 시리즈에서 유비키로 문서를 암호화하는 방법을 결국 세 가지나 만들어봤다. age+PIV(age-plugin-yubikey), age+FIDO2(age-plugin-fido2-hmac), 그리고 OpenPGP(GnuPG+keytocard). 근데 이 셋이 보안성 측면에서 동급이냐고 묻는다면, 아니다.

핵심 기준은 하나다 — 복호화할 때 "다시 써먹을 수 있는 비밀"이 카드 밖으로 나오느냐.

OpenPGP와 age+PIV는 둘 다 카드 안에서 연산 자체를 끝낸다. 호스트 컴퓨터는 그 결과값만 받을 뿐, 나중에 재사용 가능한 키는 메모리에 전혀 노출되지 않는다. 반면 age+FIDO2(hmac-secret 방식)는 구조 자체가 다르다 — 복호화할 때마다 age identity, 사실상의 개인키를 통째로 호스트 메모리로 끌어와서 그걸로 복호화한다.

이 순간 메모리가 털리면, 그 identity로 암호화된 과거·미래의 모든 파일이 카드 없이도 영구적으로 풀려버린다.

PIV/OpenPGP는 "이번 한 번의 연산 결과"만 노출되는데, FIDO2 방식은 "키 자체"가 매번 노출된다는 게 근본적인 차이다. 여기에 OpenPGP(GnuPG)는 수십 년 검증된 코드라 감사 이력도 압도적으로 길고, age+PIV도 오픈소스라 감사는 가능하지만 그만큼 오래 검증되진 않았다. age+FIDO2는 셋 중 가장 신생 프로젝트다.

그래서 순위를 매기면 OpenPGP ≥ age+PIV > age+FIDO2. 1급 문서(돈, 재산, 핵심 정보)는 OpenPGP나 age+PIV로, FIDO2 방식은 덜 민감한 자료를 빠르게 여러 명에게 나눠 암호화하는 등 편의성 위주 용도로 구분해서 쓰는 게 합리적이다.

조회 0
댓글 0