네트워크를 공부하기 이전부터 문득 든 생각이 있었다. 아주 옜날에는 아이디 나 비밀번호를 잊어 먹으면 본인인증 후에 친절하게 다 알려주었다. 그런데 어느새 아이디는 알려주거나 일부만 알려주고 나머지는 *** 표시를 하는데 유독 비밀번호는 잊어먹으면 절대 안 알려주고 무조건 임시 비밀번호를 발급해 주거나 비밀번호를 새로 설정해야만 했다. 어째서 이렇게 변한 것일까? 왜 하필이면 비밀번호만 안 알려주는가? 하는 의문이 들었는데 이번에 네트워크와 Flask 를 통한 API 개발을 배우면서 의문을 해소하게 되었다.
왜 비밀번호를 안 알려주는가?
정답은 본인들도 비밀번호가 뭔지 모르기 때문이다. 이게 무슨말인가 싶은데 사용자가 네이버나, 구글에 회원가입을 하면 아이디와 비밀번호를 저장하는 데이터베이스(DB)에서 아이디는 그대로 저장하는데 비밀번호 만 암호화 시켜서 저장하기 때문이다. 이때 사용하는 암호화 기법으로 단방향 해시 함수(one-way hash function)를 사용하여 비밀번호를 554a51f165151c6511d561e14b4 와 같이 16진수로 암호화 시킨다.
이렇게 암호화된 비밀번호는 복호화(암호화의 반대말)가 불가능하여 원본 비밀번호를 알 수가 없게된다. 가입한 사용자가 비밀번호를 다시 알려고 했을 때 554a51f165151c6511d561e14b4 를 던져놓고 이제 비밀번호가 뭔지 기억이 나십니까? 라고 할 수는 없지 않은가? 본인들도 모르고 어떻게 할 수 없기 때문에 임시 비밀번호를 발급 하거나 비밀번호를 새로 설정하는 이유가 바로 그것이였다.
사용자에게 불편함만 주는 것일까?
사용자가 이전의 비밀번호를 알지 못하고 괜스레 새로운 비밀번호를 설정해야하는 불편함은 분명히 있다. 그러나 불편함 보다 더 소중한 개인정보 보호를 위해서는 타당한 조치라고 생각된다. 대게 대표 비밀번호를 설정해 놓고 여러 사이트에 동일한 비밀번호로 가입하는 것이 일반적이지 않은가? 그렇기 때문에 해커의 공격이나 기업의 직원에 의해 개인정보가 털리게 되었을때 피해를 최소화하기 위해서 비밀번호 암호가 필수적이다. 따라서 충분히 참을만한 불편함이다.
'설정, tip, 여러가지' 카테고리의 다른 글
카카오 간편 로그인 버튼을 눌러도 반응이 없는 경우 (0) | 2022.09.04 |
---|---|
Windows 운영체제상 VScode 에서 기본 터미널을 Cmber로 설정하기 (0) | 2022.07.04 |
노트북 CPU, 써멀 페이스트 재도포 (0) | 2022.01.16 |