개체 인증
- 한 개체가 다른 한 개체의 신원을 증명할 수 있도록 설계된 기술
- 개체: 사람, 프로세스, 클라이언트, 서버
- 주장자: 신원을 증명하고자 하는 개체
- 검증자: 요구자의 신원을 증명하기 위해 노력하는 개체
메시지 인증 vs 개체 인증
1. 메시지 인증은 실시간으로 일어나지는 않지만 개체 인증은 실시간으로 실시됨
2. 메시지 인증은 단순히 한 메시지만 인증하지만 이 과정은 모든 메시지에 대해 반복적으로 수행해야함. 개체 인증은 일단 한 번 주장자에 대한 인증이 끝나면 한 세션 동안 전체 과정이 인증됨
검증 범주
알고 있는 것
- 주장자만 알고 있는 비밀로 검증자에 의해 점검될 수 있음
- ex) 패스워드, PIN, 비밀 키, 개인 키 등
소유하고 있는 것
- 주장자의 신원을 증명할 수 있는 어떤 대상
- ex) 여권, 면허증, 신분증 , 신용카드 등
태생적으로 가지고 있는 것
- 주장자의 타고난 특성을 말함
- ex) 전통적 사인, 손금, 목소리, 안면, 홍체, 필체, 지문 등
비밀번호
- 주장자가 알고 있는 것에 해당됨
첫 번째 방법 - 사용자 ID와 패스워드 파일
공격 방법
- 도청: 엿보기, 네트워크 감청
- 패스워드 훔치기: 써놓지 말고 외워야함
- 패스워드 파일에 접근: 파일 권한 설정의 중요성
- 추측: 랜덤성의 중요
두 번째 방법 - 패스워드의 해싱
공격 방법
- 사전 공격: 모든 가능한 비밀번호 조합에 대해 미리 해쉬값을 구한 사전을 준비.
비밀번호 파일 상의 값과 미리 계산한 값을 비교
세 번째 방법 - 패스워드 솔팅
공격 방법
- Rainbow attack
네 번째 방법 - 두 가지 확인기술을 함께 사용
- ex) ATM 카드에서 PIN을 사용하는 것
- 카드는 "소유하고 있는 것", PIN은 "알고 있는 것"에 해당됨
일회용 비밀번호
- 오직 한 번만 사용되는 패스워드로, 도청이나 도난이 무의미해짐
첫 번째 방법
- 사용자와 시스템은 패스워드 목록에 대해 합의함
- 목록 상의 각 패스워드는 오직 한 번만 사용함
- 이 방법의 약점
-> 시스템과 사용자는 긴 패스워드 목록을 저장해야함
-> 만약 사용자가 패스워드를 순서대로 사용하지 않는다면 시스템은 일치하는 패스워드를 찾는데 시간을 많이 소비함
- 도청이나 패스워드의 재사용을 무의미하게 함
- 패스워드는 오직 한 번만 유효함
두 번째 방법
- 사용자와 시스템은 패스워드의 순차적 업데이트에 합의
- 사용자와 시스템은 원래의 패스워드 P1에 동의
- P1은 최초의 접속 한 번만 사용
- 첫 번째 접속 시도에서 사용자는 새로운 패스워드 P2를 생성하고 이 패스워드를 P1을 키로 사용하여 암호화. P2는 두 번째 접속 시에 패스워드로 사용
- 두 번째 접속 도중 사용자는 새로운 패스워드 P3를 생성하고 P3를 (P2를 키로 사용해서) 암호화
- P3는 세 번째 접속시에 패스워드로 사용
세 번째 방법 - Lamport 비밀번호
- 사용자와 시스템은 해시 함수를 이용해서 순차적으로 업데이트된 패스워드를 생성
- 사용자와 시스템은 원래의 패스워드 P0와 카운터 n에 동의
- 시스템은 h^n(P0)를 계산
- 여기서 h^n은 해시함수를 n번 적용한 것을 의미함
시도-응답 인증
- 시도-응답 인증에서는 주장자가 자신의 비밀을 노출하지 않으면서 자신이 알고 있는 것을 증명할 수 있음
- 시도는 검증자가 보내는 시간에 따라 변경되는 값이고, 응답은 이 시도에 함수를 적용하여 얻는 결과임
- 비밀을 보내지 않기 때문에 도청에 안전함
대칭 키 암호의 이용
- 검증해야 하는 것은 "둘마 아는 비밀 키"를 상대가 알고 있느냐는 것
첫 번째 방법 - 비표 시도
두 번째 방법 - 타임 스탬프 시도
세 번째 방법 - 양 방향 인증
키-해시함수의 이용
- 검증해야 하는 것은 "둘만 아는 비밀 키"를 상대가 알고 있느냐는 것
- 인증에 암호화/복호화를 사용하는 대신 키-해시함수인 MAC을 사용할 수 있음
- 이 구조의 한 가지 장점은 시도와 응답의 무결성이 보장된다는 것이고 동시에 비밀인 키를 사용한다는 것임
비대칭 키 암호의 이용
- 검증해야 하는 것은 상대가 그 자신의 "개인 키"를 알고 있느냐는 것
첫 번째 방법 - 일방향 비대칭 키 인증
두 번째 방법 - 양방향 비대칭 키 인증
디지털 서명의 이용
- 검증해야 하는 것은 상대가 그 자신의 "개인 키"를 알고 있느냐는 것
첫 번째 방법 - 디지털 서명 일방향 인증
두 번째 방법 - 디지털 서명 양방향 인증
영-지식
생체 인식
- 생리적 혹은 행동적 특성을 측정하여 신원을 인증하는 방법으로서 태생적으로 가지고 있는 것에 의한 인증임
- 생체 인식에서는 추측하거나, 훔치거나, 공유할 수 없는 특성을 측정함
구성 요소
- 생체 인식을 위해서는 인식 장치, 프로세서, 저장 장치 같은 여러 구성 요소가 필요함
- 인식 장치: 생체 정보를 측정함 ex) 인식기, 감응 장치
- 프로세서: 측정된 특성을 저장할 수 있는 형태의 자료로 변경함
- 저장 장치: 인증 처리 결과를 저장할 때 사용함
등록
- 생체 인식 기술을 인증용으로 사용하기 이전에 이 시스템을 사용하게 될 사용자들의 해당 특성을 데이터베이스로 구축하는 것
검증
- 검증에서 사용자의 특성은 데이터베이스에 저장된 내용과 일대일 대응이 되어야함
- 그래야 사용자가 자신이 바로 그 사용자라고 주장하는 것에 대한 참/거짓 판단이 가능함
- ex) 은행에서 수표에 기명된 고객의 서명 검증
확인
- 확인 절차에서 사용자의 특성은 데이터베이스에 저장된 자료와 일대일로 비교됨
- 이렇게 하여 사용자의 자료가 데이터베이스에 저장되어 있는지를 판단함
- ex) 기업의 직원 전용 출입구
생체 인식 기술
생리적 기술
- 생리적 기술은 사람 몸의 신체적인 특성을 측정해서 인증이나 확인하는 수단
- 특성은 사람들을 구별할 수 있도록 사람마다 아주 고유한 성질을 가져야함
- 이러한 특성은 나이가 들거나, 수술, 질병, 건강 등의 조건에 따라 변경이 가능해야함
생리적 기술 예시
- 지문, 손, 홍체, 목소리, 망막, DNA, 얼굴
행동적 기술
- 인간 행동의 특성을 측정
- 생리적 기술과는 다르게 주장자가 평상시처럼 행동하고 다른 사람으로 위장하지 못하도록 모니터링할 필요가 있음
행동적 기술 예시
- 서명
-> 서명 태블릿과 특수 펜을 사용하여 사람을 확인
-> 최종적으로 나온 서명도 확인하지만 서명에 걸리는 시간 같은 다른 행동적 특성도 측정을 함
-> 주로 검증에 사용됨
- 키 스트로크
-> 자판에서 작업하는 것과 관련된 사람의 행동을 측정하는 것임
-> 키를 누르고 있는 시간, 키와 키 사이의 간격, 오타의 빈도, 키를 누르는 압력 등을 측정
-> 정확도가 떨어짐
정확도
-생체 인식 기술의 정확도는 아래 두 매개변수로 측정할 수 있음
부정 거부율(FRR)
- 인식되어야 할 사람이 얼마나 자주 시스템에 의해 인식되지 않는지를 나타내는 값임
- FRR = 부정 거부 회수/총 시도 회수
부정 허용률(FAR)
- 인식되어서는 안될 사람이 얼마나 자주 시스템에 의해 인식되는지를 나타내는 값
- FAR = 부정 허용 회수/총 시도 회수