인코딩된 VPN 시크릿에는 ‘복호화’가 없다
베이스 인코딩은 기밀성을 더하지 않으며, 검증기는 애초에 되돌릴 수 없습니다. 디코더나 교체로 손을 뻗기 전에 필드를 식별하십시오.
인코딩된 키를 복호화한다는 표현은 존재하지 않는 단일 연산을 전제합니다. 저장된 VPN 시크릿은 베이스로 인코딩된 바이트, 키 저장소에 묶인 암호화된 블롭, 또는 전혀 되돌릴 수 없는 단방향 검증기일 수 있으며, 각각 다른 대응이 필요합니다. 베이스 인코딩은 설계상 기밀성을 더하지 않으므로, 디코딩하면 보호된 시크릿을 드러내는 대신 쓸 수 있는 시크릿을 되찾을 수 있습니다. 필드와 그것을 기록한 제품에서 시작하는 것이 유일하게 신뢰할 수 있는 식별입니다.
인코딩된 시크릿도 여전히 시크릿이므로, 값을 웹 디코더와 공개 포럼 게시물 모두에서 멀리 두십시오.
인코딩, 암호화, 검증기는 서로 다른 세 가지
RFC 4648은 베이스 인코딩을 제한된 환경에서의 데이터 표현으로 정의하며, 보안 절에서 계산적 기밀성을 제공하지 않는다고 분명히 밝힙니다. 즉 Base64 필드는 누구나 바이트로 되돌릴 수 있고, 이는 암호학적 장벽이 아니라 복구 위험입니다. 암호화는 달라서, 키 자료가 없으면 바이트는 불투명하게 남습니다. 검증기는 되돌릴 수 없도록 설계되었기 때문에 또 다릅니다. 문서화된 필드 이름을 읽으면 대개 셋 중 어느 것인지 알 수 있습니다.
문자열을 Base64라고 부르는 것만으로는 무엇을 담고 있는지 확정되지 않습니다. 키, 직렬화된 구조, 무작위 패딩으로 디코딩될 수 있으며, 텍스트의 모양은 어느 것인지 말해 주지 않습니다.
만지기 전에 필드를 식별하십시오
내보낸 제품과 버전, 프로필 형식, 문서화된 필드 이름을 기록하십시오. 그다음 관련된 시크릿의 종류를 구분하되, 그룹 사전 공유 키는 개인 계정 비밀번호도, 개인 키 암호 구문도, 인증 토큰도 아닙니다. 이들은 소유자와 교체 절차가 다르며, 혼동하면 잘못된 자격 증명을 바꾸게 됩니다. 여전히 연결되는 프로필도 다른 사람의 자격 증명을 추출할 권한은 아닙니다.
지원에 제공할 유용한 정보는 제품, 필드, 오류, 승인된 목표입니다. 시크릿 자체는 그 목록에 포함되지 않습니다.
복구는 승인된 절차이지 디코더가 아니다
제품이 승인된 복구를 위한 되돌릴 수 있는 내보내기를 문서화한다면, 보호된 환경에서 그 제품 자체의 가져오기 또는 복구 절차를 사용하십시오. 원본 파일을 보존하고, 디코딩된 자료를 로그, 셸 기록, 티켓 밖에 두십시오. 값이 암호화되었거나 보호된 저장소에 묶여 있다면, 디코딩은 키도 다른 사용자의 접근 맥락도 제공하지 않으므로, 문서화된 잠금 해제 방법과 필요한 승인은 소유자로부터 나옵니다. 필드가 검증기를 담고 있다면 디코더를 시도하는 대신 문서화된 교체 경로를 따르십시오.
소유자가 값을 복구하거나 안전하게 재발급할 수 없다면, 답은 새 자격 증명과 갱신된 피어 구성입니다. 그것은 전환을 포함한 프로젝트이지 명령이 아닙니다.
공유 시크릿 교체는 조정된 변경이다
운영 공유 시크릿을 한쪽에서만 덮어쓰면 이전 값을 가진 모든 승인된 클라이언트가 깨집니다. 전환을 계획하고, 취소해야 할 접근이 있는지 결정하며, 어느 쪽 끝이든 바꾸기 전에 복구 경로를 마련해 두십시오. 알아차릴 사람들에게 시간 창을 공지하십시오.
원래 값이 노출되었다면 교체가 올바른 대응이며, 디코딩해도 아무것도 더해지지 않습니다. 노출된 시크릿은 누군가 바이트를 복구했든 아니든 이미 침해된 상태입니다.
새 값이 어디에 있고 누가 소유하는지 기록하십시오. 다음 사고는 그것을 요구할 것이지 디코더를 요구하지 않습니다.