본문 바로가기
cutty.dev
All posts

비밀번호가 포함된 링크의 보안 - 클릭 시 발생하는 일

짧은 링크에 비밀번호를 추가할 수 있습니다. 복잡한 용어 없이 내부 작동 원리와 그 필요성을 쉽게 보여드립니다.

암호가 포함된 짧은 링크는 간단합니다. 비밀번호를 입력하면, 다른 사람이 해당 링크가 어디로 연결되는지 보기 위해 비밀번호를 입력해야 합니다. 그 아래에서는 조금 더 많은 일이 일어납니다. 무엇을, 왜, 그리고 언제 이것이 유용한지 보여줍니다.

링크를 비밀번호로 보호하는 이유

의미가 있는 세 가지 맥락:

특정 사람에게만 표시하려는 콘텐츠. 프리미엄 고객을 위한 가격표, 공개 전 베타 문서, 과정을 유료로 수강한 사람을 위한 교육 자료. 비밀번호가 없으면 누군가가 검색 엔진에서 이 링크를 찾거나 제3자로부터 전달받을 수 있습니다.

수명을 짧게 하고 싶다면 이 내용을 닫으세요. 금요일 특별 제안, 참가자만 이용할 수 있는 컨퍼런스 자료입니다. 비밀번호는 링크를 통해 통제된 접근을 가능하게 합니다. 방문자가 비밀번호를 당신으로부터 직접 받았는지, 아니면 제3자에게서 얻었는지 확인할 수 있습니다.

공개적으로 게시하지만 통제하고 싶은 콘텐츠. 당신의 전체 가격표, 내부 제품 프로세스, 고객 제안서. 링크는 공유할 수 있지만, 비밀번호가 없으면 아무도 접근할 수 없습니다.

비밀번호를 설정하면 어떤 일이 일어나나요

링크 생성 양식에 비밀번호를 입력합니다. 비밀번호는 즉시 암호화됩니다. 읽을 수 없는 문자열로 변환되므로, 비밀번호가 "tajte123"이더라도 '저장' 버튼을 클릭하는 순간 그 사실은 사라집니다. 사이트 운영자조차도 이를 읽을 방법이 없습니다.

데이터베이스에 저장되는 내용: 비밀번호가 아닌 지문(기술적으로는 "해시") — 이는 누군가가 정확히 동일한 값을 입력했을 때만 일치하는 문자열입니다. 만약 누군가가 우리 데이터베이스에 침입하더라도, 그들은 이 문자열들만 얻게 될 뿐 당신의 링크 비밀번호는 얻지 못합니다.

우리는 이를 위해 대부분의 네트워크 로그인 시스템에서 사용하는 산업 표준을 사용합니다. 이는 해커가 데이터베이스를 훔쳤더라도 비밀번호를 추측하는 데 수백만 년이 걸리도록 고의로 느리게 설계되었습니다.

누군가 당신의 링크를 클릭하면 어떻게 될까요

  1. 방문자는 직접 리디렉션 대신 잠금 해제 화면을 봅니다. "이 링크는 비밀번호로 보호됩니다"라는 짧은 안내와 입력 필드가 표시됩니다.
  2. 비밀번호를 입력하고 "잠금 해제"를 클릭합니다. 비밀번호는 서버에서 저장된 해시 값과 대조하여 검증됩니다.
  3. 일치하는 경우 — 방문자는 24시간 동안 유효한 세션 토큰을 받습니다. 다음 24시간 동안 비밀번호를 다시 입력하지 않고도 해당 링크에 접근할 수 있습니다. 기억할 필요가 없습니다.
  4. 일치하지 않는 경우 — 오류 메시지가 표시됩니다. 동일한 IP 주소에서 5번의 시도가 실패하면 5분간 차단됩니다. 봇이 무력으로 진입하는 것을 방지합니다.

우리가 하지 않는 것

  • 우리는 비밀번호를 평문으로 저장하지 않습니다. 절대 그렇지 않습니다. 디버깅 로그에도 포함되지 않습니다.
  • 이메일로 비밀번호를 전송하지 않습니다. 방문자가 비밀번호를 잊어버린 경우, 저희도 알 수 없기 때문에 다시 알려줄 수 없습니다. 비밀번호를 받은 계정에서 직접 재전송해야 합니다.
  • 제3자에게 비밀번호를 전송하지 않습니다. 외부 분석, 마케팅, AI 제공업체 등 어떤 외부 서비스도 이 데이터에 접근할 수 없습니다.

실용적인 팁

명확하지 않은 비밀번호를 만드세요. 회사 이름 + 설립 연도는 나쁜 아이디어입니다. 브라우저의 비밀번호 생성기가 더 잘합니다.

비밀번호를 링크와 동일한 채널로 보내지 마세요. 이메일로 링크를 보낸 경우, 비밀번호는 SMS로 보내야 합니다. 혹은 그 반대의 경우도 마찬가지입니다. 이렇게 하면 하나의 통신 채널이 침해되더라도 전체 접근 권한을 얻는 것을 방지할 수 있습니다.

동일한 대상 URL을 공유하지만 다른 비밀번호를 사용하는 여러 링크를 가질 수 있습니다. 이는 서로 다른 사람들에게 접근 권한을 부여할 때 유용합니다. 하나의 링크에 대한 접근이 종료되면 해당 링크만 차단하여 다른 사용자에게는 영향을 주지 않습니다.

비밀번호는 새 링크를 생성하지 않고도 변경할 수 있습니다. 패널에서 "편집" → 새 비밀번호를 입력하세요. 모든 활성 24시간 세션이 즉시 만료되며, 각 방문자는 새 비밀번호를 입력해야 합니다.

비밀번호로는 충분하지 않을 때

암호는 공개 인덱스와 우발적인 접근을 방지합니다. 하지만 암호를 알고 이를 공유하려는 사람에게는 보호되지 않습니다. 시나리오에 "오직 이 특정 사람만 볼 수 있어야 한다"는 요구사항이 있다면 — 추가적으로 로그인, 사용자 계정, 권한 부여가 필요합니다. 이는 더 높은 수준의 기능(향후 Pro 플랜에서 계획 중)입니다.

95%의 경우 “우연히 누군가 이것을 보지 않았으면 한다”는 의미라면 비밀번호만으로도 충분합니다.

직접 시도해 보세요 — 링크 생성 시 '고급 옵션'을 선택한 후 '비밀번호 추가'를 클릭하세요.