ksw_devlog
사용자 패스워드를 전송하고 보관하는 방법을 설명해주실 수 있을까요? 본문
유저의 패스워드를 받은 클라이언트는 평문으로 서버로 전송합니다. 평문을 받은 서버는 패스워드를 단방향 해시 함수로 암호화하여 보관합니다. 단방향 해시함수는 수학적 연산에 의해 원본 데이터를 완전히 다른 암호화된 데이터(다이제스트)로 변환하는 것을 말합니다. 원본 데이터로는 다이제스트를 구할 수 있지만 다이제스트로는 원본데이터를 구할 수 없어야 합니다. 이것을 단방향이라 합니다. 단방향 해시함수는 브루트포스 공격으로 쉽게 당할 수 있기 때문에 이를 보완하기 위해 입력된 다이제스트를 N번 반복해서 생성하는 것인 key stretching과 원문 패스워드에 임의의 문자열을 추가하여 해싱하는 것인 salting을 이용해 보안의 강도를 높힐 수 있습니다.
'기술면접 > 기타' 카테고리의 다른 글
프로세스 스레드 차이 (0) | 2023.04.20 |
---|---|
Base64 인코딩 (0) | 2023.04.20 |
동기 비동기 차이 (0) | 2023.04.20 |
HTML 의 inline 요소와 block 요소의 차이점을 설명해주세요. (0) | 2023.04.07 |
li 요소는 왜 ul 요소의 자식 요소여야만 하나요? (0) | 2023.04.07 |