DongDD's IT

[정보보안기사 실기] 정보보안 일반 본문

자격증/정보보안기사

[정보보안기사 실기] 정보보안 일반

DongDD 2018. 5. 20. 14:06

[정보보안기사 실기] 정보보안 일반 - 정보보호, 암호학, 해시함수, PKI




암호학


암호 기법


1. 치환 암호(Substitution Cipher)

- bit, 문자를 다른 bit, 문자로 대체

- 1:1 대응이 아니여도 무관


2. 전치 암호(Transposition Cipher)

- 평문의 의미를 감추기 위해 순서를 재배열


3. 블록 암호(Block Cipher)

- 평문을 일정 크기로 나누어 블록 단위로 암호화

- round 함수를 반복적으로 수행해 암호화 강도를 높일 수 있음


4. 스트림 암호(Stream Cipher)

- 키 스트림을 이용해 순차적으로 암호화하는 방식

- 블록 암호화 방식보다 속도가 빠름


암호 해독


- 제 3자가 암호문에서 평문을 찾으려는 시도를 의미

- Kerchhoff(케르히호프)의 원리 : 암호 시스템의 안정성은 암호 알고리즘을 숨기는데에 있는 것이 아니고 키의 비밀을 지키는데 있음


1. 암호문 단독 공격(COA, Cipher Only Attack)

- 암호문만을 알고 있을 때 통계적 성질 등을 이용해 해독


2. 기지 평문 공격(KPA, Known Plaintext Attack)

- 알고 있는 암호문-평문 쌍을 이용해 해독


3. 선택 평문 공격(CPA : Chosen Plaintext Attack)

- 암호기에 접근 가능하여 선택한 평문으로 암호문을 얻을 수 있을 때, 이를 바탕으로 해독


4. 선택 암호문 공격(CCA : Chosen Ciphertext Attack)

- 복호기에 접근 가능하여 선택한 암호문으로 평문을 얻을 수 있을 때, 이를 바탕으로 해독


스트림 암호


- 난수열인 키 스트림을 이용해 비트(바이트) 스트림 단위로 순차적으로 암호화

- 블록 암호보다 속도가 빠름


1. 동기식 스트림 암호

- 키 스트림이 평문에 독립적

- One-Time Pad, FSR, LFSR, NLFSR

1) 특징

- 암호화/복호화에서 상호 동기화 필수

- 변조를 복호화 단계에서 검출할 수 없음

- 변조되어도 후속 암호문에 오류 파급이 없음


2. 비동기식 스트림 암호

- 키 스트림이 이전 평문이나 암호문에 종속적

1) 특징

- 암호문이 변조되어도 자기 동기화 가능

- 변조 암호문이 모든 후속 암호문 복호화해 사용되지는 않기 때문에 오류 파급이 제한적


블록 암호


- 평문을 고정된 크기의 블록으로 나누어 암호화하는 방식


1. 구성 요소

1) 확산(Diffusion)

- 암호문과 평문 관계를 숨김

2) 혼돈(Confusion)

- 암호문과 키 관계를 숨김

3) P-Box(Permutation, 전치)

- 단순 확장, 축소 P-Box가 있음

4) S-Box(Substituion, 치환)

- 입력 개수와 출력 개수가 달라도 됨

-> 같을 경우, 역함수가 존재


2. Feistel 암호

- 입력 블록을 좌우로 분할

- 한 블록을 라운드 함수에 적용한 후 출력을 반대 측 블록에 입력으로 씀

- 3 라운드 이상의 짝수 라운드로 구성

- 복호화 과정 = 암호화 과정

- DES, SEED 암호 등이 있음


3. SPN 암호

- 여러 함수를 중첩하면 안전하다는 이론에서 치환과 전치를 중첩해 암호화

- 입력을 좌우로 구분하지 않음

- 역함수가 존재하는 요소만 사용

- AES, ARIA 등이 있음


4. 운영 모드

1) ECB(Electronic Code Book)

- 평문을 N개의 블록으로 나누어 각각 독립적으로 암호화/복호화 

