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