การเข้ารหัสอาจไม่ใช่สิ่งที่คุณใช้เวลาคิด แต่เป็นส่วนสำคัญในการทำให้คุณออนไลน์อย่างปลอดภัย ประเภทของการเข้ารหัสมีหลายอย่างที่เราทำเมื่ออยู่บนอินเทอร์เน็ตรวมถึง 3DES, AES, และ อาร์เอส.
อัลกอริทึมเหล่านี้และอื่น ๆ ใช้ในโปรโตคอลที่ปลอดภัยของเราหลายอย่างเช่น TLS / SSL, IPsec, SSH, และ PGP. ในบทความนี้เราจะหารือเกี่ยวกับการเข้ารหัสคืออะไรมันทำอะไรบ้างมีแนวคิดหลักที่อยู่เบื้องหลังและให้คำแนะนำเกี่ยวกับการเข้ารหัสประเภทหลัก ๆ เหล่านี้และโปรโตคอลที่ปลอดภัยที่ใช้พวกเขา.
บทความนี้ให้ภาพรวมของการเข้ารหัสประเภททั่วไปและสรุปบทความเพิ่มเติมเกี่ยวกับการเข้ารหัส.
อ่านบทความด้านความปลอดภัยฉบับเต็มของเรา
อัลกอริทึมการเข้ารหัส:
- การเข้ารหัส AES
- การเข้ารหัส 3DES คืออะไรและ DES ทำงานอย่างไร?
- การเข้ารหัสการแปลงแป้นพิมพ์และการเติมเกลือ (พวกมันคืออะไรและแตกต่างกันอย่างไร)
โปรโตคอลความปลอดภัย:
- การเข้ารหัสอีเมล (ภาพรวม)
- การเข้ารหัส PGP
- วิธีใช้การเข้ารหัส PGP กับ Windows
- วิธีใช้การเข้ารหัส PGP กับ Outlook
- วิธีใช้การเข้ารหัส PGP กับ Gmail
- คู่มือสำหรับผู้เริ่มต้นสู่ SSL
- SSH คืออะไรและทำงานอย่างไร?
- TLS คืออะไรและทำงานอย่างไร?
- IPsec คืออะไรและทำงานอย่างไร?
การอ่านรหัส
- คู่มือสำหรับผู้เริ่มต้นสู่การเข้ารหัส
- การเข้ารหัสคีย์สาธารณะ
- การแลกเปลี่ยนคีย์ Diffie – Hellman คืออะไรและทำงานอย่างไร?
- ลายเซ็นดิจิทัลคืออะไรและทำงานอย่างไร?
ความปลอดภัย
- การเข้ารหัสบนคลาวด์
การเข้ารหัสคืออะไร?
การเข้ารหัสเป็นรหัสที่ใช้เพื่อซ่อนเนื้อหาของข้อความหรือข้อมูล. มันเป็นเทคนิคโบราณ แต่วิธีการแบบเก่านั้นง่ายกว่าสิ่งที่เราใช้ในทุกวันนี้ วิธีการเข้ารหัสที่เร็วที่สุดมีแนวโน้มที่จะเกี่ยวข้องกับการเปลี่ยนลำดับของตัวอักษรหรือเปลี่ยนตัวอักษรด้วยอักขระอื่น.
ตัวอย่างของการเข้ารหัสล่วงหน้า ตัวเลข จะต้องสลับ“ a” กับ z”,“ b” กับ“ y”,“ c” กับ“ x” และอื่น ๆ สำคัญ สำหรับรหัสนี้คือความรู้ที่ว่าตัวอักษรแต่ละตัวถูกสลับกับตัวอักษรที่มีตำแหน่งตรงข้ามในตัวอักษร ภายใต้รหัสประเภทนี้“ อย่าบอกใครเลย” จะกลายเป็น:
Wlm ggoo zmblmv
เมื่อเวลาผ่านไปโดยเฉพาะอย่างยิ่งในศตวรรษที่ 20 ผู้คนดีขึ้นกว่าที่จะทำลายรหัสเหล่านี้ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องสร้างรหัสที่ยากขึ้น การถือกำเนิดของคอมพิวเตอร์ทำให้รหัสถอดรหัสเมื่อคิดว่าซับซ้อนเล็กน้อย มีการใช้คอมพิวเตอร์หลายเครื่องในช่วงต้นสำหรับการทำลายรหัสทหาร สิ่งต่าง ๆ มีความซับซ้อนมากขึ้นจากการเติบโตอย่างรวดเร็วของการสื่อสารแบบดิจิตอลและความต้องการความปลอดภัยที่ซับซ้อน ตอนนี้, การเข้ารหัสชนิดที่ซับซ้อนทำให้กระดูกสันหลังของเราปลอดภัยบนอินเทอร์เน็ต.
การเข้ารหัสคีย์แบบสมมาตร
รหัสประเภทแรกที่เราจะแนะนำเรียกว่า การเข้ารหัสคีย์สมมาตร. มันเกี่ยวข้องกับ ปุ่มเดียวเพื่อเข้ารหัสและถอดรหัสข้อมูล. รหัสที่กล่าวถึงข้างต้นจะเป็นรูปแบบที่เรียบง่ายมากของการเข้ารหัสแบบ symmetric-key เนื่องจากการเข้ารหัส (a = z, b = y, c = x, ฯลฯ ) สามารถใช้ในการเข้ารหัสและถอดรหัสข้อมูล.
รุ่นที่เราใช้วันนี้เช่น 3DES และ AES ซับซ้อนกว่ามาก. พวกเขา เกี่ยวข้องกับการเพิ่มคีย์ลงในข้อมูลเช่นเดียวกับหลายรอบของการทดแทนและการโยกย้ายมันโดยใช้สูตรทางคณิตศาสตร์ที่ซับซ้อน. อัลกอริทึมเหล่านี้ทำให้ไซเฟอร์เท็กซ์ขั้นสุดท้ายดูแปลกไปจากข้อมูลที่ควรเป็นตัวแทน.
ตัวอย่างเช่นเมื่อเราเข้ารหัส“ อย่าบอกใครเลย” ด้วยรหัส“ Notapassword” ในโปรแกรมเข้ารหัส AES ออนไลน์มันจะให้:
X59P0ELzCvlz / JPsC9uVLG1d1cEh + TFCM6KG5qpTcT49F4DIRYU9FHXFOqH8ReXRTZ5vUJBSUE0nqX1irXLr1A ==
อย่างที่คุณเห็นสิ่งนี้ไม่เหมือนกับข้อความต้นฉบับและมันเกินความสามารถของสมองของทุกคนในการคำนวณตัวเลข ด้วยความยาวของคีย์ที่เพียงพอและการใช้งานที่ถูกต้อง ไม่สามารถทำได้สำหรับคอมพิวเตอร์ที่จะทำลาย AES ดังนั้นเราจึงเห็นว่าปลอดภัยที่จะใช้ในสภาพแวดล้อมทางเทคโนโลยีในปัจจุบัน.
การเข้ารหัสคีย์สมมาตรนั้นยอดเยี่ยมมาก เมื่อมีเพียงคนเดียวที่ต้องการเข้ารหัสและถอดรหัสข้อมูลหรือเมื่อหลาย ๆ ฝ่ายมีโอกาสแบ่งปันรหัสไว้ล่วงหน้า. แม้ว่าจะมีประโยชน์ในหลาย ๆ สถานการณ์ แต่ก็มีบางอย่างที่อาจเป็นปัญหาได้.
จะเป็นอย่างไรถ้ามีคนต้องการสื่อสารอย่างปลอดภัยกับคนที่ไม่เคยพบมาก่อน เห็นได้ชัดว่าพวกเขาจะไม่ได้มีโอกาสแบ่งปันรหัสล่วงหน้าและพวกเขาอาจไม่มีช่องทางที่ปลอดภัยที่พวกเขาสามารถใช้ส่งรหัสผ่านไปยังผู้รับที่ต้องการได้ นี่นำเราไปสู่วิทยาการเข้ารหัสลับประเภทอื่น ๆ, การเข้ารหัสคีย์สาธารณะ.
การเข้ารหัสคีย์สาธารณะ
การเข้ารหัสคีย์สาธารณะคือ หรือที่เรียกว่าการเข้ารหัสแบบอสมมาตรเนื่องจากต้องการคีย์หนึ่งสำหรับการเข้ารหัสข้อมูลและอีกอันสำหรับการถอดรหัส. หากคุณต้องการแลกเปลี่ยนข้อมูลอย่างปลอดภัยกับคนที่คุณไม่เคยมีโอกาสแลกเปลี่ยนกุญแจด้วยอัลกอริทึมการเข้ารหัสคีย์สาธารณะเช่น RSA จะให้วิธีในการทำเช่นนั้น.
ผู้ใช้แต่ละคนสร้างคู่กุญแจที่ทำจากทั้งสาธารณะและกุญแจส่วนตัว. รหัสสาธารณะจะถูกเปิดเผยอย่างเปิดเผยในขณะที่รหัสส่วนตัวจะถูกเก็บเป็นความลับเป็นรหัสผ่าน เนื่องจากความสัมพันธ์ทางคณิตศาสตร์ที่ซับซ้อนระหว่างสองปุ่มเมื่อข้อมูลได้รับการเข้ารหัสด้วยกุญแจสาธารณะจึงสามารถถอดรหัสได้โดยกุญแจส่วนตัวที่ตรงกัน.
เพื่อส่งข้อความด้วยการเข้ารหัสประเภทนี้, ผู้ส่งจะต้องค้นหากุญแจสาธารณะของผู้รับก่อน. พวกเขาเข้ารหัสข้อมูลด้วยกุญแจสาธารณะนี้แล้วส่งไปยังผู้รับ. แม้ว่าข้อมูลจะถูกดักข้อมูลโดยฝ่ายตรงข้าม แต่ก็ไม่สามารถอ่านได้หากไม่มีคีย์ส่วนตัว. จากนั้นผู้รับถอดรหัสข้อความด้วยรหัสส่วนตัวของพวกเขาและหากพวกเขาต้องการที่จะตอบสนองพวกเขาหากุญแจสาธารณะของผู้สื่อข่าวและทำซ้ำกระบวนการ.
การเข้ารหัสคีย์สาธารณะช้าและทรัพยากรหนัก แทนที่จะใช้มันเพื่อเข้ารหัสไฟล์ทั้งหมดเป็น โดยทั่วไปใช้ในการเข้ารหัสคีย์สมมาตรที่ใช้ในการเข้ารหัสไฟล์. เนื่องจากการเข้ารหัสคีย์สาธารณะทำให้คีย์ symmetric ถูกล็อคและจำเป็นต้องมีคีย์ symmetric เพื่อเปิดไฟล์เฉพาะบุคคลที่มีไพรเวตคีย์ที่เกี่ยวข้องเท่านั้นที่สามารถเข้าถึงข้อมูลที่เข้ารหัสได้.
สิ่งที่สามารถเข้ารหัสใช้?
การเข้ารหัสสามารถทำได้มากกว่าแค่การรักษาความปลอดภัยข้อมูลจากการสอดรู้สอดเห็น นอกจากนี้ยังสามารถใช้เพื่อพิสูจน์ความถูกต้องและความถูกต้องของข้อมูลโดยใช้สิ่งที่เรียกว่า ลายเซ็นดิจิทัล. การเข้ารหัสคือ ส่วนสำคัญของการจัดการลิขสิทธิ์ดิจิทัลและการป้องกันการทำสำเนา เช่นกัน.
การเข้ารหัสสามารถใช้เพื่อลบข้อมูลได้. เนื่องจากบางครั้งข้อมูลที่ถูกลบสามารถนำกลับมาได้โดยใช้เครื่องมือการกู้คืนข้อมูลถ้าคุณเข้ารหัสข้อมูลก่อนแล้วจึงทิ้งกุญแจสิ่งเดียวที่สามารถกู้คืนได้คือ ciphertext ไม่ใช่ข้อมูลต้นฉบับ.
ใช้การเข้ารหัสที่ไหน?
คุณอาจไม่สังเกตเห็นมัน แต่ถ้าคุณไม่ได้อาศัยอยู่ในป่า, คุณอาจพบการเข้ารหัสทุกวัน. การเชื่อมต่อส่วนใหญ่ที่คุณทำกับเว็บไซต์หลักจะถูกเข้ารหัสด้วย TLS ที่ระบุโดย HTTPS และ / หรือกุญแจในแถบ URL ของเว็บเบราว์เซอร์ ข้อความ WhatsApp ของคุณยังได้รับการเข้ารหัสและคุณอาจมีโฟลเดอร์ที่เข้ารหัสไว้ในโทรศัพท์ของคุณ.
อีเมลของคุณสามารถเข้ารหัสด้วยโปรโตคอลเช่น OpenPGP VPN ใช้การเข้ารหัสและทุกอย่างที่คุณเก็บไว้ในคลาวด์ควรได้รับการเข้ารหัส คุณสามารถเข้ารหัสฮาร์ดไดรฟ์ทั้งหมดของคุณและแม้แต่การโทรด้วยเสียงแบบเข้ารหัส.
จำนวนมากมาย ระบบการสื่อสารและการเงินของเราใช้การเข้ารหัสเพื่อรักษาความปลอดภัยข้อมูลของเรา และอยู่ห่างจากฝ่ายตรงข้าม การเข้ารหัสเป็นส่วนสำคัญของการรักษาความปลอดภัยกระเป๋าเงินดิจิตอลซึ่งเป็นส่วนสำคัญในการปกป้องเครือข่าย Tor และใช้ในเทคโนโลยีอื่น ๆ เช่นกัน.
ดูสิ่งนี้ด้วย: การเข้ารหัส PGP
การเข้ารหัสชนิดใดที่ปลอดภัยที่สุด?
นี่เป็นคำถามที่ค่อนข้างหลอกลวงด้วยเหตุผลสองข้อแยกกัน ประการแรกคือมีหลายประเภทแต่ละประเภทมีการใช้งานของตัวเอง. มันไม่มีเหตุผลที่จะเปรียบเทียบอะไรอย่าง RSA กับ AES, เพราะพวกเขาแต่ละคนแก้ปัญหาต่างกัน.
ปัญหาที่สองคือ“ ปลอดภัยที่สุด” ไม่จำเป็นต้องหมายถึงดีที่สุดหรือใช้งานได้จริงที่สุด เราสามารถทำให้อัลกอริทึมของเราแต่ละครั้งมีความปลอดภัยมากขึ้นเพียงแค่ใช้ปุ่มที่ใหญ่กว่าหรือทำซ้ำขั้นตอนวิธี.
ปัญหาของวิธีนี้คืออัลกอริธึมที่มีความปลอดภัยสูงเหล่านี้จะช้าอย่างไม่น่าเชื่อและใช้ทรัพยากรการคำนวณที่ไร้สาระ. สิ่งนี้จะทำให้พวกเขาใช้งานไม่ได้. อัลกอริธึมที่แนะนำคือสิ่งที่โดดเด่นในด้านความปลอดภัยและการใช้งานจริง.
อัลกอริทึมที่ปลอดภัยที่สุด แต่ยังใช้งานได้จริง ได้แก่ :
- สำหรับการเข้ารหัสคีย์สมมาตร – AES-256
- สำหรับการเข้ารหัสคีย์สาธารณะ – อาร์เอส-4096
เลขศูนย์แต่ละอันเหล่านี้ใช้คีย์ขนาดใหญ่ (256 และ 4096 บิตตามลำดับ) เพื่อให้ปลอดภัยยิ่งขึ้น.
อัลกอริทึมการเข้ารหัสที่สำคัญ
มีอัลกอริธึมการเข้ารหัสที่แตกต่างกันมากมาย บางคนได้รับการออกแบบมาเพื่อให้เหมาะกับวัตถุประสงค์ที่แตกต่างในขณะที่คนอื่นได้รับการพัฒนาเมื่อคนเก่ากลายเป็นไม่ปลอดภัย. 3DES, AES และ RSA เป็นอัลกอริทึมที่ใช้กันมากที่สุดในปัจจุบัน, แม้ว่าคนอื่น ๆ เช่น Twofish, RC4 และ ECDSA จะถูกนำไปใช้ในบางสถานการณ์เช่นกัน.
การเข้ารหัส 3DES
อัลกอริธึมการเข้ารหัสข้อมูลสามชั้น (TDEA), รู้จักกันในอีกชื่อหนึ่งว่ามาตรฐานการเข้ารหัสข้อมูลสามชั้น (3DES) เป็นอัลกอริทึมของคีย์สมมาตร ที่ได้รับชื่อเพราะข้อมูลผ่าน ขั้นตอนวิธี DES ดั้งเดิมสามครั้ง ระหว่างกระบวนการเข้ารหัส.
เมื่อปัญหาด้านความปลอดภัยใน DES เริ่มปรากฏชัดเจนพวกเขาก็ถูกลดทอนลงโดยการเรียกใช้ข้อมูลผ่านหลาย ๆ ครั้งด้วยปุ่มสามปุ่มในสิ่งที่ต่อมาเป็นที่รู้จักในชื่อ 3DES. แต่ละปุ่มมีความยาว 56 บิต, เหมือนใน DES ด้วยตัวเองคีย์ที่มีขนาดนี้ถือว่าไม่ปลอดภัยซึ่งเป็นสาเหตุที่ DES ถูกยกเลิกการใช้งาน ด้วยการใช้อัลกอริธึมการเข้ารหัสสามครั้ง 3DES จะยากกว่ามากในการทำลาย.
เมื่อเราใส่ข้อความของเรา“ อย่าบอกใครเลย” ด้วยรหัส“ Notapassword” ในโปรแกรมเข้ารหัส 3DES ออนไลน์มันทำให้เรา:
U2FsdGVkX19F3vt0nj91bOSwF2 + YF / PUlD3qixsE4WS9e8chfUmEXw ==
3DES มีตัวเลือกการคีย์ที่แตกต่างกันสามแบบ แต่ เพียงคนเดียวที่ได้รับอนุญาตจากสถาบันมาตรฐานและเทคโนโลยีแห่งชาติ (NIST) เกี่ยวข้องกับสามคีย์อิสระ. ในขณะที่สิ่งนี้ให้ความยาวกุญแจ 168 บิต แต่การโจมตีแบบตรงกลาง (pdf) ได้อย่างมีประสิทธิภาพ ลดความปลอดภัยในโลกแห่งความจริงลงเหลือ 112 บิต.
3DES ยังคงใช้ในด้านการเงินข้อเสนอของ Microsoft และระบบอื่น ๆ ที่หลากหลาย แต่ ดูเหมือนว่าจะมีการยกเลิกในอนาคตอันใกล้. ตามร่างที่สองของ การเปลี่ยนการใช้อัลกอริทึมการเข้ารหัสลับและความยาวของคีย์, “ หลังจากวันที่ 31 ธันวาคม 2566 ห้ามใช้ TDEA สามปุ่ม [3DES] สำหรับการเข้ารหัสเว้นแต่จะได้รับอนุญาตเป็นพิเศษจากแนวทาง NIST อื่น ๆ “นี่เป็นเพราะ 3DES ค่อนข้างช้าและไม่ถือว่าปลอดภัยเมื่อเทียบกับอัลกอริธึมอื่น ๆ.
การเข้ารหัส AES
มาตรฐานการเข้ารหัสขั้นสูง (AES) ได้รับการพัฒนาเพื่อแทนที่อัลกอริทึม DES เนื่องจากความก้าวหน้าทางเทคโนโลยีเริ่มทำให้ DES ไม่ปลอดภัยมากขึ้น มันเป็นจริง ชนิดของรหัสบล็อก Rijndael ที่ถูกเลือกให้เป็นมาตรฐาน โดย NIST หลังจากหลายปีของการประเมินกับกลุ่มคู่แข่งของอัลกอริทึม.
คุณสมบัติ AESขนาดคีย์ที่ต่างกัน hree, 128- บิต, 192- บิตและ 256- บิต ขนาดคีย์กำหนดว่าจะมีขั้นตอนการเข้ารหัส 10, 12 หรือ 14 รอบหรือไม่. กระบวนการเริ่มต้นด้วย การขยายตัวที่สำคัญ, ซึ่งเป็นตำแหน่งที่ใช้คีย์เริ่มต้นเพื่อสร้างคีย์ใหม่ที่จะใช้ในแต่ละรอบ จากนั้น เพิ่มคีย์รอบแรก เพื่อเริ่มการเข้ารหัสข้อมูล.
หลังจากนี้รอบเริ่ม สิ่งเหล่านี้เกี่ยวข้องกับ ไบต์แทน, ที่แต่ละไบต์ของข้อมูลจะถูกแทนที่ด้วยอื่นตามตารางที่กำหนดไว้ล่วงหน้า หลังจากนี้มา เลื่อนแถว, โดยที่แต่ละแถวข้อมูลถูกย้ายไปเป็นจำนวนช่องว่างที่ตั้งไว้ทางด้านซ้าย ส่วนต่อไปของรอบคือ คอลัมน์ผสม, โดยที่สูตรถูกนำไปใช้กับแต่ละคอลัมน์เพื่อกระจายข้อมูลเพิ่มเติม สุดท้ายจะมีการเพิ่มคีย์กลมอีกอัน.
สี่ขั้นตอนเหล่านี้ซ้ำแล้วซ้ำอีก รอบเก้า, 11, หรือ 13 รอบ, ขึ้นอยู่กับว่า คีย์ 128-bit, 192-bit หรือ 256-bit, ตามลำดับมีการใช้ กระบวนการเข้ารหัส AES เสร็จสิ้นโดย ไบต์แทน และ เลื่อนแถว อีกครั้งแล้ว การเพิ่มคีย์รอบสุดท้าย. ผลลัพธ์สุดท้ายคือไซเฟอร์เท็กซ์.
ดังที่เราเห็นในตอนต้นของบทความเมื่อเราป้อนข้อความ“ ไม่บอกใครเลย” ด้วยรหัส“ Notapassword” ลงในตัวเข้ารหัสออนไลน์ AES 128 บิตมันทำให้เรา:
X59P0ELzCvlz / JPsC9uVLG1d1cEh + TFCM6KG5qpTcT49F4DIRYU9FHXFOqH8ReXRTZ5vUJBSUE0nqX1irXLr1A ==
อัลกอริทึม AES ใช้เพื่อรักษาความปลอดภัยของข้อมูลของเราจำนวนมากทั้งในส่วนที่เหลือและระหว่างทาง. แอปพลิเคชั่นที่ใช้กันทั่วไปบางส่วนสามารถรวม:
- WinZip
- VeraCrypt
- สัญญาณ
- TLS
- SSH
AES ก็เช่นกัน อนุมัติโดยรัฐบาลสหรัฐอเมริกาสำหรับการเข้ารหัสข้อมูลลับ:
- ข้อมูล SECRET สามารถเข้ารหัสด้วย ปุ่ม 128 บิต.
- ข้อมูลลับสุดยอด สามารถเข้ารหัสด้วย ปุ่ม 192-bit หรือ 256-bit.
มีการโจมตีช่องทางด้านข้างจำนวนหนึ่งที่ทราบว่ามีผลต่อการใช้งานที่หลากหลายของ AES แต่อัลกอริทึมนั้นถือว่าปลอดภัย.
การเข้ารหัส RSA
RSA คือ อัลกอริทึมการเข้ารหัสลับแบบอสมมาตรแรกพร้อมให้บริการแก่สาธารณชนอย่างกว้างขวาง. อัลกอรึทึมนั้นขึ้นอยู่กับความยากลำบากในการชำระเงินในแต่ละช่วงเวลาซึ่งช่วยให้ผู้ใช้สามารถทำได้ แบ่งปันข้อมูลอย่างปลอดภัยโดยไม่ต้องแจกจ่ายกุญแจล่วงหน้า, หรือเข้าถึงช่องทางที่ปลอดภัย.
เป็นรูปแบบการเข้ารหัสคีย์สาธารณะผู้ใช้เข้ารหัสข้อมูลด้วยรหัสสาธารณะของผู้รับที่ต้องการซึ่งสามารถ ถอดรหัสด้วยรหัสส่วนตัวของผู้รับเท่านั้น. RSA ช้าและใช้ทรัพยากรการคำนวณจำนวนมากดังนั้นโดยทั่วไปจะใช้เพื่อเข้ารหัสคีย์สมมาตรซึ่งมีประสิทธิภาพมากกว่า.
เนื่องจากลักษณะของระบบคีย์สาธารณะและส่วนตัวของ RSA เราจึงไม่สามารถเข้ารหัสข้อความด้วยคีย์“ Notapassword” เดียวกับที่เราใช้ด้านบน แต่เราจะให้คุณสาธิตด้วยกุญแจสาธารณะแบบสุ่มจากเครื่องมือสร้างออนไลน์อื่น เมื่อเรา เข้ารหัส “อย่าบอกใคร” ดังต่อไปนี้ กุญแจสาธารณะ:
—– เริ่มต้นปุ่มสาธารณะ —–
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPLfAcyE5w + 6qQE6W5g2vmX55v
q9rsMqP4QWrYS1UMAVJ4DTYLT09d0MR00yxBn6f3wvJkxQXihTnsSKvtO09Ld4 / f
LGIeoYvulzp73mvPtIO2wjzP6eb0ndM42CAnxVtzzWmFXH3AYvCQ0AK + OJnJQVZ4
GgimzH4wwO9Uc6bEawIDAQAB
—–END กุญแจสาธารณะ —–
เราได้รับ:
G7qrc4WRKADzcc1a9tdFHTas8bsV2rQqgBuxQJ2O8Uvf ++ ตัน / Ss8DBe + 7kDWgSXqKGOytkYKX / DjMLUJnTxd2iVQeDF4my8O9Gl9bnUN + + OlH1e5dy6QnyEcrk 3GtAynHW3 + BK4fa7ypnJFEG6 / R9E9w5eAn49nAR12w5NxsbCoo =
ข้อความด้านบนสามารถเป็นได้เท่านั้น ถอดรหัส กลับสู่รูปแบบเดิมโดยมีดังต่อไปนี้ รหัสส่วนตัว:
—– เริ่มต้นคีย์ส่วนตัว RSA –
MIICXwIBAAKBgQDPLfAcyE5w + 6qQE6W5g2vmX55vq9rsMqP4QWrYS1UMAVJ4DTYL
T09d0MR00yxBn6f3wvJkxQXihTnsSKvtO09Ld4 / fLGIeoYvulzp73mvPtIO2wjzP
6eb0ndM42CAnxVtzzWmFXH3AYvCQ0AK + OJnJQVZ4GgimzH4wwO9Uc6bEawIDAQAB
AoGBAK5C4XgUM4Zs6GYPYJHNrPA09TrQvm91mN2ziH8tvfc / FXLNCewxZXxvoQ7y
oIMCG3IWk3OXFQAXN0U7SwFbpbE8G7J0xXftTj9nxGjb0NL3zJrJcg + VUjQ8P63F
EsEFh6tqur2j / sYQIFsgQuJ6b4gPdaLJ6rK7tVPIQ2G / TlABAkEA9wkTgdnpm9a5
3uxpUGB + pq4pAteVhWcHlWxRyEpC6Fv + D / QOkB + fkG0HUPnmGDS0HiYOYMSHL91r
dND2iHXGawJBANaymut04nAQzWhj / Vb1KSY1UjN5i7j1NZ4b2E8MWZht90exk0NY
0wxnqFR8SIHMtUnWqRIqVijEcIa7ETRmegECQQCEMmA1CecglS0MZZkKAUllayfZ
NIL4S6VcSgYN1 + esLqZr5R / x8mpSQHY82C5Q38tPou / oyuLJM4Vwku6LIfOXAkEA
tQEXAvMkBH7l7eB + sVU3P / MsPiF23pQ8g / PNxbcPwibTlynqkZjNNWQe0juFlYjU
PlAvchUnVm9mvu / vbVIIAQJBALQXwqZXfQIftvBmjHgnoP90tpN4N / xcIqMTX9x3
UZVFWPERBXfklGTOojPYO2gVVGZWr2TVqUfV3grSno1y93E =
—–END คีย์ส่วนตัว RSA —–
RSA มักใช้ใน TLS, คือ อัลกอริทึมเริ่มต้นที่ใช้ใน PGP, และมักจะเป็นอัลกอริทึมแรกที่บางคนหันไปใช้เมื่อต้องการการเข้ารหัสคีย์สาธารณะ VPN จำนวนมากใช้ RSA ในการเจรจาจับมือที่ปลอดภัยและตั้งค่าอุโมงค์ที่เข้ารหัสระหว่างเซิร์ฟเวอร์และไคลเอนต์ RSA ยังใช้ในการสร้าง ลายเซ็นดิจิทัล, ที่ ตรวจสอบความถูกต้องและความถูกต้องของข้อมูล.
มีการค้นพบช่องโหว่จำนวนหนึ่งในการนำไปใช้งานต่าง ๆ ของ RSA แต่ อัลกอริธึมเองถือว่าปลอดภัยตราบเท่าที่ใช้คีย์ 2048 บิตหรือใหญ่กว่า.
อ่านคู่มือฉบับเต็มของเราเกี่ยวกับการเข้ารหัส RSA
โปรโตคอลความปลอดภัย
ส่วนที่เหลือของบทความนี้ไม่ได้เกี่ยวกับอัลกอริธึมการเข้ารหัสเหมือนกับที่เราเพิ่งพูดถึง แต่เป็นโปรโตคอลที่ปลอดภัยซึ่งใช้อัลกอริธึมการเข้ารหัสข้างต้นเพื่อให้ข้อมูลของเราปลอดภัยในสถานการณ์ต่าง ๆ.
TLS / SSL
Transport Layer Security (TLS) มักจะถูกอ้างถึงโดยชื่อก่อนหน้านี้คือ Secure Sockets Layer (SSL) แต่ เป็นรุ่น SSL ที่ได้รับการปรับปรุงพร้อมกับการปรับปรุงด้านความปลอดภัยที่หลากหลาย. TLS เป็นหนึ่งในโปรโตคอลที่ปลอดภัยที่คุณจะพบบ่อยที่สุด เมื่อใดก็ตามที่คุณเห็น“ https” หรือล็อคสีเขียวถัดจาก URL ในแถบที่อยู่ของเว็บเบราว์เซอร์คุณจะรู้ว่า TLS กำลังถูกใช้เพื่อรักษาความปลอดภัยการเชื่อมต่อของคุณไปยังเว็บไซต์.
มันแตกต่างจากระบบทั้งสามที่กล่าวถึงข้างต้นว่า TLS ไม่ใช่วิธีการเข้ารหัส แต่เป็นโปรโตคอลที่ได้กลายเป็น มาตรฐานอินเทอร์เน็ต สำหรับการรักษาความปลอดภัยข้อมูล ซึ่งหมายความว่า TLS ไม่ใช่กลไกที่ทำการเข้ารหัส มันใช้อัลกอริทึมเช่น RSA, AES และอื่น ๆ เพื่อทำเช่นนั้น.
TLS เป็นเพียงระบบที่ตกลงกันไว้ซึ่งใช้เพื่อปกป้องข้อมูลในสถานการณ์ต่างๆ TLS สามารถใช้เข้ารหัสเข้ารหัสและแสดงว่าข้อมูลยังคงความสมบูรณ์ดั้งเดิม.
ส่วนใหญ่มักจะใช้ผ่านโปรโตคอลเลเยอร์การขนส่งเช่น HTTP (สิ่งที่เราใช้สำหรับเชื่อมต่อกับเว็บไซต์), FTP (สิ่งที่เราใช้เพื่อถ่ายโอนไฟล์ระหว่างไคลเอนต์และเซิร์ฟเวอร์) และ SMTP (สิ่งที่เราใช้สำหรับอีเมล).
การเพิ่ม TLS ให้กับโปรโตคอลเหล่านี้จะรักษาความปลอดภัยของข้อมูลที่ถูกถ่ายโอนแทนที่จะปล่อยไว้ในที่โล่งสำหรับใครก็ตามที่ขัดขวางการเข้าถึง นอกเหนือจากการอนุญาตให้เว็บเบราว์เซอร์ของคุณเชื่อมต่อกับเว็บไซต์อย่างปลอดภัย, TLS ยังใช้ใน VPN สำหรับการตรวจสอบและการเข้ารหัส.
TLS ประกอบด้วยสองชั้น Handshake Protocol และ Protocol Record. โปรโตคอล Handshake ใช้เพื่อเริ่มการเชื่อมต่อ เมื่อการเชื่อมต่อถูกสร้างขึ้นไคลเอนต์และเซิร์ฟเวอร์จะตัดสินใจว่าจะใช้โปรโตคอลรุ่นใดตรวจสอบใบรับรอง TLS ของกันและกัน (ใบรับรองที่ตรวจสอบตัวตนของแต่ละฝ่าย) เลือกอัลกอริทึมที่จะใช้สำหรับการเข้ารหัสและสร้างการแชร์ คีย์ผ่านการเข้ารหัสคีย์สาธารณะ.
โปรโตคอลการบันทึก จากนั้นรักษาความปลอดภัยแพ็กเก็ตข้อมูลที่ถูกถ่ายโอนด้วย คีย์ที่ใช้ร่วมกันที่สร้างขึ้นใน Handshake Protocol. การเข้ารหัสคีย์ Symmetric ถูกใช้เพื่อทำให้กระบวนการมีประสิทธิภาพมากขึ้น.
นอกเหนือจากการเข้ารหัสข้อมูลแล้ว Record Protocol จะถูกเรียกเก็บเงินด้วย การแบ่งข้อมูลออกเป็นบล็อกเพิ่มการขยายการบีบอัดข้อมูลและการใช้รหัสตรวจสอบข้อความ (MAC). นอกจากนี้ยังทำกระบวนการทั้งหมดเหล่านี้ในทางกลับกันสำหรับข้อมูลที่ได้รับ.
เช่นเดียวกับโปรโตคอลทั้งหมดข้อบกพร่องจำนวนหนึ่งถูกค้นพบใน SSL ซึ่งนำไปสู่การพัฒนา TLS TLS มีคุณสมบัติเพิ่มเติมที่เสริมความปลอดภัย แต่มีการปรับปรุงอย่างต่อเนื่องเมื่อเวลาผ่านไป. TLS 1.3 ถูกกำหนดในเดือนสิงหาคม 2561 แต่รุ่น 1.2 ยังคงใช้กันทั่วไป.
IPsec
IPsec หมายถึง ผมnternet Protocol วินาทีความบริสุทธิ์และเป็น ใช้อย่างเด่นชัดที่สุดใน VPN, แต่ยังสามารถใช้ใน การกำหนดเส้นทางและความปลอดภัยระดับแอปพลิเคชัน. มันใช้อัลกอริธึมการเข้ารหัสที่หลากหลายสำหรับการเข้ารหัสข้อมูลและการปกป้องความถูกต้องรวมถึง 3DES, AES, SHA และ CBC.
IPsec สามารถใช้งานได้ในสองโหมดที่แตกต่างกัน, โหมดอุโมงค์ และ โหมดการขนส่ง. ในโหมดทันเนลทั้ง ส่วนหัวและส่วนของข้อมูล ถูกเข้ารหัส และรับรองความถูกต้อง, จากนั้นส่งในแพ็คเก็ตใหม่ที่มีส่วนหัวอื่น มันถูกใช้โดย VPN ในการสื่อสารระหว่างโฮสต์ถึงโฮสต์โฮสต์ไปยังเครือข่ายและเครือข่ายไปยังเครือข่าย.
โหมดการขนส่ง เข้ารหัสและพิสูจน์ตัวตนของเพย์โหลดเท่านั้นไม่ใช่ส่วนหัว. ข้อมูลผ่านผ่านอุโมงค์ L2TP ซึ่งให้ความปลอดภัยแบบครบวงจร โดยทั่วไปจะใช้เพื่อเชื่อมต่อไคลเอนต์และเซิร์ฟเวอร์หรือเวิร์กสเตชันกับเกตเวย์.
เมื่อพูดถึงการกำหนดค่า VPN, IPsec สามารถเชื่อมต่อได้เร็วขึ้นและใช้งานได้ง่ายขึ้น, แต่ในหลายกรณี, การใช้ TLS อาจมีประโยชน์มากกว่าโดยรวม. ในขณะที่การรั่วไหลของ Snowden แสดงให้เห็นว่า NSA กำลังพยายามที่จะบ่อนทำลายความปลอดภัยของ IPsec, มันยังถือว่าปลอดภัยที่จะใช้ตราบใดที่มีการใช้งานอย่างถูกต้อง.
SSH
Secure Shell (SSH) เป็นอีกโปรโตคอลที่ปลอดภัยที่ใช้ในสถานการณ์ที่หลากหลาย เหล่านี้ ได้แก่ เข้าถึงสถานีระยะไกลอย่างปลอดภัย, ในฐานะที่เป็น อุโมงค์ที่เข้ารหัส (ในลักษณะที่คล้ายคลึงกับ VPN) โดยใช้พร็อกซี SOCKS, ถ่ายโอนไฟล์อย่างปลอดภัย, การส่งต่อพอร์ต, และอีกมากมาย.
SSH ประกอบด้วยสามชั้นแยก: ชั้นการขนส่ง, ชั้นการตรวจสอบผู้ใช้ และ ชั้นเชื่อมต่อ. เลเยอร์การขนส่งอนุญาตให้ทั้งสองฝ่ายเชื่อมต่ออย่างปลอดภัยรับรองความถูกต้องซึ่งกันและกันเข้ารหัสข้อมูลตรวจสอบความถูกต้องของข้อมูลและสร้างพารามิเตอร์อื่น ๆ อีกมากมายสำหรับการเชื่อมต่อ.
ในเลเยอร์การขนส่งไคลเอ็นต์จะติดต่อกับเซิร์ฟเวอร์และคีย์ที่มีการแลกเปลี่ยนโดยใช้ การแลกเปลี่ยนคีย์ Diffie-Hellman. อัลกอริทึมกุญแจสาธารณะ (เช่น RSA), อัลกอริทึมแบบสมมาตร – คีย์ (เช่น 3DES หรือ AES) อัลกอริทึมการตรวจสอบข้อความ และ อัลกอริทึมแฮช สำหรับการส่งสัญญาณจะถูกเลือกด้วย.
เซิร์ฟเวอร์แสดงวิธีการรับรองความถูกต้องที่รองรับให้กับลูกค้าซึ่งอาจรวมถึงรหัสผ่านหรือลายเซ็นดิจิทัล ไคลเอนต์รับรองความถูกต้องแล้วตัวเองเหนือชั้นรับรองความถูกต้อง ใช้ระบบใดก็ได้ที่เห็นด้วย.
ในเลเยอร์การเชื่อมต่อสามารถเปิดได้หลายช่องทางเมื่อลูกค้าได้รับการรับรองความถูกต้องแล้ว. ช่องสัญญาณแยกใช้สำหรับการสื่อสารในแต่ละบรรทัด, เช่นช่องสำหรับแต่ละเซสชันเทอร์มินัลและไคลเอนต์หรือเซิร์ฟเวอร์สามารถเปิดช่อง.
เมื่อฝ่ายใดฝ่ายหนึ่งต้องการเปิดช่องทางก็จะส่งข้อความไปยังอีกด้านหนึ่งพร้อมพารามิเตอร์ที่ตั้งใจไว้. หากอีกด้านหนึ่งสามารถเปิดช่องภายใต้ข้อมูลจำเพาะเหล่านั้นก็จะเปิดและแลกเปลี่ยนข้อมูล. เมื่อฝ่ายใดฝ่ายหนึ่งต้องการที่จะปิดช่องทางพวกเขาส่งข้อความไปยังอีกด้านหนึ่งและปิดช่อง.
ในขณะที่ SSH tunnel ไม่ใช่ VPN แต่สามารถใช้เพื่อให้ได้ผลลัพธ์ที่คล้ายกัน คุณสามารถใช้พร็อกซี SOCKS เพื่อเข้ารหัสปริมาณการใช้งานของคุณจากไคลเอนต์ SSH ไปยังเซิร์ฟเวอร์ SSH วิธีนี้ช่วยให้คุณสามารถเข้ารหัสปริมาณการใช้งานจากแต่ละแอปพลิเคชันได้ มันไม่ได้นำเสนอความเป็นสากลของ VPN.
การรั่วไหลของ Snowden มีไฟล์ซึ่งแนะนำว่า NSA อาจถอดรหัส SSH ได้ในบางกรณี. ในขณะที่การใช้งานบางอย่างอาจมีความเสี่ยง, โปรโตคอล SSH นั้นโดยทั่วไปถือว่าปลอดภัยที่จะใช้.
PGP
PGP เป็นโปรโตคอลความปลอดภัยขั้นสุดท้ายที่เราจะพูดถึงในวันนี้ จะช่วยให้ผู้ใช้ เข้ารหัสข้อความของพวกเขาเช่นเดียวกับการเซ็นชื่อแบบดิจิทัลเพื่อพิสูจน์ความถูกต้องและความสมบูรณ์ของพวกเขา. นับตั้งแต่ช่วงต้นยุค 90 มันเป็นเครื่องมือสำคัญในการปกป้องข้อมูลที่สำคัญในอีเมล.
โปรโตคอลเองเรียกว่าจริง ๆ แล้ว OpenPGP, แต่ PGP มีประวัติอันยาวนานและซับซ้อนซึ่งเกี่ยวข้องกับโครงการเริ่มต้นและ PGP Inc. ซึ่งเป็น บริษัท ที่ก่อตั้งขึ้นโดยมีการพัฒนา PGP Inc. ได้ถูกซื้อกิจการโดย บริษัท อื่นหลายต่อหลายครั้งด้วยทรัพย์สินบางส่วนของไซแมนเทคและ บริษัท อื่น ๆ.
มาตรฐาน OpenPGP ได้รับการพัฒนาในปี 1997 เพื่อให้ PGP กลายเป็น ระบบที่ใช้ทั่วโลกและใช้งานร่วมกันได้. มันสามารถนำไปใช้อย่างอิสระในไคลเอนต์อีเมลที่หลากหลาย แต่หนึ่งในการกำหนดค่าที่ใช้บ่อยที่สุดเกี่ยวข้องกับ Gpg4win, แพ็คเกจการเข้ารหัสโอเพนซอร์ซสำหรับ Windows.
OpenPGP สามารถใช้กับอัลกอริทึมที่แตกต่างกันจำนวนมากเช่น RSA หรือ DSA สำหรับการเข้ารหัสคีย์สาธารณะ AES, 3DES และ Twofish สำหรับการเข้ารหัสคีย์แบบสมมาตร และ SHA สำหรับการคร่ำครวญ.
ในระหว่างการพัฒนานั้นพบช่องโหว่จำนวนหนึ่งในการติดตั้ง OpenPGP ที่หลากหลาย เวอร์ชันใหม่ได้ระบุถึงข้อบกพร่องด้านความปลอดภัยเหล่านี้ซึ่งเป็นเวอร์ชันล่าสุด, EFAIL, ถูกค้นพบในปีนี้.
ตราบใดที่การแสดงผล HTML และ JavaScript ถูกปิดใช้งานในขณะที่ดูอีเมลและการโหลดเนื้อหาภายนอกโดยอัตโนมัติจะหยุดลง, PGP ยังถือว่าปลอดภัย. ลูกค้าบางรายเช่นธันเดอร์เบิร์ดได้ปล่อยอัพเดตซึ่งช่วยลดปัญหาเหล่านี้.
การเข้ารหัสมีความปลอดภัย?
เมื่อพูดถึงเรื่องความปลอดภัยไม่มีอะไรที่ปลอดภัยอย่างสมบูรณ์ หากคุณต้องการคุณสามารถสร้างกำแพงสูง 100 ฟุตเพื่อปกป้องบ้านของคุณ สิ่งนี้จะป้องกันไม่ให้โจรส่วนใหญ่เข้ามาในบ้านของคุณได้ แต่มันจะมีราคาแพงและไม่สะดวก และแม้ว่ามันอาจป้องกันไม่ให้ขโมยส่วนใหญ่เข้ามาใครก็ตามที่มีบันไดที่มีความสูง 100 ฟุตสามารถเข้าถึงได้หากพวกเขาต้องการ.
การเข้ารหัสนั้นเหมือนกัน. เราสามารถใช้อัลกอริธึมที่ซับซ้อนกว่านี้เพื่อทำให้ข้อมูลของเราปลอดภัยยิ่งขึ้น แต่มันจะทำให้กระบวนการช้าลงและสะดวกน้อยลง. เป้าหมายของการรักษาความปลอดภัยคือการโจมตีด้วยค่าใช้จ่ายสูงและใช้เวลานานเกินไปในการติดตั้งกับคุณ การป้องกันที่ถูกต้องจะขึ้นอยู่กับสิ่งที่คุณพยายามปกป้องมีค่าเท่าไรและมีเป้าหมายมากน้อยเพียงใด.
หากคุณเป็นเพียงคนธรรมดาที่ต้องการรักษารหัสผ่าน Facebook ให้ปลอดภัย, คุณจะไม่ต้องไปไกลเท่ากับรัฐบาลสหรัฐฯเมื่อพวกเขาส่งความลับทางการทหาร.
ภัยคุกคามที่เป็นไปได้มากที่สุดกับรหัสผ่าน Facebook ของคุณอาจเป็นแฮ็กเกอร์ที่เบื่อหน่าย รัฐบาลต้องกังวลเกี่ยวกับกลุ่มที่ได้รับการสนับสนุนด้านการเงินด้วยการสนับสนุนจากรัฐ. ฝ่ายตรงข้ามเหล่านี้มีความสามารถมากกว่าซึ่งหมายความว่าการรักษาความปลอดภัยจะต้องเข้มงวดมากขึ้นเพื่อให้การโจมตีสำเร็จไม่น่าเป็นไปได้.
อย่างไรก็ตามขั้นตอนวิธีการเข้ารหัสและโปรโตคอลความปลอดภัยทั้งหมดที่เราได้กล่าวถึงในวันนี้ถือว่าปลอดภัย โดย “ปลอดภัย” เราหมายถึงว่ามันเป็น เป็นไปไม่ได้ที่ทุกคนจะแยกพวกเขาออกจากแกนกลางโดยใช้เทคโนโลยีในปัจจุบัน. แน่นอนทั้งหมดนี้ขึ้นอยู่กับสิ่งเหล่านี้ โปรโตคอลและอัลกอริทึมที่นำมาใช้อย่างถูกต้องและใช้งาน.
เนื่องจากแนวการคุกคามมีการพัฒนาอยู่ตลอดเวลาจึงพบช่องโหว่ใหม่ ๆ อยู่เสมอเมื่อมีการใช้งานอัลกอริธึมและโปรโตคอลต่าง ๆ ด้วยเหตุนี้เอง คเป็นสิ่งสำคัญที่จะติดตามข่าวสารล่าสุดเกี่ยวกับพัฒนาการและความเสี่ยงล่าสุด.
โดยการติดตามประเด็นล่าสุดการใช้มาตรการความปลอดภัยเหล่านี้อย่างเหมาะสมและใช้งานภายในแนวทางที่เหมาะสม, คุณควรใช้การเข้ารหัสแต่ละประเภทด้วยความมั่นใจ.
กุญแจรักษาความปลอดภัยอินเทอร์เน็ต โดย Mike MacKenzie ภายใต้ มอนส์ CC0