당신의 비밀번호는 오직 당신만의 것입니다.
Confidex는 비밀번호, 코드, 메모, 파일을 오직 사용자만 열 수 있는 보관함에 보관합니다. 동기화하는 서비스는 사용자의 이름, 이메일, 비밀번호를 결코 알지 못하며, 단 하나의 항목도 읽을 수 없습니다.
- 회원가입 없음
저희 쪽에는 훔치거나, 피싱하거나, 재설정할 계정이 없습니다.
- 기기 내에서 안전하게 암호화 봉인
무엇이든 떠나기 전에 암호화되고 서명됩니다. 떠난다면 말입니다. 동기화는 선택 사항입니다.
- 무료 및 오픈 소스
GPL-3.0 앱과 직접 운영할 수 있는 AGPL-3.0 동기화 서버.
로그인에 정말 필요한 모든 것을 한곳에.
레코드는 고정된 양식이 아닙니다. 비밀번호 옆에 일회용 코드, 복구 메모, 결제에 쓰는 카드, 이메일로 받은 파일을 두십시오. 모두 함께 보관되고, 모두 함께 암호화됩니다.
- 로그인과 비밀번호설정을 기기에 보관하는 생성기 포함.
- 일회용 코드2단계 로그인용 코드를 기기에서 생성합니다.
- 은행 카드번호, 만료일, 코드를 일반 암호화 필드로.
- 메모와 문서일반 메모로, 또는 요청할 때까지 숨겨지도록 보호된 메모로.
- 사진과 파일스캔, PDF, 사진을 봉인 전에 기기에서 크기 조정합니다.
- Wi-Fi 네트워크저장된 비밀번호로 만든, 손님이 스캔할 수 있는 QR 코드.
- API 키와 토큰드러낼 때까지 숨겨지며, 한 번의 동작으로 복사됩니다.
- SSH 키사용할 때마다 사용자에게 묻는 네이티브 에이전트 포함.
- 사용자 정의 필드그 밖에 필요한 무엇이든. 편집해도 아무것도 버려지지 않습니다.
- 전체 이력모든 변경이 보관됩니다. 레코드의 이전 버전 어느 것이든 열 수 있습니다.
옮겨오기는 가져오기 한 번이면 됩니다.
Confidex는 1Password, Bitwarden, KeePass, CSV에서 가져오고 다시 그쪽으로 내보냅니다. 실제 데이터로 써 보시고, 마음이 바뀌면 모든 것을 가지고 떠나실 수 있습니다.
- 1Password
- Bitwarden
- KeePass
- CSV
데스크톱
Mac, Linux, Windows용 진짜 네이티브 애플리케이션으로, Rust로 작성되었고 GPU 가속 인터페이스를 갖추었습니다. Electron도, Flutter도, 웹 뷰도 없습니다.
- macOS
- Linux
- Windows
오프라인 우선
모든 기기가 보관함 전체를 보관합니다. 원할 때 저희 서버나 자체 서버를 통해 동기화하거나, 아예 하지 않아도 됩니다: 보관함을 한 기기에 두고 파일로 백업하십시오. 두 기기의 내용이 다르면 두 버전을 모두 보고 선택합니다.
두 개의 키가 보관함을 엽니다. 둘 다 가진 사람은 사용자뿐입니다.
비밀번호와 비밀 키는 보관함의 개인 키가 담긴 작은 잠금 장치를 엽니다. 기록은 별도로 암호화되고 각 개정에는 서명이 붙습니다. 동기화 서버는 두 잠금 해제 비밀 중 어느 것도 받지 않고 계정도 요구하지 않으면서 서명을 검증합니다.
-
사용자의 비밀번호
사용자가 기억합니다. 어디에도 저장되지 않고 어디로도 전송되지 않습니다.
-
사용자의 비밀 키
사용자의 기기가 보관합니다. 새 기기에서는 전송 코드로 한 번 입력합니다: 7개씩 묶인 77개의 글자와 숫자입니다.
-
잠금 장치
보관함 키를 담고 있으며 둘이 함께 있어야만 열립니다. Argon2id는 의도적으로 모든 비밀번호 추측을 느리게 만듭니다: 시도 한 번에 64 MiB 메모리와 3회 패스.
키 하나만으로는 아무것도 바뀌지 않습니다. 서버의 모든 것을 복사해도 비밀번호를 추측하는 데조차 쓸 수 없습니다. 서버는 비밀 키를 결코 가지고 있지 않기 때문입니다.
사용자의 기기들은 안을 들여다볼 수 없는 서버를 통해 보조를 맞춥니다.
모든 변경은 봉인되고 서명된 채 기기를 떠납니다. 서버는 봉인된 상자를 사용자의 기기 사이에 전달하고 서명을 확인하므로 다른 누구도 보관함을 변경할 수 없습니다. 서버는 상자 하나도 열 수 없으며, 평문 HTTP에서도 HTTPS에서와 똑같이 안전하게 작동합니다.
서버는 저장하고 전달합니다. 사용자 자신의 키로 된 서명만이 변경을 받아들이게 합니다.
잠그면 메모리에서 사라집니다.
보관함이 열려 있는 동안 키와 사용자가 보는 레코드는 메모리에 있습니다. 잠그면 Confidex는 그 순간 그것들을 폐기합니다. Rust는 비밀을 한동안 더 붙잡아 둘 수 있는 가비지 컬렉터 없이 메모리를 결정적으로 해제합니다. 클립보드나 운영체제가 만든 사본은 이 보증의 범위 밖입니다.
비밀이 언제 메모리를 떠날지는 가비지 컬렉터가 결정하지 않습니다. 잠금이 결정합니다.
저희 서버가 해킹당하면 어떻게 됩니까?
공격자가 손에 넣은 것을 켜 보십시오.
공격자가 가진 것을 켜 보십시오. 답은 프로젝트 문서의 위협 모델을 따릅니다.
- 네. 두 키가 모두 있어야 보관함이 열립니다.이것이 유일한 해제 방법입니다. 새 기기에서 보관함을 열 때도 동일하므로 비밀번호와 전송 코드는 절대 함께 보관해서는 안 됩니다.
- 네. 두 키가 모두 있어야 보관함이 열립니다.공개 주소로 봉인된 데이터를 가져와 열 수 있습니다. 비밀번호와 전송 코드를 분리하여 보관하세요.
- 아니요, 비밀번호가 강력하다면 불가능합니다.비밀 키를 통해 잠금 장치를 가져와 오프라인에서 대입해 볼 수 있지만, 시도할 때마다 64 MiB의 메모리와 3회의 Argon2id 연산이 소모됩니다. 긴 암호문은 뚫을 수 없습니다.
- 아니요. 비밀 키는 서버로 전송된 적이 없습니다.비밀번호를 알고 있더라도 유출 데이터와 대조해 볼 수 없습니다. 잠금 키를 도출하려면 기기에만 남아 있는 비밀 키가 필요합니다.
- 아니요. 대입할 대상이 없습니다.비밀 키 없이는 잠금 키를 도출할 수 없으며, 보관함 주소 없이는 봉인된 데이터를 가져올 수도 없습니다.
- 아니요. 대조해 볼 정보가 없습니다.서버에는 비밀번호도, 해시도, 비밀 키도 저장되지 않습니다. 비밀 키가 없으면 어떤 비밀번호 추측도 유출본에서 검증할 수 없습니다.
저희 동기화 서버를 사용하거나, 같은 서버를 직접 운영하십시오.
서버는 보호할 것이 없기 때문에 작습니다. 봉인된 상자를 저장하고, 보관함마다 카운터를 유지하며, 변경을 받아들이기 전에 서명을 확인합니다. 아무 컴퓨터에서나 Docker 이미지로 운영하거나, 자체 서버 없이 비용도 없이 무료 요금제의 Cloudflare Worker로 운영하십시오. 새 보관함은 sync.confidex.me를 사용하며, 설정 하나로 사용자의 사본을 가리키게 할 수 있습니다.
- 실행 형태
- Docker 이미지, 네이티브 바이너리, 또는 무료 요금제의 Cloudflare Worker.
- 인덱스
- 네이티브에서는 SQLite 또는 PostgreSQL, Worker에서는 D1.
- 객체
- S3 호환 버킷, 일반 디렉터리, Git 저장소의 어떤 조합이든. 쓰기는 모두에 이루어지고, 읽기는 대체 경로로 넘어가며 다이제스트를 검증합니다.
- 전송
- HTTP 또는 HTTPS, 선택은 사용자 몫입니다. 어느 쪽이든 상자는 봉인되고 서명되어 있습니다.
- 계정
- 없음. 보관함은 서명된 잠금을 업로드하여 등록합니다. 이후에는 서명 키 보유자만 변경할 수 있습니다.
- 전혀 사용하지 않음
- 동기화는 선택 사항입니다. 보관함은 한 기기에 머물며 로컬 ZIP 파일로 백업하고 네트워크에 전혀 닿지 않을 수 있습니다.
- 라이선스
- AGPL-3.0. 다른 사람을 위해 운영하는 변경 사항은 공개로 유지됩니다.
Confidex가 보호하지 않는 것.
암호 기술은 저장 중인 데이터와 전송 중인 데이터를 지킵니다. 잠금 해제된 기기를 지킬 수는 없고, 모든 것을 숨길 수도 없습니다. 이것이 저희가 아는 경계이며, 있는 그대로 말씀드립니다.
잠금 해제된 감염 기기
보관함이 열려 있는 동안 키와 사용자가 보는 레코드는 메모리에 있습니다. 그 기기에서 실행되는 악성 코드는 이를 읽을 수 있습니다. 자리를 비울 때는 잠그십시오.
내용이 아닌 형태
서버는 보관함과 레코드 식별자, 어떤 리비전이 어떤 리비전을 잇는지, 타임스탬프, 봉인된 값의 크기를 봅니다. 내용, 이름, 유형, 태그는 숨겨지지만 형태는 숨겨지지 않습니다.
유출된 비밀 키와 약한 비밀번호
사용자의 전송 코드를 가진 사람은 오프라인에서 비밀번호를 시험할 수 있습니다. Argon2id는 추측 한 번마다 64 MiB와 3회 패스의 비용을 들게 하므로 긴 패스프레이즈는 버팁니다. 짧은 것은 버티지 못합니다.
로컬 검색 인덱스
제목, 웹 주소, 태그, 보호되지 않은 메모는 검색을 위해 기기에 평문으로 색인됩니다. 인덱스는 기기를 떠나지 않지만, 사용자의 디스크를 읽는 사람은 그 레이블을 알게 됩니다.
순방향 비밀성 없음
보관함의 비공개 재료가 한 번이라도 노출되면 그 아래에 봉인된 레코드를 읽을 수 있습니다. 비밀번호를 바꾸면 잠금이 재래핑되지만 이전 리비전이 다시 봉인되지는 않습니다.
앱 밖의 사본
잠글 때의 메모리 삭제는 Confidex가 소유한 것을 대상으로 합니다. 클립보드, 브라우저, 운영체제는 자체 사본을 보관할 수 있습니다.
확인하는 분들을 위한 구성.
C 바인딩 없는 순수 Rust 구현. 모든 구성에는 고정 테스트 벡터가 있으며, 저장 형식, 잠금, 레코드 암호화, 서명, 동기화 프로토콜은 각각 바이트 단위까지 명세되어 있습니다.
암호 기술 페이지는 하나의 보관함을 첫 무작위 바이트부터 동기화된 리비전까지 단계별로 따라갑니다: 재료가 어떻게 두 키 쌍이 되는지, 잠금이 어떻게 봉인되고 열리는지, 리비전이 어떻게 암호화되고 서명되고 이름 붙는지, 그리고 서버가 무엇을 검증하는지.
- 보관함 생성32개의 무작위 바이트, X25519 비밀 키, Ed25519 서명 키 쌍, UUIDv5 주소, 77개 기호의 전송 코드.
- 잠금Argon2id 64 MiB, 비밀 키를 결합한 HKDF-SHA256, 33바이트에 대한 XChaCha20-Poly1305, 총 344바이트.
- 레코드와 리비전MessagePack, zlib 한 번, HPKE base 모드, 정확한 바이트에 대한 Ed25519, SHA-256 리비전 ID.
- 동기화 서버분리된 잠금 서명, 고정된 키, 정확한 바이트, 커서 비교 후 전진.
- 노출되는 정보식별자, 부모, 에포크, 크기, 타이밍. 읽을 수 있는 것은 없습니다.