비밀번호·키·비밀값 다루기
비밀번호를 느린 해시와 솔트로 저장하고, 재설정 토큰을 한 번만 쓰게 하고, 서명 키를 키 ID 와 겹치는 기간으로 회전하고, 로그와 오류 응답에서 비밀값을 가리고, 설정에서 비밀값을 분리합니다. 실습마다 보안 요구사항을 단위 시험으로 먼저 쓰고 코드를 고치며, 파이썬 표준 라이브러리(hashlib·hmac·secrets)만 씁니다. 세션·쿠키·JWT 는 '세션과 토큰' 코스가 다룹니다.
중급 · 레슨 15 · 실습 5
커리큘럼
비밀번호 저장, 느린 해시와 솔트
- 새어 나갈 것을 전제로 저장한다 reading
- 비밀번호를 느리게, 사람마다 다르게 저장한다 lab
- 퀴즈: 비밀번호 저장, 느린 해시와 솔트 quiz
비밀번호 재설정 토큰
- 토큰은 잠깐 동안의 비밀번호다 reading
- 재설정 토큰은 길게, 해시로, 한 번만 lab
- 퀴즈: 비밀번호 재설정 토큰 quiz
서명 키 ID 와 회전
- 바꿀 수 없는 키는 지킬 수 없는 키다 reading
- 키를 바꿀 수 있게 서명한다 lab
- 퀴즈: 서명 키 ID 와 회전 quiz
로그와 오류에서 비밀값 가리기
- 비밀값은 로그로 더 자주 샌다 reading
- 로그에는 값을 가려서, 사용자에게는 오류 번호만 lab
- 퀴즈: 로그와 오류에서 비밀값 가리기 quiz
설정과 비밀값 분리
- 기본값이 없어야 누락이 드러난다 reading
- 비밀값은 밖에서 읽고, 찍혀도 보이지 않게 lab
- 퀴즈: 설정과 비밀값 분리 quiz