GN⁺: 이메일 주소, 계정의 '영구적인' 식별자로 부적합
(utcc.utoronto.ca)이메일 주소는 계정의 '영구적' 식별자로 적합하지 않음
- 이메일 주소를 계정의 영구적 내부 식별자로 사용하는 것은 문제가 있음. 사람들의 이메일 주소는 조직 내에서조차 변할 수 있으며, 이는 이름이나 로그인 정보가 바뀌는 다양한 이유와 유사함.
- 조직이 사람들에게 할당된 이메일 주소를 변경하거나 다시 설정하지 않는 것은 법적으로 지속 가능하지 않을 수 있음.
- 이메일 주소가 재사용되거나 특정 인물에 의해 재할당될 가능성이 있으며, 이는 보안 문제를 야기할 수 있음.
내부 식별자는 의미 없어야 함
- 계정 복구를 위해 이메일 주소를 기억해야 할지라도, 내부 계정 식별자는 의미 없는 것이어야 함. 이는 장기적으로 시스템 관리를 간소화함.
- OIDC와 같은 인증 시스템에서는 이메일 주소 대신 고유하고 영구적인 내부 ID를 사용해야 함.
- 이메일 주소에 너무 많은 의미를 부여하는 것은 보안 문제를 초래할 수 있음.
GN⁺의 의견
- 이 글에서 가장 중요한 것은 이메일 주소를 영구적인 계정 식별자로 사용하는 것이 여러 가지 문제를 야기할 수 있다는 점임.
- 이 주제가 흥미로운 이유는 많은 시스템이 사용자 인증을 위해 이메일 주소를 사용하고 있지만, 이 글은 그러한 관행이 잠재적인 보안 위험과 관리상의 문제를 일으킬 수 있음을 지적함.
- 이 글은 소프트웨어 엔지니어들에게 내부 시스템 설계 시 고려해야 할 중요한 보안 및 관리 측면에 대한 인식을 높이는 데 도움이 될 수 있음.
Hacker News 의견
-
이메일과 사용자 이름의 한계성
- 이메일 주소는 변경될 수 있고, 사람들은 이전 이메일에 대한 접근을 잃을 수 있음.
- 사용자 이름에 대한 불만이 있으며, 사람들은 고유하지 않은 이름을 선택하길 원함. 예를 들어
user53267
같은 이름 대신에. - 장치를 잃어버리는 경우도 있으며, 쿠키에 저장된 비밀 UUID나 장치의 패스키만으로는 충분하지 않음.
- 이메일이나 사용자 이름이 안정적인 사람도 있지만, 같은 주 장치를 수년 이상 사용하는 사람은 거의 없음.
- 업무용 이메일 계정(
first.last@company.com
)과 벤더 소프트웨어가 'Google로 로그인'을 사용하는 방식에서 문제가 자주 발생함. - 사람들은 결혼하고, 이혼하고, 성별 전환을 하고, 문화를 옮기며 새로운 이름을 선택함. 이름과 이메일 주소는 변함.
- OIDC와 같은 것들이 사용자 이름과 이메일 주소를 변경할 수 있는 표준 API를 필요로 할 수 있음.
-
개인적인 대처 방안
- Gmail은 AI 알고리즘에 의해 임의로 잠길 수 있고, 문제가 생겼을 때 구제받기 어려움.
- Yahoo는 오래된 이메일로 인증을 요구하여 접근을 잃을 수 있음.
- Yahoo/AOL/Tutanota/Protonmail 등은 자주 로그인하지 않으면 계정을 자동 삭제할 수 있음.
- 자체 호스팅은 초기 이메일이 필요하며, 이를 잃으면 호스팅 계정에 대한 접근을 잃을 수 있음.
- Duo push는 전화기가 고장 났을 때 문제가 될 수 있음.
- SMS 인증은 전화기 고장, 플랜 접근 상실, 직원의 보안 문제 등으로 인해 위험할 수 있음.
- 대학교 Gmail 주소를 사용하는 것이 현재로서는 최선의 방법으로 보임. 문제가 생겼을 때 대학교 지원 센터에 도움을 요청할 수 있음.
-
이메일과 전화번호의 문제점
- 이메일은 영구적인 식별자로 좋지 않으며, 전화번호를 식별의 일부로 사용하는 것은 더욱 나쁨.
- 자신의 도메인을 통해 거의 20년 동안 같은 이메일을 사용했지만, 같은 기간 동안 거의 12개의 전화번호를 거쳐감.
- 해외 거주 중에도 미국 번호를 유지하기 위해 AT&T에 매달 약 $150를 지불하고 있음.
-
공개 키 이메일 주소에 대한 제안
- 공개 키 이메일 주소(
<pk-12345@gmail.com>
)를 지원하는 아이디어 제시. - Google이나 Hotmail이 서비스를 중단하더라도 다른 서비스에서 개인 키로 인증하여 동일한 계정에 접근할 수 있음.
- 이메일 클라이언트가 이러한 주소를 매핑하거나 공개 키로 추적할 수 있도록 함.
- 이 아이디어는 대규모 지원이 필요하지만, 생각해볼 가치가 있음.
- 공개 키 이메일 주소(
-
UUID의 사용
- 무작위 UUID가 최선이라는 의견.
- 사용자의 초기 이메일을 해시하는 것은 솔팅만으로는 충분하지 않을 수 있음.
-
다중 이메일 주소 연결
- 계정에 여러 이메일 주소를 연결할 수 있도록 이메일 시스템을 변경 중임.
- 학생 할인을 제공하기 위해 교육용 이메일을 확인하는 것이 가장 쉬운 방법이지만, 대부분의 사람들은 그 이메일로 가입하고 싶어하지 않음.
- 여러 이메일을 허용함으로써 두 세계의 장점을 모두 가질 수 있음.
-
이메일 주소와 물리적 주소의 연결 문제
- 한 이메일 주소를 여러 물리적 주소에 사용하지 못하게 하는 에너지 공급업체의 예시.
- 온라인 계정을 설정할 때 동일한 이메일 주소를 사용할 수 없어 문제가 발생함.
-
클라이언트 측 솔루션
- 도메인을 지불하여 이메일 별칭을 100% 제어할 수 있음.
- 현재 제공자(Google)에 문제가 생기더라도 자체 서버에서 메일을 호스팅하여 계정을 검색하고 별칭 소유권을 유지할 수 있음.
-
식별과 인증의 문제
- 식별과 인증을 혼합하여 논의하는 문제가 있음.
- 식별 문제는 이름, 이메일, 신분증 등 인간에게 연결된 고유한 문자열이나 숫자를 통해 사실상 해결됨.
- 인증 문제는 실제로 누구인지 확인하는 것으로, 현대 기술이 직면한 가장 큰 문제 중 하나임.
- 비밀번호, 지리적 위치, IP 주소, 이메일, 전화번호, 보안 토큰 및 인증서의 조합을 사용하지만, 이러한 시스템은 정기적으로 침해되며 보안을 강화하면 합법적 사용자에게 부정적인 영향을 미침.
-
백엔드 문제
- 사용자에게는 이메일이 ID이지만, 시스템 데이터 내에서는 이메일을 기본 키로 사용해서는 안 됨.
- 데이터베이스 설계의 기본적인 문제로, 이메일과 같은 식별자를 사용하지 않고 고유한 ID(UUID 또는 시퀀스에서 자동 증가)에 매핑하는 조회 테이블을 가짐.
- 기사는 이 구분을 명확히 하지 않아 사용자가 이 추상화를 인식해야 한다는 식으로 읽힐 수 있음.