- 오류 전파가 없고 병렬 처리가 가능

- 동일 평문에 동일 암호문이 나옴(암호문 단독 공격에 취약)


2) CBC(Cipher Block Chaining)

- 이전 블록의 암호문과 XOR하여 암호화

- 처음 블록은 이전 블록이 없기 때문에 초기벡터(IV) 사용

- 암호문 단독 공격을 보완하고 MAC에서도 사용함

- 복호화 시, 한 블록에서 오류가 발생하면 현재 블록과 다음 블록에 영향

3) CFB(Cipher Feed Back)

- 이전 블록의 암호문을 암호화하고 현재 블록과 XOR하여 암호화

- 처음 블록은 이전 블록이 없기 때문에 초기벡터(IV)를 암호화해 XOR

- 결과는 비동기식 스트림 암호와 같음

- 암호화 시, 한 블록에서 오류가 발생하면 이후 블록 모두 영향

- 복호화 시, 한 블록에서 오류가 발생하면 현재 블록과 다음 블록에 영향

4) OFB(Output Feed Back)

- 암호 알고리즘의 출력을 평문 블록과 XOR하여 암호화하고 다음 블록의 암호 알고리즘은 이전 암호 알고리즘을 다시 암호화하여 사용

- 처음 블록은 이전 암호 알고리즘이 없기 때문에 초기 벡터(IV) 사용

- 오류 전파가 없음

5) CTR(CounTeR)

- IV 값을 1씩 증가시킨 후 암호화해 평문 블록과 XOR하여 암호화


5. 블록 암호 공격

1) 차분 공격(Differential Cryptanalysis)

- 두 평문 블록들의 비트 차이에 대응되는 암호물 블록들의 비트 차이를 이용한 공격

2) 전수 공격(Exhausitive Key Search)

- 모든 경우의 수를 무차별적으로 공격

3) 선형 공격(Linear Cryptanalysis)

- 비선형 알고리즘을 선형화해서 키를 찾는 공격

4) 통계적 분석(Statistical Analysis)

- 통계적 자료를 이용해 공격

5) 수학적 분석(Mathmatical Analysis)

- 수학적 이론을 이용해 공격(통계적 분석은 수학적 분석에 포함)


대칭키 암호


- 암호화와 복호화에 동일한 키 사용

- 치환과 전치의 조합으로 간단한 구조

- 장점 : 속도가 빠름

- 단점 : 키 관리가 어려움(n(n-1)/2개의 키)

- Stream 암호 : RC4

- Block 암호 : DES, 3-DES, IDEA, AES, SEED, ARIA


1. DES(Data Encryption Standard)

- 두개의 P-box와 16개의 Feistel 구조

- 키 길이 : 56bit(+8 bit의 parity)

- 블록 크기 : 64bit

- round 수 : 16 round


2. 3-DES

- 3개의 키를 갖는 3중 DES

- 암호화 : K1, K2, K3 순으로 암호화, 복호화, 암호화 순

- 복호화: K1, K2, K3 순으로 복호화, 암호화, 복호화 순

- 키 길이 : 168bit

- 블록 크기 : 128bit

- round 수 : 48 round


3. AES(Advanced Encryption Standard)

- DES의 취약점을 보완하고자 등장

- SPN 구조로 블록을 좌우로 나누지 않아 고속 병렬 처리가 가능함

- 키 길이 : 128bit, 192bit, 256bit

- 블륵 크기 : 128bit

- round 수(키에 따라) : 10 round, 12 round, 14 round


4. SEED

- KISA 표준으로 변형 Feistel 구조를 가짐

- 키 길이 : 128bit

- 블록 크기 : 128bit

- round 수 : 16 round


공개키 암호


1. 특징

1) 대칭키 암호의 키 배송 문제를 해결

2) 암호화키와 복호화키가 다름

3) 키를 공유하지 않아도 암호화 통신 가능

4) 소인수 분해, 이산대수 문제를 이용해 암호화

