Oracle® Solaris 11.2의 네트워크 보안

인쇄 보기 종료

업데이트 날짜: 2014년 8월
 
 

IKE 작동 방식

IKE 데몬을 실행 중인 시스템은 이 시스템과 IKE 데몬을 실행 중인 다른 시스템 간의 보안 연관(SA)을 만드는 데 필요한 매개변수를 협상할 수 있습니다. 이 SA 및 후속 IPsec SA를 협상하는 데 사용되는 프로토콜을 IKE라고 합니다. 이 Oracle Solaris 버전에서는 IKE 프로토콜의 버전 1(IKEv1) 및 버전 2(IKEv2)를 지원합니다.

IKE 보안 연관(IKEv1에서는 ISAKMP 또는 1단계 SA라고도 함)을 통해 이러한 두 IKE 시스템 간의 프로토콜 교환이 추가로 보호됩니다. 이러한 교환에서는 암호화 알고리즘, IPsec 정책 및 IPsec SA를 만드는 데 필요한 기타 매개변수를 협상합니다.

IKE 데몬을 실행 중인 시스템은 다른 시스템 대신 IPsec SA를 협상하도록 구성할 수도 있습니다. 이 방법으로 구성한 시스템을 보안 게이트웨이라고 합니다. IKE 협상이 성공하면 IPsec SA를 사용하여 네트워크 패킷을 보호할 수 있습니다.


주 -  Oracle Solaris 11.2에서, IKEv2는 FIPS 140-2, 레벨 1에 대해 검증된 암호화 프레임워크의 암호화 알고리즘을 사용하지만 IKEv1의 경우는 해당되지 않습니다. 기본적으로 FIPS 140은 사용으로 설정되어 있지 않습니다. 두 버전의 기능을 비교하려면 IKEv2 및 IKEv1 비교를 참조하십시오. FIPS 140-2 모드를 사용으로 설정하려면 Oracle Solaris 11.2의 암호화 및 인증서 관리 의 FIPS 140이 사용으로 설정된 부트 환경을 만드는 방법을 참조하십시오.

FIPS 140-2 검증 암호화만 사용하도록 요구 사항이 엄격한 경우, Oracle Solaris 11.1 SRU 5.5 릴리스 또는 Oracle Solaris 11.1 SRU 3 릴리스를 실행해야 합니다. Oracle은 이 두 가지 릴리스에서 암호화 프레임워크에 대한 FIPS 140-2 검증을 마쳤습니다. Oracle Solaris 11.2는 이러한 검증을 기초로 제작되었으며 성능, 기능 및 안정성 문제를 해결하는 소프트웨어 향상 기능을 포함합니다. 이러한 향상 기능을 활용하기 위해서는 가능한 모든 경우에 Oracle Solaris 11.2를 FIPS 140-2 모드로 구성해야 합니다.


IKE SA를 만들기 위해 협상하는 매개변수에는 IKE 교환 및 일부 인증 자료를 보호하는 암호화 알고리즘이 포함됩니다. 인증 자료는 IKE 프로토콜 교환을 포함하는 패킷을 신뢰할 수 있는지 여부를 결정하는 데 사용됩니다. 신뢰할 수 있는 경우 신뢰할 수 있는 시스템으로 가장하는 시스템이 아니라 신뢰할 수 있는 시스템에서 패킷을 가져왔음을 의미합니다.

Oracle Solaris에서는 IKE에 대해 미리 공유한 키와 공개 키 인증서라는 두 가지 유형의 인증 재료를 지원합니다.

IKE와 미리 공유한 키 인증

미리 공유한 키는 두 IKE 시스템만 아는 16진수 또는 ASCII 문자의 문자열입니다. 미리 공유한 키라고 하는 이유는 두 끝점이 모두 키 값을 알고 있어야만 IKE 교환이 이루어지기 때문입니다. 두 시스템 모두에서 이 키가 IKE 구성에 포함되어야 합니다. 미리 공유한 키는 IKE 페이로드 생성 시 사용되며, 이 페이로드는 IKE 프로토콜을 구현하는 패킷을 구성합니다. 이러한 IKE 페이로드를 처리하는 시스템은 수신하는 페이로드를 동일한 키를 사용하여 인증합니다.

