Sun Java System Web Proxy Server 4.0.8 관리 설명서

외부 암호화 모듈 사용

Proxy Server는 다음과 같이 스마트 카드나 토큰 링 등 외부 암호화 모듈을 사용하는 방법을 지원합니다.

FIPS 140 암호화 표준을 사용하기 전에 PKCS#11 모듈을 추가해야 합니다.

이 절은 다음 내용으로 구성되어 있습니다.

PKCS #11 모듈 설치

Proxy Server는 SSL과 PKCS #11 모듈 사이의 통신에 사용되는 인터페이스를 정의하는 PKCS(Public Key Cryptography Standard) #11을 지원합니다. PKCS #11 모듈은 SSL 하드웨어 가속기에 대한 표준 기반 연결용으로 사용됩니다. 외부 하드웨어 가속기용으로 가져온 인증서 및 키는 secmod.db 파일에 저장되며 이 파일은 PKCS #11 모듈을 설치할 때 생성됩니다. 이 파일은 server-root/alias 디렉토리에 있습니다.

modutil 도구를 사용하여 PKCS #11 모듈 설치

modutil 도구를 사용하여 PKCS #11 모듈을 .jar 파일 또는 객체 파일의 형태로 설치할 수 있습니다.

Proceduremodutil 도구를 사용하여 PKCS #11 모듈을 설치하는 방법

  1. Administration Server를 포함한 모든 서버를 중지해야 합니다.

  2. 데이터베이스가 포함된 server-root/alias 디렉토리로 이동합니다.

  3. PATH에 server-root/bin/proxy/admin/bin을 추가합니다.

  4. server-root /bin/proxy/admin/bin에서 modutil을 찾습니다.

  5. 환경을 설정합니다.

    • UNIX: setenv

      LD_LIBRARY_PATH server-root/bin/proxy/lib:${LD_LIBRARY_PATH}

    • Windows의 경우 이를 PATH에 추가합니다.

      LD_LIBRARY_PATH server-root/bin/proxy/bin

      server-root/proxy-admserv/start에서 나열된 컴퓨터에 대한 PATH를 찾을 수 있습니다.

  6. 단말기 창에서 modutil을 입력합니다.

    옵션이 나열됩니다.

  7. 필요한 조치를 수행합니다.

    예를 들어, UNIX에서 PKCS #11 모듈을 추가하려면 다음을 입력합니다.

    modutil -add ( PKCS#11 파일의 이름) -libfile (PKCS #11에 대한 libfile) -nocertdb -dbdir . (db 디렉토리)

pk12util 도구를 사용하여 내보내기

pk12util을 사용하면 내부 데이터베이스에서 인증서와 키를 내보내고 이를 내부 또는 외부 PKCS #11 모듈로 가져올 수 있습니다. 언제라도 인증서와 키를 내부 데이터베이스로 내보낼 수 있으나, 외부 토큰의 경우 대부분 인증서와 키를 내보낼 수 없습니다. 기본적으로 pk12utilcert8.dbkey3.db라는 이름의 인증서 및 키 데이터베이스를 사용합니다.

Procedure내부 데이터베이스에서 인증서 및 키를 내보내는 방법

  1. 데이터베이스가 포함된 server-root/alias 디렉토리로 이동합니다.

  2. PATH에 server-root/bin/proxy/admin/bin을 추가합니다.

  3. server-root /bin/proxy/admin/bin에서 pk12util을 찾습니다.

  4. 환경을 설정합니다.

    • UNIX:

      setenv LD_LIBRARY_PATH/ server-root/bin/proxy/lib:${LD_LIBRARY_PATH}

    • Windows의 경우 이를 PATH에 추가합니다.

      LD_LIBRARY_PATH server-root/bin/proxy/bin

      아래 나열된 컴퓨터에 대한 PATH를 찾을 수 있습니다. server-root/proxy-admserv/start.

  5. 터미널 창에서 pk12util을 입력합니다.

    옵션이 나열됩니다.

  6. 필요한 조치를 수행합니다.

    예를 들어, UNIX의 경우 다음을 입력합니다.

    pk12util -o certpk12 -n Server-Cert [-d /server/alias] [-P https-test-host]

  7. 데이터베이스 비밀번호를 입력합니다.

  8. pkcs12 비밀번호를 입력합니다.

Procedure인증서 및 키를 내부 또는 외부 PKCS #11 모듈로 가져오는 방법

  1. 데이터베이스가 포함된 server-root/alias 디렉토리로 이동합니다.

  2. PATH에 server-root/bin/proxy/admin/bin을 추가합니다.

  3. server-root /bin/proxy/admin/bin에서 pk12util을 찾습니다.

  4. 환경을 설정합니다.

    예:

    • UNIX:

      setenv LD_LIBRARY_PATH/ server-root/bin/proxy/lib:${LD_LIBRARY_PATH}

      • Windows의 경우 이를 PATH에 추가합니다.

        LD_LIBRARY_PATH server-root/bin/proxy/bin

        server-root/proxy-admserv/start에 나열된 컴퓨터에 대한 PATH를 찾을 수 있습니다.

  5. 터미널 창에서 pk12util을 입력합니다.

    옵션이 나열됩니다.

  6. 필요한 조치를 수행합니다.

    예를 들어, UNIX의 경우 다음을 입력합니다.

    pk12util -i pk12_sunspot [-d certdir][-h “nCipher”][-P https-jones.redplanet.com-jones-]

    -P는 반드시 -h 뒤에 있어야 하며 마지막 인수여야 합니다.

    대문자와 인용 부호 사이의 공백을 포함하여 토큰 이름을 정확히 입력합니다.

  7. 데이터베이스 비밀번호를 입력합니다.

  8. pkcs12 비밀번호를 입력합니다.

외부 인증서를 사용하여 서버 시작

서버용 인증서를 하드웨어 가속기와 같은 외부 PKCS #11 모듈에 설치한 경우 server.xml 파일을 편집하거나 아래에 설명된 대로 인증서 이름을 지정하지 않으면 해당 인증서를 사용하여 서버를 시작할 수 없습니다.

서버는 항상 이름이 Server-Cert인 인증서를 사용하여 시작하려고 합니다. 그러나 외부 PKCS #11 모듈의 인증서는 해당 식별자에 모듈의 토큰 이름 중 하나를 포함합니다. 예를 들어, smartcard0라는 외부 스마트 카드 판독기에 설치된 서버 인증서의 이름은 smartcard0:Server-Cert가 됩니다.

외부 모듈에 설치된 인증서를 사용하여 서버를 시작하려면 서버가 실행되는 청취 소켓용 인증서 이름을 지정해야 합니다.

Procedure청취 소켓용 인증서 이름을 선택하는 방법

청취 소켓에서 보안이 활성화되지 않는 경우에는 인증서 정보가 표시되지 않습니다. 청취 소켓용 인증서 이름을 선택하려면 먼저 청취 소켓에서 보안을 활성화해야 합니다. 자세한 내용은 청취 소켓용 보안 사용 설정을 참조하십시오.

  1. Administration Server 또는 Server Manager에 액세스하고 Preferences 탭을 누릅니다.

  2. Edit Listen Sockets 링크를 누릅니다.

  3. 인증서와 연결할 청취 소켓에 대한 링크를 누릅니다.

  4. 청취 소켓에 대한 Server Certificate Name 드롭다운 목록에서 서버 인증서를 선택하고 OK를 누릅니다.

    이 목록에는 설치된 모든 내부 및 외부 인증서가 표시됩니다.

    또한 server.xml 파일을 수동으로 편집하여 서버가 해당 서버 인증서를 사용하여 시작하도록 할 수 있습니다. SSLPARAMSservercertnickname 속성을 다음으로 변경합니다.

    $TOKENNAME:Server-Cert

    $TOKENNAME용으로 사용할 값을 찾으려면 서버의 Security 탭으로 이동하여 Manage Certificate 링크를 선택합니다. Server-Cert가 저장된 외부 모듈로 로그인하면 해당 인증서가 $TOKENNAME:$NICKNAME 형식의 목록에 표시됩니다.

    트러스트 데이터베이스를 만들지 않은 경우, 외부 PKCS #11 모듈에 대한 인증서를 요청하거나 설치하면 자동으로 만들어집니다. 만들어진 기본 데이터베이스에는 비밀번호가 없으며 액세스할 수 없습니다. 외부 모듈은 작동하지만 서버 인증서를 요청하거나 설치할 수는 없습니다. 기본 데이터베이스가 비밀번호 없이 만들어진 경우 Security 탭의 Create Database 페이지를 사용하여 비밀번호를 설정합니다.

FIPS 140 표준

PKCS #11 API를 사용하면 암호화 작업을 수행하는 소프트웨어 또는 하드웨어 모듈과 통신할 수 있습니다. PKCS #11을 Proxy Server에 설치한 후 서버를 FIPS 140과 호환되도록 구성할 수 있습니다. FIPS는 Federal Information Processing Standards를 나타냅니다. 이 라이브러리는 SSL 3.0에만 포함되어 있습니다.

ProcedureFIPS 140 활성화 방법

  1. FIPS 140의 설명을 따라 플러그인을 설치합니다.

  2. Administration Server 또는 Server Manager에 액세스하고 Preferences 탭을 누릅니다.

  3. Edit Listen Sockets 링크를 누릅니다.

    보안 청취 소켓에 대해 Edit Listen Socket 페이지에 사용 가능한 보안 설정이 표시됩니다.

    FIPS 140을 사용하려면 선택한 청취 소켓에서 보안이 사용되도록 설정해야 합니다. 자세한 내용은 청취 소켓용 보안 사용 설정을 참조하십시오.

  4. Enable이 선택되어 있지 않으면 SSL Version 3 드롭다운 목록에서 선택합니다.

  5. 적절한 FIPS 140 암호 제품군을 선택하고 OK를 누릅니다.

    • 168비트 암호화 및 SHA 인증이 포함된 Triple DES(FIPS) 활성화

      • 56비트 암호화 및 SHA 인증이 포함된 DES(FIPS) 활성화