1. 인증
1-1. 메시지 인증
- 전달되는 메시지의 이상 유무를 확인
- 암호화 방식 (관용 암호 또는 공개키 인증 모드), MAC, 해시 함수 등을 활용함
1-2. 사용자 인증
- 정당한 가입자의 접속인지 확인하는 절차
- 개인 식별
- 사용자 인증의 발전된 형태
- 사용자 인증은 A를 확인해준 B가 제3자 D에게 A인 것처럼 가장할 수 있음
- 사용자 인증 유형
- Type 1 (지식), Type 2 (소유), Type 3 (존재, 행위)
- 위치기반 인증 (위치, IP, 콜백 등 활용)
- Two Factor: 서로 타입이 다른 인증 방식을 결합
- Multi Factor: 세 가지 이상 인증 방식 사용
2. 사용자 인증 기법
2-1. 지식 기반 인증
- 특징
- 장점: 다양한 분야에 활용 가능, 검증 확실성, 저렴한 관리 비용
- 단점: 패스워드 망각, 추측 공격, 사회 공학적 공격에 취약
A. 패스워드
- 고정된 패스워드
- 패스워드의 해시를 저장
- 패스워드 솔팅: 솔트를 패스워드에 붙여 해시함수 적용 (사전 공격 방어)
- 일회용 패스워드 (OTP, 동적 패스워드)
- 재전송 공격을 방어
- 사용자와 시스템이 패스워드 목록을 합의하거나, 순차적으로 업데이트할 수 있음
- Lamport 방식: 해시함수를 이용해 순차적으로 업데이트된 패스워드 생성
- 문제점: 개인정보 기반 추측이나 크랙이 쉬움
- 정책: 조합, 로그인 시도 횟수 제한, 휴면 계정 비활성화, 패스워드 에이징
- 안전성: 패스워드 길이가 길수록, 사용 기간이 짧을수록, 사용 빈도가 낮을수록 안전
B. 시도-응답 개인 식별 프로토콜
자신의 비밀 정보를 알고 있다는 사실을 간접 증명하는 프로토콜
- 대칭키 또는 공개키(인증 모드) 기반 프로토콜
- 일방향 개인 식별 프로토콜
- 믿을 수 있는 서버가 난수를 선택하고 클라이언트에게 질문
- 서버가 응답을 받아 복호화하고 난수와 같은 값인지 확인
- 양방향 개인 식별 프로토콜
- 클라이언트가 서버의 신원을 확인하고 싶을 때 상호 식별함
C. 영지식 개인 식별 프로토콜
비밀 정보를 서버에 제공하지 않고 자신의 신분을 증명하는 프로토콜
- 검증자는 여러 개의 질문을 증명자에게 제시하고, 증명자가 모든 질문을 답변한다면 검증됨
- 완전성 (정직한 증명자만 검증됨), 정당성 (부정직한 증명자는 검증되면 안 됨), 영지식성을 만족해야 함
D. i-PIN
인터넷상에서 주민번호 대신 본인 확인 하는 수단
- i-PIN을 발급해주는 본인확인기관에서 발급받을 수 있음
2-2. 소유 기반 인증
- 특징
- 장점: 입증됨, 생체 인식보다 경제적
- 단점: 소유물이 없으면 인증 불가, 복제 가능, 관리 기능이 필요함
A. 메모리 카드 (토큰)
- 데이터를 저장할 수 있지만 실시간 처리는 불가능
- 마그네틱선이 있는 카드가 예시로, 전용 리더기가 필요함
B. 스마트카드
- 데이터 저장과 처리가 가능함
- 집적 회로가 내장되어 있어, 장비보호 기능이 필요함
C. 일회용 패스워드 (OTP)
- 특징
- 장점: 휴대폰을 통한 인증으로 편리성, 안전성 확보
- 단점: 식별정보나 토큰장치가 넘어가면 악용될 수 있음
- OTP 생성 방식: 질의응답, 시간과 이벤트 동기화, S/Key
- 질의응답
- 생성 매체와 인증서버 간 동기화가 필요 없음
- 사용자가 번거롭고, 인증 서버의 관리가 필요함
- 시간 및 이벤트 동기화
- 시간 혹은 계수기를 사용해 동기화함
- 질의응답보다 호환성이 높고 사용자가 편함
- S/KEY
- 유닉스 계열 OS에서 사용되는 해시 체인 기반 방식
- 해시값을 n번 구해 n개의 OTP를 서버에 저장, n번마다 시스템을 재설정해야 함
2-3. 개체 특성 기반 인증
- 특징
- 장점: 도난이나 대여가 불가능하고 위조가 어려움. 사용도 쉬움
- 단점: 판단 모호성이 존재하여 임계치 설정이 어려움. 관리가 힘듦
- OTP 생성 방식: 질의응답, 시간과 이벤트 동기화, S/Key
- 생체인증 (Biomerics)
- 태생적인 생체적, 행동적 특성을 측정해 신원을 인증
- 평가 항목: 보편성, 유일성, 지속성, 획득성, 성능, 수용성, 반기만성
- 유형: 지문, 얼굴, 망막/홍채, 음성, 서명 등
- 생체인증의 정확도
- 생체인증 도입을 위해, 정확도와 더불어 처리 속도와 수용성을 높여야 함
FRR (False Rejection Rate) |
Type 1 error | 등록된 사용자를 거부하는 인식 오류율 FRR이 높으면 보안 수준이 높아짐 |
FAR (False Acceptance Rate) |
Type 2 error | 등록되지 않은 사용자를 인가하는 오인식률 FAR이 높으면 편리성이 높아짐 |
CER (Crossover Error Rate) |
FRR과 FAR이 일치하는 교차 오류율 표준 평가 지점으로 사용되며, 낮을수록 정확 |
3. 통합 인증 체계 (SSO, Single Sign On)
재인증 절차 없이 접근할 수 있도록 하는 통합 로그인 솔루션
3-1. 개요
- 장점
- 운영비용이 감소하고, 보안성과 사용자 편의성 향상
- 중앙 집중 관리가 가능
- 단점
- SSO 서버가 단일실패지점(SPoF)
- 주체 중심 운영으로 자원별 권한 관리가 미비함
- 구성 요소
- 사용자, 인증 Server
- LDAP: 자원 접근을 허용하는 네트워크 디렉토리 서버
- SSO Agent: 토큰 송수신 수행
- SSO vs EAM vs IAM
- EAM (엑스트라넷 접근 관리): 정책과 차등적 접근 제어가 추가된 SSO
- IAM (식별/접근 관리): SSO나 EAM을 확장한 역할 기반의 계정 관리 솔루션
3-2. 커버로스 (Kerberos)
대칭키 암호 기반의 티켓 기반 인증 프로토콜
KDC이자, SSO의 일종임 (사실상의 표준)
- 특징
- 사용자들은 오직 KDC만을 신뢰함
- 커버로스는 확장성, 투명성, 안정성, 보안을 가짐 (기밀성과 무결성 보장)
- 대칭키를 사용해 도청에 보호되고, 타임스탬프로 재생공격을 예방함
- 구성 요소
KDC | 모든 사용자와 서비스의 비밀키를 보관하는 키 분배 서버 TGS + AS |
AS (Authentication Service) |
실질적으로 인증을 수행함 |
TGS (Ticket Granting Service) |
티켓 부여 서비스 |
Ticket | 사용자의 신원을 인증하는 토큰 |
Principals | 커버로스를 이용하는 모든 실체 |
- 구성도
- AS에 모든 사용자의 패스워드가 저장되어 있고, AS는 각 서버와 비밀키를 공유함
- 사용자는 우선 AS에게 티켓-승인 티켓을 요청
- TGS는 AS에게 인증 받은 사용자에게 서비스-승인 티켓을 발행
- 취약점
- SPoF가 될 수 있으므로 이중화 구성이 요구됨
- 비밀키가 사용자의 워크스테이션에 임시 저장되어 탈취될 수도 있음
- 패스워드 사전, 추측 공격에 취약함
- TGS와 AS가 물리적 공격이나 악성코드에 취약함
- 시간동기화 프로토콜이 필요함
- 커버로스 버전 4와 5의 차이
- 버전 4는 DES만 썼지만, 버전 5는 모든 종류의 암호기술을
- 버전 5는 어떤 유형의 네트워크 주소도 사용 가능
- 버전 5는 티켓의 시작, 만료시간을 명시하여 유효기간 필드가 따로 없음
3-3. 세사미 (SESAME)
- 대칭 및 비대칭 암호화 기법을 사용
- 티켓 대신 PAC를 사용