영업용 홍보가 아닌 평가표
자격 증명 관리의 10가지 황금률
이 규칙들은 자격 증명 시스템이 기반으로 삼아야 할 기술적이고, 테스트 가능하며, 합격/불합격으로 나뉘는 기준이에요. 저희 제품을 포함한 어떤 도구든 이 규칙에 대입해 보고 몇 가지를 지키는지 세어 보세요. 업계 대부분은 절반도 지키지 못해요. 지난 20년 동안 시크릿을 저장해 온 방식은 사람이 읽고 기억해야 한다는 전제하에 설계되었기 때문이죠. 그 전제를 없애면 기준이 달라져요. 마땅히 있어야 할 기준은 바로 여기예요.
10가지 규칙. Clavitor는 이 모든 것을 지켜요.
모든 규칙은 우수한 자격 증명 관리의 보편적 원칙이에요. 각 규칙 아래에는 Clavitor가 이를 어떻게 정확히 지키는지 쉬운 말로 설명되어 있어요.
01 — 무작위 키
키는 무작위이며, 어떤 사람도 절대 볼 수 없어요.
사람이 읽을 수 있는 시크릿은 피싱당하거나, 추측되거나, 재사용되거나, 강제로 빼앗길 수 있어요. 키는 기계가 생성하는 무작위 자료여야 하며, 절대 표시되거나, 입력되거나, 사람이 아는 어떤 것으로도 복구될 수 없어야 해요.
02 — 마스터 비밀번호 없음
마스터 비밀번호는 없어요. 하드웨어 키가 유일한 키예요.
마스터 비밀번호는 문과 같고, 문은 따일 수 있어요. 소유자를 위한 복구 문구는 공격자를 위한 복구 문구이기도 하죠. 신뢰의 루트는 반드시 물리적으로 존재해야 하는 키여야 해요.
03 — 운영자 블라인드
운영자는 자신이 저장하는 데이터를 복호화할 수 없어요.
서버를 운영하는 회사가 시크릿을 읽을 수 있다면, 악의적인 직원이나 소환장, 혹은 해당 회사를 해킹한 누구든 읽을 수 있어요. 기밀성은 운영자의 선한 행동이 아닌 수학적 기반 위에 있어야 해요.
04 — 코드가 실행되는 곳에 두지 않기
시크릿은 절대 코드가 실행되는 곳에 상주하지 않아요.
.env 파일, 환경 변수 또는 로컬 캐시에 있는 자격 증명은 다음에 실행되는 무언가가 이를 가로채기를 기다리는 셈이에요. 코드는 시크릿을 사용할 수만 있어야지, 절대 보관해서는 안 돼요.
05 — 열거 불가
에이전트는 열거할 수 없어요. 지정된 대상에만 접근할 수 있죠.
공격자가 저장소를 나열하거나, 검색하거나, 탐색할 수 있다면 단 한 번의 침해로 여러분이 소유한 모든 것의 지도를 얻게 돼요. 열거할 수 없게 만드는 것은 열거에 제한을 두는 어떤 방법보다 강력해요.
06 — 머신 바인딩
자격 증명은 발급된 머신에 바인딩돼요.
자격 증명은 결국 도난당한다고 가정하세요. 중요한 것은 해당 자격 증명이 속한 머신 밖에서도 가치가 있느냐는 것이에요. 어디서나 작동하는 키는 공격자의 노트북에서도 작동해요.
07 — 대량 유출 방지
단일 공격자가 볼트를 완전히 비울 수 없어요.
일반적인 사용은 소수의 시크릿만 건드려요. 하지만 도난은 모든 것을 빠르게 가져가려 하죠. 시스템은 이 둘을 구별하고, 소유자가 지켜보지 않아도 후자를 차단해야 해요.
08 — 로깅 및 귀속
모든 작업은 로깅되고 특정 대상에게 귀속돼요.
공유 계정과 조용한 읽기는 책임 소재를 흐려요. 문제가 발생했을 때 정확히 누구 또는 무엇이 그랬는지, 그리고 어떤 자격 증명을 건드렸는지 알아야 해요. 누락된 기록은 기록이 아니에요.
09 — 클라이언트에 남기지 않기
어떤 자격 증명도 클라이언트에 남아 있지 않아요. 디스크에도, 메모리에도, 암호화된 상태조차도요.
암호화된 로컬 사본도 여전히 사본이며, 해당 키는 같은 머신에 있어요. 기기에 남아 있는 모든 것은 공격자가 다시 돌아와 가져갈 수 있는 것이에요. 자격 증명은 사용되는 순간에만 존재해야 해요.
10 — 검증된 암호화
암호화는 검증된 것을 사용하지, 새로 발명하지 않아요.
자체 개발 암호화는 똑똑한 팀이 실패하는 이유예요. 시크릿을 보호하는 기본 요소는 독립적인 검토자가 이미 검증한 것이어야 하며, 빌드 과정 없이 이를 포함하지 않고는 출시할 수 없어야 해요. 지루하고 감사받은 것이 교묘한 것보다 나아요.
목록을 확인해 보세요.
현재 사용 중인 도구에 이 10가지를 대입해 보세요. 그다음 저희 제품을 대입해 보세요. 업계 대부분이 몇 가지 규칙을 조용히 실패하고 있기 때문에 이 목록을 작성했고, Clavitor는 어느 것도 실패하지 않도록 구축했어요.