Backend/정보보안
[정보보안] Authentication중 password
zeroco
2022. 3. 28. 01:39
728x90
인증 (Authentication)
- 비밀번호 인증 같은 것
인가 (Authorization)
- 권한 : 읽기 쓰기 권한 등을 정함
- 행위에 대한 제한을 둠
Authentication(인증)
사람을 기계에 인증하는 것
1) 알고 있는 무언가 : 비밀번호
2) 가지고 있는 무언가 : 스마트카드, otp
3) 자신의 무언가 : 지문, faceid 등..
1. Something you Know (알고 있는 무언가)
- password
- PIN
- Socail security number (사회 보장 넘버 - 미국)
- Mother's maiden name (결혼하기 전 성 - 미국)
- Date of birth
Password
- cost가 낮고, smartcard발급 보다 편리하다.
- 하지만 취약하다는 문제가 있다.
- dictionary attack이 있을 수 있다.
- passpharse에 기반해서 비밀번호를 사용하면 좋다.
Attacks on Passwords
- 특정한 계정을 공격
- 시스템의 모든 계정을 타겟
- 모든 시스템의 어떠한 계정이든지 공격
- 서비스 거부 공격(Dos)
Password File
파일에 password를 저장하는 것은 좋지 않다.
하지만 파일에서 password를 검증하는 것은 필요하다.
따라서 hashing을 통해 password파일에 저장하도록 한다.
Store y = hash(password) // file에 hash 하여 저장한다.
=> random 한 salt를 사용해서 해쉬하여 저장하면 좋다.
y = hash(password, salt)
Dictionary Attack
- common passwords에 대한 사전을 만들어 모든 x에 대해 hash값을 미리 계산해둔다. (흔히 사용하는 단어의 해시값을 미리 계산)
728x90