피드로 돌아가기
YubiKey SSH Authentication: Stop Trusting Key Files on Disk
Dev.toDev.to
Security

디스크 내 Private Key 제거, YubiKey FIDO2로 구현한 물리적 보안 강화

YubiKey SSH Authentication: Stop Trusting Key Files on Disk

Max2026년 4월 3일6intermediate

Context

SSH Private Key가 디스크에 저장되어 도난 및 메모리 덤프 공격에 노출되는 구조. Passphrase 설정 시에도 Agent 메모리 상의 키 탈취 위험 존재. 물리적 소유 확인 없는 인증 방식의 보안 한계.

Technical Solution

  • OpenSSH 8.2+ 기반 FIDO2 Resident Key를 도입하여 Private Key를 하드웨어 내부로 완전히 격리
  • ed25519-sk 알고리즘과 verify-required 옵션을 조합해 PIN 입력과 물리적 터치를 모두 요구하는 2단계 인증 설계
  • ssh-keygen -K 명령어로 키 핸들을 동적으로 다운로드하여 ~/.ssh 폴더 동기화 없이 기기 간 인증 환경 구현
  • sshd_config에서 PasswordAuthenticationKbdInteractiveAuthentication을 비활성화하고 publickey 전용 인증 체계 강제
  • SecurityKeyProvider internal 설정 및 usbipd-win 도구 활용으로 macOS 및 WSL2 환경의 하드웨어 통신 이슈 해결

Impact

  • 2개의 보안 키 도입을 통해 총 약 $80의 비용으로 원격 키 탈취 가능성 원천 차단
  • Git push/pull 시 약 0.5초의 물리적 터치 지연시간이 추가되나 보안 신뢰성 확보

Key Takeaway

소프트웨어적 암호화보다 물리적 하드웨어 격리가 보안 수준을 비약적으로 높이는 확실한 전략. 인증 수단의 물리적 분리는 원격 공격 벡터를 완전히 제거하는 엔지니어링 설계 원칙.


FIDO2 Resident Key 도입 시 단일 장애점 방지를 위해 반드시 백업 키를 생성하고 모든 서비스에 교차 등록할 것

원문 읽기