Transcript chap8(2)
Chapter 8 목차
8.1 네트워크 보안이란 무엇인가?
8.2 암호학의 원리
8.3 메시지 무결성
8.4 종단점 인증
8.5 전자 메일의 보안
8.6 TCP 연결의 보안: SSL
8.7 네트워크 계층의 보안: IPsec
8.8 무선 랜의 보안
8.9 운영상 보안: 방화벽과 침입 방지 시스템
1
우리가 사용하는 인증 방법
어떻게 인간을 기계에게 인증할 수 있을까?
다음과 같은 정보를 사용한다.
you know: 암호(password)
Something you have: 스마트 카드
Something you are: 생체 인식(Biometrics)
Something
지문(Fingerprint)
자필 서명
얼굴 인식
음성 인식
보행 인식 등등
2
간단한 인증 프로토콜
(ATM 기계 프로토콜)
1.
ATM 카드를 넣는다.
2.
PIN을 입력한다.
3.
PIN이 올바른가?
Yes? 거래를 수행한다.
No? 기계가 카드를
삼켜버린다.
3
아군과 적군을 구별하기 (IFF)
군대는
많은특별한
프로토콜을
필요로 한다.
많은 경우
적군을
아군으로
오인하거나
….
Russian
MIG
SAAF
Impala
Angola
2. E(N,K)
Namibia
1. N
4
MIG in the Middle
Angola
SAAF
Impala
4. E(N,K)
2. N
Russian
MiG
3. N
5. E(N,K)
Namibia
6. E(N,K)
1. N
5
네트워크에서의 인증 프로토콜
독립(stand-alone) 컴퓨터에서의 인증은
비교적 쉽다.
“안전한 경로”가 주요한 이슈
주요 관심사는 인증 소프트웨어에 대한 공격이다.
네트워크 상에서의 인증은 훨씬 복잡하다.
공격자는 메시지를 관찰할 수 있다.
공격자는 메시지를 재사용할 수 있다.
적극적인 공격을 할 수 있다. (삽입, 삭제, 내용 변경)
6
네트워크에서의 인증 프로토콜
Alice는 Bob에게 자신을 증명해야 한다.
Alice와 Bob은 사람일수도 혹은 기계일 수도 있다.
Bob도 역시 자신의 존재를 증명해야 할지도
모른다. (상호 인증)
세션 키(session key)를 설정할 필요가 있을 수
있다.
다른 요구사항이 있을 수 있다.
오직 공개키 만을 사용한다.
오직 대칭키 만을 사용한다.
오직 해시 함수 만을 사용한다.
익명성, 합리적인 부인 등등.
7
네트워크 인증 프로토콜
이제 교과서에 나와 있는 인증 프로토콜
ap1.0에서부터 하나씩 살펴본다.
여기서 단계적으로 제시한 인증 프로토콜은
우리가 프로토콜이 과연 안전한지를 판단하기
위한 예로서 실제 사용되고 있는 프로토콜은
아니다. 하지만 이 예들을 통해서 우리는
안전한 인증 프로토콜을 개발하기 위해서
어떤 문제가 존재하고 어떻게 해야 하는지
깨닫게 한다.
8
인증 프로토콜 ap1.0
나는 Alice이다.
나는 Alice이다.
9
인증 프로토콜 ap2.0
Alice의 고유한 값으로 인증한다.(IP 주소)
하지만 IP값은 쉽게 도용될 수 있다.(IP spoofing)
나는 Alice이다.
Alice의 IP 주소
나는 Alice이다.
Alice의 IP 주소
10
인증 프로토콜 ap3.0
그렇다면 Alice 만이 알고있는 비밀값을
사용하는 것은 어떤가?
하지만 암호는 안전하지 않다. Trudy는 Alice의
암호를 찾아낼 수 있을 것이다.
나는 Alice이다.
암호
OK
나는 Alice이다.
암호
OK
11
인증 프로토콜 ap3.1
그렇다면 Alice는 자신의 암호를 대칭키로
암호화하여 보낸다면 안전할까?
No, Trudy는 그것을 그대로 다시 사용할 수
있다.(replay 공격)
나는 Alice이다.
KAB(암호)
OK
나는 Alice이다.
KAB(암호)
OK
12
인증 프로토콜 ap4.0
ap3.0의 문제는 같은
암호를 계속 사용하기
때문에 비롯된다.
그렇다면 매번 다른
암호를 사용한다.
더 일반적인 방법은
nonce를 사용하는
것이다.
Nonce는 단 한번만
사용하는 랜덤값이다.
예를 들면 TCP의
연결 절차
나는 Alice이다.
R
KAB(R)
13
인증 프로토콜 ap5.0
그러면 nonce와 공개키를
사용하여 인증을 할 수도 있을
것이다. 그러면 대칭키를
공유해야 하는 문제도 피할 수
있다.
그러면 이 방법은 안전할까?
No, 이 방법은 공개키를 설명할
때 말했듯이 공개키를 신뢰할
수 있는 정도만큼 안전하다.
나는 Alice이다.
R
KA-(R)
공개키 KA+ 요청
KA+
14
인증 프로토콜 ap5.0 허점
이것보다 더 교활한 공격은 Trudy가 Bob과
Alice가 전혀 눈치채지 못하도록 할 수 있다.
중간자(Man-in-the-middle) 공격
나는 Alice이다.
R
KT-(R)
공개키 KA+ 요청
KT+
15
중간자(Man-in-the-middle) 공격
나는 Alice이다.
나는 Alice이다.
R
KT-(R)
공개키 KA+ 요청
R
KT+
KA-(R)
공개키 KA+ 요청
KA+
16
정리
우리는 이 예제들을 통해서 단순할 것 같은
인증 프로토콜을 만드는 것이 그렇게 간단한
일이 아닌 것을 배웠다.
질문:
안전한가?
우리가 공인 인증서를 사용한다면 ap5.0은
안전한가?
TCP의 연결은 안전한 인증 방법인가?
ap4.0은
17