인증과 인가
인증 - 나라는 것을 증명하는 것(Authentication)
회원가입 / 로그인
서비스를 누가 쓰난가? 어떻게? 추적이 가능하게 하기 위해
인증에 필요한 것
아이디 /이메일주소 / 비밀번호
등
서비스에 따라서, 필요한 인증방법이 다르긴하다( 일반적으론 비밀번호!)
비밀번호는 어떻게 관리? 법규상의 강제
Backend 개발자의 절대적이ㅣㄴ 책임은 아니지만, 꽤나 큰 책임감이 필요하다
개인정보
Databse에 저장 시 개인정보를 Hashing
해서 복원 불가능하게 해둠
What is Hashing(for further study!!)
Hashing을 하면 정말 복원이 불가능한가?
비밀번호는 어떻게 관리?
통신 시 개인 정보를 주고받을 때 SSL
을 적용하여 암호화(HTTPS)
HTTP vs HTTPS
단방향 해쉬란?
자료구조에서 빠른 자료의 검색, 데이터의 위변조 체크를 위ㅣ해 쓰이나, 복원이 불가능한 단방향 해쉬함수는 암호학적 용도로 사용
ex)
완벽해보이지만, 사실 나름의 패턴이 있음
Salting
and Key Streching
bcrypt
- Salting & Streching 대표적 라이브러리
인가 (Authorization
)