• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

임시 비밀번호 발급하는법

22.08.20 20:22 작성 조회수 559

0

안녕하세요 선생님. 현재 제가 업무에서 전자정부프레임워크를 활용하고 있는 신입개발자입니다. 

현재 저희 프로젝트는 외부업체가 제공하는 지니웍스CMS를 활용해서 관리자페이지도 구현하고, 웹사이트를 구성했는데요.

사용자가 로그인오류가 났을때, 관리자페이지에서 비밀번호를 임시발급하는 버튼이있더라구요. 

하지만 뭔가 CMS가 제공하는 기능만 이용하기에는 찝찝해서 그 원리를 알고싶은데요...

 

뭐가 궁금하냐면, 

예를들어 사용자가 회원가입하면 DB에 해시로 비밀번호가 저장이되는데, 이때, 위에서 언급했듯이, 사용자가 로그인오류땜에 접속이안되고, 개발자 역시, DB에 해시번호로 비밀번호가 저장되어있으니, 어떻게 임시로 비밀번호 컬럼을 UPDATE로 수정 못하잖아요.

해시로 저장하는것이 개발자도 사용자의 계정으로 로그인 못하도록 법적으로 되어 있다고 알고있는데...

 

이러한 상황을 종합적으로 봤을떄, 임시 비밀번호를 어떤식으로 발급을 해줘야하는거죠?? 

(임시 비밀번호를 생성하는 로직은 알고있슴다.)

 

 

그냥 단지 CMS가 제공하는 '임시비밀번호 발급'버튼으로 임시 비밀번호를 발급하는것이 정신에 좋은걸까요.

신입이라 CMS를 첨봐서, 질문드려요.

괜히 제가 복잡하게 알 필요도없는걸 알려고 하는건지 궁금합니다! 

 

 

답변 1

답변을 작성해보세요.

0

안녕하세요.

Q:해시로 저장하는것이 개발자도 사용자의 계정으로 로그인 못하도록 법적으로 되어 있다고 알고있는데...

A: 

관리자페이지에서 비밀번호를 임시발급하는 버튼이있더라구요. 

->

요청에의해서  임시 비밀번호를 발급하는것을 유지하시는 것이 좋아보입니다.

 

Q2:CMS가 제공하는 기능만 이용하기에는 찝찝해서 그 원리를 알고싶은데요...

A2: V2.0의 프로젝트의 패키지중에 util의 security쪽을 보시면 비밀번호암호화 생성기능을 수강생들이 사용하게 이미 제공하고 있습니다.(V2.0테이블설계서도 비밀번호크기를 크게 잡고 있습니다.)

이와 마찬가지로 사용하시는 CMS도 비밀번호를 암호화 후 업데이트 시키는 것으로 보입니다. 

  

원리는

1.DBA도 알아보지 못하도로 단방향으로 암호화 후 데이터베이스에 저장한다.

2.그렇기에 보통은 이메일 또는 휴대전화인증 등을 통한 임시비밀번호 발급로직을 만들어둡니다.

3.마지막 보류가 이제 개인정보관리자를 통한 임시비밀번호를 얻는 방법입니다.(CMS의 경우처럼)

법도입 취지가 해커에의한 DB서버탈취 대응을 위해 해석이 불가능한 단방향으로 저장하게 합니다.

눈으로 알아볼수 있도록X, 양방향암호화X, 단방향암호화O입니다.

 

감사합니다.