컴퓨터는 모니터 앞에 앉아 있는 사람이 누구인지 알 수 없다. 게다가 네트워크 저편에 누가 있는지 알 수가 없다. 그래서 서버에 엑세스하고 있는 사람이 누군지 알려면 상대방 클라이언트에 이름을 알려달라고 해야 한다.
다만, 엑세스하고 있는 쪽이 “김유빈"이라고 이름을 밝혀도, 이것이 정말인지는 알 수가 없다. 시스템에 엑세스하는 권한을 가진 “김유빈" 본인인지 아닌지를 확인하기 위해서는 [등록된 본인만이 알고 있는 정보] 나 [등록한 본인만이 알고 있는 정보] 등으로 확인해야 한다.
이러한 정보에는 주로 다음과 같은 것이 사용되고 있다.
패스워드
: 본인만이 알고 있는 문자열 정보원타임 토큰
: 본인만이 가지고 있는 기기 등에 표시되는 한 번 쓰고 버리는 패스워드 등의 정보전자 증명서
: 본인(단말기)만이 가지고 있는 정보 → 클라이언트 증명서바이오 매트릭스
: 지문이나 홍채 등 본인의 신체 정보IC 카드 등
: 본인만이 가지고 있는 정보단, 상대가 가짜라 하더라도 본인 확인을 하기 위한 정보를 제시할 수 있다면 컴퓨터는 본인으로 인식해 버린다. 그래서 패스워드 등의 정보는 타인에게 알려지지 않게 하고 더욱이 쉽게 추측할 수 없도록 해야 한다.
HTTP/1.1 에서 이용할 수 있는 인증 방식에는 다음과 같은 것이 있다.
이번 장에서는 설명하지 않지만 이 밖에도 통합 Windows 인증(Kerberos 인증, NTLM 인증) 등이 있다.
BASIC 인증은 HTTP/1.0 에 구현된 인증 방식으로 현재에도 일부 사용되고 있다. BASIC 인증
은 웹 서버와 대응하고 있는 클라이언트 사이에서 이루어지는 인증 방식이다.