← 온라인 안전
ASTERXOR / 온라인 안전

예비 열쇠는 다른 서랍에 두자

복구 방법은 해결하려는 장애가 생겼을 때도 꺼낼 수 있어야 유용하다. 비밀을 하나도 만들지 않고 의존 관계를 그려 봤다.

휴대폰에만 둔 사본, 같은 계정의 사본, 별도 복구 경로를 나타내는 세 서랍.
위치는 모두 가상이다. 복구 코드, 자격 증명, 계정 토큰, 키를 만들거나 읽거나 저장하지 않았다.
온라인 안전ASTERXOR / LEON LEUNG

백업이 완벽히 보존되어 있어도 잠긴 문 안쪽에 있으면 소용없다.

강한 로그인 보호에는 실용적인 질문이 따른다. 평소 기기나 인증 수단을 사용할 수 없으면 어떻게 할까? 일부 서비스는 이를 위해 복구 코드를 제공한다. 중요한 것은 존재 자체만이 아니다. 유효하고 보호되어 있어야 하며, 잃어버린 대상에 전적으로 의존하지 않는 경로로 꺼낼 수 있어야 한다. 실제 코드를 보여 주거나 시험하지 않고도 그 경로를 계획할 수 있다.

저장 사본보다 독립적인 경로를 세어 보자.
WHAT THE SPARE DOES

강력한 예외는 잘 보관해야 한다

서비스에 따라 복구 코드는 평소 2차 인증 경로를 쓸 수 없을 때 대안이 될 수 있다. 접근을 되찾도록 도와주는 값이므로 일반 메모가 아니라 비밀로 다루자. 지원 담당자라는 사람에게 보내거나 스크린샷에 넣거나 낯선 양식에 붙여 넣지 말아야 한다.

서비스 규칙은 다르다. Google은 일회용 백업 코드와 새 묶음을 만들면 이전 묶음이 무효화된다는 점을 안내한다. GitHub도 일회용 복구 코드와 안전한 보관을 설명한다. 저장한 페이지가 영원히 쓸 수 있는 대안은 아니라는 뜻이다. 모든 서비스가 같다고 가정하지 말고 해당 계정의 현재 안내를 따르자.

계정 복구 코드를 일반 참조 번호나 다른 로그인에 표시된 코드와 혼동하지 말자. 값이 무엇을 허용하고 어떻게 쓰이는지는 발급 서비스가 정한다. 예비라는 이름이 덜 민감하게 만들지는 않는다. 계획에는 서비스와 저장 경로만 적고 비밀 자체를 기록하거나 확인해 주겠다는 사람에게 보내지 않는다.

DRAW THE LOCKED DOOR

백업을 쓰려면 먼저 무엇이 필요한가

유일한 사본이 접근할 수 없는 휴대폰 메모에 있다고 생각해 보자. 깔끔하게 정리했어도 그 장애에는 도움이 안 된다. 또는 복구하려는 바로 그 계정 안에 사본이 있다면 어떨까? 저장소를 열려면 계정을 복구해야 하고, 계정을 복구하려면 저장소를 열어야 한다.

비밀값 대신 이름표로 이런 의존 관계를 적자. 기기 접근, 계정 접근, 비밀번호 관리자 잠금 해제, 물리적 장소 접근이 모두 중요할 수 있다. 보호된 보관은 필요하지만 여는 경로도 이해해야 한다. 독립적인 복구와 접근 방식이 상황에 맞는다면 비밀번호 관리자도 적절한 보관 장소가 될 수 있다.

기기 분실과 계정 접근 상실, 장소에 못 들어가는 것과 그곳 자료의 파괴를 구분하자. 방에는 못 가도 종이는 남아 있을 수 있다. 여러 기기에 동기화한 저장소도 모든 해제 경로가 같은 잃어버린 요소에 의존할 수 있다. 실패를 정확히 설명해야 사본 수가 공통 의존성을 가리지 않는다.

FOUR FICTIONAL FAILURES

사본마다 버티는 사건이 다르다

로컬 모형은 저장 위치 이름 네 개를 네 가지 가상 장애와 비교했다. 휴대폰 사용 불가, 기본 계정 잠김, 집에 접근 불가, 휴대폰과 집이 함께 사용 불가인 경우다. 휴대폰 전용 메모는 휴대폰 장애에서, 같은 계정의 드라이브는 계정 잠김에서, 집의 종이는 집 접근 불가에서 실패했다.

휴대폰 메모와 집의 종이를 함께 두어도 휴대폰과 집을 모두 쓸 수 없는 상황에서는 접근 가능한 사본이 0개였다. 별도 저장소 열이 네 경우 모두 살아남은 것은 그 의존 대상은 사용 가능하다고 명시적으로 가정했기 때문이다. 모형의 설명일 뿐, 실제 저장소가 도난이나 중단 등 모든 장애에 안전하다는 증거는 아니다.

가상 장애 네 가지에서 휴대폰 메모, 같은 계정 저장소, 집의 종이, 별도 저장소의 접근 가능성을 비교한다.
FIG 01표는 정해진 가정 아래 접근 가능성을 평가한다. 예라는 표시는 일반 안전 등급이 아니다.
AVAILABILITY AND PRIVACY

사본이 늘면 결정도 늘어난다

사본을 추가하면 가용성은 좋아질 수 있지만 보호할 장소도 늘어난다. 공유 폴더의 일반 메모는 편리해도 다른 사람에게 복구 경로를 노출할 수 있다. 종이는 일부 디지털 의존성을 피하지만 물리적 접근, 훼손, 최신 상태 유지가 현실적인 문제가 된다.

