Post on 29-Nov-2014
description
IT346 Information System SecurityWeek 4-2: Hash Function
Faculty of Information Technology Page
Week 4-2: Hash Function& Digital Signature
ผศ.ดร.มชฌกา อองแตง
1
Cryptography� Cryptography หมายถงวทยาการรหสลบ มาจากคาวา crypto ทแปลวา
ซอน และคาวา graph ทแปลวาการเขยนCryptography จงมความหมายวา “การเขยนเพอซอนขอมล”
� Cryptography ใชในการปองกนขอมลและสารสนเทศ โดยประกอบดวย 3 เทคโนโลยหลก
Faculty of Information Technology Page
เทคโนโลยหลก‣ Symmetric Key Cryptography หรอ Secret Key Cryptographyคอการ
เขารหสขอมลแบบ “สมมาตร”‣ Asymmetric Key Cryptography หรอ Public Key Cryptographyคอการ
เขารหสขอมลแบบ “อสมมาตร”‣ Hash Function คอการสรางตวแทนขอมล
2
Hash / Message Digest� เมอตองการรกษา Integrity (ความถกตองสมบรณ) ของขอมล เราใช
เทคนคการแปลงรปแบบของขอมลทรบเขามาใหเปนขอมลทถกยอย (Message Digest) Message Digest ทเรยกวาเทคนคการ Hash
� นาขอมลไปดาเนนการผาน One-Way Hash Function ซงจะเปลยน message ขนาดใหญใหมขนาดเลก และมขนาดคงทไมวา message ดงเดมจะมขนาดเทาไรกตาม
Faculty of Information Technology Page
จะมขนาดเทาไรกตาม
� เราไมสามารถทากระบวนการยอนกลบเพอใหกลายเปนขอมลตนฉบบได แตเราสามารถใช Hash ในการตรวจสอบวาขอมลทใหมาแตละครงตรงกบทเราตองการหรอไม หรอไฟลนนมการเปลยนแปลงโดยคนอนหรอไวรสหรอไม
hm = h(m)
3
Hash / Message Digest� คณสมบตของ One-Way Hash Function คอ‣ เราไมสามารถ (ในทางปฏบต) คานวณ message จาก hash ของมนได (One-
Way) นนคอ หากม h(m) เราไมสามารถคานวณหา m ได‣ เราไมสามารถ (ในทางปฏบต) คานวณหา message 2 อนทม hash ตรงกนได‣ เราไมสามารถ (ในทางปฏบต) แกไข message โดยรกษาคา hash ใหคงเดมได‣ สามารถคานวณไดอยางรวดเรวและไมตองใชทรพยากรมาก
Faculty of Information Technology Page
‣ สามารถคานวณไดอยางรวดเรวและไมตองใชทรพยากรมาก
� ตวอยาง Hash Function ไดแก ‣ Message Digest (MD) เชน MD-4, MD-5 ‣ Secure Hash Algorithm เชน SHA-1, SHA-2
4
Hash Function ทนยม� MD5 คดคนโดย Ron Rivest ซงเปน 1 ใน 3 คนทคดคน RSA‣ แม MD5 จะไดรบความนยมอยางมาก และไดมการนามาใชแพรหลายเชน
นามาใชสราง Digital Signature ในระบบ e-commerce อยางไรกตาม MD5 กถก break ไดโดย Professor Dr. Xiaoyun Wang ในป 2004 โดยใชเครองซเปอรคอมพวเตอร IBM P690 และใชเวลา Crack 1 ชวโมงกสามารถ break ได หลงจากนนกมคนอางวาสามารถใชเครอง Notebook ความเรว 1.6 GHz
Faculty of Information Technology Page
ได หลงจากนนกมคนอางวาสามารถใชเครอง Notebook ความเรว 1.6 GHz เบรค MD5 ไดภายในเวลา 8 ชวโมง
� SHA-0 และ SHA-1 ไดถกพฒนาใหมความแขงแรงกวา MD5 ‣ พฒนาจาก MD5 เดมให Output มความเปน Random สงกวา และม
Collision นอยกวาเพอลดโอกาสในการถก Crack ได‣ SHA0 และ SHA1 กถกเบรคไดโดย Professor Dr. Xiaoyun Wang เชนกน‣ SHA2 ซงยงไมมใคร break ได
5
ตวอยาง 1: การใชงาน Hash� โดยปกต เราใชงาน Hash เพอตรวจสอบ Integrity ของขอมล‣ Alice กบ Bob แชร Secret Key K ดวยกน ใชในการ Encrypt ขอมล‣ Alice สงขอมล M ให Bob ดงน
• Encrypt ขอมล M ดวย key K ไดเปน EK(M) ���� ทาเพอรกษา Security Goal ใด?
• คานวณ h(M) แลวนาผลลพธทไดแนบไปกบ E (M)
Faculty of Information Technology Page
• คานวณ h(M) แลวนาผลลพธทไดแนบไปกบ EK(M) ���� ทาเพอรกษา Security Goal ใด?
Alice Bob
h(M) | EK(M)
Note: ������ ��� ��������� ����� Encrypt h(M)?
6
ตวอยาง 1: การใชงาน Hash‣ Bob สามารถตรวจสอบ Integrity ของขอมลทรบมาได ดงน
• Decrypt EK(M) ดวย Key K เพอใหได M• คานวณ h(M) • เปรยบเทยบ h(M) ทตนคานวณได กบ h(M) ท Alice แนบมา หากเทากน แปลวา
ไมไดมใครเปลยนแปลง M
h(M) | EK(M)
Faculty of Information Technology Page
Alice Bob
h(M) | EK(M)
h(M) | EK(M)
hash
Decrypt
M
h(M)
=?
7
ตวอยาง 2: การใชงาน Hash� ผใช machigar ตง password เปนคาวา abc123 ‣ หากเกบรหสผานลงบน Database โดยตรงจะทาใหผใดกตามทเขาถงฐานขอมล
ได ทราบรหสผานทเกบไว (ผทเขาถงฐานขอมลไดเชนผดแลระบบ ผดแลฐานขอมล และแฮกเกอรทอาจเจาะเขามาในระบบ
� เพอใหเกบ password ไดอยางปลอดภย ระบบทาการสรางตวแทนรหสผานดวยฟงกชน Hash (สราง h(password))
Faculty of Information Technology Page
เพอใหเกบ password ไดอยางปลอดภย ระบบทาการสรางตวแทนรหสผานดวยฟงกชน Hash (สราง h(password)) ‣ ตวอยาง ใชอลกอรธม MD5 ยอยรหสผาน abc123 ไดเปน
h(abc123) = e99a18c428cb38d5f260853678922e03 � ระบบเกบ h(password) ลงใน Database แทนทจะเกบ password
โดยตรง ทาใหการเปดดรหสผานใน Database ไมพบ password แตจะพบเพยงคา h(password) ทเกบไวแทน
8
ตวอยาง 2: การใชงาน Hash� การเกบ h(password) แทนคา password เปนการปองกนการเปดเผย
password ‣ เราไมสามารถใชคา h(password) ในการคานวณยอนกลบไปเปน password
ได � ในการตรวจสอบสทธผใชแตละครงสาหรบการลอกอนทาไดโดย
Faculty of Information Technology Page
ในการตรวจสอบสทธผใชแตละครงสาหรบการลอกอนทาไดโดย‣ นา password ทผใชปอนเขามาไปผานฟงกชน Hash เพอคานวณหา
h(password)‣ นาคา h(password) ทไดมาเทยบกบคา h(password) ทเกบไวใน Database
หากมคาตรงกนกแสดงวารหสผานถกตอง
9
ตวอยางการใชงาน Hash
PasswordDatabase
PasswordDatabaseh(password)
password
password
hash
=?
Faculty of Information Technology Page
h(password)
=?
&��' ()*� +,-�.*/0���1����)) Linux 678�.*/0���9�:;�*,ก��=>� MD5 ��ก �ก�*A�กB;*�C)�.B�ก�����;(ก�-&8�ก��678�.*/0���&� Web Application ���� I �8�� Moodle 6,� Mambo
10
กจกรรมท 1� จบคเพออภปรายกรณการใชเทคโนโลย Cryptography เพอปกปองการ
สอสารตอไปน� การสอสารนรกษา Confidentiality, Integrity หรอไม อยางไร
EK(M)
Faculty of Information Technology Page
� การสอสารนรกษา Confidentiality, Integrity หรอไม อยางไร
Alice Bob
Alice Bob
M | h(M)
11
กจกรรมท 1� การสอสารรกษา Confidentiality, Integrity หรอไม อยางไร
Alice Bob
h(M) | EK(M)
Faculty of Information Technology Page
� การสอสารนรกษา Confidentiality, Integrity หรอไม อยางไร
Alice Bob
EK(M | h(M))
12
Message Authentication Code (MAC)� MAC คอการเขารหสขอมลเพอใชในการพสจนความคงสภาพของขอมล
โดยจะใช Secret Key และขอความทมความยาวเทาใดกได และคานวณออกมาเปน MAC ‣ การพสจนทราบขอมลนนผตรวจสอบจะตองม Secret Key เดยวกน
Faculty of Information Technology Page
� เรา encrypt คา hash ของ message เพอสรางเปน message authentication code (MAC) ของ message จากนนจงตอสวน MAC เขาไปกบ message
13
Message Authentication Code (MAC)� กระบวนการสราง MAC
Message M
Hash Algorithm
hash(M)
MAC Message M
Faculty of Information Technology Page
hash(M)
MAC
Secret
Key encryption
EK(h(M)) | M
� การใชงาน MAC ในลกษณะน รกษา Confidentiality หรอไม?
14
Message Authentication Code (MAC)
� กระบวนการตรวจสอบ MAC
Message M
Hash Algorithmdecryption
MAC
Secret
Key
Faculty of Information Technology Page
Hash Algorithm
h(M)h(M)h(M)
decryption
=?
Secret
Key
15
Asymmetric-Key Cryptography� Asymmetric-key Cryptography เพอรกษา confidentiality‣ Encrypt ขอมลทตองการปกปดดวย public key ของผรบ
E(P, PK ) = C
P = PlaintextC = CiphertextPK = Public KeySK = Private Key
D(C, SK ) = P
EncryptionEncryption DecryptionDecryptionPlaintext Ciphertext
Public Key Private Key
Plaintext
Faculty of Information Technology Page
� Asymmetric-key Cryptography เพอรกษา Non-Repudiation‣ Encrypt ขอมลทตองการยนยนดวย private key ของผสง
E(P, PKreceiver) = C D(C, SKreceiver) = P
E(P, SKsender) = C D(C, PKsender) = P
EncryptionEncryption DecryptionDecryptionPlaintext Ciphertext
Private Key Public Key
Plaintext
16
Digital Signatures� การทาธรกรรมอเลคทรอนกสจาเปนทจะตองมการยนยนเอกสารหรอขอมลท
สงวาถกสงมาจากผสงจรง เพอการปองกนการปฏเสธการทาธรกรรม (Non-repudiation) และเปนการพสจนทราบตวตน (Authentication) ของผสรางเอกสาร
� จาก Asymmetric Key Cryptography เราทราบวาการเขารหสขอมล
Faculty of Information Technology Page
� จาก Asymmetric Key Cryptography เราทราบวาการเขารหสขอมลดวย Private Key สามารถยนยนผสงได‣ เชนผใช A เขารหสขอมลดวย Private Key ของตนเองแลวสงขอมลไปใหผใช B
และผใช C จากนนผใช B และผใช C กถอดรหสโดยใช Public Key ของผใช A ได เปนการยนยนไดวาขอมลมาจากผใช A จรง เพราะเปนคนเดยวทม Private Key ของผใช A
Digital Signature� ลายเซนอเลกทรอนกส (Digital Signature) อาศย Asymmetric Key
Cryptography เพอเปนการรบรองวาผสงนนเหนดวยกบขอความทสงและขอความสงถงผรบโดยไมมการเปลยนแปลงโดยบคคลทสาม เนอหาอาจจะเปดเผยได
� เทยบไดกบลายเซนกากบการทาธรกรรมบนกระดาษ
Faculty of Information Technology Page
� เทยบไดกบลายเซนกากบการทาธรกรรมบนกระดาษ
18
Digital Signature� นอกจากเราใช public-private key pair ในการรกษา confidentiality
โดยการใช public key ในการ encrypt ขอมลแลว เรายงสามารถใช private key ในการ encrypt ขอมล เพอพสจนตวตนของแหลงทมาของขอมลได (message authentication)‣ เฉพาะผสงทแทจรงเทานนทสามารถ encrypt ขอมลได เนองจาก private key
Faculty of Information Technology Page
เฉพาะผสงทแทจรงเทานนทสามารถ encrypt ขอมลได เนองจาก private key จะรเฉพาะผสงเทานน
� เมอ encrypt ดวย private key จะตอง decrypt ดวย public key ทสมพนธกน
19
E(C, PKsender) = PE(P, SKsender) = C
แนวคดการทา Enveloping� เนองจาก symmetric key cryptography ใชเวลาดาเนนการตา จงนยม
มากกวาในการ encrypt ขอมลมากๆ� เราสามารถใช public key encryption เปนกลไกในการสง secret
(symmetric) key ได Message m
K
Faculty of Information Technology Page 20
Symmetric Encryption
s receiverE(Ks, PKreceiver)
PKreceiverencryption
Random Key
Ks
sE(m, Ks)
Enveloping ใน Digital Signature� ในการสงขอมลทมขนาดใหญ หากตองการทจะยนยนผสงดวยวธการขางตน
เราจะตองทาการเขารหสขอมลทงหมดดวย Private Key ของผสง (เพอเปนการยนยนตวตนผสง) ‣ ขอเสยคอจะตองมการเขารหสขอมลขนาดใหญทงหมด และผรบจะตองทาการ
ถอดรหสขอมลทงหมดเชนกน ซงทาใหเปลอง CPU และเปลองเวลาในการ
Faculty of Information Technology Page
ถอดรหสขอมลทงหมดเชนกน ซงทาใหเปลอง CPU และเปลองเวลาในการประมวลผล
� หากขอมลทจะสงนน "ไมเปนความลบ“ เราสามารถทจะประยกตใชการทา Enveloping ใหใช CPU และเปลองเวลานอยลงไดโดยใชฟงกชน Hash‣ เนองจากขอมลไมเปนความลบ จงไมทา Secret Key Encryption แตทาการ
hash แทน เพอใหขอมลขนาดเลกลง
Enveloping ใน Digital Signature� เนองจากการดาเนนการ public key cryptosystem มกใชเวลาใน
ดาเนนการสง เราจงนยมทา message authentication โดยการ encrypt สวน Message Authentication Code (MAC) ซงมขนาดเลกวา และ encrypt ไดรวดเรวกวาแทน เรยกวา Digital Signature (DS)
Message m
Faculty of Information Technology Page 22
Message m
Hash Algorithm
h(m)
DS
DS Message m
SKsenderencryption
SK = Private Key
Digital Signature� ขนตอนในการทา Digital Signature‣ ขอมลทตองการจะสงจะถกคานวณใหไดขอความทสนลงโดยใช Hash Function
ผลทไดจะเปนขอมลสนๆ และความยาวคงท ซงเรยกวา Message Digest‣ ผสงจะเซนชอในขอความโดยการ Encrypt ตว Message Digest h(m) โดยใช
Private Key ของตวเอง เรยกผลลพธดงกลาววา Digital Signature‣ ขอความเดมจะถกสงไปพรอมกบ Digital Signature นไปใหผรบ
Faculty of Information Technology Page
‣ ขอความเดมจะถกสงไปพรอมกบ Digital Signature นไปใหผรบ‣ ผรบทาการตรวจสอบขอมลทไดรบ
23
DS = E(h(m), SKsender)
Digital Signature� ขนตอนในการตรวจสอบ Digital Signature
Message m
Hash Algorithmdecryption
DS
PKsender
Faculty of Information Technology Page 24
h(m)h(m)h(m)
PKsender
=?
Faculty of Information Technology Page 25
ประโยชนของการใชลายเซนดจทล� พสจนไดวาขอมลทรบมานนมาจากผสงตวจรง และไมไดถกปลอมแปลง
(Authentication)� พสจนไดวาขอมลไดถกเปลยนแปลงหรอไม (Data Integrity)
Faculty of Information Technology Page 26
กจกรรมท 2� จบกลม กลมละ 3 คน เพออภปรายความแตกตางระหวาง Message
Integrity Code (MAC) และ Digital Signature‣ การทางานและโครงสรางของ MAC และ Digital Signature ตางกนอยางไร‣ ความแตกตางดงกลาวทาให MAC และ Digital Signature ใหคณสมบตดาน
การรกษาความมนคงปลอดภยตางกนอยางไร
Faculty of Information Technology Page
การรกษาความมนคงปลอดภยตางกนอยางไร
27