일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- system hacking
- Buffer Overflow
- Payload
- Spring Framework
- OS
- 운영체제
- System
- LOB
- webhacking.kr
- Pwnable.kr
- stack overflow
- SQL
- 웹해킹
- hacking
- Operating System
- Lord of BOF
- Spring
- Shell code
- webhacking
- 정보보안기사 실기
- Spring MVC
- wargame
- 워게임
- 정보처리기사 실기
- 정보보안기사
- BOF
- 네트워크
- pwnable
- 해킹
- PWN
- Today
- Total
DongDD's IT
[정보보안기사 실기] 정보보안 일반 본문
[정보보안기사 실기] 정보보안 일반 - 정보보호, 암호학, 해시함수, 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 오류 시 전체 장애
-> 비밀키 보관의 안전 문제
-> 추측 공격에 약함
-> 티켓 유효 기간 검증을 위해 시간 동기화 필요
-> 재전송 공격에 취약
'자격증 > 정보보안기사' 카테고리의 다른 글
2018 정보보안기사 실기 1회 합격 후기 (8) | 2018.06.29 |
---|---|
[정보보안기사 실기] 정보보호 관리 (2) | 2018.05.20 |
[정보보안기사 실기] 각종 취약점 및 도구 (0) | 2018.05.15 |
[정보보안기사 실기] 침입 탐지 시스템, 침입 차단 시스템, 보안 도구 (0) | 2018.05.12 |
[정보보안기사 실기] 어플리케이션 보안 - 웹 서버, 데이터베이스 취약점 (0) | 2018.05.10 |