140 likes | 345 Views
SSL Certificate. SPARCS 10 김민규 wiki @ sparcs.org synthdnb @ gmail.com. What is SSL?. Secure Socket Layer TCP/IP 를 사용하는 두 개의 통신 애플리케이션 간 프라이버시와 무결성을 제공하는 프로토콜 클라이언트와 서버를 오가는 데이타는 공개 키 알고리즘 (RSA) 를 사용해 암호화된다. Digital Certificate. 인증서의 역할 소유자의 신원 확인 소유자가 Public Key 를 사용할 수 있게 함
E N D
SSL Certificate SPARCS 10 김민규 wiki @ sparcs.org synthdnb @ gmail.com
What is SSL? • Secure Socket Layer • TCP/IP를 사용하는 두 개의 통신 애플리케이션 간 프라이버시와 무결성을 제공하는 프로토콜 • 클라이언트와 서버를 오가는 데이타는 공개 키 알고리즘 (RSA)를 사용해 암호화된다.
Digital Certificate • 인증서의 역할 • 소유자의 신원 확인 • 소유자가 Public Key를 사용할 수 있게 함 • 디지털 인증서에 포함된 정보 • 소유자의 이름 • 소유자의 Public Key • 인증서의 발행일과만료일 • 발행기구의 이름과 디지털 서명
Type of RSA Certificate • Certificate Authority 인증서 • 인증서를 발행하는 공식 기관 • Certificate Authority는 업계의 신임을 받는 기구 • Ex) http://www.verisign.com/ • 대부분 웹 브라우저에서 신용 • 충분한 정보를 CA에 제공하면 발급 • 디지털 서명 포함
Type of RSA Certificate • 자체 서명 인증서 • 사용자가 생성한 인증서 • 발행하는데 시간이 적게 걸린다 • 클라이언트가 인증서의 서명자를 신뢰하도록따로 추가해야한다 • 더미 인증서 • SSL 설정을 테스트하는데 사용되는 가상의 정보를 가진 인증서
Client-Server Certification • 클라이언트가 서버에 SSL 연결을 요청 • 서버는 인증서를 클라이언트에게 제공 • 클라이언트는 인증서를 확인하고, 발행 기관이 Trusted File에 있는지, 만료 날짜 등을 확인한다. • 받은 인증서의 Public Key를 사용해 서버에랜덤 대칭 암호화키를 포함한 데이터를 암호화해서 보낸다
Client-Server Certification • 받은 요청에 대한 응답을 랜덤 대칭 암호화키를 이용해서 암호화한 후 클라이언트에게 보낸다. • 클라이언트는 대칭 암호화 키를 이용해 복호화한다.
Establishing CA Certificate • 개인 키 작성 • opensslgenrsa -des3 -out ssl.key 1024 • 1024바이트의 개인 키를 생성해 준다. • CSR (Certificate Signing Request)를 생성 • opensslreq -new -key ssl.key -out ssl.csr • 개인 키를 이용해 인증서 요청 파일 생성해준다. • CA 기관에 CSR파일 전송후 인증서 요청 • server.crt파일을 전송해준다.
Establishing Self-Signed Certificate • mod-ssl-makecert를 사용 • Certificate Type, Key Algorithm 등을 질문한다 • 인증서를 생성한다
Applying Certificate to Apache Web Server • Apache에서 SSL 모듈 사용을 설정 • LoadModulessl_module /usr/lib/apache/1.3/mod_ssl.so • httpd.conf에 SSL 포트를 Listen하게 추가 • Listen 443 • 그 외의 SSL 관련 설정들을 추가해준다
Applying Certificate to Apache Web Server • VirtualHost관련 설정을 추가한다 • 443번 포트에 대해 설정 • SSLEngine on • SSLCertificateFile [인증서 파일] • SSLCertificateKeyFile [개인 키 파일] • SSLCACertificateKeyFile [CA 인증서 경로]