GnuPG: วิธีเข้ารหัสและถอดรหัสไฟล์

แม่กุญแจไซเบอร์

ในช่วงเวลาที่ทำงานโดยมีช่องโหว่มากมายทั้งในซอฟต์แวร์และฮาร์ดแวร์ซึ่งปัญหาเหล่านี้สามารถใช้ประโยชน์จากการเข้าถึงเครื่องบางเครื่องจากระยะไกลและแม้กระทั่งการเพิ่มสิทธิ์ระยะไกลหรือในพื้นที่บนเครื่องเหยื่อสิ่งสำคัญคือต้องดำเนินการตามที่จำเป็น ขั้นตอนการรักษาความปลอดภัยและโปรโตคอล ที่เรารู้หรือว่าเรามีให้เพื่อรักษาข้อมูลของเราให้ปลอดภัย และหากคุณทำงานกับข้อมูลที่ละเอียดอ่อนหรือมี บริษัท ที่ลูกค้าให้ข้อมูลกับคุณโดยมีเหตุผลมากขึ้น

เราได้ทำซ้ำแล้วซ้ำอีกโดยใช้งานและแฝงว่าคุณต้องอัปเดตระบบอยู่เสมอหลีกเลี่ยงการออนไลน์เมื่อเป็นไปได้ข้อมูลที่ละเอียดอ่อนที่สุดควรเก็บไว้ในอุปกรณ์จัดเก็บข้อมูลในตัวแบบถอดได้เพื่อหลีกเลี่ยงไม่ให้ข้อมูลนั้นมีอยู่ในเครื่อง อาจมีช่องโหว่และแน่นอนว่าจะต้องทำการสำรองข้อมูลเป็นประจำ นอกเหนือจากนั้น, ฉันขอแนะนำให้คุณเข้ารหัสเนื้อหาของไฟล์ของคุณ หรือทำการเข้ารหัสพาร์ติชันของคุณอย่างสมบูรณ์เพื่อให้ข้อมูลไม่สามารถเข้าถึงได้โดยไม่ต้องใช้รหัสผ่านเพื่อถอดรหัสแม้ว่าคุณจะสามารถเข้าถึงเครื่องได้ ...

การเข้ารหัสคืออะไร?

ตัวอย่างการเข้ารหัส

ที่มา: Wikipedia

ในเว็บไซต์และแบบฝึกหัดจำนวนมากคุณจะพบคำว่า เข้ารหัสและถอดรหัส เพื่ออ้างถึงการเข้ารหัสและการถอดรหัสข้อมูลคอมพิวเตอร์ แต่ถ้าคุณไม่ทราบฉันจะพูดถึงคุณข้อกำหนดเหล่านี้มีข้อโต้แย้งอยู่บ้างแม้ว่าจะดูเหมือนว่าค่อนข้างได้รับการยอมรับและแพร่หลายเนื่องจากมีการใช้งานบ่อยเพียงใดแม้ในกลุ่มผู้เชี่ยวชาญในภาคส่วน ความสับสนมาจากการเข้ารหัสหรือศาสตร์แห่งการปกปิดและโดยเฉพาะอย่างยิ่งจากคำภาษาอังกฤษ "เข้ารหัส" ซึ่งมาจาก neologism ที่นำมาจาก krypto ของกรีกโดยตรงและได้รับการแปลโดยตรงเป็นภาษาสเปนว่าเข้ารหัส

ในทางกลับกันในภาษาสเปนดูเหมือนว่าคุณกำลังพูดว่า "put in a crypt" something "take something out of a crypt" อย่างไรก็ตามหากเราวิเคราะห์ภาษากรีกว่าทั้งหมดนี้มาจากไหนซึ่งเป็น "krypto" หมายถึงการซ่อน อย่างไรก็ตามคุณสามารถใช้คำที่คุณชอบมากที่สุด ... ในความเป็นจริง RAE ได้ยอมรับว่าเป็น ตรงกันกับการเข้ารหัส. โดยส่วนตัวแล้วฉันไม่ต้องการให้ความสำคัญกับการแก้ไขเหล่านี้มากเกินไปและชอบที่จะใช้ทั้งคำพ้องความหมายและปล่อยให้ "ศาสตร์หรือศิลป์แห่งการปกปิด" เป็นคำที่กว้างกว่า

