517344-Computer Security,MAC & Digital signature

10/02/2013 6:18 PM Study 1,188 views

Message Authentication Codes : MAC
& Digital signature

Message Authentication Codes : MAC

  • Message Authentication Code (MAC) หรือเรียกว่า hash function หมายถึงการเช็คความถูกต้องของข้อมูล (check sum) ที่มีการเปลี่ยนแปลงไปว่าเหมือนกันหรือไม่โดยขึ้นอยู่กับ secret key เป็นหลัก
  • MAC เป็น one way function หรือการเข้ารหัสทางเดียวที่ไม่สามารถแปลงข้อมูลกลับได้
  • Algorithm ในการเขารหัสได้แก่ Data Encryption Standard (DES) ,Hashing Function, MD5, SHA-1
  • Hashing ทำงานได้เร็ววกว่า Encryption ดังนั้นจึงเป็นที่นิยมอย่างแพร่หลาย
  • Hashed Message Authentication Code (HMAC) เป็นค่าที่เกิดจากฟังก์ชั่นแฮช
  • มีการนำ HMAC ไปใช้ในโปรโตคอล IP, SSL

Message_Authentication_Code

  • หลักการทำงานของ MAC
    • Sender จะสร้างรหัส MAC จาก Message และ Secret key โดยใช้ อัลกอลิทึม MAC เมื่อได้รหัส MAC แล้วจะส่งรหัส MAC และ Message ให้ Receiver
    • Sender และ Receiver ต้องมี Secret key ตัวเดียวกันแล้วเป็นความลับเพื่อใช้ในการเข้ารหัสและถอดรหัส
    • Receiver ได้รับ Message แล้วจะสร้างรหัส MAC จาก Message กับ Secret key ที่ได้รับมาและเปรียบเทียบว่ารหัส MAC ที่ได้รับมากับที่สร้างขึ้นตรงกันหรือไม่
    • ถ้า รหัส MAC ทั้งสองตัวตรงกันแสดงว้าข้อมูลถูกต้อง แต่ถ้าไม่ตรงกันอาจเกิดข้อพิดพลากเช่น ข้อมูลถูกเปลี่ยนแปลง

Digital Signature

  • Digital signature หรือลายเซ็นอิเล็กทรอนิกส์เป็นการแสดงความถูกต้องของข้อความหรือเอกสารที่เป็นอิเล็กทรอนิกส์
  • เราใช้ Digital signature ในการสร้างข้อความให้มีความน่าเชื่อถือว่าข้อความจาก sender จะไม่ถูกเปลี่ยนแปลงระหว่างการขนส่ง
  • Digital signature ถูกนำมาใช้กับงานที่สำคัญและต้องการความเม่นยำ เพื่อตรวจสอบความถูกต้องของเอกสารว่าถูกปลอมแปลงหรือแก้ไขหรือไม่ เช่น  การทำธุรกรรมทางการเงิน
  • Digital signature มีการเข้ารหัสแบบไม่สมมาตร (ใช้ key 2 ตัว)
  • คุณสมบัติของ Digital Signature
    • ไม่ควรมีการเปลี่ยนแปลง : ถ้า P ลงนามเอกสารบนข้อความ M แล้วเอกสารอื่นๆต้องลงนามด้วยลายเซ็นแบบเดียวกัน
    • สามารถเชื่อถือได้ : ถ้า R ได้รับเอกสารพร้อมกับการลงนามจาก P ,R สามารถตรวจสอบได้ว่าลายเซนนั้นส่งมาจาก P จริงๆ
    • ไม่มีการแก้ไข : หลังจากที่มีการส่งข้อมูลแล้วต้องไม่มีการเปลี่ยนแปลงหรือแก้ไขใดๆ
    • ไม่มีการใช้ซ้ำ

security_concepts_digitalsig

ขั้นตอนของ Digital Signatures 

  1. นำข้อมูลต้นฉบับมาทำการ Hash (ด้วยแฮชชิ่งอัลกอริทึมอย่างใดอย่างหนึ่ง เช่น MDS หรือ SHA1) ได้เป็นข้อมูลก้อนเล็กๆ เรียกว่า Message Digest
  2. นำ Message Digest มาเข้ารหัสด้วย Private Key ของผู้ส่งได้เป็น “Digital Signatures”
  3. ส่งข้อมูลต้นฉบับ (อาจจะขนาดใหญ่) ซึ่งอยู่ในรูปของ Plain Text ไปให้ผู้รับ โดยแนบ Digital Signatures ไปด้วย (มีการส่งข้อมูลไปยังผู้รับ 2 ชิ้น คือ (a) ข้อมูลต้นฉบับ และ (b) Digital Signatures)
  4. ผู้รับเมื่อได้รับข้อมูลแล้วให้ตรวจสอบข้อมูลที่ได้รับ โดยการนำ Digital Signatures มาถอดรหัสโดยใช้ Public Key ของผู้ส่ง ได้เป็น Message Digest
  5. ผู้รับนำข้อมูลต้นฉบับมา Hash (ด้วยอัลกอริทึมเดียวกันกับผู้ที่ส่งใช้ เช่น MD5 หรือ SHA1) ได้เป็น Message Digest อีกอันหนึ่ง
  6. นำ Message Digest ทั้งสองมาเปรียบเทียบกัน หากตรงกันก็แสดงว่าข้อมูลต้นฉบับถูกต้องมาจากผู้ส่งจริงและไม่มี การเปลี่ยนแปลงข้อมูลระหว่างทาง

 MAC vs. Digital Signature

  • MAC
    • การเข้ารหัสแบบ Symmetric (one key)
    • การสร้างและการตรวจสอบข้อมูลใช้ secret key ตัวเดียวกัน
  • Digital signature
    • การเข้ารหัสแบบ Asymmetric (two key)
    • ใช้ private key เข้ารหัสและใช้ public key ถอดรหัส

 

ขอบคุณข้อมูลจาก

  • Slide วิชา Computer Security
  • http://www.martroutine.com/2011/01/java-cryptography-extension-jce-cryptography-concept/
  • http://www.thailandindustry.com/guru/view.php?id=14590&section=9
  • http://gdp.globus.org/gt4-tutorial/multiplehtml/ch09s03.html
  • http://beekie39.blogspot.com/2010/08/cryptography.html

, , , , ,