SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
GPG Keysigning Party
한영빈(Youngbin Han)
sukso96100@gmail.com
우분투한국커뮤니티 9월 서울지역 세미나
2018.09.15
GPG가 뭔가요? PGP는? 키사이닝 파티는?
• 키사이닝 파티 참여 도움말 문서를 참고하세요.
• 지금 이 발표에서는 간단히 설명하고 넘어가겠습니다.
• https://github.com/ubuntu-kr/ksp-
toolkits/blob/master/ksp/ksp-20180915/readme.md
아래와 같은 것들을 잘 준비해 오셨나요?
• 각 참가자 목록 파일을 인쇄한 종이
• 각 참가자 목록 인쇄물에 각 참가자 목록 파일에 대해 본인이 계산한
SHA256 체크섬이 수기로 적혀 있어야 합니다.
• 참가자 목록은 2개 입니다. 둘 다 인쇄해서 준비해 오셨어야 합니다.
• 제출 하셨던 공개키에 담긴 신원 정보를 증명할 유효한 신분증
• 주민등록증, 운전면허증, 청소년증, 외국인증, 여권 등.
• 필기구
사전에 공개키 제출을 못하셨거나,
인쇄물을 지참하지 않으셨나요?
• 본인의 GPG 키의 핑거프린트가 적인 인쇄물이나 카드로 대신
하시기 바랍니다.
• 이 경우 핑거프린트를 직접 일일이 대조해야 합니다.
오늘 진행할 키사이닝 파티 프로토콜
• 먼저 다같이 각자가 계산해 온 체크섬 일치여부를 검증합니다.
• 자유롭게 돌아 다니면서 키사이닝을 할 상대를 만납니다.
• 참가자 목록 상에서의 번호를 물어봅니다.
• 체크섬을 다같이 확인할 때 체크 했는지 여부를 물어봅니다.
• 만약 체크 했다면, 핑거프린트 일치 확인을 건너 뜁니다.
• 체크하지 않은 사람이라면, 직접 핑거프린트를 대조합니다.
• 참가자 목록의 신원과 상대가 제시한 신분증 그리고 상대의 얼굴을
대조하여 신원을 확인합니다.
• 신원을 충분히 확인 했다면, 인쇄물의 해당 항목에 체크 표시를 하고
확인 작업을 마칩니다.
이제 체크섬을 다같이 확인하겠습니다.
• 체크섬을 기록한 참가자 목록 인쇄물을 꺼내 주세요.
• 돌아가면서 체크섬 앞에서 부터 순서대로 4자리씩 외칩니다.
• 다른 사람이 외친 체크섬 일부가 틀리다면 즉시 이의를 제기합
니다. 다음 사람이 동일한 부분을 다시 외칩니다.
• 이렇게 마지막 자리까지 돌아가면서 외쳐서 체크섬이 일치함을
다같이 확인합니다.
• 숫자는 로마자와의 혼동을 방지하기 위해 고유어로 부르겠습니
다.(예: 9E3D [아홉 이 셋 디]
예를 들어…
• 체크섬이 1E8F 6D87 1493 … 9DCB 라면.
1E8F 6D87 1493
…
9DCB
1차 참가자 목록 SHA256 체크섬
A146 B7C6 27AC B86D
8AD6 0B72 F9FA CFE4
818C 1461 F5D2 31A6
9BEB FFC2 E4D6 BAF9
2차 참가자 목록 SHA256 체크섬
2633 13F1 0351 DE99
1BA7 49C5 6D80 6ACF
D432 7A78 23C7 C735
8F23 4CD7 6DBE F4F2
행사가 끝나고 집에서 할 일.
• 인쇄물에서 체크한 사람의 공개키에 키사이닝을 합니다.
• 키사이닝한 공개키를 원래의 주인에게 전송합니다.
• 다른 사람으로부터 키사이닝 된 본인의 공개키를 받아 본인의
PC 에 불러옵니다.
Ubuntu – caff 를 이용한 키사이닝
• Signing-party 패키지 설치
• sudo apt install signing-party
• caff 를 한번 실행하여 필요한 설정파일 초기화
• caff
~/.caffrc 설정
$CONFIG{'owner’} = ‘본인 이름’
$CONFIG{‘email’} = ‘이메일 주소’
$CONFIG{‘reply-to’} = ‘회신받을 이메일 주소’
…
# … 자리에 사용할 gpg 키ID 입력, 여러개 입력 시 공백으로 구분
$CONFIG{'keyid'} = [ qw{ … } ];
# … 자리에 키사이닝에 쓸 gpg 키ID 입력, 여러개 입력 시 공백으로 구분
$CONFIG{'local-user'} = [ qw{} ];
# 키사이닝 후 바로 저장 하도록 설정
$CONFIG{'gpg-sign-args'} = 'save’;
…
~/.caffrc 설정
…
# GPG 키 불러올 키서버 설정
$CONFIG{'keyserver'} = ‘keyserver.ubuntu.com’;
…
# 키사이닝된 공개키 전송에 쓸 메일의 메일서버 설정
# 아래는 Gmail 예시
$CONFIG{'mailer-send'} = ['smtps', Server => 'smtp.gmail.com', Port =>
465, Auth => ['sukso96100@gmail.com’, ‘<Google 앱 패스워드 입력>']];
~/.caffrc 설정
…
# 아래 메일 템플릿 주석 해제 처리
#$CONFIG{'mail-template'} = << 'EOM’;
#Hi,
#
#please find attached the user id{(scalar @uids >= 2 ? 's' : ’’)}
…
#If you have any questions, don't hesitate to ask.
#
#Regards,
#{$owner}
#EOM
키사이닝 및 메일전송
• 다음 명령어 실행하여 수행
• caff <key 1> <key 2> … <key n>
Pius 를 이용한 키사이닝
(https://www.phildev.net/pius/)
• 아래 링크에서 최신 릴리즈 압축파일 받아 압축 풀기
• https://github.com/jaymzh/pius/releases
• 압축 푼 폴더에 접근하여 설치 명령어 실행
• sudo ./setup.py install
• 다음 명령으로 키사이닝 일괄 진행(Gmail 예제)
• pius -H smtp.gmail.com -p 587 -u <Gmail 주소> –A –r <키링 경로>
-s <키사이닝에 쓸 키ID>
키사이닝 된 키 메일에서 불러오기
• 받은 암호화된 메일 화면에서, 원문 보기 메뉴 선택
• -----BEGIN PGP MESSAGE----- 로 시작하여, -----END PGP
MESSAGE----- 로 끝나는 암호화된 PGP 메시지 복사.
• 복사한 메시지 별도 파일로 저장.
• 다음 명령으로 복호화 후 불러오기
• gpg –decrypt <파일명> | gpg –import
• 필요한 경우 키서버에 업로드
• gpg –keyserver <키서버 주소> --send-keys <키ID>
일일이 메일 주고 받기 귀찮다면…
• 상호 협의 하에 지정된 키서버에 업로드 하여 교환.
• gpg –keyserver <키서버 주소> --send-keys <키ID>

Weitere ähnliche Inhalte

Mehr von Ubuntu Korea Community

Memory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack TechniquesMemory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack TechniquesUbuntu Korea Community
 
Python을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop ApplicationPython을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop ApplicationUbuntu Korea Community
 
케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들Ubuntu Korea Community
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고Ubuntu Korea Community
 
새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조Ubuntu Korea Community
 
스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기Ubuntu Korea Community
 
지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기Ubuntu Korea Community
 
VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기Ubuntu Korea Community
 
HanJP-IM 프로젝트 진행 현황 발표
HanJP-IM 프로젝트 진행 현황 발표HanJP-IM 프로젝트 진행 현황 발표
HanJP-IM 프로젝트 진행 현황 발표Ubuntu Korea Community
 
Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디
Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디
Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디Ubuntu Korea Community
 
우분투한국커뮤니티 대전지역팀 발대식
우분투한국커뮤니티 대전지역팀 발대식우분투한국커뮤니티 대전지역팀 발대식
우분투한국커뮤니티 대전지역팀 발대식Ubuntu Korea Community
 
우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고Ubuntu Korea Community
 

Mehr von Ubuntu Korea Community (20)

Open Source and the License
Open Source and the LicenseOpen Source and the License
Open Source and the License
 
Memory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack TechniquesMemory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack Techniques
 
Python을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop ApplicationPython을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop Application
 
나의 우분투 이야기
나의 우분투 이야기나의 우분투 이야기
나의 우분투 이야기
 
Malware Dataset & Ubuntu
Malware Dataset & UbuntuMalware Dataset & Ubuntu
Malware Dataset & Ubuntu
 
케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고
 
새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조
 
스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기
 
기계들의 소셜 미디어, MQTT
기계들의 소셜 미디어, MQTT기계들의 소셜 미디어, MQTT
기계들의 소셜 미디어, MQTT
 
모바일에 딥러닝 심기
모바일에 딥러닝 심기모바일에 딥러닝 심기
모바일에 딥러닝 심기
 
지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기
 
VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기
 
HanJP-IM 프로젝트 진행 현황 발표
HanJP-IM 프로젝트 진행 현황 발표HanJP-IM 프로젝트 진행 현황 발표
HanJP-IM 프로젝트 진행 현황 발표
 
Ubuntu 18.04 Release Party @ Daejeon
Ubuntu 18.04 Release Party @ DaejeonUbuntu 18.04 Release Party @ Daejeon
Ubuntu 18.04 Release Party @ Daejeon
 
What's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTSWhat's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTS
 
Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디
Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디
Hanjp-IM 프로젝트 - 한글 오토마타 이론 스터디
 
우분투한국커뮤니티 대전지역팀 발대식
우분투한국커뮤니티 대전지역팀 발대식우분투한국커뮤니티 대전지역팀 발대식
우분투한국커뮤니티 대전지역팀 발대식
 
우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고
 

9월 서울지역 세미나 GPG 키사이닝 파티

  • 1. GPG Keysigning Party 한영빈(Youngbin Han) sukso96100@gmail.com 우분투한국커뮤니티 9월 서울지역 세미나 2018.09.15
  • 2. GPG가 뭔가요? PGP는? 키사이닝 파티는? • 키사이닝 파티 참여 도움말 문서를 참고하세요. • 지금 이 발표에서는 간단히 설명하고 넘어가겠습니다. • https://github.com/ubuntu-kr/ksp- toolkits/blob/master/ksp/ksp-20180915/readme.md
  • 3. 아래와 같은 것들을 잘 준비해 오셨나요? • 각 참가자 목록 파일을 인쇄한 종이 • 각 참가자 목록 인쇄물에 각 참가자 목록 파일에 대해 본인이 계산한 SHA256 체크섬이 수기로 적혀 있어야 합니다. • 참가자 목록은 2개 입니다. 둘 다 인쇄해서 준비해 오셨어야 합니다. • 제출 하셨던 공개키에 담긴 신원 정보를 증명할 유효한 신분증 • 주민등록증, 운전면허증, 청소년증, 외국인증, 여권 등. • 필기구
  • 4. 사전에 공개키 제출을 못하셨거나, 인쇄물을 지참하지 않으셨나요? • 본인의 GPG 키의 핑거프린트가 적인 인쇄물이나 카드로 대신 하시기 바랍니다. • 이 경우 핑거프린트를 직접 일일이 대조해야 합니다.
  • 5. 오늘 진행할 키사이닝 파티 프로토콜 • 먼저 다같이 각자가 계산해 온 체크섬 일치여부를 검증합니다. • 자유롭게 돌아 다니면서 키사이닝을 할 상대를 만납니다. • 참가자 목록 상에서의 번호를 물어봅니다. • 체크섬을 다같이 확인할 때 체크 했는지 여부를 물어봅니다. • 만약 체크 했다면, 핑거프린트 일치 확인을 건너 뜁니다. • 체크하지 않은 사람이라면, 직접 핑거프린트를 대조합니다. • 참가자 목록의 신원과 상대가 제시한 신분증 그리고 상대의 얼굴을 대조하여 신원을 확인합니다. • 신원을 충분히 확인 했다면, 인쇄물의 해당 항목에 체크 표시를 하고 확인 작업을 마칩니다.
  • 6. 이제 체크섬을 다같이 확인하겠습니다. • 체크섬을 기록한 참가자 목록 인쇄물을 꺼내 주세요. • 돌아가면서 체크섬 앞에서 부터 순서대로 4자리씩 외칩니다. • 다른 사람이 외친 체크섬 일부가 틀리다면 즉시 이의를 제기합 니다. 다음 사람이 동일한 부분을 다시 외칩니다. • 이렇게 마지막 자리까지 돌아가면서 외쳐서 체크섬이 일치함을 다같이 확인합니다. • 숫자는 로마자와의 혼동을 방지하기 위해 고유어로 부르겠습니 다.(예: 9E3D [아홉 이 셋 디]
  • 7. 예를 들어… • 체크섬이 1E8F 6D87 1493 … 9DCB 라면. 1E8F 6D87 1493 … 9DCB
  • 8. 1차 참가자 목록 SHA256 체크섬 A146 B7C6 27AC B86D 8AD6 0B72 F9FA CFE4 818C 1461 F5D2 31A6 9BEB FFC2 E4D6 BAF9
  • 9. 2차 참가자 목록 SHA256 체크섬 2633 13F1 0351 DE99 1BA7 49C5 6D80 6ACF D432 7A78 23C7 C735 8F23 4CD7 6DBE F4F2
  • 10. 행사가 끝나고 집에서 할 일. • 인쇄물에서 체크한 사람의 공개키에 키사이닝을 합니다. • 키사이닝한 공개키를 원래의 주인에게 전송합니다. • 다른 사람으로부터 키사이닝 된 본인의 공개키를 받아 본인의 PC 에 불러옵니다.
  • 11. Ubuntu – caff 를 이용한 키사이닝 • Signing-party 패키지 설치 • sudo apt install signing-party • caff 를 한번 실행하여 필요한 설정파일 초기화 • caff
  • 12. ~/.caffrc 설정 $CONFIG{'owner’} = ‘본인 이름’ $CONFIG{‘email’} = ‘이메일 주소’ $CONFIG{‘reply-to’} = ‘회신받을 이메일 주소’ … # … 자리에 사용할 gpg 키ID 입력, 여러개 입력 시 공백으로 구분 $CONFIG{'keyid'} = [ qw{ … } ]; # … 자리에 키사이닝에 쓸 gpg 키ID 입력, 여러개 입력 시 공백으로 구분 $CONFIG{'local-user'} = [ qw{} ]; # 키사이닝 후 바로 저장 하도록 설정 $CONFIG{'gpg-sign-args'} = 'save’; …
  • 13. ~/.caffrc 설정 … # GPG 키 불러올 키서버 설정 $CONFIG{'keyserver'} = ‘keyserver.ubuntu.com’; … # 키사이닝된 공개키 전송에 쓸 메일의 메일서버 설정 # 아래는 Gmail 예시 $CONFIG{'mailer-send'} = ['smtps', Server => 'smtp.gmail.com', Port => 465, Auth => ['sukso96100@gmail.com’, ‘<Google 앱 패스워드 입력>']];
  • 14. ~/.caffrc 설정 … # 아래 메일 템플릿 주석 해제 처리 #$CONFIG{'mail-template'} = << 'EOM’; #Hi, # #please find attached the user id{(scalar @uids >= 2 ? 's' : ’’)} … #If you have any questions, don't hesitate to ask. # #Regards, #{$owner} #EOM
  • 15. 키사이닝 및 메일전송 • 다음 명령어 실행하여 수행 • caff <key 1> <key 2> … <key n>
  • 16. Pius 를 이용한 키사이닝 (https://www.phildev.net/pius/) • 아래 링크에서 최신 릴리즈 압축파일 받아 압축 풀기 • https://github.com/jaymzh/pius/releases • 압축 푼 폴더에 접근하여 설치 명령어 실행 • sudo ./setup.py install • 다음 명령으로 키사이닝 일괄 진행(Gmail 예제) • pius -H smtp.gmail.com -p 587 -u <Gmail 주소> –A –r <키링 경로> -s <키사이닝에 쓸 키ID>
  • 17. 키사이닝 된 키 메일에서 불러오기 • 받은 암호화된 메일 화면에서, 원문 보기 메뉴 선택 • -----BEGIN PGP MESSAGE----- 로 시작하여, -----END PGP MESSAGE----- 로 끝나는 암호화된 PGP 메시지 복사. • 복사한 메시지 별도 파일로 저장. • 다음 명령으로 복호화 후 불러오기 • gpg –decrypt <파일명> | gpg –import • 필요한 경우 키서버에 업로드 • gpg –keyserver <키서버 주소> --send-keys <키ID>
  • 18. 일일이 메일 주고 받기 귀찮다면… • 상호 협의 하에 지정된 키서버에 업로드 하여 교환. • gpg –keyserver <키서버 주소> --send-keys <키ID>