Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

การเข้ารหัสแบบ Public Key (Asymmetric Encryption) ในความปลอดภัยเครือข่าย

Public Key Cryptography คืออะไร?

**Public Key Cryptography (PKC)** หรือ **Asymmetric Encryption** ใช้ **คู่กุญแจ 2 ตัว** ที่เกี่ยวข้องทางคณิตศาสตร์:

  • Public Key (กุญแจสาธารณะ): แจกจ่ายได้อย่างอิสระ ใช้สำหรับ **เข้ารหัส (Encrypt)** หรือ **ตรวจสอบลายเซ็น (Verify Signature)**
  • Private Key (กุญแจส่วนตัว): เก็บไว้ลับ เฉพาะเจ้าของ ใช้สำหรับ **ถอดรหัส (Decrypt)** หรือ **ลงนาม (Sign)**

หลักการทำงาน

  1. ผู้ส่งขอ **Public Key** ของผู้รับ
  2. นำ Public Key ไป **เข้ารหัสข้อความ** → ได้ Ciphertext
  3. ส่ง Ciphertext ไปหาผู้รับ
  4. ผู้รับใช้ **Private Key** ของตน **ถอดรหัส** → ได้ Plaintext

คุณสมบัติสำคัญ: ไม่สามารถคำนวณ Private Key จาก Public Key ได้ (Computationally Infeasible)

อัลกอริทึมยอดนิยม

  • RSA (Rivest-Shamir-Adleman): มาตรฐานเก่าแก่ ใช้งานแพร่หลาย
  • ECC (Elliptic Curve Cryptography): ขนาดกุญแจเล็กกว่า ความปลอดภัยเท่าเดิม ประหยัดทรัพยากร
  • Diffie-Hellman: ใช้สำหรับ Key Exchange
  • DSA/ECDSA: ใช้สำหรับ Digital Signature

การใช้งานในเครือข่ายจริง

  • TLS/SSL (HTTPS): Handshake ใช้ Asymmetric เพื่อแลกเปลี่ยน Symmetric Key
  • SSH: การยืนยันตัวตนและเข้ารหัสการเชื่อมต่อ
  • PGP/GPG: เข้ารหัสอีเมลและไฟล์
  • Digital Signature: ยืนยันความถูกต้องและ Non-repudiation
  • Cryptocurrency: Bitcoin, Ethereum ใช้ ECC

ความปลอดภัยและการโจมตี

  • ปลอดภัยต่อ Passive Attack: เฉพาะดู Public Key ไม่สามารถถอดรหัสได้
  • Chosen-Ciphertext Attack (CCA): โจมตีขั้นสูง ต้องมีตัวอย่างการถอดรหัส
  • Quantum Threat: คอมพิวเตอร์ควอนตัมอาจแยก RSA/ECC ได้ในอนาคต → Post-Quantum Cryptography

ตัวอย่างการใช้งาน (RSA)

Key Generation:
- เลือกเฉพาะ p, q → n = p×q, φ(n) = (p-1)(q-1)
- เลือก e (Public Exponent) เช่น 65537
- คำนวณ d (Private Exponent) = e⁻¹ mod φ(n)

Encryption:  c = mᵉ mod n
Decryption:  m = cᵈ mod n

ข้อดีและข้อจำกัด

ข้อดีข้อจำกัด
ไม่ต้องแลกเปลี่ยน Secret Key ล่วงหน้าช้ากว่า Symmetric Encryption มาก (1000x+)
รองรับ Digital Signature & Non-repudiationขนาดกุญแจใหญ่ (RSA 2048-4096 bits)
Scalable สำหรับผู้ใช้จำนวนมากต้องมี PKI (Public Key Infrastructure) จัดการ Certificate

สรุป

Public Key Encryption เป็น **รากฐานของความปลอดภัยอินเทอร์เน็ตสมัยใหม่** ใช้ร่วมกับ Symmetric Encryption (Hybrid Cryptosystem) เพื่อให้ได้ทั้งความปลอดภัยและประสิทธิภาพ