모두에게 맞는 서랍 하나는 없다. 누가 접근할 수 있는지, 어느 장애를 버티는지, 값을 불필요하게 노출하지 않고 올바른 계정과 최신 묶음을 어떻게 알아볼지 생각하자. 폴더 이름만 다르다는 이유로 모든 대안을 같은 접근 불가 기기나 잠긴 계정 안에 두지는 말자.

저장 장소를 늘리기 전에 두 가지를 함께 묻자. 대비하는 실패 때 내가 접근할 수 있는가, 평소에는 다른 누가 접근할 수 있는가? 넓게 공유한 폴더는 가용성을 높여도 부적절한 독자를 만들 수 있다. 판단은 상황마다 다르며 모형은 가정 아래 접근성만 세고 보안 점수를 매기지 않는다.

AFTER USE OR REPLACEMENT

복구 계획도 낡을 수 있다

일부 서비스는 성공적으로 한 번 사용한 코드를 무효화하고 새 묶음을 발급하면 이전 묶음을 폐기한다. 비상시에 사용했거나 대체된 코드에 의존하지 않도록 서비스의 기록 안내를 따르자. 이름표는 계정을 구분할 만큼 분명해야 하지만 이름표 자체가 또 다른 공개 노출이 되지 않도록 한다.

복구 자료가 노출됐다고 의심되면 알려진 경로로 서비스에 접속해 교체와 계정 점검 절차를 따르자. 다른 사이트에 값을 주면서 유출 여부를 시험하지 말자. 그림은 수명주기를 개념적으로 설명할 뿐 발급, 교체, 폐기, 계정 복구를 실행하지 않았다.

기기를 바꾼 뒤 모두 작동할 때 설명과 표지를 확인하자. 유용한 연습은 현재 자료의 위치와 저장소 해제 조건을 아는 것이지 시험 삼아 일회용 코드를 쓰는 것이 아니다. 서비스에서 의도적으로 새 묶음으로 교체하면 지원 절차에 맞춰 보호한 기록도 갱신해 모호한 버전 여러 개를 남기지 않는다.

실제 서비스에서 자료 받기, 해당하는 경우 일회용 동작, 이전 묶음 교체를 설명하는 카드.
FIG 02발급, 사용, 교체는 서로 다른 상태다. 그림에는 실제 코드가 없다.
A CLOSER CHECK

복구 경로에는 출발점이 필요하다

추가 모형은 계정 접근에 복구 자료가 필요하고 자료에는 저장소 접근, 저장소에는 같은 계정이 필요한 순환을 그린다. 시작 상태에 예비 기기와 오프라인 해제라는 표지가 있어도 이 규칙은 그것을 쓰지 않아 순환을 깨지 못한다. 복구 단계에 도달하지 못한다. 모든 비밀번호 관리자를 설명하는 것이 아닌 의도적으로 정한 의존성 사례다.

두 번째 규칙에서는 저장소가 잠긴 계정 대신 예비 기기와 오프라인 해제를 요구한다. 둘 다 가능하다고 가정하면 저장소 접근, 복구 자료, 계정 접근이라는 세 단계에 추가로 도달한다. 오프라인 해제 가정을 빼면 다시 멈춘다. 일곱 검사는 도달 가능 여부를 확인한다. 저장소를 열지 않았고 표지에는 실제 해제 값이 없다.

응용할 때는 비밀을 빼고 평범한 이름으로 계획의 의존성을 그린다. 각 단계에 무엇이 먼저 있어야 하는지 묻고 대비하는 실패를 견딜 출발점을 찾자. 의도한 경로를 서비스가 지원하는지도 확인한다. 깔끔한 화살표가 제공자가 제공하지 않는 복구 옵션을 만들어 내지는 않는다.

순환 경로에는 시작 단계가 없다. 독립 예시도 명시한 예비 기기와 오프라인 해제가 가능할 때만 작동한다.
FIG 03순환 경로에는 시작 단계가 없다. 독립 예시도 명시한 예비 기기와 오프라인 해제가 가능할 때만 작동한다.
PRACTICE THE ROUTE

열쇠를 드러내지 않고 경로 연습

차분한 계획 연습으로 보호된 저장소를 찾고, 없는 기기 없이 잠금을 풀고, 올바른 계정을 식별할 수 있는지 물어볼 수 있다. 가상의 이름표를 사용하자. 순환 의존성을 발견하려고 비밀을 작업표에 복사하거나 실제 일회용 코드를 소비할 필요는 없다.

기기를 바꾸거나 이사하거나 저장소 잠금 해제 방법이 바뀌면 경로를 다시 살펴보자. 목표는 비상 서류를 쌓는 것이 아니다. 평범한 장애에서 통제된 접근으로 돌아오는 짧고 믿을 만한 길을 만들면서, 남의 지름길이 되지 않을 만큼 비공개로 유지하는 것이다.

보호된 복구 저장소를 찾고 열고 유지하는 방법을 묻는 세 계획 카드.
FIG 04비밀값 대신 이름표로 위치, 독립적인 접근, 유지 관리를 확인한다.

더 읽어 보기

Google Account Help: backup codes ↗GitHub Docs: configuring two-factor recovery methods ↗

공식 문서와 함께 읽으면 좋은 자료입니다.

가져갈 생각 하나

유용한 예비 수단은 보호되어 있으면서 접근할 수 있어야 한다. 평소 경로가 막히면 무엇이 여전히 작동하는지 묻자.