보안서버구축사례 한국전자인증 VCS(Validation & Certificate Services) Team
Index I. 보안서버의정의 II. III. IV. 보안서버의필요성 보안서버의종류 보안서버발급프로세스 V. 보안서버구축방법및예시 Appendix1. 보안서버관련법규 Appendix2. 보안서버 Q&A 2 1
+ 보안서버의정의 3 2
I-1. 보안서버의정의 인터넷상에서사용자 PC 와웹서버사이에송수신되는개인정보를암호화하여전송하는서버를의미합니다. 보안서버 (SSL) 는전자거래업체또는공공기관의실존을증명하여고객과웹서버간의신뢰를형성합니다. 웹브라우저와웹서버간에전송되는데이터의암 / 복호화를통한보안채널을형성하여안전한전자거래를보장합니다.
I-2. 개인정보의예시 신분정보 : 성명, 주소, 주민등록번호, 가족관계등 심신정보 : 신장, 체중, 건강상태, 병력, 장애여부등 경제정보 : 소득규모, 재산현황, 부채현황, 신용등급등 사회정보 : 직장명, 직위, 각종전화번호, 주소등 기타신규정보 : 생체정보 ( 지문, 홍채,DNA 등 ), 위치정보 (GPS,RFID, 휴대폰등 )
I-1. 사이트에서보호해야하는개인정보예시 대표적인개인정보 : 주민등록번호, ID/PassWord 기타개인식별이가능한정보의결합취급여부 - 이름 + 전화번호, 이름 + 주소, 이름 +E-Mail 주소등 홈페이지에서개인정보가취급되는대표적인유형 - 로그인, 회원가입, 국민제안, 자유게시판, 전자민원, 한시적이벤트등
+ 보안서버의필요성 7 2
II-1. 보안서버구축필요성 보안서버는고객정보보호의첫걸음입니다 1 피싱사이트및개인정보유출등개인정보관련해킹피해사고를통해인터넷사용자들의개인정보보호에대한인식변화 2 개인정보보안의소홀로인한해킹사고발생시기업신뢰도추락및금전적손실야기 3 위한정부정책의변화 보안서버구축을통한개인정보보호강화를 8 6
II-2. 보안서버기능 보안서버를구축하면, 위조사이트 (phising) 방지가가능합니다 < 인터넷익스플로러에서의인증서 > < 인증씰을통한확인 > < 인증서발급증서 > 보안서버인증서를발급시, 엄격한심사규정을통해서기업및기관의실존여부및웹서버를인증하여 위장사이트가아닌실제해당기관이운영하고있는웹사이트임을위의세가지방법을통해고객이확인가능하며, 고객의개인정보를안전하게관리하는기업및기관이라는이미지를부각시켜 해당기업및기관에대한고객의신뢰도를향상시킬수있습니다. 9 7
II-3. 보안서버의기능 귀사의소중한고객의개인정보가암호화되어노출되지않습니다 웹서버가보안서버가아닌경우 홍길동사용자A 사용자B 사용자C 웹서버를보안서버로구축한경우 해커는개인정보탈취가능!! 홍길동 840120-1234845 010-123-4567 웹서버 홍길동사용자A 사용자B 사용자C XXXKDJFSKSLFKLDK DKFSKFSJFKSJF23K4 DKF938DKFSJFLSL 암호화된개인정보는해독불가!! 웹서버 개인정보를송 / 수신하는대표적인예로는회원가입시주민번호입력, 로그인시 ID/ 패스워드입력, 인터넷뱅킹이용시계좌번호 / 비밀번호입력 등이해당됩니다. 암호화되지않은개인정보는가로채기등의해킹을통해해커에게쉽게노출될수있으므로, 웹서버에보안서버인증서를설치하면 해커가중간에데이터를가로채도암호화되어있는개인정보를해독이불가능합니다 10 8
II-4. 보안서버의예시 고객및귀사의소중한아이디 / 패스워드를안전하게지킬수있습니다 개인정보 (ID: crosscert P/W: 1234) 가그대로노출됨 개인정보가암호화되어해독불가 11 9
+ 보안서버의종류 12 10
III-1. 보안서버의종류 SSL VS 응용프로그램비교 SSL 웹서버인증서 암호화응용프로그램 - HTTPS (Hypertext Transfer Protocol over SSL) -S-HTTP (Secure HTTP) - https:// 사용 - 프로그램 (Active-x) 배포및설치 - Server Trusted - Server, Client Trusted - 포털, 쇼핑몰등개인정보취급사이트 - 은행, 증권등금융거래정보사이트 - 대부분웹브라우저지원 - N/A 별도의설치없이사용가능 페이지및프레임단위의암호화 ActiveX 를통한모듈설치 패킷단위암호화
III-2. 보안서버의종류 (SSL) SSL 방식보안서버 이용자 PC 및브라우저에별도의보안 모듈설치없이웹서버에 SSL 인증서를 설치함으로써개인정보암호화 설치비용이비교적저렴 연간인증서갱신비용발생 페이지및프레임단위의암호화
III-2. 보안서버의종류 (SSL)
III-3. 보안서버의종류 ( 응용프로그램 ) 응용프로그램방식보안서버 웹사이트접속시사용자컴퓨터에 별도의보안모듈이설치되고이를통해 개인정보암호화 설치비용이고가 연간유지보수비용발생 데이터 ( 패킷 ) 단위의암호화
III-4. 보안서버의구동방법 인증기관 C C 의개인키 [ A 의공개키 ] 3 2 A 의공개키 브라우저의암호화수준에따라랜덤하게생성 (40bit, 56bit, 128bit) A 의공개키 [ M ] 인증서 M 6 M 웹사이트 A 7 M 을세션키로하는대칭키암호화통신 인터넷사용자 1 A 의개인키 A 의공개키 인증서 4 C 의개인키 [ A 의공개키 ] A 의공개키 5 브라우저내에있는인증기관의공개키로인증기관의전자서명을검증한후, A 의공개키획득. 1. 웹사이트 A에서공개키와개인키를생성. 2. 웹사이트 A의공개키를인증기관 (C) 에전송하여인증요청. 3. 인증기관 (C) 는 C의개인키로전자서명한 A의공개키 ( 인증서 ) 를웹사이트 A에게회신. 4. C의개인키로전자서명한 A의공개키 ( 인증서 ) 를사용자에게전송. 5. 브라우저에내장된 C의공개키로 C의개인키로전자서명한 A의공개키 ( 인증서 ) 를검증하여 A의공개키를획득. 6. 사용자는획득한 A의공개키를사용하여데이터를암호화하여웹사이트에전송. 7. A의개인키를사용하여 A의공개키로암호화된데이터를복호화.
III-5. 보안서버의아키텍처 Client 전송 Client Hello 인증서사용으로활성화되는부분 Client Certificate Client Key Exchange Certificate Verify Change Cipher Spec. Server 전송 Server Hello Server Certificate Server Key Exchange Client Certificate Request Server Hello Done 공개키와쌍이되는개인키를 갖고있다는서명데이타도전송 ( 제어인증키 + 메시지 ) 의 MD 에서명 Change Cipher Spec. 전송내용설명 Client 요청시작을알림 Server 준비완료상태를알림 Server 의 Certificate 를전송함 Public Key 전송 (Client 가생성한 Symmetric Key 를암호화할때이용 ) Client 의 Certificate 를요청함. Server 의전송작업완료를알림 Client 의 Certificate 를전송함. Symmetric Key(Master Key 로사용 ) 를 Server 의 Public Key 로암호화하여전송함. Client Certificate 유효성검증 Data 암호화에사용될알고리즘 정보전달 Data 암호화에사용될알고리즘 정보전달 Application DATA Application DATA Application Data를암호화하여전송함.
+ 보안서버발급프로세스 19 10
IV-1. 보안서버발급프로세스 보안서버발급프로세스 인증서신청회사심사도메인심사인증서발급인증서설치 SSL 적용 -신청회사, 담당자정보입력 -웹서버종류선택 (MicroSoft-IIS, Apache, iplanet, Tomcat, WebToB 등 ) -신청회사사업자등록증제출 -사업자등록증을통해사업자조회및심사 -신청한도메인소유주심사 -도메인정보조회 -회사/ 도메인심사후인증서발급 -이메일로담당자에게전송 -해당웹서버에인증서설치 -네트워크설정 ( 방화벽, L4등의포트설정 ) -암호화하려는페이지호출주소를 http에서 https로변경 -로그인, 회원가입, 신청페이지등 20 22
IV-2. 보안서버발급프로세스 ( 사례 1) 인증서 신청 회사심사 도메인심사담당자검증 -신청회사, 담당자정보입력 -웹서버종류선택 (MicroSoft-IIS, Apache, iplanet, Tomcat, WebToB 등 ) -신청회사사업자등록증제출 -사업자등록증을통해사업자조회및심사 -신청한도메인소유주심사 -도메인정보조회 -3 rd Party No 등을통한검증된회사대표전화번호를통한담당자검증 -신청정보및기술담당자확인등 인증서발급 -회사/ 도메인심사후인증서발급 -이메일로담당자에게전송 매우안전하며기업및사이트신뢰성이매우높음.
IV-3. 보안서버발급프로세스 ( 사례 2) 인증서신청회사심사도메인심사 -신청회사, 담당자정보입력 -웹서버종류선택 (MicroSoft-IIS, Apache, iplanet, Tomcat, WebToB 등 ) -신청회사사업자등록증제출 -사업자등록증을통해사업자조회및심사 -신청한도메인소유주심사 -도메인정보조회 인증서발급 -회사/ 도메인심사후인증서발급 -이메일로담당자에게전송 위험하지않으며어느정도신뢰성을보장할수도있음. 22
IV-4. 보안서버발급프로세스 ( 사례 3) 인증서신청도메인심사 -신청회사, 담당자정보입력 -웹서버종류선택 (MicroSoft-IIS, Apache, iplanet, Tomcat, WebToB 등 ) -신청한도메인소유주심사 -도메인정보조회 인증서 발급 - 회사 / 도메인심사후인증서발급 - 이메일로담당자에게전송 허위발급의위험성이있으며인증서의신뢰성을보장하지못함. 23
IV-5. 보안서버발급프로세스 ( 사례 4) 인증서 신청 - 신청회사, 담당자정보입력 - 웹서버종류선택 (MicroSoft-IIS, Apache, iplanet, Tomcat, WebToB 등 ) 인증서 발급 - 회사 / 도메인심사후인증서발급 - 이메일로담당자에게전송 매우위험하며허위인증서를발급하여사용할수있는위험성이매우높음. 24
+ 보안서버구축방법및예시 25 10
V-1. 보안서버구축예시 ( 사례 -Apache) 1. 랜덤넘버생성 $ openssl sha-1 * > rand.dat 2. 키쌍생성 $ openssl genrsa rand rand.dat des3 1024 > key.pem 3. 생성된키쌍을이용하여 CSR (Certificate Signing Request) 생성 $ openssl req new key key.pem > csr.pem 여기서 key.pem 은단계 2 에서생성한키이름이며 csr.pem 은출력 CSR 파일의이름입니다. 다음정보를입력하라는메시지가나타납니다.( 모든내용은영문으로작성해야합니다.) Country( 국가코드 ) KR State/province ( 시 / 도의전체이름 ) Seoul Locality( 시, 구, 군등의이름 ) Seocho-gu Organization( 회사이름 ) CrossCert Inc.( 이니셜또는약자금지.Full name 입력 ) Organization Unit( 부서명마케팅, 개발팀, 운영팀등 ) : cs team Common Name(host name+domain name:url) : csteam.crosscert.com " 추가속성 " 을입력하라는메시지가나타나면 skip 하셔도무방합니다.
V-1. 보안서버구축예시 ( 사례 -Apache) 4. CSR 제출 생성된 csr.pem의내용은다음과같습니다. -----BEGIN CERTIFICATE REQUEST----- MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEh MB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNAQkB FgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV1LQG fcsh8neheoixgwmcplrhtp87paa0xvgpvrqujcgstrlqsd8lcyvvkoaytnucawea AaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9 BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg== -----END CERTIFICATE REQUEST----- 27
V-1. 보안서버구축예시 ( 사례 -Apache) -----BEGIN CERTIFICATE ----- MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEh MB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNAQkB FgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV1LQG fcsh8neheoixgwmcplrhtp87paa0xvgpvrqujcgstrlqsd8lcyvvkoaytnucawea AaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9 BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg== -----END CERTIFICATE----- httpd.conf 파일에서설정하기 httpd.conf 파일에서 Virtual Host 설정부분에 SSL 관련경로를설정해주시면됩니다. SSLCertificateFile /usr/local/apache/conf/ssl/cert.pem ( 인증서파일경로설정 ) SSLCertificateKeyFile /usr/local/apache/conf/ssl/key.pem ( 키파일경로설정 ) SSLCACertificateFile /usr/local/apache/conf/ssl/intermediate.pem (chain 인증서경로 ) httpd.conf 파일을저장한후 Apache 를재구동하십시오. # apachectl stop # apachectl startssl 하단에노란자물쇠가나오며, 클릭하면인증서정보를보실수있습니다.(https://URL)
V-2. 보안서버구축예시 ( 사례 -IIS) 1. 시작버튼 - 관리도구 - 인터넷서비스관리자를연다. 운영중인웹사이트의등록정보를본다. 2. 디렉토리보안탭을선택한다. 서버인증서를클릭한다. 3. 서버인증서방법선택 새인증서를만듭니다. 옵션을선택한후다음을누른다.
V-2. 보안서버구축예시 ( 사례 -IIS) 4. 요청을지금준비하지만나중에보냅니다. 옵션을선택한후다음을누릅니다. 5. 인증서에사용할이름을입력하며생성키공개키의길이를선택합니다.(1024 권장 ) 6. 조직에는회사명을조직구성단위에는부서명을입력하여주십시오. 주의사항 : 반드시영문으로입력하며회사 Full Name 울입력해야합니다.
V-2. 보안서버구축예시 ( 사례 -IIS) 7. 일반이름필드에는호스트네임과도메인네임이모두포함되어야합니다. www 가호스트명이고, crosscert.com 이도메인명일경우 www.crosscert.com 입니다. 8. 국가 / 지역에는국가코드를입력하세요.( 한국의경우 kr 입니다.) 시 / 도에는시이름 ( 광역시이상일경우 ) 이나도이름을입력하세요. 주의사항 : 반드시영문으로입력하며회사 Full Name 울입력해야합니다. 9. 인증서요청파일 (CSR) 을저장할파일이름을결정합니다. 이파일에 CSR 이저장됩니다. 10. 작성하신내용을요약하여보여줍니다. 입력하신내용과같다면, 다음버튼을누릅니다.
V-2. 보안서버구축예시 ( 사례 -IIS) 메일로받은인증서 (-----begin 부터 end-----까지 ) 를메모장에붙여넣은후 cert.cer 으로저장한다. 1. 시작버튼-관리도구-인터넷서비스관리자를엽니다. 운영중인웹사이트의등록정보를봅니다. 2. 디렉토리보안탭을선택한다. 서버인증서를클릭합니다. 3. 보류중인인증서요청처리
V-2. 보안서버구축예시 ( 사례 -IIS) 4. 저장한 cert.cer 파일을선택합니다. 5. 현재설치하시고자하는인증서의내용이보여집니다. 만약에신청하신내용과일치하지않으면, 경고메시지가뜨며, 인증서가설치되지않습니다. 6 웹서버인증서가정상적으로설치되었을경우의화면입니다.
V-2. 보안서버구축예시 ( 사례 -IIS) 7. 기본웹사이트의등록정보에서웹사이트탭을선택합니다. 웹사이트확인섹션에서고급버튼을클릭해서 SSL 포트에 443 설정해줍니다. 8. 이웹사이트의복수 SSL ID 에다음과같이 IP 주소와 SSL 포트가설정되어있는지를확인 합니다. SSL 통신의기본포트는 443 포트입니다.
V-3. 보안서버소스수정예시 https 프로토콜호출하기 https 프로토콜을호출하여웹페이지전체에적용하는방법은그림만으로도곧바로이해를할수있을정도로아주쉽습니다. 간단히호출하는프로토콜을 http:// 에서 https:// 로수정해주기만하면됩니다. 35
V-3. 보안서버소스수정예시 리다이렉션 (Redirection) 설정 리다이렉션은현재접속한도메인이나혹은웹페이지를강제로다른주소나다른페이지로변경해줌으로써사용자들의불편함을감소시켜주고자연스럽게암호화통신을할수있도록해주는기능입니다. Apache 서버에서 Redirect 지시자를써서 http://test.co.kr 또는 http://www.test.co.kr 로들어온사용자를강제로 https:// www.test.co.kr 로리다이렉션시켜서암호화통신하는예입니다. 36
V-4. 보안서버적용후확인방법 암호화통신 (https) 확인방법 적용전 적용후 암호화전송 웹브라우저실행 -> 웹사이트 (https://xxx.xxx.xxx.xxx) 입력 -> 마우스오른쪽버튼클릭 -> 속성 클릭
38 V-4. 보안서버적용후확인방법
APPENDIX. 39 30
Appendix(1)- 보안서버관련법규 보안서버미구축시 3 천만원이하의과태료부과 40 31
32 Appendix2-1. 보안서버 Q&A 원인 : 1. 인증기관에서받지않은인증서를설치했을경우또는인증서가정상적으로설치되지않았을경우 2. 인증서의유효기간이만료된경우또는사용자 PC 의시간이정상적으로설정되지않았을경우 3. 인증서를받은 URL 과사용자브라우저의 URL 이다른경우 해결방법 : 사이트관리자의경우 1. 인증서의정상설치여부를문의하여수정함. 2. 인증서의유효기간을확인하고유효한인증서로교체 3. 인증서를사용하고자하는 URL 을다시한번확인하고인증기관과협의하여재발급 사용자의경우 : 개인정보를입력하지말고접속을종료한다.
33 Appendix2-2. 보안서버 Q&A 오류발생시참고사항 - 인증서를발급받은웹사이트주소와실제로접속한 웹사이트주소가다른경우 확인사항 -www.crosscert.com로인증서를발급받아설치한후 login.crosscert.com로실제접속하는경우와같이인증서를발급받은주소와실제로접속한주소가다른지확인 - 인증서 (SSL 인증서 ) 가유효하지않은경우 확인사항 - SSL 인증서의유효기간이만료되었는지확인 - 사용자 PC 의날짜가잘못되어있는지확인
34 Appendix2-3. 보안서버 Q&A 원인 : 인터넷익스플로러에서 https://url 접속시메인페이지및해당페이지소스상에서 http:// 호출되는데이터 즉, 보안되지않은항목때문에인터넷익스플로러가사용자에게보여주는메시지입니다. 해결방법 해당페이지에플래쉬가있는경우소스상에서 http://download.macromedia.com/~~/*.cab -> https:// 변경 다른서버에서 http:// 절대경로호출되는이미지, 헤더파일등등이있는경우해당되는파일을웹서버홈디렉토리에하위에경로를통해서호출 원인 : 예를들어, https://url/login.jsp 로접속시로그인처리프로세스과정혹은소스상에서직접적으로 http:// 리턴 URL 주소를넘겨줄때나타나는경고메시지입니다. 해결방법 : http:/ 리턴 URL 를 meta 태그혹은 JavaScript 를통해서 return url 를설정해주시면됩니다.
35 Appendix2-4. 보안서버 Q&A 발생유형 (6) - https:// 로접속했을때 페이지를표시할수없다 는메시지가나타날경우 확인사항 1 https 디렉토리내에파일이존재하지않을경우 2 웹서버와이용자PC 사이의 443 포트를방화벽에서차단하고있을경우 3 https 웹서버가다운되었을경우 4 SSL인증서파일이정상적이지않을경우 5 웹브라우저에서 ssl 3.0으로셋팅이되어있지않을경우 - SSL인증서정상설치여부확인 - 웹서버에서 https를위한포트가활성화되었는지확인 ( 방화벽, L4스위치등보안 / 네트워크장비가있을경우 https를위한해당포트가모두허용되었는지확인 )
감사합니다