สรุปเมื่อเราพูดถึง การเข้ารหัสหรือเข้ารหัสข้อมูลหรือข้อความ เรากำลังอ้างถึงขั้นตอนในการแปลงข้อมูลเพื่อป้องกันไม่ทางใดก็ทางหนึ่ง สิ่งที่พบบ่อยที่สุดคือการใช้การแลกเปลี่ยนอักขระหรืออัลกอริทึมบางประเภทเพื่อให้ข้อมูลที่ละเอียดอ่อนถูกเปลี่ยนเป็นสตริงตัวอักษรตัวเลขและสัญลักษณ์ที่ไม่มีความหมาย ในขณะที่ขั้นตอนการถอดรหัสหรือการถอดรหัสเป็นขั้นตอนย้อนกลับซึ่งข้อมูลที่ไร้สาระจะถูกเปลี่ยนเป็นสิ่งที่เครื่องจักรหรือมนุษย์เข้าใจได้

ประวัติเล็กน้อย

เครื่องเข้ารหัส Enigma Nazi

ศิลปะในการทำให้บุคคลที่สามเป็นเรื่องยากโดยการแปลงข้อมูล ไม่ใช่เรื่องใหม่มีการทำมานานหลายพันปีโดยเฉพาะเมื่อกว่า 2500 ปีที่แล้ว จากชาวอียิปต์ที่ใช้อักษรอียิปต์โบราณจนถึงสมัยจักรวรรดิโรมด้วยรหัสซีซาร์เรียกเช่นนี้เพราะจูเลียสซีซาร์ (100 ปีก่อนคริสตกาล - 44 ปีก่อนคริสตกาล) ใช้มันเพื่อเข้ารหัสข้อความที่เขาส่งไปยังกองกำลังของเขาเพื่อที่ว่าหากข้อความเหล่านี้ตกไปอยู่ในมือของศัตรู พวกเขาจะไม่เข้าใจพวกเขาและไม่ได้รับประโยชน์ทางทหารจากพวกเขา

ในยุคปัจจุบันเรามีตัวอย่างของ เครื่องนาซีปริศนาซึ่งใช้ชุดกระบอกสูบในการเข้ารหัสหรือเข้ารหัสข้อมูลที่ผู้บัญชาการของเยอรมันส่งผ่านไปยังกองทหารและป้องกันไม่ให้ศัตรูรู้ถึงการเคลื่อนไหวที่ทหารของฮิตเลอร์กำลังจะสร้างขึ้น อันที่จริงมันเป็นข้อความที่เข้ารหัสเหล่านี้ซึ่งกระตุ้นให้เกิดคอมพิวเตอร์ในสหรัฐอเมริกาและอังกฤษเนื่องจากเครื่องคอมพิวเตอร์เครื่องแรกถูกสร้างขึ้นเพื่อพยายามถอดรหัสข้อความที่ซับซ้อนเหล่านี้

ดังที่คุณทราบมีหลายอย่าง ประเภทการเข้ารหัสเช่นสมมาตรและไม่สมมาตรและคุณจะเห็นว่า GnuGP หรือ GPG ทำงานได้อย่างไรในทั้งสองโหมด:

  • การเข้ารหัสแบบสมมาตร- เมื่อใช้คีย์เดียวในการเข้ารหัสและถอดรหัสข้อความไฟล์ ฯลฯ ภายในการเข้ารหัสประเภทนี้เราสามารถค้นหาและใช้อัลกอริทึมการเข้ารหัสต่างๆเช่น AES, DES, 3DES เป็นต้น
  • การเข้ารหัสแบบไม่สมมาตร: ในกรณีนี้จะใช้คีย์สองอันคือแบบสาธารณะและแบบส่วนตัวหนึ่งอัน สาธารณะถูกใช้ในการเข้ารหัสและส่วนตัวในการถอดรหัส ภายในการเข้ารหัสประเภทนี้เรายังมีอัลกอริทึมการเข้ารหัสต่างๆเช่น RSA, ElGramal เป็นต้น

กุญแจสำคัญ สิ่งที่ทำได้คือโดยใช้อัลกอริทึมนี้ข้อมูลจะถูกเปลี่ยนรูปและเป็นไปไม่ได้ที่จะได้รับโดยไม่ต้องมีกุญแจในการถอดรหัส ...

ความเป็นมา: PGP

หลายคนสับสน PGP กับ GPG และมันไม่เหมือนกัน PGP ย่อมาจาก Pretty Good Privacy และอธิบายถึงโปรแกรมที่พัฒนาโดย Phil Zimmermann เพื่อเข้ารหัสถอดรหัสและลงนามข้อมูลเพื่อป้องกัน ปรากฏในปี 1991 และเป็นโปรแกรมที่ได้รับความนิยมพอสมควรซึ่งรวมเทคนิคการเข้ารหัสแบบสมมาตรและไม่สมมาตรเพื่อรักษาความปลอดภัยของข้อมูล

