'HTTPS'에 해당되는 글 1건

  1. 2008.06.29 HTTPS

HTTPS

Web 2008.06.29 09:13

Https란 인터넷 상에서 정보를 암호화하는 SSL(Secure Socket Layer) 프로토콜을 이용하여 세션 데이터를 암호화하여 전송하는 방법을 의미한다. SSL Netscape에서 선도한 보안기법으로, 정보 암호화시 공개키와 개인키라는 두 가지 키를 이용하여 정보를 암호화한다.

클라이언트가 서버에 접속하면 서버인증서(서버의 공개키를 인증기관이 전자서명으로 인증한 것) 를 전송받는다. (이때, 클라이언트 인증을 필요로 할 경우 클라이언트의 인증서를 전송하게 된다.). 클라이언트는 받은 서버 인증서를 분석하여 신뢰할 수 있는 인증서인지를 검토한 후, 서버의 공개키를 추출한다. 클라이언트가 세션키로 사용할 임의의 메세지를 서버의 공개키로 암호화하여 서버에 전송한다. 서버에서는 자신의 개인키로 세션키를 복호화하여 그 키를 사용하여 대칭키 암호방식으로 메시지를 암호화하여 클라이언트와 통신하게 되며 이것은 "https"라는 별도의 프로토콜을 사용하게 된다. 사용자가 입력한 정보는 공개키를 이용하여 암호화되어 다시 서버까지 전달된다. 공개키로 암호화된 정보는 서버만이 유일하게 소유하고 있는 개인키로만 해독이 가능하다.

이러한 https의 전송방식을 사용하면 인해 제 3자가 의도적으로 암호화된 정보를 가로챈다 하더라도, 서버의 개인키가 없는 한 해석이 불가능 하므로 신뢰성 높은 암호화 방법이 된다. 따라서 https는 웹 상에서 전자 상거래시 신용카드 정보를 암호화하거나, 전자 서명을 만드는데 주로 쓰인다. 보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있다.

공개키 암호 시스템은 암호문을 생성할 때 사용하는 키와 평문을 생성할 때 사용하는 키가 다른 암호 시스템이며(비대칭 키 암호), 공개키를 생성하는 암호화 알고리즘에는 RSA, EIGamal, 타원 곡선 암호등이 존재한다.

비밀키 암호 시스템은 암호문을 생성할 때 사용하는 키와 평문을 생성할 때 사용하는 키가 동일한 암호 시스템이며, 대칭키 암호 시스템으로 불리기도 한다. 비밀키를 생성하기 위해 사용되는 암호화 알고리즘으로는 DES, AES, ARIA ,Twofish등이 있다.

한편, HTTPS를 사용한다고 신용카드 등의 사용 사용 정보가 완벽하게  보호되는 것은 아니다. 암호화되는 정보는 웹 서버와 브라우저 사이에 전송되는 카드 정보만이 암호화될 뿐이므로, 데이터베이스에 저장되는 정보가 암호화 되지 않을 경우, 내부 인력에 의한 정보 유출이 발생하거나, 해킹으로 인해 암호화 되지 않은 정보가 대량으로 유출되는 사건이 일어나기도 한다.(최근의 중국 해커의 옥션 해킹 사건)

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요