Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

4.5. 공개 및 개인 키 쌍 생성

Secure Boot 지원 시스템에서 커널 모듈을 사용하기 위해서는 공용 및 개인 X.509 키 쌍을 생성해야 합니다. 나중에 개인 키를 사용하여 커널 모듈에 서명합니다. 서명된 모듈을 검증하려면 Secure Boot의 해당 공개 키를 MOK(Machine Owner Key)에 추가해야 합니다.

이 키 쌍 생성에 대한 일부 매개 변수는 구성 파일을 사용하여 가장 잘 지정됩니다.

절차

  1. 키 쌍 생성에 대한 매개 변수를 사용하여 구성 파일을 생성합니다.

    # cat << EOF > configuration_file.config
    [ req ]
    default_bits = 4096
    distinguished_name = req_distinguished_name
    prompt = no
    string_mask = utf8only
    x509_extensions = myexts
    
    [ req_distinguished_name ]
    O = Organization
    CN = Organization signing key
    emailAddress = E-mail address
    
    [ myexts ]
    basicConstraints=critical,CA:FALSE
    keyUsage=digitalSignature
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid
    EOF
  2. 다음 예와 같이 X.509 공용 및 개인 키 쌍을 만듭니다.

    # openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 \
    -batch -config configuration_file.config -outform DER \
    -out my_signing_key_pub.der \
    -keyout my_signing_key.priv

    공개 키는 my_signing_key_pub.der 파일에 작성되고 개인 키는 my_signing_key.priv 파일에 작성됩니다.

    중요

    RHEL 8에서는 키 쌍의 유효 날짜가 중요하지 않습니다. 키는 만료되지 않지만 서명 키의 유효 기간 내에 커널 모듈에 서명하는 것이 좋습니다. 그러나 sign-file 유틸리티는 사용자에게 경고하지 않으며 유효 날짜에 관계없이 키를 사용할 수 있습니다.

  3. 필요한 경우 아래 예와 같이 공개 키의 유효 날짜를 검토할 수 있습니다.

    # openssl x509 -inform der -text -noout -in my_signing_key_pub.der
    
    Validity
                Not Before: Feb 14 16:34:37 2019 GMT
                Not After : Feb 11 16:34:37 2029 GMT
  4. 인증하고 커널 모듈을 로드하려는 모든 시스템에 공개 키를 등록합니다.
주의

강력한 보안 조치 및 액세스 정책을 적용하여 개인 키의 내용을 보호합니다. 잘못된 경우 키를 사용하여 해당 공개 키로 인증된 시스템을 손상시킬 수 있습니다.