Non-repudiation (ความไม่ thểปฏิเสธ) ใน Network Security คืออะไร?
Non-repudiation เป็นบริการความปลอดภัยที่รับรองว่า ฝ่ายส่งไม่สามารถปฏิเสธได้ว่า "ไม่ได้ส่งข้อความนี้" และ ฝ่ายรับไม่สามารถปฏิเสธได้ว่า "ไม่ได้รับข้อความนี้" ให้หลักฐานทางกฎหมายและเทคนิคที่ยุติธรรม
หลักการทำงาน (Mechanism)
Non-repudiation ขึ้นอยู่กับ Digital Signature (ลายเซ็นดิจิทัล) ซึ่งใช้ Asymmetric Cryptography (Public Key Infrastructure - PKI):
- Signing (ฝ่ายส่ง): ใช้ Private Key ของตนเอง ลงนามข้อมูล (Hash + Encrypt with Private Key)
- Verification (ฝ่ายรับ/Third Party): ใช้ Public Key ของฝ่ายส่ง ถอดรหัสและตรวจสอบ Hash
- Trust Anchor: CA (Certificate Authority) รับรองว่า Public Key นั้นเป็นของเจ้าของจริง (Digital Certificate)
Non-repudiation vs Authentication vs Integrity
| คุณสมบัติ | Authentication | Integrity | Non-repudiation |
|---|---|---|---|
| คำถาม | ใครส่ง? (Identity) | ข้อมูลเปลี่ยนไหม? (Tampering) | ส่งจริงไหม? (Legal Proof) |
| กลไก | Password, Token, Cert, Biometric | Hash (SHA-256), HMAC, CRC | Digital Signature (PKI) |
| Symmetric Key (Shared Secret) | ✅ ได้ (HMAC) | ✅ ได้ | ❌ ไม่ได้ (ทั้งคู่รู้ Secret) |
| Asymmetric Key (Private/Public) | ✅ ได้ | ✅ ได้ | ✅ ได้ (เฉพาะ Private Key Owner) |
| ใช้ใน Court/Legal | อ่อน | อ่อน | แข็งแกร่ง (Legal Evidence) |
ตัวอย่างการใช้งานจริง
- Email Signing (S/MIME, PGP/GPG): ลงนามอีเมล ดิจิทัล → ผู้รับยืนยันตัวตนผู้ส่ง + ข้อมูลไม่เปลี่ยน
- Document Signing (Adobe Sign, DocuSign, Thai Digital ID): กรอกเอกสารทางกฎหมาย/สัญญา
- Code Signing: Developer ลงนาม Software/Firmware → User ยืนยันมาจากผู้พัฒนาจริง ไม่ถูก改
- Blockchain/Cryptocurrency: Private Key Sign Transaction → Non-repudiation ของการโอนเงิน
- Financial Transactions (SWIFT, EMV, SEPA): Non-repudiation ของคำสั่งจ่ายเงิน
- Audit Logs with Digital Signatures: Log ไม่สามารถแก้ไข/ลบได้โดยไม่ถูกตรวจพบ
TLS/SSL ให้ Non-repudiation ได้ไหม?
ไม่ได้ (TLS ให้ Authentication + Integrity + Confidentiality)
- TLS ใช้ Symmetric Key (Session Key) สำหรับเข้ารหัสข้อมูล (Performance)
- Symmetric Key = ทั้ง Client และ Server รู้ → ใครก็แก้ไข/สร้าง Message ใหม่ได้ → ไม่มี Non-repudiation
- แก้: ใช้ Application-layer Signing (S/MIME, PGP, XML-DSig, JWS, COSE) บน TLS
การป้องกัน Private Key (Critical for Non-repudiation)
- Hardware Security Module (HSM): FIPS 140-2/3 Level 3/4 (Thales, nCipher, AWS CloudHSM, Azure Dedicated HSM)
- Smart Card / USB Token (eToken, YubiKey, Feitian): Private Key ไม่ออกจาก Device
- TPM (Trusted Platform Module): บน Motherboard/Laptop สำหรับ Machine Identity
- Secure Enclave (Apple) / StrongBox (Android): Mobile Device Key Storage
Legal Framework (กรอบกฎหมาย)
- Thailand: พ.ร.บ. การทำธุรกรรมทางอิเล็กทรอนิกส์ (ETDA) B.E. 2544/2554, พ.ร.บ. ลายเซ็นอิเล็กทรอนิกส์
- International: UNCITRAL Model Law on Electronic Signatures, eIDAS (EU), ESIGN/UETA (US)
- PKI Hierarchy: Root CA → Intermediate CA → End-Entity Cert (User/Device/Server)
Threats to Non-repudiation (Repudiation Attacks)
- Private Key Compromise: โดนขโมย → Attacker ลงนามปลอมได้ → Owner อ้างว่า "ไม่ใช่ฉัน"
- Key Escrow/Backup ไม่ปลอดภัย: Admin/CA ดู Private Key ได้
- Weak Algorithm/Key Size: RSA-1024, SHA-1 → แกะได้
- Replay Attack: นำ Signature เก่าไปใช้ซ้ำ (แก้ด้วย Timestamp, Nonce, Sequence Number)
- Malware/Compromised Endpoint: ขโมย Key จาก Memory/Disk
สรุป
Non-repudiation = Digital Signature (PKI/Asymmetric Crypto) + Trusted CA + Secure Key Storage ไม่ใช่ Symmetric Crypto (HMAC/AES) เพราะ Shared Secret → ทั้งคู่รู้ → ไม่มีหลักฐานว่าใครทำ มาตรฐาน: X.509, PKCS#7, CMS, PDF Advanced Electronic Signature (PAdES), XML-DSig, JWS/COSE สำคัญสำหรับ Legal, Financial, Regulatory, Audit Trail