일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 몽구스스키마
- dev-ops
- 스마일게이트 서버개발캠프
- apt-key list
- yarnpkg update
- Signal Slot
- mern
- mysql grant
- production mode
- mongoose schema
- javascript #js #math #자바스크립트 #랜덤 #랜덤정수
- serverDevCamp
- binary #opencv
- qt signal slot
- QT SIgnal
- 서캠
- 정보처리기사 #정처기 #정처기가답안 #가답안 #2019년2회차 #2회차 #자격증 #기사 #정보처리산업기사 #큐넷
- DFD #ERD #usecase #유스케이스 #다이어그램 #UML #모델링 #모델링언어
- 비기능적요구사항 #요구사항 #SRS #소프트웨어공학
- opencv #python
- devlopment mode
- NODE_ENV
- tweet deck
- 서버개발캠프
- yarnpkg
- quadcore
- Lambda Architecture
- stringtoken
- 스마일게이트
- QT Event
Archives
- Today
- Total
Ziks
소금을 친 해싱 (hash + salt) 본문
맛 좋은 해싱
Salt 인증방식
- Salt → 단순히 임의의 난수 값
- 일반적으로 Salt값은 DB가 털렸을때를 위한 것이 아닌 테이블(Rainbow Table)을 이용한 공격을 막기위한 수단
- SHA256, SHA512등 검증된 암호화 이용
- MD5, SHA-1같은 알고리즘은 이미 저세상으로 갔기에 .. (뚫려버림)
- 순서
- 가입 시
- hash_value = hash(Password + salt )
- hash_value 를 DB table에 저장
- 로그인 시(validation check)
- Login_Password 입력
- 사용자의 salt 값, hash_value를 DB에서 가져온다.
- if hash(Login_Password + salt) == hash_value:
- 가입 시
어디에서 해싱해야 하나요?
- 클라에서 해싱? ⇒ 땡
- 브라우저에서 JS로 해싱된 후 서버에 저장되었다는 가정하에.
- 클라에서 hashing 후 서버에서 전달 도중 hash값이 가로채면 고대로~
- 만일, 브라우저에서 해싱되었다면 서버에서도 해싱을 진행 할 것.
- 고려사항이 많음
- 클라이언트 브라우저별 JS 버젼 지원 유무
- js기능을 꺼놓을 경우 서버에서 Hashing 진행해야 함.
- https를 대신 할 수 없다.
- 중간에 가로채면 답없다~
- 클라이언트 브라우저별 JS 버젼 지원 유무
- 서버에서 해싱? ⇒ 정답!
- 브라우저에서 JS로 해싱된 후 서버에 저장되었다는 가정하에.
참고
'활동 > 서버개발캠프' 카테고리의 다른 글
스마일게이트 서버개발캠프 5주차까지의 기록 (0) | 2020.03.12 |
---|---|
PMP 멘토링 이후 (0) | 2020.01.15 |
Comments