- 소인수 분해 : RSA, Rabin

-> N = p*q에서 p, q를 알면 N은 쉽게 구하지만 N만으로는 p, q를 찾기 어렵다는 점을 이용

- 이산대수 : Diffie-Hellman, Elgamal, ECC, DSA

-> y = G^x mod p에서 y, G, p를 알아도 x를 알기 어렵다는 점을 이용

5) 기밀성, 부인 방지 제공


2. 절차

- 수신자의 공개키로 암호화하고 수신자의 개인키로 복호화

-> 수신자는 공개키, 개인키를 생성해 송신자에게 공개키 전달

-> 송신자는 받은 공개키로 암호화해 암호문 전송

-> 수신자는 받은 암호문을 개인키로 복호화


3. Diffie-Hellman

- 최초의 공개키 방식

- 기밀성은 제공하지 않으나 키 교환/분배에 사용

1) 절차

- p, g를 선택(공개)

- 송신자는 0<=x<=p-1에서 x 선택(개인키)

- 수신자는 0<=y<=p-1에서 y 선택(개인키)

- 송신자는 R1 = g^x mod p를 계산해 R1을 수신자에게 전송

- 수신자는 R2 = g^y mod p를 계산해 R2을 송신자에게 전송

- 송신자는 K = (R2)^x mod p 계산

- 수신자는 K = (R1)^y mod p 계산

- K = g^xy mod p = (R2)^x mod p = (R1)^y mod p를 대칭키로 사용


4, RSA

- 소인수 분해의 어려움을 이용하고 기밀성과 전자서명 제공

1) 키 생성 과정

- 매우 큰 소수 p, q를 선택해 N=p*q 계산(N만 공개)

φ(N) = (p-1)*(q-1) 계산

- e 선택(e는 gcd(φ(N), e) = 1, 1< e < φ(N) 만족)

- d 계산(e * d mod φ(N) = 1 만족)

- n과 e 공개

-> 공개키 : PU = {e,N}

-> 개인키 : PR = {d,N}

2) 암호화/복호화

- 암호화 : C = P^e mod N

- 복호화 : P = C^d mod N

3) openssl 이용

- 개인키 생성

-> openssl genrsa -des 1024 > key.pvk

- 공개키 생성

-> openssl rsa -in key.pvk -out key.pem -outform PEM -pubout

- 암호화

-> openssl rsautl -encrypt -inkey key.pem -pubin -in filename -out enc_filename

- 복호화

-> openssl rsautl -decrypt -inkey key.pvk -in enc_filename -out dec_filename



해시 함수


해시 함수


1. 용도

1) MDC(Modification Detection Code)

- 메시지 변조 시 해시 값이 달라지는 것을 이용해 무결성 보장

- MD5

-> output : 128bit

-> block size : 512bit

-> round : 64 round

- SHA-0, SHA-1

-> output : 160bit

-> block size : 512bit

-> round : 80 round

- SHA-256, SHA-512

-> output : 256bit, 512bit

-> block size : 512bit, 1024bit

-> round : 64 round, 80 round


2. 요구 조건

- 일방향성(역상저항성) : y=H(x)에서 y만으로 x를 찾는 것이 불가능해야함

- 약한충돌내성(제 2 역상저항성) : x가 주어졌을 때, H(x) = H(x')을 만족하는 x'을 찾는 것이 불가능해야함

- 강한충돌내성(충돌저항성) : H(x) = H(x')을 만족하는 x와 x'을 찾는 것이 불가능해야함


3. 해시 공격

1) 비둘기 집 원리

- 입력 값이 출력 값보다 많은 해시는 반드시 충돌이 발생함

2) 생일 공격

- 23명만 있으면 생일이 같을 확률이 예상외로 50%이상으로 높다는 점을 이용해 동일한 해시 값을 가지는 두개의 입력을 찾는 방법

3) 무차별 공격

- 해시 값이 같은 메시지가 나올 때까지 무차별적으로 공격

4) 대책

- 해시에 솔트값을 넣음

- 해시 길이를 늘림

