프로젝트

일반

사용자정보

Actions

응용프로그램 방식의 보안 서버

  • 웹 브라우저와 웹 서버에 별도의 모듈을 추가하여 데이터를 암호화하는 기능을 제공합니다.
  • 응용프로그램 방식은 웹 브라우저와 웹 서버가 기본저긍로 제공해 주지 않는 추가적인 기능으로 동작하기 때문에 이러한 확장기능을 통하여 기능을 제공합니다.

1) 응용프로그램 방식 보안서버 개요

  • 제공되는 솔루션마다 설치 방법과 사용방법이 다릅니다.
  • SSL 방식과 같이 클라이언트와 서버간의 데이터를 암호화하는 기능을 제공합니다.

2) 보안서버 모듈 종류

클라이언트 모듈 서버 모듈
제작방식 웹 브라우저 확장기능을 이용하여 제작 웹 서버의 확장 기능을 이용하여 제작

1. 대칭키

  • 대칭키는 동일한 키로 암호화와 복호화를 같이 할 수 있는 방식의 암호화 기법을 의미합니다.

2. 공개키

  • 공개키 방식은 비공개키(Private key)와 공개키(public key)라는 두개의 키를 갖게 됩니다.
  • 비공개키는 자신만 가지고 잇고, 공개키는 타인에게 제공합니다.
  • 공개키를 제공받은 타인은 공개키를 이용해서 암호화를 합니다. 암호화한 정보를 비공개키를 가지고있는 사람에게 전송합니다. 비공개키의 소유자는 암호화된 정보를 복호화합니다.(이 과정에서 공개키가 유출되어도 비공개키를 모르면 복호화를 할 수 없기 때문에 안전합니다.)

3) SSL 인증서

  • 클라이언트와 서버간의 통신을 제 3자가 보증해주는 전자화 된 문서입니다.

1. SSL 인증서의 역할

  1. 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장
  2. SSL 통신에 사용할 공개키를 클라이언트에게 제공

2. CA

  • 인증서의 역할은 클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지를 보장하는 역할을 합니다. 이 역할을 하는 민간기업들이 있는데 이런 기업들을 CA혹은 Root Certificate 라고 부릅니다.

3. SSL 인증서의 내용

  1. 서비스의 정보(인증서를 발급한 CA, 서비스의 도메인 등) * 클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지에 대한 내용
  2. 서버 측 공개키(공개키의 내용, 공개키의 암호화 방법) * 서버와 통신할 때 사용할 공개키와 그 공개키의 암호화 방법들의 정보

4. SLL 인증서가 서비스를 보증하는 방법

  • 웹 브라우저가 서버에 접속할 때 서버는 제일 먼저 인증서를 제공
  • 브라우저는 이 인증서를 발급한 CA가 자신이 내장한 CA의 리스트에 있는지 확인
  • 내장되어 있다면 해당 CA의 공개키를 이용해서 인증서를 복호화

4) SSL의 동작 방법

  • 순서 : 악수(Handshake) → 세션 → 세션 종료

1. 악수(Handshake)

  1. 클라이언트가 서버에 접속합니다.(이 단계에서 주고 받는 정보는 아래와 같습니다.)
    • 클라이언트 측에서 생성한 랜덤 데이터
    • 클라이언트가 지원하는 암호화 방식들
    • 세션아이디
  2. 서버는 클라이언트의 요청에 따라 응답을 합니다.(이 단계에서 주고 받는 정보는 아래와 같습니다.)
    • 서버 측에서 생성한 랜덤 데이터
    • 서버가 선택한 클라이언트의 암호화 방식
    • 인증서
  3. 클라이언트는 서버의 인증서가 CA에 의해서 발급된것인지 확인하기 위해서 클라이언트에 내장된 CA리스트를 확인합니다.
    • CA 리스트에 인증서가 없다면 사용자에게 경과 메시지를 출력하게 됩니다.
    • CA에 의해서 발급된 것인지를 확인하기 위해서 클라이언트에 내장된 CA의 공개키를 이용해서 인증서를 복호화 합니다. 복호화에 성공했다면 인증서는 CA의 개인키로 암호화된 문서임이 암시적으로 보증된것입니다.
  4. 서버는 클라이언트가 전송한 pre master secret 값을 자신의 비공개키로 복호화합니다.
  5. 클라이언트와 서버는 handshake 단계의 종료를 서로에게 알립니다.

2. 세션

  • 실제로 서버와 클라이언트가 데이터를 주고받는 단계입니다.
  • 이 단계에서 핵심은 정보를 상대방에게 전송하기 전에 session key 값을 이용해서 대칭키 방식으로 암호화 한다는 점입니다.

3. 세션 종료 * 데이터의 전송이 끝나면 SSL 통신이 끝났음을 서로에게 알려줍니다. 이 때 통신에서 사용한 대칭키인 세션키를 폐기합니다.

이태훈이(가) 일년 이상 전에 변경 · 1 revisions