แต่ PGP เป็นซอฟต์แวร์ที่ค่อนข้างมีปัญหาเนื่องจากใบอนุญาตของอัลกอริทึมบางตัวไม่ได้เปิดและใน PGP Inc. พวกเขาค่อนข้างกังวลเกี่ยวกับสิทธิบัตรที่ทำให้พวกเขาไปในทิศทางอื่น ซิมเมอร์มันน์เข้าใจว่ามาตรฐานฟรีสำหรับ PGP มีความสำคัญเนื่องจากความสำคัญที่ PGP ดำเนินการในเวลานั้นดังนั้นพวกเขาจึงเสนอมาตรฐานที่เรียกว่า OpenPGPสิ่งที่จะกลายเป็นจุดเริ่มต้นของ GPG

GPG คืออะไร?

GnuPG หรือ GPG (GNU Privacy Guard) เป็นซอฟต์แวร์ที่พัฒนาโดย FSF (Free Software Foundation) เพื่อใช้โปรแกรมความเข้ากันได้กับ OpenPGP ด้วยวิธีนี้คุณสามารถเข้ารหัสและถอดรหัสข้อความธรรมดาไฟล์และสร้างลายเซ็นดิจิทัลเพื่อรักษาความปลอดภัยเนื้อหาที่เราถ่ายโอนทางอีเมลหรือบริการเครือข่ายอื่น ๆ นอกจากนี้ GPG ยังฟรีและไม่เสียค่าใช้จ่ายภายใต้ใบอนุญาต GPL

คุณสามารถทำงานจากคอนโซลหรือเทอร์มินัลโดยใช้คำสั่งหรือยังมี GUI บางตัวที่สามารถติดตั้งได้หรือโปรแกรมที่ช่วยในการทำงานกับ GPG แต่จากอินเทอร์เฟซที่ค่อนข้างเป็นมิตรและใช้งานง่ายสำหรับผู้ที่ไม่ชอบเชลล์มากและชอบ ทำได้จากสภาพแวดล้อมเดสก์ท็อป โปรแกรมเหล่านี้บางโปรแกรมจะคุ้นเคยกับคุณอย่างแน่นอนเนื่องจากเป็นที่นิยมใน Linux distros เช่นเดียวกับในกรณีนี้ ซีฮอร์.

กวดวิชา GnuPG:

อย่างที่ฉันบอกว่ามันไม่ใช่ทางเลือกเดียวที่เรามีใน distro ของเรา เพื่อเข้ารหัสและถอดรหัสเนื่องจากมีความเป็นไปได้อื่น ๆ อีกมากมายนอกเหนือจาก GPG เช่น OpenPGP เอง ในความเป็นจริงเราได้ทุ่มเทชื่อเรื่องให้กับทางเลือกอื่น ๆ แล้วเช่น ecryptfs เพื่อเข้ารหัสไดเรกทอรีและพาร์ติชัน cryptmount เถ้า ฯลฯ นอกจากนี้หากคุณตัดสินใจที่จะใช้ GPG ผ่าน GUI ที่มีอยู่คุณก็มีอิสระที่จะทำได้เช่นกัน แต่ในที่นี้ฉันจะอธิบายขั้นตอนในการเข้ารหัสและถอดรหัสไฟล์อย่างรวดเร็วโดยใช้คำสั่งจากเทอร์มินัล

เข้ารหัสไฟล์ด้วย GPG:

การเข้ารหัสล้างในเทอร์มินัล

ในการเข้ารหัสไฟล์ด้วย GPG จากคอนโซลของ GNU / Linux distro ของคุณสิ่งแรกที่คุณควรทำคือ ติดตั้ง GPG ใน distro ของคุณสำหรับสิ่งนี้คุณสามารถใช้เครื่องมือการจัดการแพ็คเกจใดก็ได้เนื่องจากความเป็นรูของเครื่องมือนี้ทำให้พร้อมใช้งานในที่เก็บทั้งหมด ตัวอย่างเช่นใน Debian และอนุพันธ์คุณสามารถลองใช้:

sudo apt-get install gnupg2

เมื่อติดตั้งแล้วคุณสามารถเริ่มใช้งานได้ ตัวอย่างเช่น ลองจินตนาการว่าคุณมีไฟล์ข้อความที่คุณต้องการเข้ารหัส เราจะเรียกไฟล์นี้ว่า private.txt ซึ่งฉันจะใส่ข้อความ LinuxAdictos.com และ เพื่อเข้ารหัส:

gpg -c privado.txt

และตอนนี้ เราจะเข้ารหัสไว้แล้วหลังจากป้อนข้อความรหัสผ่าน ที่จะถามเรานั่นคือคีย์เข้ารหัส (มันจะถามเราอีกครั้งเพื่อยืนยันและดูว่าเราไม่ได้ทำผิดพลาดเมื่อพิมพ์เนื่องจากถ้าคุณใส่คีย์อื่นแล้วจำไม่ได้หรือสับสนคุณจะไม่ สามารถถอดรหัสได้) ตา! โปรดใช้ความระมัดระวังเนื่องจากไฟล์ที่เข้ารหัสจะไม่ถูกเรียกว่า private.txt แต่จะมีการเพิ่มนามสกุล. gpg เพื่อแยกความแตกต่างจากไฟล์อื่นดังนั้นอย่าสับสนเมื่อส่งไฟล์เริ่มต้นเนื่องจากจะไม่ได้รับการป้องกัน ...