- 해시를 반복해서 적용



MAC(Message Authentication Code)


- 사전 공유한 비밀키를 이용해 MA값을 계산해 메시지를 검증하는 방법

- 무결성, 인증 제공


1. MAC 절차

- 인증자는 메시지를 암호화해서 MAC을 계산하고 계산한 MAC과 메시지를 송신

- 검증자는 송신한 메시지를 암호화해서 MAC을 계산하고 받은 MAC 값과의 비교를 통해 검증


전자서명


- 수신한 메시지를 만든 송신자를 확인

- 인증, 무결성, 부인 방지 제공

- 개인키, 공개키 사용 방식에 따라 공개키 암호화와 전자서명 구분

-> 암호화 : 수신자의 공개키로 암호화하고 수신자의 개인키로 복호화

-> 전자서명 : 송신자의 개인키로 암호화하고 송신자의 공개키로 복호화


1. 전자 서명의 기능

1) 위조 불가(Unforgeable)

- 합법적 서명자만 전자서명을 생성할 수 있음

2) 서명자 인증(User authentication)

- 전자서명의 서명자를 누구든지 검증할 수 있어야함

3) 부인방지(Non Repudiation)

- 서명 사실을 부인할 수 없어야함

4) 변경 불가(Unalterable)

- 서명 문서의 내용을 변경할 수 없어야함

5) 재사용 불가(Not Reusable)

- 서명을 다른 문서의 전자서명으로 사용할 수 없어야함


2. 전자서명 알고리즘

1) 소인수 분해 기반

- RSA : 정보보호 기능과 전자서명 기능 동시 수행

2) 이산대수 기반

- ElGamal : 순수 서명(기밀성 X)

- DSA(DSS) : RSA보다 빠름, 미국 표준(Elgamal 개량)

- ECDSA : 타원곡선기반, 효율성이 좋음

- KCDSA : KISA의 인증서 기반 한국 표준(Elgamal 계량)

- Schnorr : IC카드에 사용


3. 전자서명 방식

1) 메시지 복원형 전자서명(RSA)

- 메시지에 직접 서명하는 방식

- 암호문을 복호화해 의미있는 메시지가 되는지 확인하여 검증

2) 메시지 부가형(ElGamal, DSS, KCDSA)

- 메시지의 해시값에 서명하는 방식

- 수신 메시지 해시와 공개키를 이용해 복호화한 값을 비교하여 검증

3) 특수 전자 서명

- 부인 방지 서명 : 검증할 대 서명자의 도움이 있어야 검증이 가능한 방식

- 의뢰 부인 방지 서명 : 자신의 서명을 부인하지 못하게 함

- 수신사 지정 서명 : 특정 수신자만이 검증할 수 있음, 서명의 남용을 검증자가 통제

- 은닉 서명 : 서명문의 내용을 숨김, 서명자의 신분과 서명문을 연결시킬 수 없게 하여 익명성 유지

- 위임 서명 : 자신을 대리해서 서명할 수 있게 함

- 다중 서명 : 하나의 서명서에 여러 사람이 서명

- 이중 서명 : 주문 정보와 지불 정보를 합쳐 새로운 메시지를 고객의 서명용 개인키로 암호화하여 주문 정보는 은행에게서 숨겨지게 하고 지불 정보는 주문한 곳에게서 숨겨질 수 있게 함


4. 전자서명 응용

1) 전자투표

- 투표자가 직접 투표지에 방문하지 않고 온라인으로 투표할 수 있음

- 인증과 기밀성의 문제점이 있음

- 요구 사항

-> 완전성 : 투표의 결과가 정확하게 집계되어야함

-> 비밀성 : 투표의 비밀이 유지되어야함

-> 재사용 불가 : 1회의 투표만 허용되어야함

-> 공정성 : 투표 도중의 집계 결과가 투표에 영향이 없어야함

-> 적임성 : 투표권이 있는 사람만 투표할 수 있게 해야함

-> 검증성 : 투표 결과의 위조가 없어야함

