본문으로 건너뛰기
로그인 둘러보기
보안·개인정보 · 윈도우즈 유틸

KeePass Plugin KeeChallenge

0

KeeChallenge는 KeePass2용 플러그인으로, YubiKey의 챌린지-응답 기능을 추가하여 마스터 비밀번호 대신 하드웨어 토큰을 이용한 2단계 인증을 가능하게 합니다.

2단계 인증GPL-3.0보안 플러그인챌린지-응답

소개

KeeChallenge는 KeePass2용 플러그인으로, YubiKey의 챌린지-응답 기능을 추가하여 마스터 비밀번호 대신 하드웨어 토큰을 이용한 2단계 인증을 가능하게 합니다. brush701이 개발 및 유지보수하며, GPL-3.0 라이선스로 배포됩니다. Windows 및 Linux(Ubuntu)에서 테스트되었으며, OS X에서도 소스 빌드를 통해 사용 가능합니다. 이 플러그인은 YubiKey를 이용해 KeePass 데이터베이스의 암호화 키를 보호함으로써 보안을 강화합니다.

상세정보

프로그램 소개/무엇인지

KeeChallenge는 KeePass2용 플러그인으로, YubiKey의 챌린지-응답(HMAC-SHA1) 기능을 통합하여 마스터 비밀번호 대신 하드웨어 보안 토큰을 이용한 2단계 인증을 제공합니다. 이 플러그인은 brush701이 개발했으며, GPL-3.0 오픈소스 라이선스로 배포됩니다. KeePass 데이터베이스의 암호화 키를 YubiKey에 저장된 비밀과 결합시켜 보호함으로써, 마스터 비밀번호 유출 시에도 추가적인 보안 계층을 제공합니다.

주요 기능

YubiKey 챌린지-응답 인증

YubiKey를 슬롯 2에서 HMAC-SHA1 모드로 설정하고, 64바이트 고정 챌린지를 사용해 응답을 생성합니다. 이 응답은 AES256 키로 사용되어 KeePass의 마스터 비밀번호를 암호화하는 데 사용됩니다. 사용자는 YubiKey를 삽입하고 버튼을 눌러 인증을 완료해야 하며, 이는 물리적 토큰 기반의 강력한 인증을 가능하게 합니다.

비밀 백업 및 복구 모드

YubiKey의 비밀은 평문으로 저장되지 않으며, 대신 챌린지-응답 쌍이 사전에 생성되어 XML 파일에 저장됩니다. 이 파일이 손실되거나 YubiKey를 분실했을 경우, 사용자는 미리 저장해둔 비밀을 입력하여 복구 모드를 통해 데이터베이스를 복구할 수 있습니다. 이 과정에서 비밀은 절대 평문으로 노출되지 않습니다.

KeePass 내장 보안 기능과의 통합

KeeChallenge는 단독 인증 수단으로 사용되어서는 안 되며, 항상 강력한 마스터 비밀번호와 함께 사용해야 합니다. 이렇게 함으로써 브루트포스 공격에 대한 KeePass의 내장 방어 메커니즘(예: 딜레이, 키 변환)을 활용할 수 있으며, 보안을 계층화할 수 있습니다.

다운로드·설치 방법

공식 홈페이지(http://brush701.github.io/keechallenge/)에서 최신 버전의 플러그인을 ZIP 형식으로 다운로드할 수 있습니다. 다운로드 후 압축을 해제하면 KeeChallenge.dll과 KeeChallenge.dll.config 파일이 포함되어 있습니다. 이 두 파일을 KeePass2가 설치된 디렉터리(일반적으로 C:Program FilesKeePass Password Safe 또는 사용자 지정 폴더)에 복사합니다. 설치를 마친 후 KeePass를 재시작하면 플러그인이 자동으로 로드됩니다.

기본 사용법/명령어

설치 후 KeePass를 실행하고, 데이터베이스를 열거나 새로 만듭니다. 마스터 비밀번호를 설정하는 창에서 ‘키 제공자’ 아래에 있는 ‘YubiKey 챌린지-응답’ 옵션을 선택하고 확인을 누릅니다. 그러면 YubiKey에서 비밀을 복사해 붙여넣으라는 프롬프트가 나타납니다. YubiKey를 삽입하고 버튼을 누르면 비밀이 전송되고, 이를 확인한 후 데이터베이스가 암호화됩니다. 이후 로그인 시마다 YubiKey를 삽입하고 버튼을 눌러 인증을 완료해야 합니다.

이런 경우에 유용합니다

이 플러그인은 마스터 비밀번호 유출에 대한 우려가 높은 사용자, 특히 기업 환경에서 민감한 정보를 다루는 관리자나 보안 담당자에게 유용합니다. YubiKey를 물리적 토큰으로 사용함으로써, 비밀번호가 노출되더라도 공격자가 YubiKey를 물리적으로 소유하지 않는 한 데이터베이스에 접근할 수 없게 되어, 도난 또는 피싱 공격에 대한 resilience를 크게 높일 수 있습니다.

제한 사항·확인 사항

이 플러그인은 단독 인증 수단으로 사용해서는 안 되며, 반드시 강력한 마스터 비밀번호와 함께 사용해야 합니다. YubiKey가 도난당하면 공격자가 물리적으로 토큰을 소유하게 되므로, 이 경우 데이터베이스가 노출될 수 있습니다. 또한, YubiKey의 챌린지-응답 모드는 슬롯 2에서 고정 64바이트 챌린지만 지원하며, 가변 길이 챌린지는 현재 지원되지 않습니다. KeePass 업데이트 후 플러그인이 호환되지 않을 수 있으며, 이는 보통 KeePass.exe.config 파일이 오래되었기 때문에 발생합니다. 이 문제는 KeePass를 완전히 제거하고 재설치하거나, 포터블 버전에서 config 파일을 복사하여 해결할 수 있습니다.

시스템 요구사항

KeePass2가 설치되어 있어야 하며, YubiKey와 yubico-personalization 라이브러리(의존성: yubico-c)가 필요합니다. Linux에서 mono를 사용할 경우 KeeChallenge.dll.config에 dllmap 항목을 추가해 libykpers-1-1.dll을 libykpers-1.so로 매핑해야 합니다. OS X에서는 32비트 YubiKey 라이브러리를 소스에서 직접 빌드해야 합니다.