1. [보안] 챌린지
ㅇ 인증 주체인 서버 측에서, 송신한 질문(Challenge 또는 Nounce 라고 함)에 대해
클라이언트가 올바른 응답(Response)을 하게하여 신원 인증을 도모하는 구문
- 검증자(verifier)가, 매회 다른 질문(Challenge,Nounce : 난수,타임스탬프 등)을 보내며,
- 주장자(claimant)는, 그 값에 함수를 적용하여 나온 응답으로 비밀을 안다는 것을 증명하는 방식
ㅇ 통상, 질문은, 특별한 의미가 없는 숫자열
- (쌍방이 같은 챌린지 값을 갖는다는 것이 중요함)
- 매회 질문이 바뀌게 됨
2. [보안] 챌린지 리스펀스 방식 (Challenge-Response)
ㅇ 임의의 난수를 암호 알고리즘의 입력값으로 하여 일회용 패스워드를 생성하는 방식
- 사용자가 자신의 사용자 ID를 인증 서버에 알려주면,
- 인증 서버가 임의의 난수값을 생성해서 사용자에게 보내고, (Challenge)
- 사용자는 이 난수값을 이미 약속된 암호 알고리즘 및 비밀키를 이용하여 암호화하고,
- 그 암호값을 일회용 패스워드(OTP)로써 입력하면, 이것이 서버에 전달되게 됨 (Response)
- 인증 서버는 동일한 난수값(Challenge)과 등록된 사용자 정보를 이용한 OTP 결과값을 계산해보고,
- 이를 사용자 입력 리스폰스(Response)와 비교해서 사용자 인증을 수행 함
ㅇ 장단점
- 장점 : 인증 서버가 사용자 토큰과 동기(클럭,카운터 등)를 유지할 필요가 없음
- 단점 : 입력을 간소화하기 어려움
ㅇ 例) S/Key 방식
- 유닉스용 로그온 기술로 사용 가능
. 1981년 Leslie Lamport가 이에대한 아이디어를 제안한 논문 발표
. 1990년대초 Bellcore에서 최초로 기술 개발
. IETF에서 표준화, RFC 1760 `S/KEY One-Time Password system`
- 소프트웨어적인 구현방식
. 대부분의 유닉스 시스템에 추가 하드웨어 없이 패스워드 정보의 저장 없이도,
쉽고 빠르게 설치 가능
. 어떤 비밀 정보도 호스트에 보관되지 않음