-> 강건성 : 부정 투표자에 의한 선거 방해를 견뎌야함

- 전자투표 방식

-> 투표소 전자투표(Poll Site E-Voting) : 투표소에서 전자 투표 시행

-> 원격 인터넷 투표(Remote Internet E-Voting) : 투표소에 가지않고 온라인으로 투표 시행

-> 키오스크(Kiosk) : 키오스크 투표기를 설치해 이를 이용해 투표

2) 전자입찰

- 온라인으로 입찰할 수 있는 시스템

- 요구 사항

-> 독립성 : 입찰자의 독자적 자율성을 보장해야함

-> 비밀성 : 개별 정보는 노출되어서는 안됨

-> 무결성 : 자신의 정보를 확인할 수 있게 하여 누락/변조 확인

-> 공평성 : 입찰이 수행될 때 모든 정보 공개

-> 안정성 : 입찰 참여자간의 공모, 입찰 공고자와 서버의 독단이 발생하면 안됨

3) PKI

4) 보안 공지



PKI(Public-Key Infrastructure)


- 공개키 인증서의 무결성을 제공하기 위한 키 관리 구조(시스템)

- 기밀성, 무결성, 접근 제어, 인증, 부인 방지 제공


1. 구성 요소

1) 인증 기관(CA : Certification Authority)

- 인증 정책 수립, 인증서 상태 관리, 다른 CA와의 상호 인증 제공

- 등록 기관의 요청에 의해 인증서 발생

- 인증서 발급, 폐지 관리

2) 등록 기관(RA : Registration Authority)

- 인증 기관과 사용자 중계

- 사용자 정보 확인 -> 인증서 요청에 서명 -> 인증 기관에 제출

3) Directory(Repository)

- 인증서와 사용자 정보, CRL을 저장

4) 사용자

5) 검증자


2. 구성 방식

1) 계층 구조(트리)

- 최상위 root CA부터 하위 CA가 계층적으로 구성되어있는 트리 형태

- Root CA간 상호작용 가능

- 상위->하위로 인증서 발행

- 하위 CA는 상위 CA의 인증 정책에 영향을 받음

2) 네트워크 구조

- 여러 Root CA들이 있고 상호 인증이 가능하지만 복잡함


3. 인증서 운영 프로토콜

1) OCSP(Online Certificate Status Protocol)

- 실시간으로 인증서의 상태 정보를 확인할 수 있는 서비스 제공

- OCSP 서버, OCSP 클라이언트, 인증 서버로 구성

2) SCVP(Simple Certification Validation Protocol)

- 클라이언트 측 처리 부담을 줄이고 서버 측에서 처리


4. X.509 인증서 표준

- ITU에서 제한한 인증서 정의 규격

1) X.509 v1

- 버전

- 일련번호

- 알고리즘 식별자

- 발행자

- 유효기간

- 주체

- 공개키 정보

- 서명

2) X.509 v2

- 인증서 취소 목록(CRL) 추가

- 인증 기관 고유 식별자 추가

- 주체 고유 식별자 추가

3) X.509 v3

- 인증 기관 키 식별자 추가

- 주체 키 식별자 추가

- 키 용도 추가

- 확장 영역 추가



접근 통제


- 정당한 사용자가 허가된 방식으로만 자산에 접근하도록 통제

- 주체(Subject) : 접근을 요청하는 능동개체

- 객체(Object) : 접근 대상인 수동개체

- 접근(Access) : 생성, 수정, 삭제 등 주체의 활동


접근 통제 절차


1. 식별

- 유일한 정보로 본인이 누구인지 시스템에 밝힘

- 다양한 식별자가 이용될 수 있으며 식별자는 책임 추적성 분석에 중요(ID, 계정 번호)


2. 인증

- 주체의 신원을 검증하기 위한 증명

- 비밀번호, PIN 등을 이용해 검증


3. 인가

- 인증된 주체에게 접근 허용, 권한 부여

- ACL, 보안 등급 등을 사용


접근 통제 기본 원칙