ถอดรหัสไฟล์ด้วย GPG:

ตัวอย่างการถอดรหัสด้วย gpg

ตอนนี้คุณสามารถลบต้นฉบับได้หากต้องการและทิ้งไว้เฉพาะ file.txt.gpg ส่วนตัวที่เข้ารหัสและคุณไม่สามารถเข้าใจข้อความทั้งหมดที่เรารวมไว้ในนั้นซึ่งจำได้ว่าเป็นชื่อของบล็อกนี้ ถ้าเราต้องการ ถอดรหัสข้อความ และกู้คืนไฟล์ที่มนุษย์อ่านได้และเข้าใจได้มันจะเพียงพอสำหรับเราที่จะจำรหัสผ่านที่เราใส่ไว้ก่อนหน้านี้เมื่อถามเราหลังจากดำเนินการคำสั่งต่อไปนี้:

gpg privado.txt.gpg

และตอนนี้หลังจาก ป้อนรหัสผ่าน เราจะมีไฟล์อีกครั้งเหมือนก่อนเข้ารหัส อย่างไรก็ตามดังที่คุณเห็นในภาพหน้าจอที่ฉันสร้างขึ้นจะเห็นได้ว่าโปรแกรม GPG ใช้อัลกอริทึมการเข้ารหัส AES128 เป็นค่าเริ่มต้นเนื่องจากเราไม่ได้ระบุทางเลือกอื่นใดเมื่อเราเข้ารหัสไฟล์ แต่ถ้าคุณต้องการแก้ไขประเภทของอัลกอริทึมคุณสามารถทำได้ผ่านตัวเลือก - คัดกรองบางสิ่งบางอย่าง ตามด้วยประเภทของอัลกอริทึมที่คุณต้องการจากกลุ่มที่ GPG รองรับ (คุณสามารถดูข้อมูลเพิ่มเติมได้ใน man gpg) และหากคุณต้องการทราบอัลกอริทึมที่รองรับคุณสามารถดูได้จาก:

gpg --version

และ รายการอัลกอริทึม รวมทั้งข้อมูลเกี่ยวกับเวอร์ชัน GPG เป็นต้น

อย่าลืมทิ้ง ความคิดเห็นของคุณข้อสงสัยและข้อเสนอแนะ ... ฉันหวังว่าบทช่วยสอนนี้จะช่วยคุณได้เป็นอย่างดี


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   โจสแคท dijo

    ข้อเสียเพียงอย่างเดียวที่ฉันเห็นคือเมื่อใช้ระบบนี้ไฟล์ที่ไม่ได้เข้ารหัสจะยังคง "พร้อมใช้งาน" ในกรณีของฉันฉันต้องการให้ไฟล์เริ่มต้นถูกลบอย่างปลอดภัยและ / หรือแปลงเป็นการเข้ารหัสอื่นโดยไม่ทิ้งส่วนที่เหลือไว้ในคอมพิวเตอร์ไคลเอนต์

    มีแอปพลิเคชันที่ใช้ CCRYPT ที่มีอินเทอร์เฟซแบบกราฟิก (qt5) หรือด้วยเทอร์มินัลเรียกว่า Qccrypt สำหรับ debian / ubuntu

    ทักทาย!

  2.   ไซอิบ dijo

    ฉันได้ทำการทดสอบและด้วยคำสั่งในการเข้ารหัสฉันก็ไม่มีปัญหา แต่เมื่อใช้คำสั่งเพื่อถอดรหัสปรากฎว่ามันไม่ได้ขอรหัสผ่านจากฉันและไฟล์ต้นฉบับก็ปรากฏขึ้นอีกครั้ง เกิดอะไรขึ้น?

    1.    ทำลาย dijo

      Troszkę późno, ale odszyfrowanie prawidłowo, powinno wyglądać tak: gpg -o (nazwa pliku jaki chcemy otrzymać po odszyfrowaniu) -d (nazwa zaszyfrowanego) pliku.gpg

      ในภาษาสเปน: "ช้าไปหน่อย แต่ถอดรหัสอย่างถูกต้อง ควรมีลักษณะดังนี้: gpg-o (ชื่อไฟล์ที่เราต้องการรับหลังจากการถอดรหัส) -d (ชื่อไฟล์ที่เข้ารหัส.gpg)"