웹 개발 메모장

[http] 사용자 인증 본문

옛날../http

[http] 사용자 인증

도로롱주 2018. 1. 2. 09:58




본인이 누구인지 확인 시켜주는 것



BASIC 인증


클라이언트가 서버에 접근했을 때 서버가 상태코드 401 을 response로 보내면 클라이언트가 헤더 필드에 사용자의 아이디와 비밀번호를 인코딩해서 전달해 인증받는 방법 입니다.


클라이언트는 아이디와 비밀번호를 :를 구분자로 해 Base64 형식으로 인코딩을 해서 전달하게 되는데 인코딩은 인코딩일 뿐 암호화가 아니기 때문에 보안상 취약하여 잘 사용하지 않습니다.




DIGEST 인증


BASIC 인증과 기본적인 원리는 같은데 서버에서 401 상태코드에 추가로 챌린지 코드(nonce)를 담아 주면 클라이언트가 nonce를 조합해 계산하여 사용자 정보를 보냅니다. 때문에 워드가 노출될 가능성은 적어지지만 패스워드를 굳이 알아내지 않고 그대로 던지는 위장을 보호해 주지는 않습니다.




SSL 클라이언트 인증


HTTPS 인증서를 이용한 인증 방법입니다. 사전에 등록된 클라이언트에서의 액세스인지 인증서를 통해 확인합니다.

보안은 강화되지만 이를 위해서는 클라이언트가 사전에 증명서를 배포하고 인스톨 해둘 필요가 있고 비용이 발생하기 때문에 보안이 엄격한 사이트를 제외하고는 잘 사용되지 않습니다.




폼 베이스 인증


HTTP 프로토콜로서 사양이 정의되어 있는 인증 방식은 아닙니다.

웹 사이트에 따라 제공되는 인터페이스나 인증의 방법이 다양한데 보통 사전에 등록해 둔 유저 ID, PW를 통해 검증을 합니다.

대부분의 사이트에서 사용하는 사용자 인증 방법입니다.



Comments