1. 직무 분리

- 업무의 단계 별로 직무를 분리

- 감사, 개발, 암호 키 등의 단계로 분리할 수 있음


2. 최소 권한

- 권한 남용으로 인한 피해를 최소화하기 위해 허가 받을 일만 수행하도록 최소한의 권한만 부여


접근 통제 정책


1. 강제적 접근 통제(MAC : Mandatory Access Control)

- 규칙 기반 정책

- 사용자에게는 주체 등급, 객체에는 객체 등급을 부여해 등급을 이용해 접근을 통제하는 방식

- 최상위 등급을 가진 사용자라도 모든 객체를 열람할 수 없음

- 장점 : 엄격한 보안과 중앙집중식 통제

- 단점 : 모든 등급에 대한 레이블을 정의하고 검증하므로 성능이 저하될 수 있음


2. 임의적 접근 통제(DAC : Discretionary Access Control)

- 신분 기반 정책

- 객체의 소유자가 주체의 신분에 따라 임의적으로 접근을 통제하는 방식

- 중앙 집중화 X, ACL을 사용할 수 있음

- 장점 : 구현이 쉬움

- 단점 : MAC에 비해 취약할 수 있음


3. 역할 기반 접근통제(RBAC : Role Based Access Control)

- 사용자 역할 기반 접근 통제

- 주체와 객체의 역할에 따라 권한을 부여하는 접근 통제 방식

- MAC, DAC의 단점을 보완

- 인사 이동이 잦은 경우에 사용

- 역할에 권한을 부여하는 것은 DAC와 비슷하나 피할 수 없는 권한을 부여한다는 점에서 Non-DAC라고 불림

- 장점 : 편리한 관리와 최소 권한의 원칙 보장


접근 통제 행렬


- 주체와 객체를 각각 열, 행으로 구분해 권한 부여

- AC(Access Control) : 열 단위 객체 중심 접근 권한

- CL(Capability List) : 행 단위 주체 중심 접근 권한


접근 통제 보안모델


1. 벨라파듈라 모델(BLP : Bell-LaPadula)

- 허가된 비밀 정보에 허가되지 않은 방식의 접근을 금지하는 기밀성 강조 모델

- 미국방부에서 제시한 최초의 수학적 모델

- MAC 모델

- No Read up : 주체는 자신의 보안 등급보다 높은 등급을 가진 객체를 읽을 수 없음(ss-property, 단순 보안 속성)

- No Write down : 주체는 자신의 보안 등급보다 낮은 등급을 가진 객체를 수정할 수 없음(*-property, 성형 보안 속성)


2. 비바 모델(Biba)

- BLP를 보완한 비인가자부터의 데이터 변조를 막는 무결성 강조 모델

- 상업용 모델

- No Read down : 주체의 무결성 등급보다 낮은 등급을 가진 객체를 읽을 수 없음(단순 무결성)

- No Write up : 주체의 무결성 등급보다 높은 등급을 가진 객체를 수정할 수 없음(성형 무결성)


3. 클락-윌슨 모델(Clark-Wilson)

- Biba를 확장한 모델로 인가자에 의한 불법 수정을 방지하는 상업용 ㅁ도ㅔㄹ

- 직무 분리를 통한 독단적 불법 수정 방지


4. 만리장성 모델

- 직무 분리로 이해 충돌을 야기하는 주체와 객체들 사이의 정보 차단



인증 기술


메시지 인증


- 전달되는 메시지의 이상 여부, 출처 확인

- MAC, 해시 함수 사용


1. MAC(Message Authentication Code)

- 인증, 무결성, 서명을 위한 코드


2. 해시 함수

- 받은 해시값과 받은 메시지의 해시값을 계산해 비교하여 무결성 검증


사용자 인


1. 인증 유형

1) Type 1(지식기반, What you know) : 알고 있는 지식을 통해 인증

- ID/PW, I-PIN

- 관리 용이하나 보안성이 낮음

- Challenge-Response Protocol