미리 공유한 키는 IKE 끝점 간에 IKE 프로토콜을 사용하여 교환되지 않습니다. 일반적으로 이 키는 전화 통화와 같은 다른 매체를 통해 피어 시스템과 공유됩니다.

이 인증 방법을 사용하는 피어의 미리 공유한 키는 동일해야 합니다. 키는 각 시스템에서 파일에 저장됩니다.

IKE와 공개 키 인증서

공개 키 인증서 및 해당 트러스트 체인에서는 보안 정보를 수동으로 교환하지 않고도 시스템을 디지털 방식으로 식별하는 방식을 제공합니다. 따라서 공개 키 인증서가 미리 공유한 키보다 더 안전합니다.

공개 키 인증서는 공개 키 값, 인증서 생성에 대한 일부 정보(예: 이름 및 인증서에 서명한 사람), 인증서의 해시 또는 체크섬 및 해시의 디지털 서명을 인코딩하는 데이터 blob입니다. 이러한 값이 결합되어 인증서가 형성됩니다. 디지털 서명이 있으면 인증서가 수정되지 않은 것입니다.

공개 키는 개인 키라는 다른 값에서 수학적으로 파생되는 값입니다. 수학 알고리즘을 통해 개인 키에서 공개 키를 파생하므로 공개 키에서 개인 키를 검색하는 작업은 비실용적입니다. 따라서 공개 키 인증서는 자유롭게 공유할 수 있습니다. 공개 키를 파생하는 데 사용되는 알고리즘의 예로는 RSA, 타원 곡선 등이 있습니다.

디지털 서명은 RSA, DSA 또는 ECDSA와 같은 디지털 서명 알고리즘을 통해 인증서 내용을 전달하면 생성됩니다. 이러한 알고리즘에서는 인증서에 포함되지 않은 개인 서명 키를 사용하고 디지털 서명을 생성합니다. 서명은 인증서에 추가됩니다. 마찬가지로 인증서 내용 및 서명에서 서명 키를 계산하는 작업은 비실용적입니다. 그보다는 인증서 서명이 더 중요하므로 서명 키에서 파생된 공개 키를 사용하여 인증서 내용을 쉽게 확인할 수 있습니다.

인증서에 자체 서명될 수 있으며, 이 경우 인증서 서명은 인증서의 공개 키로 확인할 수 있거나 다른 엔티티가 인증서에 서명할 수 있습니다. 다른 엔티티가 인증서에 서명하는 경우 인증서를 확인하는 데 사용되는 공개 키 값은 공개 키 인증서로도 배포됩니다. 이 두번째 인증서에는 신뢰할 수 있는 certificate authority(CA, 인증 기관)나 중개자가 서명합니다. 중개자는 궁극적으로 서명 엔티티, 즉 루트 CA 또는 trust anchor(트러스트 앵커)의 신뢰를 받습니다.

이러한 공개 키 인증서 구성 요소와 이 구성 요소를 구현하는 절차 및 구조를 대개 PKI(공개 키 기반구조)라고 합니다. 조직에 따라 PKI의 범위가 다를 수 있습니다. 단순한 PKI는 로컬 사용을 위한 인증서 몇 개에 서명하는 CA로 구성될 수 있습니다. 보다 광범위한 PKI에서는 전역으로 인식되는 트러스트 앵커를 권한 있는 CA로 사용합니다.

IKE에서 공개 키 인증서 사용

