홈페이지 비밀번호 저장 관련 질문입니다.
글쓴이: lalupo20 / 작성시간: 일, 2021/04/04 - 1:34오후
일단 sha-512를 사용하여 비밀번호를 디비에 저장하였는데
비밀번호를 입력하고 디비에 저장하기전에 암호화해서 저장하거든요
근데 이거 디비에 저장하기전 값을 가로채면 되기때문에
암호화 의미가 없는거 같던데...
그러면 이거 입력할때마다 해쉬코드 생성해야 하나요?
비밀번호가 1234면
1 해쉬코드생성
12 해쉬코드생성
123 해쉬코드생성
1234 해쉬코드생성
이렇게 하는게 더 안전할거 같은데 맞나요?
다른 방법이 있다면 조언 좀 부탁드리겠습니다.
Forums:
1. 저장하고자 하는 곳이 서버인가요,
1. 저장하고자 하는 곳이 서버인가요, 클라이언트인가요?
2. 서버라면, sha-512 말고 제대로 된 password hashing을 하세요. salt 처리 하시고요.
https://en.wikipedia.org/wiki/Password_hashing
3. 서버-클라이언트 사이의 통신 중에 가로채일 게 걱정이 된다면, 일단 ssl부터 사용하시고요.
4. 정확히 어떤 능력을 가진 공격자로부터 방어하고자 하는지 확실히 하시길. 어떻게 방어할지 고민하는 건 그 다음 문제입니다.
일단 저장하는 곳은 서버 db구요
sha512는 좋지 않은 방법인가 보군요. 일단 대비하려면 공부부터 해야하는거 같은데 말씀하신 다른 해싱기법부터 찾아볼께요. 댓글 감사드립니다.
좋지 않은 방법은 아닙니다.
좋지 않은 방법은 아닙니다.
대략 15년? 정도 전까지 리눅스는 salt 를 이용한 encrypt로 비번을 저장했습니다.
그러다 sha hash 로 바뀌었습니다.
서로 다른 입력에 대해 같은 결과가 나올 수 있는 확률이 더 작은 것이 sha512 입니다.
비번 db를 통째로 탈취당했을때 brute force 방식으로 원본 암호를 알아내기가 훨씬 더 어렵다는 겁니다.
사전에 미리 계산해 놓은 값으로 단순 비교만 하는 dictionary 방식을 사용한다해도 비교할 데이터의 크기가 더 크니 좋고요.
일단 법적으로는 가로채이는 것 까지 고려하지는
일단 법적으로는 메모리단에서 가로채이는 것 까지 고려하지는 않습니다.
DB에 저장된 또는 어딘가에 기록이 되는 data 가 암호화 되어 있느냐 여부로 판단 합니다. 기록 위치에 메모리는 고려하지 않아도 될 것 같습니다. 정말 보안을 고려하신다면 메모리에 있는 것도 고민을 해 보실 수도..
댓글 감사드립니다.
감사합니다.
중간에 가로채가는게 걱정이라면 https를 쓰면
중간에 가로채가는게 걱정이라면 https를 쓰면 됩니다.
https! 댓글 감사드립니다.
감사합니다.
댓글 달기