ชุดการเข้ารหัส
เจรจาวิธีเข้ารหัส
ชุดการเข้ารหัส เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
ชุดรหัสลับคืออะไร
ชุดรหัสลับคือการรวมอัลกอริทึมการเข้ารหัสหลายรายการที่ตั้งชื่อไว้ และการเชื่อมต่อ TLS จะใช้ร่วมกัน
ระหว่างการจับมือ ไคลเอ็นต์และเซิร์ฟเวอร์จะเจรจาเลือกชุดรหัสลับจากรายการที่ทั้งสองฝ่ายมีร่วมกัน
องค์ประกอบของชื่อชุดรหัสลับ
ชื่อชุดรหัสลับของ TLS 1.2 รวมอัลกอริทึมหลายรายการไว้ด้วยกัน
ตัวอย่าง: ECDHE_RSA_WITH_AES_128_GCM_SHA256
- ECDHE = การแลกเปลี่ยนกุญแจ
- RSA = การยืนยันตัวตน
- AES_128_GCM = การเข้ารหัสข้อมูลปริมาณมาก
- SHA256 = การยืนยันความถูกต้องของข้อความ / PRF
องค์ประกอบการแลกเปลี่ยนกุญแจ
อัลกอริทึมการแลกเปลี่ยนกุญแจกำหนดวิธีสร้างความลับร่วม
- ECDHE และ DHE ให้ความลับส่งต่อ
- การแลกเปลี่ยนกุญแจ RSA แบบคงที่ (เก่าและถูกนำออกใน TLS 1.3) ไม่มีคุณสมบัติดังกล่าว
องค์ประกอบการยืนยันตัวตน
อัลกอริทึมการยืนยันตัวตนพิสูจน์ตัวตนของเซิร์ฟเวอร์ โดยผูกกับชนิดกุญแจในใบรับรองของเซิร์ฟเวอร์
- ใบรับรองRSAใช้ลายเซ็น RSA
- ใบรับรองECDSAใช้ลายเซ็นเส้นโค้งวงรี ซึ่งมีขนาดเล็กกว่าและทำงานได้เร็วกว่า
การเข้ารหัสข้อมูลปริมาณมาก
รหัสลับข้อมูลปริมาณมากใช้เข้ารหัสข้อมูลของแอปพลิเคชันจริง
- AES-GCM และ ChaCha20-Poly1305 เป็นรหัสลับ AEAD สมัยใหม่
- โหมด CBC รุ่นเก่ามีความปลอดภัยน้อยกว่าและกำลังถูกยกเลิกการใช้งาน
รหัสลับ AEAD
รหัสลับ AEAD (การเข้ารหัสที่ยืนยันตัวตนพร้อมข้อมูลประกอบ) เช่น AES-GCM ให้ทั้งการเข้ารหัสและความถูกต้องของข้อมูลในขั้นตอนเดียว
TLS 1.3 กำหนดให้ใช้ AEAD จึงกำจัดการโจมตีประเภทหนึ่งที่เกี่ยวข้องกับการเติมข้อมูลจากโหมดรุ่นเก่า
ชุดรหัสลับที่เรียบง่ายขึ้นใน TLS 1.3
ชุดรหัสลับของ TLS 1.3 มีชื่อสั้นลงมาก เนื่องจากการแลกเปลี่ยนกุญแจและการยืนยันตัวตนถูกเจรจาแยกกัน
ตัวอย่าง: TLS_AES_128_GCM_SHA256 ระบุเพียงรหัสลับข้อมูลปริมาณมากและแฮช
การแสดงรายการชุดรหัสลับที่ใช้ได้
คุณสามารถแสดงรายการชุดรหัสลับที่การติดตั้ง OpenSSL ของคุณรองรับได้
openssl ciphers -v 'HIGH:!aNULL:!MD5'ลำดับการเจรจา
โดยทั่วไปเซิร์ฟเวอร์จะเป็นผู้เลือกชุดรหัสลับ เมื่อเปิดใช้การกำหนดลำดับความสำคัญชุดรหัสลับโดยเซิร์ฟเวอร์ เซิร์ฟเวอร์จะเลือกชุดรหัสลับที่ปลอดภัยที่สุดจากชุดที่ทั้งสองฝ่ายรองรับ แทนที่จะให้ไคลเอ็นต์เป็นผู้ตัดสินใจ
วิธีนี้ป้องกันไม่ให้ไคลเอ็นต์ชี้นำไปใช้การเข้ารหัสที่อ่อนแอ
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';การเลือกชุดรหัสลับที่ปลอดภัย
แนวทางปฏิบัติที่ดีที่สุดสำหรับการกำหนดค่าที่ปลอดภัย:
- กำหนดให้มีความลับส่งต่อ (ECDHE/DHE)
- ใช้รหัสลับAEAD (GCM หรือ ChaCha20)
- ปิดใช้รหัสลับรุ่นเก่าอย่าง RC4, 3DES และ CBC
- เลือกใช้เฉพาะ TLS 1.2 และ 1.3
การทดสอบการกำหนดค่าของคุณ
ทดสอบว่าจริง ๆ แล้วเซิร์ฟเวอร์เจรจาอะไร รวมถึงชุดรหัสลับใดที่เซิร์ฟเวอร์ยอมรับหรือปฏิเสธ
nmap --script ssl-enum-ciphers -p 443 example.comตรวจสอบอย่างรวดเร็ว
ในชุดรหัสลับ ECDHE_RSA_WITH_AES_128_GCM_SHA256 ส่วนใดให้ความลับส่งต่อ
สรุปทบทวน
คุณได้เรียนรู้ว่าชุดรหัสลับรวมการแลกเปลี่ยนกุญแจ การยืนยันตัวตน การเข้ารหัสข้อมูลปริมาณมาก และแฮชไว้ด้วยกัน
- ECDHE ให้ความลับส่งต่อ
- รหัสลับAEAD เช่น AES-GCM ช่วยรักษาความปลอดภัยของข้อมูลและความถูกต้องของข้อมูลไปพร้อมกัน
- TLS 1.3 ใช้ชื่อชุดรหัสลับที่เรียบง่ายขึ้น
ถัดไป เราจะมุ่งเน้นการตรวจสอบใบรับรองของเซิร์ฟเวอร์
คำถามที่พบบ่อย
บทเรียน “ชุดการเข้ารหัส” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ชุดการเข้ารหัส” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ชุดการเข้ารหัส”
เจรจาวิธีเข้ารหัส คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ชุดการเข้ารหัส” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การจับมือ TLS
- ชุดการเข้ารหัส
- การตรวจสอบใบรับรอง
- การโจมตี TLS ที่พบบ่อย