Red Hat Training

A Red Hat training course is available for Red Hat Satellite

3.2. RHN 패키지의 디지털 서명

RHN을 통해 배포되는 모든 패키지는 디지털 서명되어야 합니다. 디지털 서명은 고유한 개인키로 생성 가능하며 상응하는 공개키로 확인 가능합니다. 패키지를 생성 후, SRPM (Source RPM) 및 RPM을 GnuPG 키를 사용하여 디지털로 서명 가능합니다. 패키지를 설치하기 전에 공개키를 이용하여 패키지가 신뢰할 수 있는 소스에서 서명된 것인지 그리고 서명 후 패키지가 변경되지 않았는지 먼저 확인해 볼 수 있습니다.

3.2.1. GnuPG 키쌍 생성하기

GnuPG 키쌍은 비공개키와 공개키로 구성됩니다. 키쌍을 생성하려면 다음을 실행합니다:
  1. 쉘 프롬프트에서 루트 사용자로 다음과 같은 명령을 입력합니다:
    gpg --gen-key
    루트가 아닌 사용자로 이 명령을 입력하시면, 다음과 같은 메시지가 나타날 것입니다:
    gpg: Warning: using insecure memory!
    
    루트 사용자가 아니면 메모리 페이지를 잠그지 못하기 때문에 이 메시지가 나타납니다. 다른 사용자가 개인 GnuPG 키나 암호를 보지 못하게 하시려면, 루트로 키쌍을 생성하셔야 합니다. 루트 사용자만이 메모리 페이지를 잠글 수 있으므로, 정보가 디스크에 기록되지 않게 됩니다.
  2. 키쌍을 생성하기 위한 명령을 입력하시면 다음과 같은 키 옵션 화면이 나타날 것입니다:
    	gpg (GnuPG) 1.2.6; Copyright (C) 2004 Free Software
    	Foundation, Inc.  This program comes with ABSOLUTELY NO
    	WARRANTY. This is free software, and you are welcome to
    	redistribute it under certain conditions. See the file COPYING
    	for details. Please select what kind of key you want: (1) DSA
    	and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only)
    	Your selection?
    
  3. 기본 옵션인 (1) DSA and ElGamal를 수용하십시오. 이 옵션은 디지털 서명을 생성하고 두가지 유형의 기술을 사용하여 암호화/암호 해독할 수 있게 해줍니다. 1을 누르시고 Enter 키를 치십시오.
  4. 다음으로 키 용량(길이)을 선택하십시오. 키가 길면 길수록 제3자가 메시지 공격하기가 더욱 힘들어집니다. 최소한 1024 비트 용량의 키를 생성하시길 권장합니다.
  5. 다음 옵션은 키의 유효 기간을 물을 것입니다. 만일 키의 만료 날짜를 설정하실 경우, 그 공개키를 사용하는 모든 사용자에게 만료 날짜를 알리고 새 공개키를 제공하셔야 한다는 사실을 잊지마십시오. 만료 날짜를 선택하지 않으시는 것이 좋습니다. 만료 날짜를 선택하지 않으신 경우, 결정을 확인 요청할 것입니다:
    Key does not expire at all Is this correct (y/n)?
    
  6. 확인을 위해 y 키를 눌러주십시오.
  7. 다음 작업은 사용자의 이름, 이메일 주소와 추가 설명이 담긴 사용자-ID를 입력하는 것입니다. 각 항목은 따로 입력하셔야 합니다. 마치셨으면, 입력하신 내용의 한번에 요약되어 나타납니다.
  8. 입력 내용에 만족하시면, 암호를 입력하십시오.

    참고

    계정 암호와 마찬가지로, GnuPG 키 보안을 위해서는 좋은 암호를 사용하셔야 합니다. 소문자, 대문자, 숫자와 마침표가 혼합하여 사용하시는 것이 좋습니다.
  9. 암호를 입력하고 확인하시면 키가 생성됩니다. 다음과 같은 메시지가 출력될 것입니다:
    We need to generate a lot of random bytes. It is a good idea to perform some
    other action (type on the keyboard, move the mouse, utilize the disks) 
    during the prime generation; this gives the random number generator a 
    better chance to gain enough entropy. 
    
    +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
    ++++++++++++++++++++++++++++++++++++++..........................++++
    
    화면에서 작업이 중단되면 새 키는 루트의 홈 디렉토리에 있는 .gnupg 디렉토리에 배치됩니다. 이는 루트 사용자가 키를 생성할 때 키가 배치되는 기본값 위치입니다.
루트 키를 나열하려면 다음 명령을 사용합니다:
gpg --list-keys
다음과 유사한 결과가 출력될 것입니다:
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
공개키를 보시려면, 다음 명령을 사용하십시오:
gpg --export -a 'Your Name' > public_key.txt
공개키는 public_key.txt 파일에 기록됩니다.
공개키는 매우 중요합니다. 모든 클라이언트 시스템에서 이 공개키를 이용하여 up2date를 통해 사용자 정의 소프트웨어를 설치하기 때문입니다. 조직에 공개키를 설치하는 방법은 Red Hat Network 클라이언트 설정 가이드에 자세히 설명되어 있습니다.