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
'Backend > 정보보안' 카테고리의 다른 글
[정보보안] 방화벽(Firewall)의 3가지 유형과 특징 (2) | 2022.03.29 |
---|---|
[정보보안] Authentication중 Biometrics & Smartcard (0) | 2022.03.28 |
[정보보안] 암호화 해쉬함수 설계시 고려 사항 (0) | 2022.03.25 |
[정보보안] 보안에서 Hash function이란? (0) | 2022.03.25 |
[정보보안] 공개 키 기반 구조(Public key Infrasturcture)란? (0) | 2022.03.20 |