ShakeJ
<Network 보안>
웹 브라우저에서 요청 > 인터넷 > 서버 > 인터넷 > 요청 웹 브라우저에 출력
이렇게 통신하자고 정한 약속을 http 프로토콜
HTTPS(hypertext transfer protocol over Secure Sockets Layer, HTTP over SSL)
HTTPS는 월드 와이드 웹(WWW) 통신 프로토콜인 HTTP의 보안이 강화된 버전이다.
HTTPS는 HTTP 계층 아래의 SSL 서브 계층에서 사용자 페이지 요청 인증과 공개키와 비밀키에 기반한 암호화를 위해 넷스케이프 커뮤니케이션즈 코퍼레이션이 개발했으며, 전자 상거래에서 널리 쓰인다.
HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다.
HTTPS의 기본 TCP/IP 포트는 443이다.
Ex>사이트 로그인시 보안접속
보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있다.
HTTPS를 사용하는 웹페이지의 URL은 'http://'대신 'https://' 또는 's://http'로 시작한다.
SSL/TLS(Secure Socket Layer)
@정의
SSL(Secure Socket Layer)은 네트워크 또는 인터넷 상에서 데이터나 메시지 전송의 안전을 관리하기 위해 넷스케이프사에 의해 만들어진 보안 프로그램이다.
SSL은 버전 3까지 경신되었다. 그 후 IETF(The Internet Engineering Task Force)에 의해 TLS(Transport Layer Security)라는 명칭으로 변경되어 표준화가 진행되었다
넷스케이프의 SSL은 디지털 서명의 사용에도 포함되는 RSA의 공개/개인키 암호화 시스템을 사용한다.
@기능
SSL은 TCP/IP 위에서 동작하도록 설계된다. SSL은 응용계층과 전송계층 사이에서 클라이언트와 서버간의 안전한 채널을 형성해 주는 역할을 수행한다 (주로, 웹 브라우저와 서버 사이의 안전한 채널을 제공하기 위해 사용).
SSL은 비밀성, 무결성, 인증의 세 가지 보안 서비스를 제공하며, 효율성을 위해 데이터 압축 기능도 제공한다.
@서버 인증 방법
SSL/TLS에서 클라이언트는 서버를 인증하여 통신하고 있는 서버가 위장된 것이 아님을 확인해야 한다. 이를 위해서 SSL/TLS에서는 서버 인증서를 사용한다.
서버 인증서는 인증국이라고 하는 발행 기관이 서버에 대해 발행하는 인증서로 공개키 암호화 통신을 하기 위한 인증서(공개키 인증서)의 일종이다.
ITU-T가 권고한 X.509 라는 형태에 따라 다음 내용을 포함한 데이터에 인증국이 디지털 서명을 한 것을 가리킨다.
- 인증서의 발행 기관 정보
- 인증서의 유효기간, 사용범위에 대한 정보
- 서버 및 서버를 소지하고 있는 조직에 대한 정보
- 서버의 공개키
서버 인증서에서는 공개키가 어떤 서버의 것인지를 인증국이 제3자로서 증명하고 있다. 클라이언트가 신뢰하고 있는 제3자가 증명하고 있다면, 클라이언트는 공개키가 올바른 것임을 신뢰할 수 있다.
SSL/TLS로 통신이 행해지면, 서버는 서버 인증서를 클라이언트에 송신한다. 클라이언트는 수신한 서버 인증서의 정당성을 검증한다. 서버 인증서가 정당한 것을 확인한 후에 그 공개키를 사용하여 일시적인 공통키를 공유한다. 이로서 서버와 클라이언트의 SSL/TLS 접속이 확립되면, 서버 인증이 성공한 것이다.
암호화(encipher)와 복호화(decipher)
@정의
Why? 데이터를 보내려는 송신자와 받게 될 수신자 사이에서 어떤 악의를 가진 공격자가 중간에서 데이터의 내용을 훔쳐보거나 변조를 할 가능성이 있기 때문에 암호화를 한다.
만약 송신자가 데이터를 암호화 해서 보낸다면 중간에 공격자가 그 패킷을 가로챈다 하더라도 그 데이터의 내용을 해독할 수가 없게 되어 데이터를 보존할 수 있다.
즉, 암호화란 암호화되지 않은 상태의 정보, 즉 원문을 암호문으로 만드는 암호화 과정과 그 반대 과정, 즉 암호문을 다시 원문으로 만드는 복호화 과정을 의미.
@중요한 요소
원문을 암호화해 주는 수식(알고리즘)과 암호화 키이다
ⓐ 알고리즘cryptographic algorithm(cipher, 암호화 알고리즘):
복잡한 수학적 공식(자물쇠)
ⓑ 암호화키 : 일정한 수의 비트(열쇠)
@구분
③ 정보의 생성방식에 따라
ⓐ 대칭형 암호방식, ⓑ 비대칭형 암호방식, ⓒ 복합암호화 방식
@ 대칭형 암호방식(Symmetric Algorithm) (공통키)
비밀키 암호화 방식 (Secret Key Algorithm) 이라고도 할수있다.
특징으로는 암호화와 복호화에 사용되는 키가 동일하다는 것이다.
장점은 암호화 및 복호화가 빠르며, 데이터 전송이 적고, 다양한 암호화기법이 존재한다.
단점으로는 송신자와 수신자 사이의 안전한 키 교환 문제가 발생한다.
예로써는.. SEED, DES, IDEA, RC2, RC5 등이 있다.
@ 비대칭형 암호방식(Asymmetric Algorithm ) (공개키)
공개키 암호화 방식 (Public Key Algorithm) 이며, 두 개의 쌍으로 이루어진 키를 사용한다.
공개키 (Public Key) 는 모든 사람이 알 수 있도록 공개되어진다. 예를 들어 공인인증기관 같은곳에 게시되는 형태이다.
개인키 (Private Key) 는 자신만이 알 수 있도록 개인이 보관을 한다.
장점은 비밀키 전달 불필요에 따른 키 교환 문제 없고, 정보의 기밀 유지 이외에 다른 목적(무결성, 부인방지 등)으로도 사용 가능하다.
단점은 암호화 및 복호화가 느리고(대칭형에 비해 약 1000배), 많은 양의 자료를 암호화 · 복호화 하기 불편하다.
예로써는.. RSA(Rivest-Shamir-Adleman), Diffie-Hellman, ECC(Elliptic Curve Cryptography) 등이 있다.
'옛글 > 네트워크 이야기' 카테고리의 다른 글
Network 기초 지식 정리 (0) | 2010.10.28 |
---|---|
네트워크란 무엇인가? 강의 PPT -1 (0) | 2010.10.28 |
DNS의 개념과 설명 (2) | 2010.10.28 |
죽일놈의 스팸메일 때문에 메일서버 KO (2) | 2010.10.25 |
웹 사이트 유입경로 로그 분석 (2) | 2010.09.17 |