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 [아홉 이 셋 디]
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>