■ 인증 (Authentication)
- 정보의 주체가 되는 송신자와 수신자 간에 교류되는 정보의 내용이 변조 또는 삭제되지 않았는지, 그리고 주체가 되는 송ㆍ수신자가 정당한지를 확인하는 방법
- 사용자 인증(개체인증, 신원인증)과 메시지 인증으로 나눌 수 있음
■ 사용자 인증과 메시지 인증
1) 사용자 인증
- 사용자 인증(User Authentication)이란 네트워크상에서 사용자가 자신이 진정한 사용자라는 것을 상대방에게 증명할 수 있도록 하는 기능
- 반면 제3자가 위장을 통해 사용자 행세를 하는 것이 불가능해야 한다
- 사용자 인증은 신원확인(Identification)이라고도 하는데, 서버에 로그인하는 경우 등 사용자의 신분을 확인하고 정보 서비스를 이용할 수 있는 권한을 부여하기 위해 사용된다
- 일단 사용자 인증을 통과하면 원격접속자가 해당 사용자로서의 모든 권한을 수행할 수 있기 때문에, 중요한 서비스를 제공하는 서버의 입장에서는 원격접속자에게 엄격한 인증절차를 거치도록 요구해야 한다
- 사용자 인증은 개체인증 또는 신원인증과 같은 개념이다
2) 메시지 인증 (데이터 출처 인증)
- 메시지 인증(Message Authentication)이란 전송되는 메시지의 내용이 변경이나 수정되지 않고 본래의 정보를 그대로 가지고 있다는 것을 확인하는 것을 말함
- 전송되는 메시지가 변경되지 않았다는 사실과 누가 보낸다는 사실을 함께 증명하는 것은 전자서명을 통해 이룰 수 있다
** 식별, 인증, 인가
- 식별 (Identification) : 누구인가, ID
- 인증 (Authentication) : 식별한 그가 맞냐, PW, 지문 등
- 인가 (Authorization) : 권한 부여라고도 하며, 인증된 주체에게 접근을 허용하고 특정 업무를 수행할 권리를 부여하는 과정
- 인증은 메시지 인증(데이터 출처 인증)과 개체인증(사용자 인증)으로 나눌 수 있다. 개체인증, 사용자 인증, 신원인증은 같은 개념으로 생각해도 무방하다
*** 계정
- 계정이란 인터넷 서비스 공급업체나 PC통신 서비스 등에 가입했을 때 부여되는 사용자 ID와 암호를 가리킨다
- 시스템과 관련된 보안기능 중 적절한 권한을 가진 사용자를 식별하기 위한 인증관리가 계정관리라고 할 수 있다
■ 사용자 인증기술 (User Authentication)
- 네트워크, 시스템에 접근하려는 사용자가 정당한 사용자인지를 판별하는 것을 말한다
- 사용자 인증기술은 지식 기반, 소유 기반, 존재 기반(생체 기반, 특징 기반)으로 분류된다
★ 사용자 인증의 유형
유형 | 설명 | 예 |
Type 1 (지식 기반 인증) | 주체가 알고 있는 것 (what you know) | 패스워드, 핀(pin) |
Type 2 (소유 기반 인증) | 주체가 가지고 있는 것 (what you have) | 토큰(token), 스마트카드, ID카드, OTP, 공인인증서 |
Type 3 (존재 기반 인증) | 주체를 나타내는 것 (what you are) | 생체인증(지문, 홍채, 얼굴) |
Type 4 (행위 기반 인증) | 주체가 하는 것 (what you do) | 서명, 움직임, 음성 |
Two Factor | 위 타입 중 2가지 | ID/PW 입력 후 SMS 인증 |
Multi Factor | 가장 강한 인증으로 세 가지 이상의 인증 메커니즘 |
** Type3과 Type4를 묶어 Type3 생체인증이라고 한다
1) 지식 기반 인증 (what you know)
- 사용자가 알고 있는 지식, 예를 들면 아이디, 패스워드, 신용카드에 대한 개인식별번호 등의 지식을 기초로 접근제어를 수행하는 사용자 인증 기법
ⓐ ID/Password 방식
- 사람의 지식에 따른 내용으로 인증하는 방식으로 사람의 습관에 따라 패스워드를 설정함으로 인해 유추가 쉽고 보안성이 떨어지지만 관리가 편하고 구축이 용이하다는 장점이 있음
- 일반적인 패스워드 정책은 8자 이상 대ㆍ소문자로 이루어져 있으며, 요즘은 특수문자도 추가하여 사용하는 추세이다
- ID/PW 방식은 간단한 인증 방식이며 발급과정이 간단하고, 구축이 편리하다는 장점을 지니고 있으나 사이트별 아이디 생성 시나 도용 시 사용자가 알기 어렵고 비밀번호 유출 시 타 사이트에서도 문제가 발생할 수 있으며, 편의성에 비하여 보안성이 낮다는 단점을 지니고 있다
- 패스워드 인증은 서버 측에서 인증시스템 구축이 용이하다는 장점이 있다
- 패스워드에 대한 사전공격(Dictionary Attack)을 막기 위해 전통적으로 Salt가 사용되어 왔다
** 패스워드를 안전하게 관리하기 위한 방법
- 항상 내부적으로 암호화하여 저장한다
- 패스워드의 유효기간을 설정하여 주기적으로 변경하도록 한다. 이때 패스워드 변경 시 이전에 사용한 패스워드는 재사용하지 않는다
- 구문 규칙은 최소 8자 이상, 영문자와 숫자, 특수문자의 조합으로 구성한다
- 이름, 전화번호, 생일, 주소 등 유추 가능한 데이터를 패스워드에 사용하지 않는다
- 사용자 특성을 포함하지 않아 패스워드 분실 시 피해를 최소화 한다
- 유사한 패스워드를 서로 다른 장비에 같이 사용하면 추측공격에 취약할 수 있다. 그러므로 서로 다른 장비에 유사한 패스워드를 적용하는 것을 금지한다
- 패스워드 파일에의 불법적인 접근을 방지한다
- 오염된 패스워드는 빠른 시간 내에 발견하고, 새로운 패스워드를 발급한다
ⓑ i-PIN
- 이것은 개인의 고유 식별을 할 수 있는 주민등록번호를 대체하기 위해 만들어졌으며, 변경 및 페이지가 용이하고 개인정보의 유출 가능성이 낮으며 간단한 발급으로 편의성 또한 높고 별도의 등록과 갱신과정이 필요가 없다는 장점을 가지고 있다
- 주민등록번호와 달리 i-PIN은 유출되어도 해지 및 신규 발급이 가능하며 피해를 줄일 수 있다
- 검증방법 : 주민등록번호 실명확인 + 신원확인
- 주민등록번호 저장 : 웹사이트에 저장 안 됨
- 유출 위험 : 주민등록번호 외부노출 가능성 적음, i-PIN 노출 시 폐지/신규발급 가능
- 사용방법 : 신원확인 후 본인 확인기관에서 i-PIN 발급, i-PIN 아이디/비밀번호 사용
** i-PIN 발급기관(본인확인기관)
- i-PIN을 발급해 주는 기관을 본인확인기관이라 하며, 현재 3개의 민간 본인확인기관과 공공 i-PIN센터에서 i-PIN을 발급받을 수 있다
- 3개의 민간 본인확인기관 : 서울신용 평가정보, 나이스 신용평가정보, 코리아 크레딧뷰로
- 1개의 공공 i-PIN센터 : 공공 아이핀센터
*** 주민등록번호를 수집할 수 있는 경우는 다음과 같다
① 신분확인기관
② 법률에 허용
③ 방통위 고시
- 법령에서 구체적으로 주민등록번호의 처리를 요구하거나 허용한 경우
- 정보주체 또는 제3자의 급박한 생명, 신체, 재산의 이익을 위하여 명백히 필요하다고 인정되는 경우
- 제1호 및 제2호에 준하여 주민등록번호 처리가 불가피한 경우로써 안전행정부령으로 정하는 경우
□ 영지식 증명
- 본인 신분 확인을 위하여 사용하는 방법
- 사용자와 서버 간의 대화형 프로토콜로써사용자의 비밀정보를 서버에게 직접적으로 제공하지 않고 사용자는 단지 그 비밀정보를 실제로 알고 있다는 사실만으로 서버에게 확신시켜주는 방법
- 통상의 패스워드 방식에서는 자신이 본인임을 증명하기 위해서 패스워드를 그대로 표시하게 되므로 항상 위험이 따르게 되는데, 이러한 결점을 극복한 것으로 스마트 카드 및 원격지 로그인에서의 사용자 식별에 사용한다
- 어떤 프로토콜이 영지식 증명이 되려면 정당성(Soundness), 완전성(Completeness), 영지식성(Zero-Knowledgeness)을 만족해야 한다
□ 동굴의 예
- 영지식 개인 식별 프로토콜의 배경에 깔린 논리를 설명하기 위해 기로-키스케다(Guillou-Quisquater)는 동굴의 예를 고안했다
- 기로-키스케다법은 알고 있는 비밀을 밝히지 않고 비밀을 알고 있다는 사실을 상대방에게 알리는 영지식 증명을 실현하는 방법의 하나이다
- 본인 확인과 서명 시에 사용된다. 기로-키스케다(Guiilou-Quisquater)법은 1988년에 기로-키스케다가 고안한 것으로, 이 방법의 특징은 소인수분해의 난해성과 안전성에 근거를 두고 있다. 또한 난수를 사용해서 정보를 주고받게 되므로 비밀 정보의 누설 없이 본인의 확인이나 서명을 할 수 있다
□ 캡차 CAPTCHA
- CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart, 완전 자동화 된 사람과 컴퓨터 판별, 캡차)는 HIP(Human Interaction Proof) 기술의 일종으로, 어떠한 사용자가 실제 사람인지 컴퓨터 프로그램인지를 구별하기 위해 사용되는 방법
- 로봇프로그램과 사람을 구분하는 방법의 하나로 사람이 인식할 수 있는 문자나 그림을 활용하여 자동 회원가입 및 게시글 포스팅을 방지하는 데 사용하는 방법이다
- 사람은 구별할 수 있지만 컴퓨터는 구별하기 힘들게 의도적으로 비틀거나 덧칠한 그림을 주고, 그 그림에 쓰여 있는 내용을 물어보는 방법이 자주 사용된다
- 흔히 웹사이트 회원가입을 할 때 뜨는 자동가입방지 프로그램 같은 곳에 쓰인다
2) 소유 기반 인증 (what you have)
- 소유에 기반을 둔 인증 방식으로 실생활에서 사용하는 다양한 매체로 사용자를 인증하는 방식
- 사용자가 열쇠, 운전면허증, 신분증 등 다양한 형태의 물리적 매체를 통해 본인임을 주장하는 사용자 인증 기법
- 소유 기반 인증 방식은 소지한 별도 매체의 고유정보를 직접 제시하나 매체에 대한 분실 우려가 있다
- 소유 기반 인증 방식의 종류에는 OTP, 보안카드, 공인인증서 등이 있다
① OTP 방식
- OTP는 로그인 시 매번 변경되는 일회용 패스워드를 이용하며, Sniffing으로 패스워드를 얻어도 재사용이 불가능하고 다음 패스워드에 대한 유추가 수학적으로 불가능한 장점이 있다
- 유효기간 없이 매 세션마다 서로 상이한 패스워드를 사용하면, 특정 세션의 개인 식별 과정에서 해당 패스워드가 노출되어도 다른 세션에 사용될 패스워드를 예측할 수 없다
- 2차 인증 시스템에는 OTP와 전화인증, 공인인증서 등이 있다
- 그 중에서 OTP는 가장 대중적이고, 그나마 사용하기 편한 인증 시스템이라고 생각한다
** OTP의 다양한 방식들
방식명 | 설명 |
시도-응답 (질의응답) Challenge-response |
- 서버가 제시하는 시도 값을 사용자가 알고리즘에 입력해 출력되는 값을 얻고, 이를 응답 값으로 서버에 전송하여 자신을 인증하는 방식 - 사용자의 OTP 생명 매체와 OTP 인증 서버 사이에 시간이 반드시 동기화될 필요는 없다 - 사용자가 직접 임의의 난수(질의값)를 OTP 생성 매체에 입력함으로써 OTP가 생성된다 - 재전송 공격으로부터 안전하게 사용자를 인증하는 기법 - 인증 서버는 사용자 인증을 위해 사용자의 비밀키를 가지고 있다 - Response 값은 사용자의 비밀키를 사용하여 인증 서버에서 전달받은 Challenge 값을 암호화한 값 - 사용자나 인증 서버의 관리 부담이 발생할 수 있다 |
시간 동기화 Time-synchronous |
- 서버와 OTP 토큰 간에 동기화 된 시간을 기준으로 특정 시간 간격마다 변하는 OTP를 생성한다. 하지만 특정 시간 간격마다 OTP가 변하기 때문에 OTP를 입력하는 도중에 다른 값이 생성되어 OTP가 변경되는 단점이 있다 - 비밀키 값과 현재 시간의 해시함수의 입력을 동시에 사용한다 - OTP 생성 매체는 OTP 인증 서버와 시간이 동기화 되어야 한다 - OTP 생성 매체는 일정 시간마다 새로운 패스워드를 생성한다 - 시간 동기화 OTP 방식에서 토큰장치와 인증서비스는 반드시 동일한 대칭키(비밀키)를 공유하여 암호화 또는 복호화에 사용해야 한다 - 임의의 입력값이 필요하지 않다는 점에서 사용하기 편리하다 - 클라이언트가 서버와 통신해야 하는 횟수가 비교적 적다 - 서버에서 클라이언트에 입력값을 보내는 방식이 아니므로 다른 OTP 방식에 비해 피싱에 안전하다 - RSA사의 Secure ID가 속한다 |
이벤트 동기화 Event-synchronous |
- 이벤트 동기화 방식은 서버와 OTP 토큰이 동기화 된 시간 대신에 동일한 카운트 값을 기준으로 비밀번호를 생성한다 - 특정 이벤트 값을 패스워드 생성 시 해시값의 입력으로 사용한다 (ex, 사용자가 암호생성기 버튼을 누른 횟수 등) |
시간-이벤트 동기화 Time-event synchronous |
- 시간 동기화와 이벤트 동기화 방식의 단점을 보완하기 위해서 두 가지 방식을 조합한 OTP 생성 방식이다. 시간-이벤트 동기화 방식은 OTP 생성 입력값으로 시간 값과 카운터 값을 모두 사용한다 |
S/KEY 방식 | - 해시 체인에 기반하고 있는 이 알고리즘은 해시함수의 역연산을 하기 어렵다는 점에 착안하여 만들어졌다 - 클라이언트에서 정한 임의의 비밀키를 서버로 전송하고 처음 받은 비밀키를 해시 체인 방식으로 n번 반복해 n개의 OTP를 서버에 저장하는 방식 - 다만 생성했던 OTP를 모두 소진하면 다시 새로 설정을 해야 하며, 서버에 저장돼 있는 OTP 목록이 유출될 경우 보안에 대단히 취약해진다는 단점이 있다 |
② 보안카드
- 보안카드는 금융 사고를 방지해주고 35개의 표에 4자리로 되어있어 앞, 뒤 2자리를 활용하게 된다
- 보안카드의 장점은 휴대의 편리성이 좋고, 구축 및 보급비용이 저렴하며 인증 방식 자체가 어렵지 않다는 것
- 단점은 고정된 숫자로 장기간 사용 시 유출이 될 수 있고, 조합가능성이 낮아 타 인증수단보다 보안성이 낮으며 서비스를 할 때마다 보안카드가 필요하다
③ 공인인증서
- 공개키 기반의 전자 신분증으로 전자서명을 통해 거래 내의 위조, 변조를 방지할 수 있고 거래자 신원 식별이 보장될 수 있다
- 공인인증기관은 한국인터넷진흥원, 한국정보인증, 코스톰, 금융결제원 등이 있다
- 장점으로는 전자서명법에 의해 보장되어 안전하며, 하나의 인증서로 여러 개의 기관에서 사용이 가능하다는 것이다
- 단점으로는 악성코드에 의한 유출 가능성이 크다는 점이다
④ S/Key 방식
- 일방향 해시함수를 이용한 일회용 패스워드 시스템
- 클라이언트로부터 받은 비밀키를 첫 번째 값으로 사용하여 해시체인 방식으로, 이전 결과값에 대한 해시값을 구하는 작업을 n번 반복한 후 생성된 n개의 OTP값을 서버에 저장한다
- 해시체인 방식으로 생성된 일회용 패스워드 목록이 테이블 형태로 OTP 서버에 저장되어 있으며, 로그인할 때마다 패스워드는 한 번만 사용되고, 사용된 패스워드는 지워지게 된다
- 그리고 목록의 다음 패스워드가 다음 로그인에 사용된다
- 사용자의 동일한 패스워드가 계속 네트워크에 노출되지 않기 때문에 도청 혹은 재생공격으로부터 안전하다는 장점이 있다
- 다만, 패스워드 목록의 도난 위험이 있다
3) 존재 기반인증 (=생체 기반인증, what you are)
- 신체의 특성을 이용한 지문인식, 홍채인식, 망막인식, 손모양, 안면인식 등이 있고 행위 특성으로는 음성인식과 서명이 있다
- 생체인식은 사람의 생체적 특징과 행동적 특징을 통한 보편성, 유일성, 영속성, 획득성을 요구한다
- 존재 기반(생체 기반)인증의 가장 큰 문제는 오인식(False Acceptance), 오거부(False Rejection)가 존재한다는 것이다
① 지문인식
- 가장 보편화 된 방식으로 영구적이고 간편하며 비용이 저렴하고 안정성과 신뢰성이 높다는 장점을 가지고 있다
- 지문인식은 휴대폰, 출입문, 잠금장치, 노트북 등에 이용되고 있다
- 지문인식은 에러율이 0.5% 이내로 높은 인식률을 가지고 있으며 작은 공간에서 최대의 효과를 얻을 수 있다는 장점을 지니고 있으나 지문이 상처 등으로 손상되거나 손에 물기가 묻으면 인식률이 떨어지는 단점이 있다
- 스캐너에 묻은 지문의 추출이 가능하다는 문제점이 있다
② 안면인식
- 안면인식은 얼굴 전체가 아닌 눈, 코, 입, 턱 등 얼굴 골격이 변하는 50여 곳을 분석하여 인식하는 방법
- 비접속 방법으로 자연스러운 식별이 가능하다는 장점이 있으나 변장이나 노화, 머리카락 길이, 표정, 조명의 방향 등에 따라 변화가 심하여 인식어 어렵다는 단점을 지니고 있다
③ 홍채 및 망막인식
- 홍채 및 망막은 일란성 쌍둥이라도 다르고 질병이 걸리지 않는 이상 영구적이며 생후 6개월 이내 형성되어 2~3세쯤에 완성이 된다
- 동일인의 경우도 양쪽이 다르다고 하여 지문보다 약 7배의 식별 특징을 가지고 있어 그만큼 홍채나 망막인식은 복잡하고 정교하다
- 이러한 특징 때문에 정확도는 우수하나 대용량 정보가 필요하다는 단점이 있다
④ 음성인식
- 음성인식은 비접속식으로 사용자의 거부감이 적으나 음성 흉내, 감기, 후두염 등 음성의 변화에는 대처할 수 없다
■ 생체인증의 정확성
ⓐ FRR (False Reject Rate : 오거부율, 허위불일치비율)
- FRR이 너무 높으면 아무도 못 들어감
- 시스템에 등록된 사용자가 본인임을 확인하지 못하고 인증을 거부하는 오류
- FRR 0.1%는 1000회 인증 시 1회 오류가 발생할 가능성을 의미
ⓑ FAR (False Acceptance Rate : 오인식율, 오수락률, 허위일치비율)
- FAR이 너무 높으면 아무나 막 들어감
- 부정한 사람을 등록자로 오인하고 인증을 수행하는 오류
- FAR 0.001%는 10만 회 인증 시 1회 오류 가능성을 의미
ⓒ ERR (Equal Error Rate 또는 CER : Crossover Error Rate : FRR와 FAR의 교차점)
- 동일 오류율로 생체 인식 시스템 성능 지표로서 오수락률(FAR)과 오거부율(FRR)이 일치하는 시점의 오인식률
- 모든 생체 인식 시스템은 임계값으로 정합 여부를 판단하게 된다
- FAR과 FRR 값은 반비례로 나타나며, 이 두 값이 서로 같아지는 점이 CER(ERR)
** CER(ERR)이 밑으로 떨어지는 것이 생체인증의 발전 방향
*** 응용 : 생체인증, 법정, 의료, IDS, 스팸메일 관리 시스템 등에 응용되고 있다
종류 | 번역 | 설명 | 탐지 |
False Positive | 긍정오류 | 공격이 아닌데 공격이라고 판단하는 경우 | 오탐 |
False Negative | 부정오류 | 공격인데도 공격이라고 판단하지 않는 경우 | 미탐 |
- 따라서 FRR은 False Positive 성격이 강하고, FAR은 False Negative 성격이 강하다고 볼 수 있음
⑤ 키 입력 패턴 인식 (keystroke Dynamics : 키 스트로크 다이내믹)
- 키 입력 패턴 인식 방법은 사람이 타이핑을 함에 있어 숙련자든 비숙련자든 타이핑을 하는데 독특한 리듬을 가지고 있다는 사실에 기초하고 있음
- 키 입력 패턴 인식 목표는 특별한 컴퓨터의 사용자를 계속하여 모니터할 수 있고 심지어 로그온한 사용자를 대신하여 다른 누군가가 컴퓨터를 사용하는 것도 탐지할 수 있게 하는 것
- 키 입력 패턴 인식 방식은 개인의 특정 문자에 대한 무의식적인 리듬을 이용한 기법으로 소프트웨어적으로 적용된다
- 키 입력 패턴 인식 방식은 하드웨어가 필요 없고 지속적인 감시가 가능하지만 오류율이 크고, 키 입력 내용을 타인이 확인할 수 있어 개인 사생활 보호 측면에서 사용자의 거부감이 크다는 단점이 있다
** 비교
종류 | 지식 기반인증 | 소유 기반인증 | 존재 기반인증 | ||||||
ID/PW | i-PIN | OTP | 보안카드 | 공인인증서 | 지문 인식 | 안면 인식 | 홍채 인식 | 음성 인식 | |
특징 | 간단, 편리, 취약 | 주민번호 대처 | Type2 | Type3 |