1. 개요
KeePass Password Safe홈페이지
키패스는 오픈 소스 소프트웨어로 배포되는 암호 관리 유틸리티다. 1.x 버전은 C++로 작성됐으나 2.x 버전은 C#으로 작성되어 있어서 .NET Framework 2.0 이상이 설치된 윈도우에서 작동한다. 리눅스와 macOS에서는 Mono를 사용해서 구동시킬 수 있다고 주장한다. 하지만 대다수의 오픈 소스 프로젝트와는 다르게 저장소 자체를 공개해 둔 게 아니라 매 번 릴리즈마다 소스 코드 압축 파일을 같이 배포하는 형태이다. 개발자인 Dominik Reichl은 지금까지도 그랬고 앞으로도 Github같은 공개 리포지토리로 버전관리를 하지는 않을 것이라고 한다.# # 소스 코드와 데이터 파일 형식이 공개되어 있기 때문에 여러 비공식 포팅 버전이 존재하여 리눅스, macOS, iOS, 안드로이드 등으로 나와 있다. 리눅스와 macOS를 지원하는 KeePassXC는 KeePass 2와 호환되며 Qt 라이브러리를 사용한다. 안드로이드라면 KeePassDX를 사용하면 된다.
한국에서 인터넷 사용이 매우 보편화된 2010년대에 들어서 온라인 상의 보안 사고는 점점 늘어가고 있는데 번거롭다는 이유로 같은 암호를 계속 쓰고 있다가 어느 사이트의 서버 한 곳이 털리게 되자 다른 사이트의 계정도 크래커에 의해 악용되거나 게임 아이템을 도난당하고, 다행히 아직 악용되지는 않았지만 가입한 모든 사이트의 암호를 일일이 바꿔야 했다는 경험담은 끊임없이 나오고 있다. 키패스를 사용하면 계정마다 모두 다른 암호를 설정하고 관리하는 일이 간편해져서 암호 보안을 튼튼하게 할 수 있다. 또한 암호 외에 다른 개인 정보도 보관이 가능하다. 비밀 메모 보관은 덤.
2. 특징 및 주요 기능
하나의 데이터베이스 파일에 모든 암호를 넣어두고, 마스터 암호 and/or 키 파일로 잠그는 시스템이다. 파일 단위로 암호를 관리하므로 여러 DB 파일을 운용할 수도 있다. 마스터 암호를 지정하거나 잠금 해제용 키 파일을 생성(또는 지정)하면 된다. 더 강력한 보안을 위해서 둘을 같이 써도 된다. 키 파일은 이름과 확장자를 마음대로 지정할 수 있으므로 고지식하게 .kdbx 확장자를 유지할 필요도 물론 없다. 새로 생성하지 않고 하드에 보관된 아무 기존 파일들 중 하나를 키 파일로 지정할 수도 있는데, 매우 주의해야 할 점은 다른 프로그램이 이 키 파일을 열어서 수정해버리면 다시는 해당 KeePass 데이터베이스를 열 수 없게 된다는 것이다. 그러므로 수정될 일이 없는 파일을 고르자. 데이터베이스는 2015년 현재까지 알려진 가장 안전한 암호화 알고리즘(AES Twofish)을 사용하여 암호화된다.단점은 옵션이 많고 초보가 사용하기에 복잡하다는 점이다.
독일의 연방 정보보안국에서는 패스워드 매니저 중에서 KeePass를 사용하기를 추천하고 있다.# 2018년 기준, 시중의 패스워드 매니저 프로그램은 대부분 온라인 기반인데, 클라우드에 저장된 패스워드는 마스터 패스워드가 해킹당할 경우 보관한 다른 웹사이트 패스워드도 다 뚫릴 위험이 있다. 온라인 기반이 아닌 오프라인 기반으로 로컬에 저장하는 KeePass가 되려 안전한 셈.
2.1. 장점
- 클라우드 기반이 아니어서 온라인 해킹에서 안전하다. 로컬 머신에 데이터베이스를 생성할 수 있어 인터넷 보안의 대체재로 사용할 수 있다. LastPass는 2022년까지 세 번의 누출 사고를 겪었다. 클라우드에 업로드되는 게 아니라서 데이터의 통제권이 유저 개인에게만 있다는 것은 장점이 되는데, 이를 활용해서 USB 메모리에 .kdbx 파일을 저장해서 다른 컴퓨터에서도 사용할 수 있다. kdbx 파일을 USB 메모리 하나에만 저장해서 USB 메모리를 소지하고 있어야만 keepass를 이용하게도 할 수 있다.
- 클라우드로 사용을 원하면 할수 있다. 개인 클라우드가 있다면 거기에 .kdbx 파일을 올려서 여러 컴퓨터에서 사용할 수 있다. 구글 드라이브 같은 외부 드라이브에 .kdbx 파일을 세이브 및 로드할 수 있고, 이를 지원하는 플러그인도 찾을 수 있다.
- 설령 .kdbx 파일이 털려도 AES 256비트로 암호되어 있어서 이를 크래킹하기 힘들다
- 클래식 에디션(1.x)과 프로페셔널 에디션(2.x) 두 가지 버전으로 나누어 제공되는데, 최근 버전인 프로페셔널 에디션은 .NET Framework 2.0 이상 버전이 필요하지만 더욱 유니코드의 완벽한 지원과 휴지통 기능 등 다양한 옵션과 기능을 제공하므로 프로페셔널 에디션을 추천한다. 버전별 차이
- 시스템에 어떠한 것도 설치하지 않기 때문에 설치 버전과 포터블 버전의 차이가 없다.
- 암호 생성기가 포함되어 있어 복잡하고 긴 암호 생성이 간편하다.
- 다양한 확장 기능을 제공한다. 공식 사이트에서 Plugins and Extensions 항목 참조.
2.2. 단점
- 옵션이 많아서 사용하기에는 다소 복잡하고, 플러그인도 여러 개발자로부터 개발되어 파편화되어 있으며, 플러그인 설치법과 셋팅도 스스로 알아내야 하는게 있어서 파워 유저가 아니면 사용이 다소 어렵다.#
- Auto Capture 기능을 지원하지 않는다. 다른 패스워드 매니저는 사이트에 입력한 ID와 패스워드를 자동으로 저장해서 다음에 로그인할 때 로드할 수 있게 하는 기능을 지원하는데, KeePass는 Add entry를 눌러서 하나 하나 수동으로 항목을 추가해야 한다. 크롬이나 파이어폭스에는 Auto Capture 기능 plugin이 있는데, 해당 브라우저를 사용하지 않으면 못쓰며, 이 플러그인도 문제가 있어 로그인한 상황이 아닌데도 저장하겠다고 물어보는 'do you want to save this login' 팝업이 뜬다는 것이다.
요약하자면 암호를 메모장에 적어 자기 컴퓨터 하드에 보관하는데 마스터 암호를 걸어놔서 열어볼 때마다 이것을 입력해야 하고 파일 자체도 암호화를 했기 때문에 행여나 유출되어도 바로 내용 노출이 될 우려가 적은[1] 메모장을 쓰는 셈이다.