Yubiky, verify Giithub의 commiit 사용

3978 단어 GnuPGGitHubyubikey
개인적인 취미 때문에 Giithub과 다양한 증명 주위가 저라는 것을 증명하기 위해 Yubikey를 사용하기 시작했습니다.
현황 인증과 증명된 물품은 아래와 같다.
  • 인증
  • mac
  • github
  • facebook
  • dropbox
  • kraken
  • SSH(벚꽃인터넷, AWS) 로그인
  • 증명

  • github(GnuPG)←이번엔 이거
  • 메일(S/MIME(Iden Trust) 및 GunPG(비밀번호 메일)
  • Keybase(업로드 가능 GnuPG)
  • 페이스북(GnuPG 업로드용 페이지 준비)
  • 서명(암호화 포함)
  • Atom(atom-gpg plug pluggin 설치)
  • iCloud의 주요 메모 클래스 일부(GnuPG 암호화 사용)
  • 좀 평범하지만 증명할 수 있는 것, 인증할 수 있는 것, 사인할 수 있는 것은 모두 유비키에게 의존하기 시작했다.
    나는 유비키+지누프로 아이클라우드의 노트를 암호화하는 것이 매우 좋다고 생각한다.
    설명 여기 참고해주세요.
    Using GPG and SSH keys (GnuPG 2.1) with a Smartcard (Yubikey 4)
    PGP 키를 사용하여 파일 암호화
    그나저나 제 카드 정보는... 출력하면 다양한 개인정보가 노출될 것 같아요!

    이번에 하고 싶은 거.


    Mac 및 Yubiky, commiit 사용 시 verify
    어떻게 된 일인지 자세한 내용은 아래의 내용을 참조하시오.

    Verified가 붙어서 멋있어요!
    내가 한 거야!라는 증명을 남겼다.

    유비키가 왜 필요해?


    유비키가 있으면 서명, 증명, 암호화할 수 있다.
    Yubiky가 없는 사람은 GPG Suite를 간단히 설치해 GPG 키(비밀키·공개키)를 만들면 증명할 수 있다.
    하지만 GPG Suite만 있으면 약하다.
    약한 것은 무엇인가, 증명할 물리적인 것이 없기 때문에 약하다.
    GPG Suite만 사용한다면 Mac, Windows, Linux는 자신의 것이라면 그 자체에 문제가 없다는 것을 증명한다
    계좌가 유출되면 문제가 생기고 암호문도 유출되면 납치된 기계에서 간단하게 증명, 서명, 복호화할 수 있다.
    Yubikey를 사용하면 물리적으로 해당 Yubikey를 진행하지 않으면 서명, 증명, 디코딩을 할 수 없다.
    외출할 때, 자리를 떠날 때 빼면 제삼자는 뭘 하고 싶어, 응?어?입증할 수단이 없기 때문에 물리적 장비가 있다면 강할 것이다.

    GnuPG를 사용하기 위한 사전 준비


    그러니까 그냥 징징거리다가 나온 메시지 정리하는 거야.
    brew install [email protected] pinentry pinentry-mac gpg-agent
    
    GPG Suite 넣어주세요.
    gpg--card-edit 명령 등의 사용 방법에 대해 다음과 같은 설명이 있다.
    Using GPG and SSH keys (GnuPG 2.1) with a Smartcard (Yubikey 4)
    아, 이 기사에 두 번째 주소를 추가하는 방법이 적혀있는데 시도해 보자... (이번 기사와는 상관없지만 눈치챘다)
    한 마디로 하면 보도대로 설정할 수 있다면 다음 요령에 따라 config 주위를 수정합니다.
    vim ~/.gnupg/gpg.conf
    use-agent
    
    이것도 못 써.(2018/2/14)
    vim ~/.gnupg/gpg-agent.conf
    (맥이 필요 없다는 것을 발견했다. 오류가 발생하지 않아도 OK.)
    use-standard-socket
    pinentory-program /usr/local/bin/pinentory-mac
    
    마지막.아니면git/config를 위해 다음 명령을 입력하십시오.
    user.signingkey XXXXXXXXXX에 키 시크릿이 지정되어 있으며 확인 방법은 다음 명령을 통해 확인할 수 있습니다.
    gpg --list-secret-keys --keyid-format LONG
    
    샘플 내보내기 결과
    yxxxxx:~ y_xxxxx$ gpg --list-secret-keys --keyid-format LONG
    /Users/y_xxxxx/.gnupg/pubring.kbx
    -----------------------------------
    sec>  rsa4096/XXXXXXXXXXXXXXXX 2018-01-27 [SC]
          58F7C266F3F62 ~ BAD8E247C4C
       カードシリアル番号 = 0001 01111110
    uid                 [  究極  ] yyyy xxxxx (by comment) <[email protected]>
    ssb>  rsa4096/YYYYYYYYYYYYYYYY 2018-01-27 [A]
    ssb>  rsa4096/ZZZZZZZZZZZZZZZZ 2018-01-27 [E]
    
    
    gitconfig에 쓸 수 있는 상황은 다음과 같은 느낌입니다.
    git config --global user.name "xxxx yyyyy"
    git config --global user.email "[email protected]"
    git config --global gpg.program $(which gpg)
    git config --global user.signingkey XXXXXXXXXXXXXXXX
    git config --global commit.gpgsign true
    
    개별적으로 지정된 경우git clone 에서git/config에서 명령을 실행합니다.
    git config --local user.name "xxxx yyyyy"
    git config --local user.email "[email protected]"
    git config --local gpg.program $(which gpg)
    git config --local user.signingkey XXXXXXXXXXXXXXXX
    git config --local commit.gpgsign true
    
    이렇게 하면git commiit와git push가 완성됩니다.
    (다른 일이 생겨서 모르는 점이 있으면 메시지를 남겨주세요)

    좋은 웹페이지 즐겨찾기