웹사이트 검색

pandom 설치 방법: Linux용 진정한 난수 생성기


이 페이지에서

  1. 소개
  2. 1 팬덤 설치
    1. 1.1 루트 액세스 권한 얻기\n
    2. 1.2 빌드 종속성 설치
    3. 아치 기반 시스템
    4. Debian 기반 시스템
    5. Red Hat 기반 시스템
    6. SUSE 기반 시스템
    7. 1.3 소스 다운로드 및 추출
    8. 1.4 설치 전 테스트(권장)
    9. 1.5 초기 시스템 결정
    10. 1.6 팬덤 설치
    11. init.d 기반 초기화 시스템(예: upstart, sysvinit)\n
    12. init 시스템으로 시스템화\n

    1. 2.1 루트 액세스 권한 얻기\n
    2. 2.2 빌드 종속성 설치
    3. 아치 기반 시스템
    4. Debian 기반 시스템
    5. Red Hat 기반 시스템
    6. SUSE 기반 시스템
    7. 2.3 소스 다운로드 및 추출
    8. 2.4 엔트로피 어레이 설치\n
    9. 2.5 checkme 파일 분석
    10. 2.6 entropyarray 제거(선택 사항)\n

    1. 3.1 루트 액세스 권한 얻기\n
    2. 3.2 키링 설치
    3. 3.3 소스 목록 설치
    4. Wheezy
    5. 제시
    6. 스트레칭
    7. 3.4 소스 목록 업데이트
    8. 3.5 팬덤 테스트
    9. 3.6 팬덤 설치

    1. 4.1 성능 테스트
    2. 4.2 엔트로피 및 직렬 상관 테스트\n
    3. 4.3 시스템 서비스
    4. init.d 기반 초기화 시스템(예: upstart, sysvinit)\n
    5. init 시스템으로 시스템화\n

    1. 5.1 소스 파일 편집
    2. 5.2 예측 불가능성 테스트
    3. 5.3 개인화 팬덤 설치\n

    이 튜토리얼은 amd64/x86_64 Linux 커널 버전 2.6.9 이상에 대한 것입니다. 팬덤을 설치하는 방법을 설명합니다: ncomputers.org

    소개

    내장된 Linux 커널의 진정한 난수 생성기는 솔리드 스테이트 드라이브(SSD) 및 가상 사설 서버(VPS)가 있는 개인용 컴퓨터와 같은 최신 환경에서 낮은 처리량을 제공합니다.

    이 문제는 주로 다양한 암호화 목적으로 인해 실제 난수에 대한 필요성이 지속적으로 증가하기 때문에 Linux 구현에서 인기를 얻고 있습니다.

    Pandom은 64ubit/64비트의 약 8KiB/s 엔트로피를 출력하고 물리적 및 가상 환경과 호환되며 루트 사용자로 실행되는 다른 프로세스가 /dev/random에 쓰지 않는다고 가정합니다.

    1 팬덤 설치

    1.1 루트 액세스 권한 얻기

    Pandom은 루트로 설치해야 합니다. 필요한 경우 이 명령을 실행하세요.

    su -

    1.2 빌드 종속성 설치

    pandom을 다운로드하고 설치하려면 GNU 어셈블러, GNU make, GNU tar 및 GNU wget(마지막 두 개는 일반적으로 이미 설치됨)이 필요합니다. 나중에 마음대로 제거할 수 있습니다.

    아치 기반 시스템

    pacman -S binutils make

    데비안 기반 시스템

    apt-get install binutils make

    Red Hat 기반 시스템

    dnf install binutils make
    yum install binutils make

    SUSE 기반 시스템

    zypper install binutils make

    1.3 소스 다운로드 및 추출

    이 명령은 wget 및 tar를 사용하여 ncomputers.org에서 pandom 소스를 다운로드하고 추출합니다.

    wget http://ncomputers.org/pandom.tar.gz
    tar xf pandom.tar.gz
    cd pandom/amd64-linux

    1.4 설치 전 테스트(권장)

    이 권장 테스트는 약 8분 정도 소요됩니다. 커널 지원을 확인하고 checkme라는 파일을 생성합니다(다음 섹션에서 분석).

    make check

    1.5 초기 시스템 결정

    pandom을 설치하기 전에 시스템에서 어떤 init 소프트웨어를 사용하는지 알아야 합니다. 다음 명령이 running이라는 단어를 출력하면 시스템이 systemd를 사용하고 있음을 의미합니다. 그렇지 않으면 시스템이 init.d 구현(예: upstart, sysvinit)을 사용하고 있을 가능성이 있습니다. unix.stackexchange.com 답변에 몇 가지 예외가 있을 수 있습니다. 자세한 내용은 여기를 참조하세요.

    systemctl is-system-running
    running

    1.6 팬덤 설치

    Linux 구현에서 어떤 시스템을 사용하는지 알게 되면 그에 따라 pandom을 설치할 수 있습니다.

    init.d 기반 초기화 시스템(예: upstart, sysvinit)

    시스템이 init.d 구현(예: upstart, sysvinit)을 사용하는 경우 이 명령을 실행하여 pandom을 설치합니다.

    make install-init.d

    초기화 시스템으로 시스템화

    시스템이 systemd를 사용하는 경우 이 명령을 실행하여 pandom을 설치합니다.

    make install-systemd

    2 checkme 파일 분석

    pandom을 암호화 목적으로 사용하기 전에 이 튜토리얼의 이전 섹션에서 설치 과정에서 생성된 checkme 파일을 분석하는 것이 좋습니다. 이 작업은 숫자가 실제로 무작위인지 아닌지를 아는 데 유용합니다. 이 섹션에서는 엔트로피와 입력의 직렬 상관관계를 테스트하는 쉘 스크립트인 ncomputers.org/entropyarray를 사용하여 checkme 파일을 분석하는 방법을 설명합니다.

    참고: 이 분석은 랩톱 또는 데스크톱 컴퓨터와 같은 다른 컴퓨터에서 실행될 수 있습니다. 예를 들어 리소스가 제한된 VPS(가상 사설 서버)에 pandom을 설치하는 경우 checkme 파일을 개인 컴퓨터에 복사하여 분석할 수 있습니다.
    Entropy Online Tester를 사용할 수도 있습니다.

    2.1 루트 액세스 권한 얻기

    Entropyarray는 루트로 설치해야 합니다. 필요한 경우 이 명령을 실행하십시오.

    su -

    2.2 빌드 종속성 설치

    entropyarray를 다운로드하고 설치하려면 GNU g++ 컴파일러, GNU make, GNU tar 및 GNU wget(마지막 두 개는 일반적으로 이미 설치되어 있음)이 필요합니다. 나중에 마음대로 제거할 수 있습니다.

    아치 기반 시스템

    pacman -S gcc make

    데비안 기반 시스템

    apt-get install g++ make

    Red Hat 기반 시스템

    dnf install gcc-c++ make
    yum install gcc-c++ make

    SUSE 기반 시스템

    zypper install gcc-c++ make

    2.3 소스 다운로드 및 추출

    이 명령은 wget 및 tar를 사용하여 ncomputers.org에서 entropyarray 소스를 다운로드하고 추출합니다.

    wget http://ncomputers.org/entropyarray.tar.gz

    tar xf entropy.tar.gz
    tar xf rearray.tar.gz
    tar xf entropyarray.tar.gz

    2.4 엔트로피 어레이 설치

    참고: -std=c++11 관련 오류는 GNU g++ 컴파일러 버전이 ISO C++ 2011 표준을 지원하지 않음을 의미합니다. ncomputers.org/entropy 및 ncomputers.org/rearray를 지원하는 다른 시스템(예: 좋아하는 Linux 배포판의 최신 버전에 있는 GNU g++)에서 컴파일한 다음 make install을 사용하여 컴파일된 바이너리를 시스템에 설치할 수 있습니다. entropyarray를 실행하거나 이 단계를 건너뛰고 싶습니다. 그러나 암호화 목적으로 pandom을 사용하기 전에 checkme 파일을 분석하는 것이 좋습니다.

    cd rearray; make install; cd ..
    cd entropy; make install; cd ..
    cd entropyarray; make install; cd ..

    2.5 checkme 파일 분석

    참고: 64 의사 난수 시퀀스 테스트.

    entropyarray checkme
    entropyarray in /tmp/tmp.mbCopmzqsg
    15.977339
    min:12
    med:32
    max:56
    15.977368
    min:11
    med:32
    max:58
    15.977489
    min:11
    med:32
    max:59
    15.977077
    min:12
    med:32
    max:60
    15.977439
    min:8
    med:32
    max:59
    15.977374
    min:13
    med:32
    max:60
    15.977312
    min:12
    med:32
    max:67

    2.6 entropyarray 제거(선택 사항)

    entropyarray를 더 이상 사용하지 않으려면 원하는 대로 제거할 수 있습니다.

    cd entropyarray; make uninstall; cd ..
    cd entropy; make uninstall; cd ..
    cd rearray; make uninstall; cd ..

    3 데비안 리포지토리를 사용하여 설치

    데비안 기반 시스템에서 pandom을 최신 상태로 유지하려면 ncomputers.org 데비안 저장소를 사용하여 설치/재설치를 선택할 수 있습니다.

    3.1 루트 액세스 권한 얻기

    아래 데비안 패키지는 루트로 설치해야 합니다. 필요한 경우 이 명령을 실행하십시오.

    su -

    3.2 키링 설치

    이 데비안 패키지에는 ncomputers.org 데비안 저장소의 공개 키가 포함되어 있습니다.

    wget http://ncomputers.org/debian/keyring.deb
    dpkg -i keyring.deb
    rm keyring.deb

    3.3 소스 목록 설치

    이 데비안 패키지에는 최신 데비안 배포판(2017년)에 따른 ncomputers.org 데비안 저장소의 소스 목록이 포함되어 있습니다.

    참고: 데비안 배포판에 해당하는 데비안 패키지를 설치하는 대신 /etc/apt/sources.list에 아래 주석이 달린 줄을 작성할 수도 있지만 나중에 이 소스가 변경되면 업데이트해야 합니다. 수동으로.

    쌕쌕거리는

    #deb http://ncomputers.org/debian/wheezy.deb
    dpkg -i wheezy.deb
    rm wheezy.deb

    제시

    #deb http://ncomputers.org/debian/jessie.deb
    dpkg -i jessie.deb
    rm jessie.deb

    뻗기

    #deb http://ncomputers.org/debian/stretch.deb
    dpkg -i stretch.deb
    rm stretch.deb

    3.4 업데이트 소스 목록

    키링과 소스 목록이 설치되면.

    apt-get update

    3.5 팬덤 테스트

    테스트를 마치면 아래 패키지를 마음대로 제거할 수 있습니다.

    참고: Linux 구현에서 이미 pandom을 테스트한 경우 이 단계를 건너뛸 수 있습니다.

    apt-get install pandom-test
    pandom-test
    generating checkme file, please wait around 8 minutes ...
    entropyarray in /tmp/tmp.5SkiYsYG3h
    15.977366
    min:12
    med:32
    max:57
    15.977367
    min:13
    med:32
    max:57
    15.977328
    min:12
    med:32
    max:61
    15.977431
    min:12
    med:32
    max:59
    15.977437
    min:11
    med:32
    max:57
    15.977298
    min:11
    med:32
    max:59
    15.977196
    min:10
    med:32
    max:57

    3.6 팬덤 설치

    apt-get install pandom

    4 팬덤 관리

    pandom이 설치된 후 관리하고 싶을 수도 있습니다.

    4.1 성능 테스트

    Pandom은 초당 약 8KB를 제공하지만 환경에 따라 성능이 다를 수 있습니다.

    dd if=/dev/random of=/dev/null bs=8 count=512
    512+0 records in
    512+0 records out
    4096 bytes (4.1 kB, 4.0 KiB) copied, 0.451253 s, 9.1 kB/s

    4.2 엔트로피 및 직렬 상관 테스트

    ncomputers.org/entropyarray 외에도 Ilja Gerhardt의 NIST testsuite와 같은 더 많은 테스트가 있습니다.

    entropyarray /dev/random 1M

    4.3 시스템 서비스

    Pandom은 시스템 서비스로 실행됩니다.

    init.d 기반 초기화 시스템(예: upstart, sysvinit)

    /etc/init.d/random status
    /etc/init.d/random start
    /etc/init.d/random stop
    /etc/init.d/random restart

    초기화 시스템으로 시스템화

    systemctl status random
    systemctl start random
    systemctl stop random
    systemctl restart random

    5 예측 불가능성 또는 성능 증가

    팬덤 구현의 예측 불가능성 또는 성능을 높이려는 경우 CPU 시간 측정을 추가하거나 삭제할 수 있습니다.

    5.1 소스 파일 편집

    소스 파일 test.s 및 tRNG.s에서 원하는 대로 측정 블록을 추가하거나 제거합니다.

    #measurement block
    mov $35,%rax
    syscall
    rdtsc
    [...]

    #measurement block
    mov $35,%rax
    syscall
    rdtsc
    [...]

    5.2 예측 불가능성 테스트

    개인화된 pandom 구현을 암호화 목적으로 사용하기 전에 항상 테스트하는 것이 좋습니다.

    make check

    5.3 개인화 팬덤 설치

    결과에 만족하면 개인화된 pandom 구현을 설치할 수 있습니다.

    make install

    추가 정보 및 업데이트: http://ncomputers.org/pandom