개체 인증(entity authentication)은 어떤 개체가 자기가 주장하는 바로 그 개체임을 확증하는 것이다. ISO/IEC 9798-1:2010이 이렇게 정의한다.[1] FIPS 200은 인증(authentication)을 사용자, 프로세스, 장치의 신원을 확인하는 것으로 정의하고, 흔히 정보 시스템의 자원에 접근을 허용하는 전제로 둔다.[2]
식별과의 관계
ISO/IEC 2382:2015는 둘을 나눠, 사용자 식별자(user ID)를 데이터 처리 시스템이 사용자를 알아보는 데 쓰는 문자열이나 패턴으로, 인증을 개체가 주장한 신원을 검증하는 일로 정의한다.[3] NIST SP 800-12 Rev. 1은 식별(identification)을 사용자, 프로세스, 장치의 신원을 확인하는 수단으로 정의한다. 이는 FIPS 200이 인증에 준 정의와 같은 말이다.[2][4]
챌린지-응답
챌린지-응답(challenge-response)은 검증자가 무작위로 고른 값인 챌린지를 주장자에게 보내고, 주장자가 자기가 가진 비밀 정보와 챌린지로 응답을 만들어 돌려주는 방식이다.[1] NIST 용어집에 따르면 검증자는 응답을 검증해, 주장자가 그 비밀을 가지고 통제한다는 것을 확증한다.[5]
ISO/IEC 9798-1:2010은 메시지가 재전송된 것이 아님을 확인하는 데 쓰는 값을 시간 가변 매개변수(time variant parameter)라 하고, 그 예로 난수, 타임스탬프, 순번을 든다.[1] 챌린지 같은 시간 가변 매개변수를 쓰는 인증은, 지난 인증 메시지를 녹음해 다시 보내는 재전송 공격을 막는다. 다시 보낸 옛 메시지에는 맞는 챌린지나 시각 정보가 없기 때문이다.[6][7]
대칭 키 방식과 공개 키 방식
ISO/IEC 9798의 부마다 개체 인증 메커니즘이 쓰는 기법은 아래와 같다.
| 부 | 쓰는 기법 |
|---|---|
| ISO/IEC 9798-2:2019 | 인증 암호화[8] |
| ISO/IEC 9798-3:2019 | 비대칭 기법에 바탕을 둔 디지털 서명[9] |
| ISO/IEC 9798-4:1999 | 암호 검사 함수[6] |
| ISO/IEC 9798-5:2009 | 영지식 기법[10] |
ISO/IEC 9798-1:2010은 암호 검사 함수(cryptographic check function)를 비밀 키와 임의의 문자열을 받아 암호 검사 값을 내는 암호 변환으로 정의한다.[1] ISO/IEC 9798-4:1999는 그 예를 메시지 인증 코드 표준인 ISO/IEC 9797에서 찾게 하고, 난수를 쓰는 챌린지-응답 방식도 메커니즘에 둔다.[6]
ISO/IEC 9798-1:2010은 대칭 암호 기법을 보내는 쪽과 받는 쪽의 변환에 같은 비밀 키를 쓰는 기법으로 정의하고, 그 비밀을 미리 나눠 갖거나 신뢰할 수 있는 제3자의 도움으로 정하는 경우를 든다.[1] ISO/IEC 9798-2:2019의 메커니즘 가운데 넷은 신뢰할 수 있는 제3자 없이 두 개체 사이에서 동작하고, 나머지는 공통 비밀 키를 정하는 데 온라인 신뢰 제3자를 쓴다.[8] NIST 용어집에 따르면 공유 비밀을 쓰는 챌린지-응답에서는 주장자가 챌린지와 공유 비밀을 함께 해시해 응답을 만들고, 검증자는 그 해시를 다시 계산해 응답과 견준다.[5]
공개 키 방식에서 주장자는 자기 개인 키로 챌린지에 서명하고, 검증자는 주장자의 공개 키로 그 서명을 확인한다.[5][9]
접근 제어에서 쓰는 자리
FIPS 200은 기관이 사용자, 사용자 대신 동작하는 프로세스, 장치를 식별하고 그 신원을 인증한 뒤에 기관 정보 시스템에 접근을 허용하도록 요구한다.[2] NIST SP 800-12 Rev. 1에 따르면 식별과 인증은 대부분의 접근 제어와 사용자 책임 추적의 기반이다.[4] ISO/IEC 2382:2015는 인가를 접근 권한에 따른 접근 허용을 포함한 권한 부여로, 접근 제어(access control)를 데이터 처리 시스템의 자원에 인가된 개체만 인가된 방식으로 접근하게 하는 수단으로 정의한다.[3]
ISO 14229-1:2026은 진단 데이터 링크를 통한 무단 침입에서 차량 모듈을 보호하는 메커니즘을 security로 정의하고, 진단 서비스로 SecurityAccess를 둔다.[11] 진단 서비스는 UDS에서 다룬다.