อ.บุญฤทธิ์ คิดหงัน ภาควิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยฟาร์อิสเทอร์น
บทที่ 5 การเข้ารหัสข้อมูลเบื้องต้น
อาจารย์บุญฤทธิ์ คิดหงัน ภาควิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยฟาร์อิสเทอร์น การเข้ารหัสข้อมูล ระบบรหัสลับ อัลกอริธึมในการเข้ารหัส เครื่องมือในการเข้ารหัส โปรโตคอลรักษาความมั่นคงปลอดภัยในการติดต่อสื่อสารข้อมูล การโจมตีระบบรหัสลับการเข้ารหัสข้อมูล
มีจุดประสงค์เพื่อรักษาความลับของข้อมูล ข้อมูลนั้นจะถูกเปิดอ่านโดย บุคคลที่ได้รับอนุญาตเท่านั้น หลักการของการเข้ารหัสข้อมูลคือแปลง ข้อมูล (encrypt) ไปอยู่ในรูปของข้อมูลที่ไม่สามารถอ่านได้ โดยตรง ข้อมูลจะถูกถอดกลับด้วยกระบวนการถอดรหัส (decryption) ดังรูปที่ 1ไ
ข้อมูลที่สามารถอ่านได้ เรียกว่า plain text หรือ clear text
ข้อมูลที่เข้ารหัสแล้วเราเรียกว่า cipher text
ข้อมูลเมื่อเสร็จสิ้นการเข้ารหัสแล้ว ผลที่ได้ก็คือ cipher text ใน
องค์ประกอบของรหัสลับ
ข้อความต้นฉบับ (Plain text) คือ ข้อมูลต้นฉบับซึ่งเป็นข้อความที่สามารถ อ่านแล้วเข้าใจ อัลกอริทึมการเข้ารหัสลับ (Encryption Algorithm) คือ กระบวนการหรือขั้นตอนที่ใช้ในการแปลงข้อมูลต้นฉบับเป็นข้อมูลที่ได้รับการเข้ารหัส กุญแจลับ (Key) คือ เป็นกุญแจที่ใช้ร่วมกับ อัลกอริทึมในการเข้ารหัส และ ถอดรหัส ข้อความไซเฟอร์ (Ciphertext) คือ ข้อมูลหรือข่าวสารที่ได้รับการเข้ารหัส ท าให้อ่านไม่รู้เรื่อง อัลกอริทึมการถอดรหัสลับ (Decryption Algorithm) คือ กระบวนการหรือขั้นตอนในการแปลงข้อความไซเฟอร์ให้กลับเป็นข้อความต้นฉบับ โดยอาศัยกุญแจลับดอกเดียวกันการเข้ารหัสแบ่งออกเป็น 2 ประเภทใหญ่ๆคือ
1. Symmetric Cryptography (Secret
key)
2. Asymmetric Cryptography
Symmetric Cryptography
(Secret key)
เรียกอีกอย่างว่า Single-key algorithm หรือ one-key algorithm คือ การเข้ารหัสและถอดรหัสโดยใช้กุญแจ รหัสตัวเดียวกัน คือ ผู้ส่งและผู้รับจะต้องมีกุญแจรหัสที่เหมือนกันเพื่อใช้ ในการเข้ารหัสและถอดรหัส ดังรูป
Symmetric Cryptography
(Secret key)
Asymmetric Cryptography
(Public key)
การเข้ารหัสและถอดรหัสโดยใช้กุญแจรหัสคนละตัวกัน การส่งจะมี กุญแจรหัสตัวหนึ่งในการเข้ารหัส และผู้รับก็จะมีกุญแจรหัสอีกตัวหนึ่ง เพื่อใช้ในการถอดรหัส ผู้ใช้รายหนึ่งๆจึงมีกุญแจรหัส 2 ค่าเสมอคือ
กุญแจสาธารณะ (public key) และ กุญแจส่วนตัว (private key) ผู้ใช้จะประกาศให้ผู้อื่นทราบถึงกุญแจสาธารณะของตนเอง
เพื่อให้น าไปใช้ในการ เข้ารหัสและส่งข้อมูลที่เข้ารหัสแล้วมาให้ ข้อมูลที่ เข้ารหัสดังกล่าวจะถูกถอดออกได้โดยกุญแจส่วนตัวเท่านั้น ดังรูปที่
ในทางปฏิบัติแล้วมักมีการใช้การเข้ารัหสทั้งสองระบบร่วมกันเช่นใน ระบบ PGP (Pretty Good Privacy) ซึ่งใช้ในการ เข้ารหัส E-mail จะใช้วิธีสร้าง session key ซึ่งเป็นรหัส ลับตามแบบ secret key) เมื่อข้อมูลถูกเข้ารหัสด้วย
session key แล้ว จากนั้น session key จะถูก
เข้ารหัสโดยใช้กุญแจสาธารณะของผู้รับ และถูกส่งไปกับข้อมูลที่เข้ารหัส แล้ว ดังรูป
การรวมกันของวิธีการเข้ารหัสสองวิธีเป็นการรวมความสะดวกของการ เข้ารหัสแบบ สาธารณะกับความเร็วในการเข้ารหัสแบบทั่วไป เนื่องจากการ เข้ารหัสแบบทั่วไปเร็วกว่าการเข้ารหัสแบบสาธารณะประมาณ 1000 เท่า แต่การเข้ารหัสแบบสาธารณะมีข้อดีในเรื่องวิธีแจกจ่ายรหัส ดังนั้นจึงนิยมใช้ การเข้ารหัสข้อมูลซึ่งมีขนาดใหญ่ด้วยวิธีการเข้ารหัสแบบ ทั่วไป และใช้ของ การเข้ารหัสแบบสาธารณะส าหรับการส่งกุญแจของการเข้ารหัสแบบทั่วไป อ้างอิง: http://www.ku.ac.th/emagazine/august44/it/encryp.html
ระบบรหัสลับ
ระบบรหัสลับ Cryptosystems หรือเรียกว่า Cipher มี องค์ประกอบหลายส่วน เพื่อการเข้ารหัสลับข้อมูล ประกอบด้วย อัลกอริ ทึ่ม เทคนิคการจัดการข้อมูล กระบวนการ และขั้นตอนการท างาน จะถูก ผสมผสานเข้าด้วยกันเพื่อเข้ารหัสข้อมูล มีวัตถุประสงค์เพื่อรักษาข้อมูลไว้เป็นความลับ Confidentiality และจัดเตรียม กลไกการพิสูจน์ตัวตน Authentication และการให้สิทธิ์ Authorization ในการด าเนินงานแต่ละขั้นตอนทางธุรกิจในบทนี้จะกล่าวถึง
Substitution Cipher
Caesar cipher
Vigenere Cipher
columnar Transposition Cipher
Exclustive OR
Vernam Cipher
Running Key Cipher
5.1 Substitution Cipher
ระบบรหัสลับแบบสับเปลี่ยน (Substitution Cipher) หลักการก็คือาต้องสับเปลี่ยนแต่ละตัวอักษรใน plaintext ด้วย ตัวอักษรอื่น แต่ก่อนอื่นต้องเลือกก่อนว่าจะแทนแต่ละตัวอักษรด้วยอะไร อย่างเช่น A แทนด้วย T, B แทนด้วย P ฯลฯ ดังตารางต่อไปนี้
ตัวอย่าง
สมมุติว่า plaintext คือ You are so beautiful to me. (เธอสวยเหลือเกินส าหรับฉัน)
แทนตัวอักษรแต่ละตัวข้างบนนี้ด้วยตัวอักษรในตาราง เราก็จะได้ ciphertext ดังนี้
LAG TEM KA PMTGDXHGI DA VM.
ส่วนจะเอาช่องว่างและ punctuation marks ต่างๆออกหรือไม่ก็ ได้ แต่จะท าให้เดาข้อความได้ยากขึ้น
ระบบรหัสลับแบบสับเปลี่ยนนี้มีหลายหลากแบบ เพราะมีการน าไป ดัดแปลงกัน เพื่อให้ key ดูง่ายจ าง่ายขึ้น อย่างเช่นในกรณีของ Caesar shift cipher หรืออาจจะเพื่อตบตาคนดูว่าเป็น ภาษาอื่น หรือ ไม่ใช่ภาษาอะไรเลย
การสุ่มจับคู่ตัวอักษร แล้วสับเปลี่ยนตัวอักษรแต่ละตัวใน plaintext ด้วยตัวอักษรที่เป็นคู่กัน ถ้าเราใช้วิธีนี้กับตัวอักษรของ ภาษาอังกฤษ เราก็อาจจะจับคู่ได้ดังนี้ (A,V), (D,X), (H,B), (I, G), (K,J), (M,C),(O,Q),(R,L),(S,N),(U,E),(W,F),( Y,P),(Z,T)
แล้วข้อความ plaintext You are so beautiful to me ก็กลายมาเป็น
PQE VLU NQ HUVEZGWER ZQ CU.
Caesar cipher
Caesar cipher เป็นการเข้ารหัสแบบซีเคร็ทคีย์ (Secret
Key) หรือ Symmetric Key Cryptography คิดค้นโดยกษัตริย์ Julius Caesar เพื่อสื่อสารกับทหารใน
กองทัพ และป้องกันไม่ให้ข่าวสารรั่วไหลไปถึงศัตรู
หลักการของ Caesar cipher คือ จะ shift หรือ เลื่อน ตัวอักษรไป 3 ต าแหน่ง จากต าแหน่งเดิม
การเข้ารหัสของ Caesar จะใช้การเทียบตัวอักษรปกติ (Plain) กับ Cipher เช่น
Plaintext: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG Ciphertext: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ
Plain :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Cipher :
และการถอดรหัสก็จะใช้การเทียบย้อนกลับระหว่าง
Cipher กับ Plain
จุดสังเกตของ Caesar Cipher คือ Key ที่ใช้ จะเป็น Key D เนื่องจาก ตัวอักษรตัวแรกของภาษาอังกฤษคือตัว A เมื่อผ่านการเข้ารหัสจะถูก
แทนที่ด้วยตัว D ดังนั้นจะเห็นว่า Cipher ของ Caesar จะขึ้นต้นด้วยตัว D
Caesar cipher
ข้อดีของการเข้ารหัสแบบซีซาร์ (Caesar)
คือ ความง่ายในการเข้ารหัส แต่ก็มีข้อเสียคือการที่สามารถจะท าการ วิเคราะห์หาข้อความเดิมจาก Cipher Text ได้ง่าย ซึ่งการ เข้ารหัสที่ดีนั้นจะต้องหลีกเลี่ยงการถูกวิเคราะห์โดยง่ายนี้ให้ได้ วิธีการที่ น ามาวิเคราะห์ดังกล่าวนี้ก็คือ การหาสิ่งซ ้า ๆ กันจากวิธีการเข้ารหัสที่เรา เรียกว่าการหา Pattern ของตัวอักษร ซึ่งหากท าการวิเคราะห์ให้ดี จากตัวอักษรของ Cipher Text จ านวนมากพอ ก็จะเห็นได้ง่าย ว่ามีการเลื่อนล าดับของตัวอักษร 3 ตัว ดังนั้นจึงไม่เป็นการยากนักที่ผู้ไม่ ประสงค์ดีจะท าการCryptanalysis ของวิธีการเข้า รหัสแบบซี ซาร์นี้การแกะรหัส Caesar Cipher
เราสามารถที่จะถอดรหัสของ Caesar ได้โดยง่ายแม้ไม่รู้ Key โดยการกระท าที่เรียกว่า
Brute Force Attack ซึ่งสามารถแกะรหัสได้โดยไล่สุ่ม Key เพียงไม่เกิน 25 ครั้ง เท่านั้น
Decryption shift Candidate plaintext 0 (Ciphertext) exxegoexsrgi 1 (Key B) fyyfhpfytshj 2 (Key C) gzzgiqgzutik ... 24 (Key Y) cvvcemcvqpeg 25 (Key Z) dwwdfndwrqfh
การท า Brute Force Attack ยังถือว่าเป็นการเสียเวลา เพราะต้องไล่สุ่ม Key ไปเรื่อยๆ จนกว่าจะเจอ ต่อมาจึงมีการคิดค้นวิธีต่างๆ ที่จะช่วยให้เราสามารถคาดเดารหัสได้ง่าย และเร็วขึ้น โดยใช้กระบวนการทางสถิติต่างๆ เช่น Frequency Analysis วิธีการเดาจะเริ่มจากการค้นหาตัวอักษรที่ซ ้าๆ กันก่อน
หลักการแกะรหัส Caesar Cipher
หลักการแกะรหัส Caesar Cipher(ต่อ)
พิจารณาอักษร 3 ตัวแรกของประโยค ตัวที่ 2 หรือ 3 มักจะเป็นสระเสมอ ความน่าจะเป็นของตัวอักษรที่ซ ้าๆ กันได้แก่ ตัวอักษรที่เป็นสระในภาษาอังกฤษ A E I O U ตัวอักษรที่มีความถี่ปรากฏในค าภาษาอังกฤษบ่อยที่สุด C D H L N R S Tการเพิ่มระดับความปลอดภัยให้กับการเข้ารหัส
วิธีหนึ่งที่สามารถน ามาใช้ในการเพิ่มระดับความปลอดภัยให้กับการ เข้ารหัสแบบที่ใช้สัญลักษณ์เพียงหนึ่งตัวมาแทนค่าตัวอักษร ก็คือการใช้ กุญแจเข้ารหัสมาช่วย (Encryption Key) อย่างไรก็ตามการ ใช้วิธีที่เรียกว่า Frequency Distribution ซึ่งเป็นการวัด เปรียบเทียบระหว่างความซ ้ากันของตัวอักษรทั้งหมดที่มีอยู่ในข้อความที่ เป็นCipher Text แล้วเอาไปเปรียบเทียบกับความซ ้ากันของ ตัวอักษรทั้งหมดที่มีอยู่ของค าในภาษาอังกฤษ ผลที่ได้ก็คือผู้ที่ท าการเจาะ รหัสนั้นสามารถรู้ได้ว่าตัวอักษรที่ใช้ใน Cipher Text นั้นเป็น ตัวอักษรตัวใดกันแน่ในภาษาอังกฤษการแทนค่าตัวอักษรโดยการใช้สัญลักษณ์หลายตัว
(Poly-alphabetics Substitutions Ciphers)
เป็นวิธีที่ได้รับการปรับปรุงจากวิธีแรกโดยมีจุดประสงค์คือ
ไม่ให้สามารถท าการวิเคราะห์ได้โดยใช้วิธี Frequency
Distributions
หลักการที่ใช้ก็คือการใช้สัญลักษณ์หลายตัวเพื่อแทนค่า
ตัวอักษรภาษาอังกฤษตัวเดียววิธีการนี้สามารถลดความซ ้ากัน
ของตัวอักษรในข้อความ Cipher Text ได้ ดังนั้นผู้ที่
ท าการเจาะรหัสได้สามารถท าการเปรียบเทียบได้ว่าตัวอักษรใน
ข้อความ Cipher text นั้นใช้แทนตัวอักษรใดกันแน่
ในภาษาอังกฤษ
วิธีการแทนค่าที่นิยมน ามาใช้กับการเข้ารหัสแบบนั้นก็คือ การใช้ตารางแทนค่าที่ เรียกว่า Vigenere Tableaux (แทบ-โลส). ซึ่งสามารถท าให้การ วิเคราะห์โดยใช้ Frequency Distributions ยากขึ้นมากแต่
อย่างไรก็ตามยังมีวิธีการที่ใช้ได้ผลสามารถน ามาท าการเจาะรหัสแบบนี้ นั่นคือวิธีการ ที่เรียกว่า The Kasiski Method for Repeated
Patterns โดยอาศัยหลักที่ว่าค าในภาษาอังกฤษนั้นมีค าที่ใช้ทั่วไปและซ ้ากัน มากเช่น ค าว่า the, is, are, and, then, but, im-, in-, un-, -tion, -ion…..etc… เป็นต้น และค าพวกนี้สามารถท าให้เกิด Pattern ได้ใน Cipher Text ดังนั้นหากใช้วิธีการทางคณิตศาสตร์ที่ เกี่ยวกับความน่าจะเป็น (Probability) มาท าการวิเคราะห์ pattern เหล่านี้โดยละเอียดแล้วก็จะสามารถเจาะรหัสหาข้อความเดิม (Clear Text) ได้
การแทนค่าตัวอักษรโดยการใช้สัญลักษณ์หลายตัว
Vigenere cipher
Vigenere cipher เป็นการเข้ารหัสแบบซีเคร็ทคีย์
(Secret Key) หรือ Symmetric Key
Cryptography ที่อาศัยพื้นฐานเดียวกันกับ Caesar
หลักการของ Vigenere cipher คือ จะใช้ Key ที่เป็นค า มาเรียงต่อๆ กัน แล้วเข้ารหัสโดยสร้าง Caesar Cipher จาก ตัวอักษรที่ปรากฏอยู่ใน Key
ตัวอย่างเช่น
เรามี Plaintext : ATTACK AT DAWN และเลือกใช้ Keyword : LEMON
น า Plaintext มาเรียงคู่กับ Keyword ให้ได้ความยาวเท่ากันดังนี้ Plaintext : ATTACK AT DAWN Key : LEMONL EM ONLE Ciphertext : LXFOPV EF RNHR
ตัวอักษรตัวแรก - A จะถูกเข้ารหัสด้วย Caesar Cipher Key L ตัวอักษรตัวที่ 2 - T จะถูกเข้ารหัสด้วย Caesar Cipher Key E ตัวอักษรตัวที่ 3 - T จะถูกเข้ารหัสด้วย Caesar Cipher Key M ตัวอักษรตัวที่ 4 - A จะถูกเข้ารหัสด้วย Caesar Cipher Key O ตัวอักษรตัวที่ 5 - C จะถูกเข้ารหัสด้วย Caesar Cipher Key N
และเรียงต่อไปเรื่อยๆ จนกว่าจะครบประโยค
Vigenere cipher
การถอดรหัสก็ให้ท ากระบวนการย้อนกลับเหมือนกับของ Caesar แต่ต้องรู้ Keyword
Ciphertext : LXFOPV EF RNHR และ Keyword : LEMON
น า Ciphertext มาเรียงคู่กับ Keyword ให้ได้ความยาวเท่ากันดังนี้
Ciphertext : LXFOPV EF RNHR
Key : LEMONL EM ONLE Plaintext : ATTACK AT DAWN
ตัวอักษรตัวแรก - L จะถูกถอดรหัสด้วย Caesar Cipher Key L
ตัวอักษรตัวที่ 2 - X จะถูกถอดรหัสด้วย Caesar Cipher Key E
ตัวอักษรตัวที่ 3 - F จะถูกถอดรหัสด้วย Caesar Cipher Key M
ตัวอักษรตัวที่ 4 - O จะถูกถอดรหัสด้วย Caesar Cipher Key O
ตัวอักษรตัวที่ 5 - P จะถูกถอดรหัสด้วย Caesar Cipher Key N และเรียงต่อไปเรื่อยๆ จนกว่าจะครบประโยค
Vigenere cipher
ใช้ Keyword ที่เป็นค ามาเรียงต่อๆ กัน แล้วเข้ารหัสโดยสร้าง Caesar Cipher จาก ตัวอักษรที่ปรากฏอยู่ใน Key ท าให้โครงสร้างของ Cipher ที่ใช้ในการเข้ารหัส ซับซ้อนยิ่งขึ้น
แต่ถ้า Keyword ถูกขโมยไปใช้ ข้อมูลก็จะถูกถอดรหัสได้
ถึงไม่รู้ Keyword ก็ยังสามารถคาดเดา Keyword ได้จากการทดสอบตัวอักษรที่เรียง ซ ้าๆ กันควบคู่กับการพิจารณาระยะห่าง โดยวิธีการที่เรียกว่า Kasiski examination และ Friedman test (บ้างก็รู้จักในชื่อ Kappa Test)
columnar transposition cipher
ไซเฟอร์แบบคอลัมน์ (columnar transpositioncipher) เริ่มต้นด้วยการก าหนดขนาดคอลัมน์ ที่ใช้ในการเข้ารหัส
เขียนข้อความต้นฉบับที่ละแถวลงในเมทริกซ์ ที่มีจ านวนคอลัมน์ ตาม ก าหนด เช่น “go to the conference
tomorrow at mbk”
ตัวอย่าง
ล าดับแถว => 1 2 3 4 5 6 g o t o t h e c o n f e r e n c e t o m o r r o w a t m b k key => 4 1 2 5 3 6ตัวอย่าง ไซเฟอร์แบบคอลัมน์
ข้อความไซเฟอร์ที่ได้การเข้ารหัสแบบ
eXclusive OR (เอ็กซ์คลูซีฟ ออร์ - XOR) XOR เป็นการกระท าทางตรรกศาสตร์ โดยมีหลักการ คือ มีอินพุตตั้งแต่สองอินพุตขึ้นไป เช่น A, B (ในตารางความจริง ด้านล่าง) จะให้เอาท์พุตเป็นลอจิก 0 เมื่อ อินพุตมี ลอจิกเหมือนกัน จะให้เอาท์พุตเป็นลอจิก 1 เมื่อ อินพุตมี ลอจิกต่างกันการด าเนินการทางตรรกศาสตร์ของ XOR
เราจะหาค าตอบได้ ก็ต่อเมื่อต้องแปลงเลขฐาน 10 ให้กลายเป็นเลขฐาน 2 (Binary) ก่อน เช่น ก าหนดตัวแปร A = 10 หรือ กระจายเป็นเลขฐาน 2 (Binary) = 1 0 1 0 ก าหนดตัวแปร B = 8 หรือ กระจายเป็นเลขฐาน 2 (Binary) = 1 0 0 0 ดังนั้นเมื่อให้ A Xor B คือ 1 0 1 0 1 0 0 0 --- 0 0 1 0 (ฐาน 2) หรือ 2 (ฐาน 10) =====การด าเนินการทางตรรกศาสตร์ของ XOR ภาษาระดับสูง
เวลาที่เขียนค าสั่ง 65 Xor 20 จะได้ค าตอบคือ 85 (ฐาน 10) ... นี่คือ ความสามารถของภาษาระดับสูง (ซึ่งคุณไม่มีความจ าเป็นต้องแปลงเลขฐานก่อน) แต่แท้ที่จริงแล้ว มันจะเกิดปฏิบัติการระดับบิตขึ้นมา โดยที่เรามองไม่เห็น ...แต่เรา ต้องสนใจมัน หมายความว่า ทั้งตัวตั้ง (65) และ ตัวกระท า (20) จะต้องถูกแปลงให้เป็นเลขฐาน 2 ออกมาก่อน ดังนี้ คือ 1 0 0 0 0 0 1 ... หรือ 65 (ฐาน 10) X X 1 0 1 0 0 ... หรือ 20 (ฐาน 10) ... ค่าใดที่มากระท า XOR กับ X ก็จะได้ค่านั้นเสมอ --- 1 0 1 0 1 0 1 ... หรือ 85 (ฐาน 10) ========การเข้ารหัสแบบ
eXclusive OR (เอ็กซ์คลูซีฟ ออร์ - XOR) นี่คือการน าเอาตัวอักขระทีละตัว มาท าตรรกศาสตร์ด้วยวิธีการ XOR เพื่อเปลี่ยนแปลงข้อมูล ... หรือ เรียกว่าการเข้ารหัส (Encryption)
หากน าตัวอักขระที่เข้ารหัส มาท าตรรกศาสตร์ด้วยวิธีการ XOR อีกรอบ ... เรียกว่าการถอดรหัส
เวอร์แนมไซเฟอร์ (Vernam Cipher)
พัฒนาขึ้นครั้งแรกที่ AT&T โดยใช้ร่วมกับอุปกรณ์ที่ชื่อว่า เครื่องเวอร์-แนม (Vernam Machine) One-time Pad
ขั้นตอนวิธี ก าหนดให้ค่าให้กับอักขระแต่ละตัวโดยเริ่มต้นค่าจากน้อยไปมาก เช่น A = 0, B = 1, …, Z = 25 แทนค่าข้อความต้นฉบับที่ต้องการเข้ารหัสและข้อความน าเข้าไซเฟอร์จากค่าของ อักขระแต่ละตัวที่ก าหนดในข้อ 1 บวกค่าอักขระแต่ละตัวในข้อความต้นฉบับกับค่าของอักขระแต่ละตัวในข้อความน าเข้า ไซเฟอร์ ถ้าผลลัพธ์ที่ได้มากกว่า 25, ให้ลบออกด้วย 26 แปลงค่าจ านวนที่ได้กลับเป็นตัวอักขระที่เกี่ยวข้อง ซึ่งจะได้เป็นข้อความไซเฟอร์
Vernam Cipher
การเข้ารหัสและการถอดรหัสเพื่อให้ได้ข้อความที่อ่านได้ (Plain Text) กลับมานั้นจ าเป็นต้องใช้ตัวเลขสุ่ม (Random
Number) โดยมากแล้ววิธีการที่ใช้ในการก าเนิดตัวเลขสุ่มที่นิยมใช้กัน มากก็คือ วิธี Linear Congruential Random
Number Generator ซึ่งจะให้ก าเนิดตัวเลขสุ่มที่เริ่มด้วยตัวเลข เริ่มต้นตามที่ก าหนดให้ เราเรียกตัวเลขนี้ว่า Seed อย่างไรก็ตามวิธีการนี้ก็ สามารถจะให้ตัวเลขสุ่มได้จ านวนหนึ่งก่อนที่จะเริ่มให้ตัวเลขที่ซ ้ากันอีก ดังนั้น การใช้วิธีให้ก าหนดตัวเลขสุ่มนี้ก็ต้องใช้ความระมัดระวังด้วยมิฉะนั้นอาจท าให้ ตัวอักษรใน Cipher Text มีลักษณะที่ซ ้ากันได้และจะง่ายต่อการ วิเคราะห์ Cryptanalysis
Vernam Cipher (ต่อ)
ตัวอย่างที่ 3.7 ก าหนดให้ข้อความต้นฉบับ คือ GO TO SCHOOL และก าหนดข้อความน าเข้าไซเฟอร์ ซึ่งเป็น One-time pad คือ DNCBTZQRX ให้หาข้อความไซเฟอร์ ข้อดี: มีความปลอดภัยของข้อความสูงและเหมาะสมกับข้อความ ต้นฉบับที่มีขนาดสั้น ข้อเสีย: ไม่เหมาะส าหรับข้อความต้นฉบับขนาดใหญ่หลักการของ Hash Function
หลักการ Hasn Function
น าข้อความที่ต้องการลงลายมือชื่อ(M)เป็นข้อมูลรับเช้าของ Hash Function (H)จะได้ผลลัพธ์เป็น Hash Code ที่มีความ ปลอดภัยคือ H(M) ที่มีความหมายคงที่
น า Hash Code มาเข้ารหัสสลับด้วยกุญแจส่วนตัวของผู้ส่ง
ผู้ส่งส่งข้อความและลายมือชื่อพร้อมกันไปให้ผู้รับ
หลักการ Hasn Function(ต่อ)
ผู้รับถอดรหัสสลับลายมือชื่อที่ได้รับด้วยกุญแจสาธารณะของผู้ส่ง ถ้า Hash Code มีค่าเท่ากับลายมือชื่อถอดรหัสสลับแล้วจะ ยอมรับลายมือชื่อนั้นว่าเป็นของจริง เนื่องจากผู้ส่งรู้กุญแจส่วนตัวแต่เพียง ผู้เดียว และผู้ส่งเท่านั้นที่สามารถสร้างลายมือชื่อที่ถูกต้องได้ Valid Signatureอัลกอริธึมการเข้ารหัส
การเข้ารหัส เป็นการใช้ อัลกอริทึม ที่ซับซ้อนในการเปลี่ยน ข้อมูลเดิม (plaintext) ด้วยการเข้ารหัส เปลี่ยนเป็น ข้อมูลมีผ่านการเข้ารหัส แล้ว(ciphertext) อัลกอริทึม ที่ใช้ในการ เข้ารหัส และ ถอดรหัส ข้อมูลแล้วส่งผ่านกันในระบบเน็กเวิร์คนั้น
จุดประสงค์ของการเข้ารหัสและถอดรหัส
ประเภทของการเข้ารหัส
การเข้ารหัส และ ถอดรหัส ข้อมูลแล้วส่งผ่านกันในระบบเน็ตเวิร์คนั้น มี 2 แบบ คือ
การเข้ารหัสแบบสมมาตร (Symmetric key algorithms)
การเข้ารหัสแบบอสมมาตร (Asymmetric key algorithms) การแบ่งประเภทขึ้นอยู่กับ กุญแจ กุญแจ ใช้ ร่วมกับ อัลกอริทึม ในการ เข้ารหัสและ ถอดรหัส กุญแจในที่นี้ เปรียบเทียบได้กับลูกกุญแจ ต้องมีลูกกุญแจเท่านั้นจึงจะเปิดแม่กุญแจ อ่านข้อมูลได้
การเข้ารหัสแบบสมมาตร
(Symmetric key algorithms) การเข้ารหัสแบบสมมาตร จะใช้กุญแจลับ ในการติดต่อกันระหว่าง 2 คน อันเดียวกันทั้งในการ เข้ารหัส และ ถอดรหัส ก่อนที่จะส่งข้อมูลที่ถูก เข้ารหัส แล้ว ผ่านระบบเน็กเวิร์ค ทั้ง 2 กลุ่ม ต้อง มี กุญแจ และ อัลกอริทึม ที่ตกลงร่วมกัน เพื่อใช้ในการ เข้ารหัส และ ถอดรหัสปัญหาของการเข้ารหัสแบบสมมาตร
ปัญหาที่เกิดขึ้นในการใช้ กุญแจลับ คือ การส่งกุญแจ ให้อีกกลุ่ม หนึ่ง แล้วโดนดักลักลอบเอากุญแจไปโดยผู้ไม่ประสงค์ดี ถ้า นาย ก และ นาย ข ใช้การส่งข้อมูลโดยใช้ กุญแจลับ และ นาย ค ดัก กุญแจลับระหว่างการส่งกุญแจ จะท าให้ นาย ค สามารถอ่าน ข้อมูล ลับ ที่ส่งกันระหว่าง นาย ก กับ นาย ข ไม่เพียงแค่นั้น นาย ค อาจจะ สามารถสร้าง ข้อมูล หลอก นาย ก ว่าเป็น นาย ข ได้ ถ้าติดต่อกับหลายกลุ่ม ต้องใช้กุญแจจ านวนมากการเข้ารหัสแบบอสมมาตร (Asymmetric key
algorithms)
การเข้ารหัสแบบอสมมาตร เป็นการแก้ปัญหาโดยใช้หลักการของ กุญแจ สาธารณะ และ กุญแจส่วนตัว โดยที่ กุญแจสาธารณะ นั้นเปิดเผย ในระบบเน็กเวิร์ด ได้ส่วน กุญแจ ส่วนตัว นั้นเก็บไว้เฉพาะบุคคลเท่านั้น การใช้ กุญแจสาธารณะ และ กุญแจส่วนตัว ในการเข้ารหัสนั้นเป็นแบบ ตรงข้ามกัน คือมีกุญแจเป็นคู่ 2 อันคือ ใช้ กุญแจ อันหนึ่ง เข้ารหัส ต้อง ใช้อีกกุญแจ เพื่อท าการ ถอดรหัส เท่านั้นตัวอย่าง นาย ข ต้องการส่ง ข้อมูลลับ ให้กับ นาย ก ในการเข้ารหัส นาย ก มีคู่ของกุญแจ คือ กุญแจสาธารณะ และ กุญแจส่วนตัว จากนั้น นาย ก ได้ส่ง กุญแจสาธารณะ ของ นาย ก ไปให้ นาย ข และเก็บ กุญแจส่วนตัวไว้กับ ตัวเอง เมื่อ นาย ข ได้ กุญแจสาธารณะ ของ นาย ก แล้วจึงท าการเข้ารหัส ข้อมูลด้วย กุญแจสาธารณะ ของ นาย ก แล้วท าการส่งข้อมูลลับให้ นาย ก เมื่อ นาย ก ได้รับแล้วท าการจึงถอดรหัส ด้วย กุญแจส่วนตัว ของ นาย ก จะได้ ข้อมูล ที่ นาย ข ต้องการส่งให้ นาย ก ถ้า นาย ก เข้ารหัสข้อมูล ด้วย กุญแจส่วนตัว ของ นาย ก และส่ง ข้อมูลลับ ไปให้ นาย ข นาย ข จะสามารถแน่ใจได้เลยว่า ข้อมูลลับ นี้มาจาก นาย ก ถ้า นาย ข สามารถ ถอดรหัส ข้อมูลลับ ได้ด้วย กุญแจสาธารณะ ของ นาย ก แสดงว่า ข้อมูลลับ ถูก เข้ารหัส มาด้วย กุญแจส่วนตัว ของ นาย ก นาย ก เท่านั้นที่มี กุญแจส่วนตัว ของ นาย ก นาย ข จึงแน่ใจได้ว่า ข้อมูลนี้มาจาก นาย ก แต่ปัญหาคือในกรณีนี้คนที่มี กุญแจสาธารณะ ของ นาย ก สามารถอ่าน ข้อมูลลับ นี้ได้ เพราะ กุญแจสาธารณะ ของ นาย ก อนุญาตให้คนทั่วไปมีได้
ความแตกต่างระหว่าง การเข้ารหัสทั้งสองแบบ
การเข้ารหัสแบบสมมาตร ข้อมูลท าการ เข้ารหัส และ ถอดรหัส ได้รวดเร็ว แต่ก่อน จะต้องมีการตกลงกุญแจกันก่อน และ มีปัญหาในการแลกเปลี่ยนกุญแจ ที่ไม่มีความ ปลอดภัย การเข้ารหัสแบบอสมมาตร การแลกเปลี่ยน กุญแจนั้นไม่มีปัญหา เพราะ กุญแจ สาธารณะ ไม่เป็นความลับ แต่ อัลกอริทึม ในการ เข้ารหัส และ ถอดรหัส นั้น เสียเวลามากท าให้ช้า การเข้ารหัสแบบสมมาตร ถ้าต้องการติดต่อกับ กลุ่มหลายกลุ่มต้องใช้กุญแจลับหลาย กุญแจ แต่ แบบ อสมมาตรจะใช้ แค่ กุญแจสารธารณะ และ กุญแจส่วนตัวเท่านั้น ระบบกุญแจสาธารณะต้องใช้เวลาในการค านวณการเข้าและถอดรหัส เมื่อเทียบกับ ระบบกุญแจสมมาตร และอาจใช้เวลาเป็นพันเท่าของเวลาที่ใช้โดยระบบกุญแจ สมมาตรความแข็งแกร่งของอัลกอริทึมส าหรับการเข้ารหัส
ความแข็งแกร่งของอัลกอริทึมหมายถึงความยากในการที่ผู้บุกรุกจะสามารถอด รหัส ข้อมูลได้โดยปราศจากกุญแจที่ใช้ในการเข้ารหัส ซึ่งขึ้นอยู่กับปัจจัยดังนี้ การเก็บกุญแจเข้ารหัสไว้อย่างเป็นความลับ ความยาวของกุญแจเข้ารหัส ยิ่งจ านวนบิตของกุญแจยิ่งมาก ยิ่งท าให้การเดาเพื่อสุ่ม หากุญแจที่ถูกต้องเป็นไปได้ยากยิ่งขึ้น อัลกอริทึมที่ดีต้องเปิดให้ผู้รู้ท าการศึกษาในรายละเอียดได้โดยไม่เกรงว่าผู้ศึกษาจะ สามารถจับรูปแบบของการเข้ารหัสได้ การมีประตูลับในอัลกอริทึม อัลกอริทึมที่ดีต้องไม่แฝงไว้ด้วยประตูลับที่สามารถใช้ เป็นทางเข้าไปสู่อัลกอริทึม ความไม่เกรงกลัวต่อปัญหาการหาความสัมพันธ์ในข้อมูลที่ได้รับอัลกอริทึมส าหรับการเข้ารหัสแบบกุญแจสาธารณะ
อัลกอริทึมแบบกุญแจสาธารณะ แบ่งตามลักษณะการใช้งานได้เป็น 2 ประเภท คือ
ใช้ส าหรับการเข้ารหัส
อัลกอริทึม RSA
อัลกอริทึม RSA ได้รับการพัฒนาขึ้นที่มหาวิทยาลัย MIT ในปี 1977 โดยศาสตราจารย์ 3 คน ซึ่งประกอบด้วย Ronald Rivest, Adi Shamir และ Leonard
Adleman ชื่อของอัลกอริทึมได้รับการตั้งชื่อตามตัวอักษรตัวแรก ของนามสกุลของ ศาสตราจารย์ทั้งสามคน อัลกอริทึมนี้สามารถใช้ในการ เข้ารหัสข้อมูลรวมทั้งการลงลายมือชื่อ อิเล็กทรอนิกส์ด้วย
อัลกอริทึมส าหรับสร้างเมสเซสไดเจสต์
เมสเซสไดเจสต์ (Message Digest) แปลว่าข้อความสรุปจาก เนื้อหาข้อความตั้งต้น โดยปกติข้อความสรุปจะมีความยาวน้อยกว่าความยาวของข้อความตั้งต้น มาก จุดประสงค์ส าคัญของอัลกอริทึมนี้คือ การสร้างข้อความสรุปที่สามารถใช้ เป็นตัวแทนของข้อความตั้งต้นได้ โดยทั่วไปข้อความสรุปจะมีความยาวอยู่ระหว่าง 128 ถึง 256 บิต และจะไม่ขึ้นกับขนาดความยาวของข้อความตั้งต้นคุณสมบัติที่ส าคัญของอัลกอริทึมส าหรับสร้างไดเจสต์
ทุกๆ บิตของไดเจสต์จะขึ้นอยู่กับทุกบิตของข้อความตั้งต้น การเปลี่ยนแปลงแก้ไขข้อความตั้งต้นโดยผู้ไม่ประสงค์ดีแม้ว่าอาจแก้ไขเพียง เล็กน้อยก็ตาม เช่น เพียง 1 บิตเท่านั้น ก็จะส่งผลให้ผู้รับข้อความทราบว่าข้อความที่ตนได้รับไม่ใช่ ข้อความตั้งต้น โอกาสที่ข้อความตั้งต้น 2 ข้อความใดๆ ที่มีความแตกต่างกัน จะสามารถค านวณได้ค่าได เจสต์เดียวกันมีโอกาสน้อยมาก คุณสมบัติข้อนี้ท าให้แน่ใจได้ว่า เมื่อผู้ไม่ประสงค์ดีท าการแก้ไขข้อความตั้งต้น ผู้รับข้อความ ที่ถูกแก้ไขไปแล้วนั้นจะสามารถตรวจพบได้ถึงความผิดปกติที่เกิด ขึ้นอย่างแน่นอน อย่างไรก็ตามในทางทฤษฎีแล้ว มีโอกาสที่ข้อความ 2 ข้อความที่แตกต่างกันจะสามารถ ค านวณแล้วได้ค่าไดเจสต์เดียวกัน ปัญหานี้เรียกกันว่าการชนกันของไดเจสต์ (Collision) nอัลกอริทึมส าหรับสร้างไดเจสต์ที่ดีควรจะมีโอกาสน้อยมากๆ ที่จะ ก่อให้เกิดปัญหาการชนกันของไดเจสต์อัลกอริทึมส าหรับสร้างไดเจสต์ยอดนิยมมีดังนี้
Md2,Md3,Md4,Md5 ผู้พัฒนาคือ Ronald Rivest อัลกอริทึมนี้เชื่อกันว่ามีความ แข็งแกร่งที่สุดในบรรดาอัลกอริทึมต่างๆ ที่ Rivest พัฒนาขึ้นมา แม้จะเป็นที่นิยมใช้งานกันอย่างแพร่หลาย ทว่าในปี 1996 ก็มีผู้พบ จุดบกพร่องของ MD5 จึงท าให้ความนิยมเริ่มลดลง MD5 ผลิตไดเจสต์ที่มีขนาด 128 บิตอัลกอริทึม SHA
SHA ย่อจาก Secure Hash Algorithm อัลกอริทึม
SHA ได้รับแนวคิดในการพัฒนามาจาก MD4 และได้รับการ พัฒนาขึ้นมาเพื่อใช้งานร่วมกับอัลกอริทึม DSS
หลังจากที่ได้มีการตีพิมพ์เผยแพร่อัลกอริทึมนี้ได้ไม่นาน NIST ก็ ประกาศตามมาว่าอัลกอริทึมจ าเป็นต้องได้รับการแก้ไขเพิ่มเติมเล็กน้อย เพื่อ ให้สามารถใช้งานได้อย่างเหมาะสม
อัลกอริทึม SHA-1
SHA-1 เป็นอัลกอริทึมที่แก้ไขเพิ่มเติมเล็กน้อยจาก SHA การ
แก้ไขเพิ่มเติมนี้เป็นที่เชื่อกันว่าท าให้อัลกอริทึม SHA-1 มีความ ปลอดภัยที่สูงขึ้น
อัลกอริทึม 256, 384 และ
SHA-512
NIST เป็นผู้น าเสนออัลกอริทึมทั้งสามนี้ในปี 2001 เพื่อใช้งาน ร่วมกับอัลกอริทึม AES (ซึ่งเป็นอัลกอริทึมในการเข้ารหัสแบบ สมมาตร) อัลกอริทึมเหล่านี้สร้างไดเจสต์ที่มีขนาด 256, 384 และ 512 บิต ตามล าดับการสร้าง Public Key และ Private Key
•
การรับรอง Public key จะได้ใบรับรองอิเล็กทรอนิกส์
•
Private key ของผู้ใช้งานต้องเก็บไว้เพื่อใช้ในการลงนาม โดยมีรหัสผ่านป้องกัน ส่วน public key เอาไว้ยืนยัน ตัวตนผู้ลงนาม และแลกกับบุคคลอื่นเพื่อเข้ารหัสเอกสาร •
ต้องส่ง public key ให้ CA รับรองตัวตนผู้ใช้งาน
Digital Signature
ในการส่งข้อมูลผ่านเครือข่าย จะท าให้ข้อมูลที่ส่งนั้นเป็นความลับส าหรับผู้ไม่มีสิทธิ์ โดยการใช้เทคโนโลยีการรหัส และส าหรับการท านิติกรรมสัญญา ลายมือชื่อจะเป็น สิ่งที่ใช้ในการระบุตัวบุคคล (Authentication) และยังมีแสดงถึงเจตนาในการ ยอมรับเนื้อหาในสัญญานั้นๆ รวมถึงเป็นการป้องกันการปฏิเสธความรับผิดชอบ (Non-repudiation) ส าหรับในการท าธุรกรรมทางอิเล็กทรอนิกส์ ลายมือชื่ออิเล็กทรอนิกส์ (ElectronicSignature)จะมีรูปแบบต่างๆกัน เช่นสิ่งที่ระบุตัวบุคคลทาง ชีวภาพ (ลายพิมพ์นิ้วมือ เสียง ม่านตา เป็นต้น) หรือ จะเป็นสิ่งที่มอบให้แก่บุคคล นั้นๆในรูปแบบของ รหัสประจ าตัว ลายมือชื่ออิเล็กทรอนิกส์ที่ได้รับการยอมรับกัน มากที่สุดอันหนึ่ง คือ ลายมือชื่อดิจิทัล(DigitalSignature) ซึ่งจะเป็น องค์ประกอบหนึ่งในโครงสร้างพื้นฐานกุญแจสาธารณะ (Public Key Infrastructure, PKI)ลายมือชื่อดิจิตอล (Digital Signature)
ลายมือชื่อดิจิตอล (Digital Signature) หมายถึง ข้อมูล อิเล็กทรอนิกส์ที่ได้จากการเข้ารหัสข้อมูลด้วยกุญแจส่วนตัวของผู้ส่งซึ่ง เปรียบเสมือนเป็นลายมือชื่อของผู้ส่ง คุณสมบัติของลายมือชื่อดิจิตอล นอกจากจะสามารถ ระบุตัวบุคคล และ เป็นกลไกการป้องกันการปฏิเสธ ความรับผิดชอบแล้ว ยังสามารถป้องกันข้อมูลที่ส่งไปไม่ให้ถูกแก้ไข หรือ หากถูกแก้ไขไปจากเดิมก็สามารถล่วงรู้ได้กระบวนการสร้างและลงลายมือชื่อดิจิตอล
เริ่มจากการน าเอาข้อมูลอิเล็กทรนอิกส์ต้นฉบับที่จะส่งไปนั้นมาผ่าน กระบวนการทางคณิตศาสตร์ที่เรียกว่า ฟังก์ชันย่อยข้อมูล (Hash Function) เพื่อให้ได้ข้อมูลที่สั้นๆ ที่เรียกว่า ข้อมูลที่ย่อยแล้ว (Digest) ก่อนที่จะท าการเข้ารหัส เนื่องจากข้อมูลต้นฉบับมักจะมี ความยาวมากซึ่งจะท าให้กระบวนการเข้ารหัสใช้เวลานานมากกระบวนการสร้างและลงลายมือชื่อดิจิตอล (ต่อ)
จากนั้นจึงท าการเข้ารหัสด้วยกุญแจส่วนตัวของผู้ส่งเอง ซึ่งจุดนี้ เปรียบเสมือนการลงลายมือชื่อของผู้ส่งเพราะผู้ส่งเท่านั้นที่มีกุญแจ ส่วนตัวของผู้ส่งเอง และ จะได้ข้อมูลที่เข้ารหัสแล้ว เรียกว่า ลายมือชื่อ ดิจิตอล
กระบวนการสร้างและลงลายมือชื่อดิจิตอล (ต่อ)
จากนั้นก็ท าการส่ง ลายมือชื่อไปพร้อมกับข้อมูลต้นฉบับ ไปยังผู้รับ ผู้รับก็จะท า การตรวจสอบว่าข้อมูลที่ได้รับถูกแก้ไขระหว่างทางหรือไม่ โดยการน าข้อมูล ต้นฉบับที่ได้รับ มาผ่านกระบวนการย่อยด้วย ฟังก์ชันย่อยข้อมูล จะได้ข้อมูลที่ ย่อยแล้วอันหนึ่ง
กระบวนการสร้างและลงลายมือชื่อดิจิตอล (ต่อ)
น าลายมือชื่อดิจิตอล มาท าการถอดรหัสด้วย กุญแจสาธารณะของผู้ส่ง ก็ จะได้ข้อมูลที่ย่อยแล้วอีกอันหนึ่ง แล้วท าการเปรียบเทียบ ข้อมูลที่ย่อยแล้ว ทั้งสองอัน ถ้าหากว่าเหมือนกัน ก็แสดงว่าข้อมูลที่ได้รับนั้นไม่ได้ถูกแก้ไข แต่ถ้าข้อมูลที่ย่อยแล้ว แตกต่างกัน ก็แสดงว่า ข้อมูลที่ได้รับถูก เปลี่ยนแปลงระหว่างทางข้อพึงสังเกต
ลายมือชื่อดิจิทัลจะแตกต่างกันไปตามข้อมูลต้นฉบับและบุคคลที่จะลง ลายมือชื่อ ไม่เหมือนกับลายมือชื่อทั่วไปที่จะต้องเหมือนกันส าหรับบุคคล นั้นๆ ไม่ขึ้นอยู่กับเอกสาร กระบวนการที่ใช้จะมีลักษณะคล้ายคลึงกับการเข้ารหัสแบบอสมมาตร แต่ การเข้ารหัสจะใช้ กุญแจส่วนตัวของผู้ส่ง และ การถอดรหัสจะใช้ กุญแจ สาธารณะของผู้ส่ง ซึ่งสลับกันกับ การเข้าและถอดรหัสแบบกุญแจ อสมมาตร ในการรักษาข้อมูลให้เป็นความลับใบรับรองดิจิตอล (Digital Certificate)
ด้วยการรหัส และ ลายมือชื่อดิจิตอล ในการท าธุรกรรม เราสามารถ รักษา ความลับของข้อมูล สามารถรักษาความถูกต้องของข้อมูล และ สามารถระบุตัว บุคคลได้ระดับหนึ่ง เพื่อเพิ่มระดับความปลอดภัยในการระบุตัวบุคคลโดยสร้าง ความเชื่อถือมากขึ้นด้วย ใบรับรองดิจิตอล (Digital Certificate) ซึ่งออกโดยองค์กรกลางที่เป็นที่เชื่อถือ เรียกว่า องค์กร รับรองความถูกต้อง(Certification Authority) จะถูก น ามาใช้ส าหรับยืนยันในตอนท าธุรกรรมว่าเป็นบุคคลนั้นๆจริง ตามที่ได้อ้างไว้รายละเอียดในใบรับรองดิจิตอลทั่วไปมีดังต่อไปนี้
ข้อมูลระบุผู้ที่ได้รับการรับรอง ได้แก่ ชื่อ องค์กร ที่อยู่ ข้อมูลระบุผู้ออกใบรับรอง ได้แก่ ลายมือชื่อดิจิตอลขององค์กรที่ออก ใบรับรอง หมายเลขประจ าตัวของผู้ออกใบรับรอง กุญแจสาธารณะของผู้ที่ได้รับการรับรอง วันหมดอายุของใบรับรองดิจิตอล ระดับชั้นของใบรับรองดิจิตอล ซึ่งมีทั้งหมด 4 ระดับ ในระดับ 4 จะมี กระบวนการตรวจสอบเข้มงวดที่สุด และ ต้องการข้อมูลมากที่สุด หมายเลขประจ าตัวของใบรับรองดิจิตอลประเภทของใบรับรองดิจิตอลยังแบ่งออกเป็น 3 ประเภท
ใบรับรองเครื่องแม่ข่าย (Server Certificate Service) บริการใบรับรองอิเล็กทรอนิกส์ส าหรับเครื่องให้บริการ
ใบรับรองตัวบุคคล (Personal Certificate Service) บริการ
ใบรับรองอิเล็กทรอนิกส์ส าหรับบุคคล
ใบรับรองส าหรับองค์รับรองความถูกต้อง(CA Hosting/Virtual CA Service) บริการรับฝากระบบบริการใบรับรองอิเล็กทรอนิกส์