Key-Signing

เกี่ยวกับเรื่องการ key-signing คือการยืนยัน gpg-key ระหว่างคนสองคนโดยจะต้องแลกเปลี่ยน key-id กับ fingerprint โดยจะต้องตรวจสอบระบุตัวตนว่าเราเป็นเจ้าของ key นั้นจริง ในการแลกเอกสารกันตรวจสอบเอกสารที่สากลที่สุดก็คือ passport ทีนี้มาดูวิธีการ sign หลักจากที่ตรวจสอบข้อมูลกันเรียบร้อยแล้วบทความนี้อ้างอิงจาก holgerlevsen.de/keysign/README

  • เราต้องมี gpg-key ก่อน (ผมขอละไว้นะครับเรื่องการสร้าง)
  • ติดตั้งเครื่องมือที่ใช้สำหรับจัดการเรื่อง key-sign
    #apt-get insall signing-party
  • การตั้งค่า caff (เป็นเครื่องมือที่ช่วยในเรื่องการเซ็นคีย์
    $editor ~/.caffrc

    รายละเอียดของไฟล์ตามด้านล่าง

    $CONFIG{'owner'} = 'ชื่อและนามสกุล';
    $CONFIG{'email'} = '# อีเมล์ที่ระบุอยู่ใน gpg-key';
    # Example $CONFIG{'keyid'} = [ qw{FEDCBA9876543210} ];
    $CONFIG{'keyid'} = [ qw{หาได้จากคำสั่งด้านล่าง} ];
    
    # gpg --with-colons --list-key yourname 2>/dev/null | grep pub:u | cut -d':' -f 5 
  • ต้องปรับแต่งให้เครื่องของเราสามารถส่ง email จาก command line ได้โดยมีขั้นตอนดังนี้:
    ติดตั้ง package ต่อไปนี้
    #apt-get install msmtp-mta 

    สร้างไฟล์ .msmtprc ตามนี้

    $editor ~/.msmtprc

    โดยมีรายละเอียดดังนี้ (ในตัวอย่างเป็นของ gmail นะครับ)

    account gmail
    host smtp.gmail.com
    tls on
    tls_starttls on
    tls_trust_file /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CA.crt
    port 587
    auth login
    from yourmail@gmail.com
    user yourmail
    password yourpassword
    account default: gmail
    

    จากนั้น เปลี่ยน สิทธิ์ของไฟล์ให้เป็น 0600 ตามนี้

    $chmod 0600 ~/.msmtprc

    ทดลองส่ง email หาตัวเรา

    echo "testing" | mail -s testing yourmail@gmail.com
  • การเซ็นคีย์ให้กับผู้อื่น
    $caff key-id
    • จะมีคำถามเพื่อยืนยันข้อมูลอีกครั้งก่อนที่จะเซ็น (ให้ตอบ Yes เมื่อตรวจสอบข้อมูลว่าถูกต้องแล้ว)
    • เสร็จแล้วจะต้องป้อน secret-key เพื่อเป็นการยืนยันตัวเราอีกที
    • ขั้นต่อไปจะเป็นการส่ง key-signature จากการเซ็นของเราไปให้ผู้ที่เราได้เซ็นทาง email
    • ต่อไปเป็นการส่ง key ที่เราได้เซ็นแล้วขึ้นไปบน keyserver
  • ในกรณีที่ผู้อื่นเซ็นคีย์ให้เราโดยจะได้รับทาง email ที่เราได้ระบุไว้กับ GPG key
    • ทำการคัดลอกข้อความจาก email ตั้งแต่-----BEGIN PGP MESSAGE----- จนถึง -----END PGP MESSAGE-----
      $cat > signed.gpg << EOF
       ข้อความใน email
      EOF
      
    • การถอดรหัสข้อความที่ได้รับจาก email
      $gpg --decrypt signed.gpg > cleartext.txt
    • การนำเข้าคีย์จากข้อความที่ถอดรหัสแล้ว
      $gpg --import cleartext.txt
    • อัพคีย์ที่ได้ทำการอัพเดทแล้วขึ้น keyserver
      $gpg --keyserver pgp.rediris.es --send-key your_key_fingerprint

เท่านี้ก็เสร็จเรียบร้อยแล้วสำหรับรายละเอียดเกี่ยวกับเรื่อง gpg-key และ key-sign ควรหารายละเอียดอ่านเพิ่มเติมอีกเพราะบทความนี้เป็นแค่วิธีการใช้เท่านั้น

Topic: 
Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้