Cryptography Cryptography & & Steganography Steganography Lec. Sanchai Yeewiyom School of Information and Communication Technology University of Phayao 235034 Security in Computer Systems and Networks 235034 Security in Computer Systems and Networks
Jan 04, 2016
CryptographyCryptography & & SteganographySteganography
Lec. Sanchai YeewiyomSchool of Information and
Communication TechnologyUniversity of Phayao
235034 Security in Computer Systems and 235034 Security in Computer Systems and NetworksNetworks
Cryptography
• คื�อ การเข้ารหั�สข้อมู�ลเพื่��อป้�องก�นการดั�กดั�ข้อมู�ลจาก Sniffer หัร�อการแกไข้ข้อมู�ล
• การเข้ารหั�สข้อมู�ลมู�จ�ดัป้ระสงคื�เพื่��อร�กษาคืวามูล�บข้องข้อมู�ล ข้อมู�ลน�"นจะถู�กเป้$ดัอ%านโดัยบ�คืคืลที่��ไดัร�บอน�ญาตเที่%าน�"น หัล�กการข้องการเข้ารหั�สข้อมู�ลคื�อแป้ลงข้อมู�ล (E ncrypt) ไป้อย�%ในร�ป้ข้องข้อมู�ลที่��ไมู%สามูารถูอ%านไดัโดัยตรง ข้อมู�ลจะถู�กถูอดักล�บดัวยกระบวนการถูอดัรหั�ส (Decryption)
Cryptography ในอดั�ต• Caesar Cipher
• Ciphertext : WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ
• Plaintext : the quick brown fox jumps over the lazy dog
Cryptography ในอดั�ต• Monoalphabetic Cipher
• Polyalphabetic Cipher ก,าหันดัระยะหั%างแต%ละช่%วงใหัไมู%เที่%าก�น
Cryptography ในอดั�ต
• One-Time Pad• ใช่ Key จากการส�%มู และมู�คืวามูยาวข้นาดั
เที่%าก�บ Plain Text และไมู%มู�การใช่ Key น�"นซ้ำ,"าอ�ก
• Key เร�ยกว%า Pad
Cryptography
ป้/จจ�บ�นสามูารถูแบ%งการเข้ารหั�สข้อมู�ลเป้0น 3 ป้ระเภที่
• Symmetric Key Cryptography (Secret Key Cryptography)
• Asymmetric Key Cryptography (Public Key Cryptography)
• Hash Function
Symmetric Key Cryptography
• การเข้ารหั�สและถูอดัรหั�สโดัยใช่ก�ญแจรหั�สต�วเดั�ยวก�น คื�อ ผู้�ส%งและผู้�ร �บจะตองมู�ก�ญแจรหั�สที่��เหัมู�อนก�นเพื่��อใช่ในการเข้ารหั�สและถูอดัรหั�ส
Stream Cipher
• เข้ารหั�สที่�ละ bit, byte หัร�อ word• มู�การที่,า Feedback เพื่��อที่,าใหั Key ที่��ใช่
เข้ารหั�สเป้ล��ยนไป้เร��อยๆ
Block Cipher
• เข้ารหั�สข้อมู�ลที่�ละกล�%มูข้องข้อมู�ล โดัยข้อมู�ลจะมู�ข้นาดัเที่%าก�นเสมูอ
• Exp.•Electronic Codebook (ECB)•Cipher Block Chaining (CBC)
Electronic Codebook (ECB)
• Secret Key จะถู�กใช่เข้ารหั�ส Block ข้อง Plain Text ผู้ลล�พื่ธ์�ที่��ไดัคื�อ Block ข้อง Cipher Text
• ถูาเข้ารหั�ส Block ข้อง Plain Text ที่��เหัมู�อนก�นโดัยใช่ Key เดั�ยวก�น ผู้ลล�พื่ธ์�ที่��ไดัคื�อ Block ข้อง Cipher Text ที่��เหัมู�อนก�น
• เป้0นที่��น5ยมูใช่ก�นที่��วไป้ แต%มู�จ�ดัอ%อนที่��โดันโจมูต�โดัยใช่ว5ธ์� Brute Force ไดัง%าย
Cipher Block Chaining (CBC)
• เพื่5�มูกลไกการ Feedback เพื่��อส%งข้อมู�ลเข้ามูาเป้0น Input ส,าหัร�บการเข้ารหั�ส
• น,า Plain Text มูาที่,าการ - Exclusive OR(XOR) ก�บ Cipher Text ข้อง Block ก%อนหันา A B X
0 0 00 1 11 0 11 1 0
A pixel-map version of the image on the left was encrypted with ECB mode to create the center image:
Original Encrypted using ECB mode Encrypted using a more secure
mode, e.g. CBC
Symmetric Key Cryptography Example
• Data Encryption Standard (DES)• Triple-DES• Advanced Encryption Standard
(AES)• Rivest Ciphers (RC)• Blowfish
Data Encryption Standard (DES)
• พื่�ฒนาโดัย IBM• เข้ารหั�สแบบ Block Cipher• ข้อมู�ล Block ละ 64 bit และใช่ Key
ข้นาดั 56 bit• เป้0นที่��น5ยมูในอดั�ต แต%ป้/จจ�บ�นถู�กถูอดัรหั�ส
ไดัง%ายและเร8ว เน��องจาก Key มู�ข้นาดัเล8ก
Triple-DES (3DES)
• ที่,าการเข้ารหั�สแบบ DES วนซ้ำ,"าก�น 3รอบ
• ข้นาดัข้อง Key คื�อ 112 หัร�อ 168 bit
• เป้0นมูาตรฐานการเข้ารหั�สข้อมู�ลในป้/จจ�บ�น
Advanced Encryption Standard (AES)
• ถู�กพื่�ฒนาข้:"นมูาโดัย National Institute of Standards and Technology (NIST) เพื่��อใช่เป้0นมูาตรฐานการเข้ารหั�สข้อมู�ลข้องร�ฐบาลสหัร�ฐฯ
• เข้ารหั�สแบบ Block Cipher โดัยข้อมู�ล Block ละ 128 192, หัร�อ
256 bit และใช่ Key ข้นาดั 128, 192 หัร�อ 256 bit
Rivest Ciphers (RC)
• คื5ดัคืนโดัย Ron Rivest• มู�หัลาย Version
• RC4 เป้0น Stream Cipher น5ยมูใช่อย%างแพื่ร%หัลายเช่%นใน Secure Socket Layer (SSL), Wired Equivalent Privacy (WEP) ข้นาดัข้อง Key ไมู%คืงที่�� ในป้/จจ�บ�นไมู%ป้ลอดัภ�ยเน��องจากถู�กถูอดัรหั�สไดัง%ายใน WEP
•RC6 เป้0น Block Cipher พื่�ฒนาต%อยอดัจาก RC5 ถู�กน,ามูาใช่ใน AES โดัยข้อมู�ล Block ละ 128
bit และใช่ Key ข้นาดั 128192 หัร�อ 256 bit และสามูารถูก,าหันดัจ,านวนการวนรอบไดั
Blowfish
• คื5ดัคืนโดัย Bruce Schneier• เป้0น Block Cipher โดัยข้อมู�ล Block
ละ 64 bit และใช่ Key ข้นาดั - 32
448 bit วนรอบ 16 รอบ• พื่�ฒนาเพื่��อใช่ก�บ CPU แบบ 32 bit ที่��
มู� Cache ข้นาดัใหัญ%• ที่,างานไดัเร8วกว%า DES• ไมู%มู�ล5ข้ส5ที่ธ์5<
Asymmetric Key Cryptography• Public Key Cryptography
• การเข้ารหั�สและถูอดัรหั�สโดัยใช่ก�ญแจรหั�สคืนละต�วก�น • ผู้�ส%งจะมู�ก�ญแจรหั�สต�วหัน:�งในการเข้ารหั�ส และผู้�ร �บก8
จะมู�ก�ญแจรหั�สอ�กต�วหัน:�งเพื่��อใช่ในการถูอดัรหั�ส • ผู้�ใช่รายหัน:�งๆจ:งมู�ก�ญแจรหั�ส 2 คื%าเสมูอคื�อ ก�ญแจ
สาธ์ารณะ (P ublic K ey) และ ก�ญแจส%วนต�ว (P rivate K ey)
• ผู้�ใช่จะป้ระกาศใหัผู้�อ��นที่ราบถู:งก�ญแจสาธ์ารณะข้องตนเองเพื่��อใหัน,าไป้ใช่ในการเข้ารหั�สและส%งข้อมู�ลที่��เข้ารหั�สแลวมูาใหั ข้อมู�ลที่��เข้ารหั�สดั�งกล%าวจะถู�กถูอดัออกไดัโดัยก�ญแจส%วนต�วที่��เข้าคื�%ก�นเที่%าน�"น
Asymmetric Key Cryptography
• ในที่างป้ฏิ5บ�ต5แลวมู�กมู�การใช่การเข้ารหั�สที่�"งสองระบบร%วมูก�น เช่%น ในระบบ PGP (Pretty Good Privacy) ซ้ำ:�ง
ใช่ในการเข้ารหั�ส - E mail จะใช่ว5ธ์�สราง S ession K ey (ซ้ำ:�งเป้0นการ
เข้ารหั�สตามูแบบ S ymmetric K ey) เพื่��อเข้ารหั�สข้อมู�ลจากน�"น
SessionK ey จะถู�กเข้ารหั�สโดัยใช่ก�ญแจสาธ์ารณะข้องผู้�ร�บ และถู�กส%งไป้ก�บข้อมู�ลที่��เข้ารหั�สแลว
Asymmetric Key Cryptography
• การถูอดัรหั�สน�"นที่,าในที่างตรงก�นข้ามู ผู้�ร �บจะใช่ก�ญแจ
ส%วนต�วในการถูอดัรหั�สเพื่��อใหัไดั S essionK ey คื�นมูา หัล�งจากน�"นจ:งน,า S ession K
ey มูาถูอดัรหั�สข้อมู�ลอ�กข้�"นหัน:�ง• ในองคื�กรข้นาดัใหัญ%จ,าเป้0นตองใช่ Public
Key Infrastructure (PKI) ในการบร5หัารจ�ดัการ Key
RSA
• ถู�กพื่�ฒนาเมู��อพื่.ศ . 2520 โดัย รอน ร5เวสต� (Ron Rivest ) อาดั� ช่ามู�ร� (Adi Shamir )และเล8น แอเดั5ลแมูน (Len Adleman )
• ใช่ไดัที่� "ง Encryption และ Digital Signature
• ใช่ใน Protocol ส,าหัร�บการคืาอ5เล8กที่รอน5กส� (e-commerce ) และเช่��อว%ามู�คืวามูป้ลอดัภ�ย เมู��อมู� Key ที่��ยาวพื่อ
• โดัยป้กต5บนอ5นเที่อร�เน8ตใช่ Key ข้นาดั 1024, bit
Digital Signature
• ใช่ในการพื่5ส�จน�ที่ราบต�วตนข้องผู้�ส%งข้อคืวามู (Authentication)
• ใช่ตรวจสอบว%าข้อคืวามูน�"นถู�กเป้ล��ยนแป้ลงแกไข้ระหัว%างการร�บ-ส%งหัร�อไมู% (Data Integrity)
• เน�"อหัาข้องข้อคืวามูมู�กเป้$ดัเผู้ยไดั เน��องจากใช่หัล�กการตรงข้ามูก�บการเข้ารหั�ส
Digital Certificate• ใช่ในการตรวจสอบเพื่��อสรางคืวามูมู��นใจว%า
Public Key ที่��เราไดัมูาใช่ในการเข้ารหั�ส เป้0นข้องคื�%สนที่นาที่��แที่จร5ง
• ใช่ระบบแจกจ%ายคื�ย�ที่��เร�ยกว%า Certificate Authority (CA) ซ้ำ:�งจะเป้0นผู้�ร �บรองว%า Public Key เป้0นข้องใคืร โดัยจะออก Digital Certificate ใหั
• น5ยมูน,ามูาใช่ในการร�บรอง Website E-commerce เพื่��อสรางคืวามูน%าเช่��อถู�อ
• บร5ษ�ที่ที่��ใหับร5การ ไดัแก% Cybertrust, VeriSign etc.
ผู้�ใหับร5การออกใบร�บรองอ5เล8กที่รอน5กส� (CA )
ในป้ระเที่ศไที่ยหน่�วยงาน่ภาครั�ฐหน่�วยงาน่ภาครั�ฐ ไดัแก%1 . ส,าน�กบร5การเที่คืโนโลย�สารสนเที่ศภาคืร�ฐ2 . ส,าน�กงานคืณะกรรมูการก,าก�บหัล�กที่ร�พื่ย�และตลาดัหัล�กที่ร�พื่ย�3 . ส,าน�กงานป้�องก�นและป้ราบป้รามูการฟอกเง5น4 . ธ์นาคืารแหั%งป้ระเที่ศไที่ย5 . Khonthai CA6 . กระที่รวงการคืล�ง
หน่�วยงาน่ภาคเอกชน่หน่�วยงาน่ภาคเอกชน่ ไดัแก%1 . บร5ษ�ที่ ที่�โอที่� จ,าก�ดั (มูหัาช่น)2 . บร5ษ�ที่ กสที่ โที่รคืมูนาคืมู จ,าก�ดั (มูหัาช่น)3 . บร5ษ�ที่ ไที่ยดั5จ5ที่�ล ไอดั� จ,าก�ดั4 . บร5ษ�ที่ Max Saving (Thailand ) Co.,Ltd
Hash Function
• Hash Function บางที่�เร�ยกว%า -Oneway encryption เป้0น
Algorithm ในการเข้ารหั�สโดัยไมู%ตองใช่ Key และคื%าแฮช่ที่��คื,านวณจาก Plaintext มู�คืวามูยาวคืงที่�� ซ้ำ:�งไมู%สามูารถู
คื,านวณหัาเน�"อหัาและคืวามูยาวเดั5มูข้องข้อคืวามูเดั5มูไดั• Hash Function จะใช่ส,าหัร�บการคื,านวณ Digital
Fingerprintข้องเน�"อหัาไฟล� หัร�อ Message Digest เพื่��อตรวจสอบดั�
ว%าไฟล�น�"นมู�การเป้ล��ยนแป้ลงโดัยคืนอ��นหัร�อ Virus หัร�อไมู%
Hash Function
• ใช่ใน Operating System เพื่��อเข้ารหั�ส Password ในการ Login
• ใช่ในการร�กษาคืวามูคืงสภาพื่ข้องข้อมู�ล (Integrity)
• ที่��น5ยมูใช่ไดัแก% MD5, SHA-1
Message Digest (MD)
Message Digest หัร�อเร�ยกส�"นๆว%า Digest แป้ลว%าข้อคืวามู
สร�ป้จากเน�"อหัาข้อคืวามูต�"งตน โดัยป้กต5ข้อคืวามูสร�ป้จะมู�คืวามูยาวนอยกว%าคืวามูยาวข้องข้อคืวามูต�"งตนมูากจ�ดัป้ระสงคื�ส,าคื�ญข้องอ�ลกอร5ที่:มูน�"คื�อ การสรางข้อคืวามูสร�ป้ที่��สามูารถูใช่เป้0นต�วแที่นข้องข้อคืวามูต�"งตนไดั โดัยที่��วไป้ข้อคืวามูสร�ป้ (Digest) จะมู�คืวามูยาว 128 บ5ต และจะไมู%ข้:"นก�บข้นาดั
คืวามูยาวข้องข้อคืวามูต�"งตน
MD2
• ผู้�พื่�ฒนาคื�อ Ron Rivest อ�ลกอร5ที่:มูน�"เช่��อก�นว%ามู�คืวามู
แข้8งแกร%งที่��ส�ดัในบรรดัาอ�ลกอร5ที่:มูต%างๆ ที่�� Rivestพื่�ฒนาข้:"นมูา
ข้อเส�ยข้องอ�ลกอร5ที่:มูน�"คื�อใช่เวลามูากในการคื,านวณ Digest
หัน:�งๆ MD2 จ:งไมู%คื%อยไดัมู�การใช่งานก�นมูากน�ก • 2MD สราง Digest ที่��มู�คืวามูยาว 128 บ5ต
MD4
• ผู้�พื่�ฒนาคื�อ Rivest เช่%นเดั�ยวก�บ 2MD อ�ลกอร5ที่:มูน�"พื่�ฒนาข้:"นมูาเพื่��อแกป้/ญหัาคืวามูล%าช่าในการคื,านวณข้อง 2 อย%างไรก8ตามูในภายหัล�งไดัพื่บว%าอ�ลกอร5ที่:มูมู�ข้อบกพื่ร%องที่��เก��ยวข้องก�บคื�ณสมูบ�ต5ข้อที่�� 3 [คืวามูพื่รอมูใช่งาน (Availability)] โดัยตรง กล%าวคื�อป้/ญหัาการช่นก�นข้อง Digest มู�โอกาสเก5ดัข้:"นไดัไมู%นอย • 4MD ผู้ล5ต Digest ที่��มู�ข้นาดั 128 บ5ต
MD5
• Rivest เป้0นผู้�พื่�ฒนาเช่%นก�นโดัยพื่�ฒนาต%อจาก 4MDเพื่��อใหัมู�
คืวามูป้ลอดัภ�ยที่��ส�งข้:"น มู�ร�ป้แบบคืลาย MD4 แต%มู�การเพื่5�มูฟ/งก�ช่�นการคื,านวณ ที่,าใหัใช่เวลาการที่,างานมูากข้:"น ถู:งแมูจะเป้0นที่��น5ยมูใช่งานก�นอย%างแพื่ร%หัลาย ที่ว%าก8มู�ผู้�พื่บจ�ดับกพื่ร%องข้อง 5MD (เช่%นเดั�ยวก�บ 4 จ:งที่,าใหัคืวามูน5ยมูเร5�มูลดัลง • 5 ผู้ล5ต Digest ที่��มู�ข้นาดั 128 บ5ต
Secure Hash Algorithm(SHA)
• อ�ลกอร5ที่:มู SHA ไดัร�บแนวคื5ดัในการพื่�ฒนามูาจาก 4MD
และไดัร�บการพื่�ฒนาข้:"นมูาโดัย National Security Agency
(NSA) เพื่��อใช่งานร%วมูก�บ Digital Signature โดัยเป้0นอ�ลกอร5ที่:มู
ที่��ถู�กน,ามูาใช่ในมูาตรฐาน Secure Hash Standard (SHS) ข้อง
NIST ซ้ำ:�งมู�อย�%หัลายเวอร�ช่�น• SHA สราง Digest ที่��มู�ข้นาดั 160 บ5ต
-SHA 1
• - SHA 1 เป้0น Algorithm ที่��มู�คืวามูป้ลอดัภ�ยส�ง ถู�กน,าไป้ใช่งานในหัลากหัลายร�ป้แบบ ที่�"งในผู้ล5ตภ�ณฑ์�ร�กษาคืวามูป้ลอดัภ�ย รวมูถู:ง Protocol หัลายต�ว เช่%น SSL
• - SHA 1 สราง Digest ที่��มู�ข้นาดั 160 บ5ต
- - SHA 256, SHA 384 และ -SHA 512
• NIST เป้0นผู้�น,าเสนอ Algorithm ที่�"งสามูน�"ในป้C 2001 เพื่��อ
ใช่งานร%วมูก�บ Algorithm AES• Algorithm เหัล%าน�"สราง Digest ที่��มู�
ข้นาดั 256 384 และ 512 บ5ต ตามูล,าดั�บ
Steganography
• เป้0นการซ้ำ%อนหัร�ออ,าพื่รางข้อมู�ลที่��ตองการส��อสาร ไป้ก�บส5�งอ��นๆซ้ำ:�งดั�เหัมู�อนไมู%มู�อะไรน%าสนใจ หัร�อเบ��ยงป้ระเดั8นคืวามูสนใจ เช่%น ร�ป้ภาพื่ ว5ดั�โอ บที่คืวามู เส�ยง หัร�อส5�งอ��นๆที่��ไมู%ใช่%ข้อคืวามู
• บางคืร�"งเร�ยก Watermark
Steganography• การซ้ำ%อนข้อมู�ลมู�กใช่การซ้ำ%อนในส%วนข้อง
LSB (Least Significant Bit ) ซ้ำ:�งผู้�ใช่งานมู�กมูองไมู%เหั8นคืวามูแตกต%างข้องข้อมู�ลที่��เป้ล��ยนไป้ (Picture, Sound, etc.)
Steganography• Exp.
•OpenPuff 4.00 (http://embeddedsw.net/OpenPuff_Steganography_Home.html)
•QuickStego (http://quickcrypto.com/free-steganography-software.html)
•MP3Stego (http://www.petitcolas.net/fabien/steganography/mp3stego/index.html)
•OurSecret (http://www.securekit.net/oursecret.htm)