본문 바로가기

Backend/정보보안

[정보보안] Authentication중 password

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에 기반해서 비밀번호를 사용하면 좋다.

 

좋은 password vs 나쁜 password

 

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값을 미리 계산해둔다. (흔히 사용하는 단어의 해시값을 미리 계산)

 

리눅스 시스템, password저장 파일, vivek에 대한 비밀번호

 

 

728x90