-> 자신의 신분을 증명하기 위해 비밀 정보를 보내지 않고 간접적으로 알고 있다는 사실을 통해 인증하는 기술

2) Type 2(소유기반, What you have) : 가지고 있는 것을 통해 인증

- OTP, 보안 카드, 공인인증서

- 매체 분실 우려가 있음

- OTP(One-Time Password)

-> 질의응답 방식 : 로그인 시도 시 질의 값을 전송하고 응답 값을 받는 방식

-> 시간 동기화 방식 : 동기화된 시간을 통해 OTP를 생성하고 사용자가 입력하는 방식

-> 이벤트 동기화 방식 : 토큰 장치의 버튼을 클릭하면 인증값이 생성되고 인증 값과 비밀키가 해시되어 사용자에게 보여짐, 사용자는 결과값과 ID를 입력

-> S/Key 방식 : 클라이언트에서 정한 임의의 비밀키를 서버로 전송하고 처음 받은 비밀키를 해시 체인 방식으로 n번 반복해 n개의 OTP를 서버에 저장하는 방식

3) Type 3(생체기반, What you are) : 주체의 존재를 이용해 인증

- 생체 인증 기술(홍채, 지문)

- 생체 인증 기술 평가 항목

-> 보편성(Universality) : 모든 사람이 가진 특성인가?

-> 유일성(Uniqueness) : 동일한 특징을 가진 사람은 없는가?

-> 지속성(Permanence) : 시간에 따른 변화가 없는가?

-> 획득성(Collectability) : 정량적으로 측정이 가능한가?

-> 성능(Performance) : 높은 정확성을 가지는가?

-> 수용성(Acceptability) : 사용자의 거부감은 없는가?

-> 기민성(Circumvention) : 부정사용으로부터 안전한가?

4) Type 4(행동기반, What you do) : 주체의 행위를 이용해 인증

- 서명, 음성


2. 사용자 인증 요구 사항

- 식별

- 인증

- 인가

- 책임추적성


3. 통합 인증 체계(SSO : Single Sign On)

- 한번의 인증으로 다양한 정보 시스템 접근에 재인증 절차 없이 접근할 수 있게 해주는 통합 로그인 솔루션

1) 구성 요소

- 사용자(Client) : 개별 ID/PW로 로그인

- 인증 서버 : ACL을 이용해 인증해주는 서버

- LDAP : 네트워크 상의 자산 식별과 자산 접근을 허용해주는 네트워크 디렉토리 서비스

- SSO Agent : 각 정보 시스템의 자동 인증 정보 송수신 수행

2) 장,단점

- 장점 : 비용 감소, 편의성 증가, 중앙 집중 관리

- 단점 : SSO 서버 노출 시 전체 시스템 위기


4. 커버로스(Kerveros)

- MIT에서 개발한 개방형 네트워크 내에서 인증을 위해 대칭키 암호 기법을 사용하는 티켓 기반 인증 프로토콜

- 인증 프로토콜의 역할과 KDC(키 분배 센터) 역할

1) 구조

- 클라이언트 : 서비스 요청자

- 서버 : 서비스 응답장

- KDC : 키 분배 서버(인증 서버, 티켓 발급 서버)

- 인증 서버(AS) : 사용자 인증을 수행

- 티켓 발급 서버(TGS) : 사용자에게 티켓 발급

- 티켓 : 사용자 신원, 인증을 확인하는 토큰

2) 동작 방식

- 클라이언트는 인증 서버에 암호를 입력하고 인증 값을 받음

- 클라이언트가 인증 서버에서 받은 인증 값을 TGS에 제출하고 티켓을 받음

- 클라이언트는 TGS에서 받은 티켓으로 서비스 서버에 접속

3) 장, 단점

- 장점 : 대칭키를 이용해 기밀성, 무결성 보장

- 단점

-> KDC 오류 시 전체 장애

-> 비밀키 보관의 안전 문제

-> 추측 공격에 약함

-> 티켓 유효 기간 검증을 위해 시간 동기화 필요

-> 재전송 공격에 취약





Comments