이 섹션에서는 IKE에서 공개 키 인증서를 만들고 사용하는 전체 단계를 설명합니다. 구체적인 절차는 미리 공유한 키로 IKEv2 구성미리 공유한 키로 IKEv1 구성을 참조하십시오.

  1. 자체 서명된 인증서 또는 CA(인증 기관)의 인증서를 사용하려면 먼저 공개/개인 키 쌍을 생성해야 합니다.

    • 자체 서명된 인증서의 경우에는 IKE 피어가 이러한 인증서를 교환하고 아웃오브밴드에서 정품 인증서인지 확인한 다음 피어의 인증서를 로컬 키 저장소로 가져옵니다. 그러면 키 저장소에는 원래 자체 서명된 인증서와 가져온 인증서가 포함됩니다.

    • CA의 인증서인 경우 몇 가지 단계를 더 수행합니다. 공개/개인 키 쌍을 생성할 때 인증서 서명 요청(CSR)도 생성합니다. CSR에는 공개 키와 식별자가 포함됩니다. 일반 식별자는 distinguished name(DN, 고유 이름)입니다. 예를 들면 다음과 같습니다.

      DN=”O=Example\, Inc, OU=qa, L=Silicon Valley, ST=CA, CN=enigma”

      팁  -  최대한 구체적인 DN 또는 기타 식별자를 만들어 다른 인증서의 식별자와 일치하지 않도록 하십시오.
  2. CSR을 CA에 보내 서명을 받습니다.

    일반적으로 CSR을 웹 양식에 붙여 넣고 양식을 CA에 제출합니다. CA에서는 사용자에게 서명된 인증서를 두 개 이상 보낼 수 있습니다.

  3. 서명된 인증서를 CA에서 가져온 다음 IKEv2 키 저장소나 IKEv1 데이터베이스로 가져옵니다.

    CA가 보내는 인증서를 모두 가져와야 합니다. 이러한 인증서는 트러스트 앵커나 루트 CA에서 개별적으로 식별된 서명 인증서에 이르는 “트러스트 체인”을 구성합니다.

  4. IKE 피어에서 프로세스를 반복합니다.

  5. IKE 규칙에서 인증서를 사용합니다.

    인증서를 지정할 때는 DN과 같은 식별자를 사용합니다. CA 서명된 인증서의 경우 특정 CA에서 서명한 인증서를 사용하도록 IKE를 구성할 수 있습니다.

해지된 인증서 처리

서명된 인증서는 서명 기관이 유효성을 보증하기 때문에 유효하다고 신뢰할 수 있습니다. 인증서가 손상되었거나 잘못된 상태라고 확인된 경우 CA는 인증서를 해지합니다.

CA에서는 해지한 인증서의 목록을 유지하며, 이 목록은 종종 CRL(인증서 해지 목록)이라고 합니다. OCSP(온라인 인증서 상태 프로토콜)를 사용하여 인증서의 상태를 동적으로 확인할 수 있습니다. 일부 공개 키 인증서에는 URI가 포함되어 있습니다. 이 URI는 CRL을 확인할 수 있는 웹 위치나 OCSP 서버의 웹 위치를 식별합니다.

자세한 내용은 RFC 2459: Certificate and CRL ProfileRFC 2560: Online Certificate Status Protocol - OCSP를 참조하십시오.

공개 인증서를 사용하는 시스템에서 시간 조정

공개 키 인증서에는 실행 날짜 및 시간과 인증서가 유효한 상태로 유지되는 시간이 포함되어 있습니다. 따라서 인증서를 생성하고 사용하는 시스템의 시계가 정확해야 합니다. NTP(Network Time Protocol) 소프트웨어를 사용하여 시스템의 시계를 동기화할 수 있습니다. Oracle Solaris 릴리스에는 University of Delaware의 NTP 공용 도메인 소프트웨어가 포함되어 있습니다. 설명서는 NTP Documentation 웹 사이트에서 사용할 수 있습니다. service/network/ptp 패키지를 설치하여 PTP(Precision Time Protocol) 서비스를 구성할 수도 있습니다. IEEE 1588 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems를 참조하십시오.