S/MIME : เมื่ออีเมล์ติดเกราะ

Secure Multipurppose Internet Mail Extension (S/MIME) เป็นส่วนขยายมาตรฐานรูปแบบของ Internet e-mail (MIME) ทางด้านการรักษาความปลอดภัย โดยมีพื้นฐานมาจาก RSA Data Security ซึ่ง S/MIME และ PGP ต่างก็เป็นมาตรฐาน ทางอีเมล์บนอินเตอร์เนตเหมือนกัน แต่ S/MIME จะเป็นมาตรฐานเชิงอุตสาหกรรม ในทางพาณิชย์และการใช้งานในองค์กร ในขณะที่ PGP จะเป็นอีกทางเลือกหนึ่งสำหรับผู้ใช้ในระดับบุคคล

มาตรฐานที่ถูกเพิ่มขึ้น

แต่เดิมมาตรฐานรูปแบบของอินเทอร์เนตอีเมล์ จะถูกกำหนดตาม RFC 822 ซึ่งอธิบายถึง header ประกอบด้วย To,From และ Subject ยังมีข้อมูลเพื่อใช้ในการหาเส้นทางในการส่งอีเมล์ ผ่านอินเทอร์เนต และข้อมูลอื่นๆ เพื่ออธิบายลักษณะเนื้อหาของอีเมล์นั้นๆ โดยจะมองเนื้อหาอยู่ในรูปของรหัส ASCII ขนาด 7 บิต ต่อมาได้มีการเพิ่มเติมส่วนของ header ตาม RFC 1341,1521 และ 1522 เพื่ออธิบายถึงลักษณะเนื้อหาเพิ่มเติม รวมถึงรูปแบบและการเข้ารหัสในการส่ง ซึ่งเป็นต้นกำเนิด ของมาตรฐาน MIME

ตามมาตรฐาน MIME ได้กำหนดคีย์มาตรฐานขึ้นเพื่อใช้อธิบายถึงรูปแบบของเนื้อหาสำหรับมัลติมีเดียอีเมล์ ดังแสดงในตาราง มีข้อน่าสังเกตว่า ข้อมูลบางประเภทอย่าง วีดีโอ และ แอพพลิเคชั่น ซึ่งมีลักษณะเป็นไบนารี่จะต้องมีการแปลงข้อมูลในรูปรหัส ASCII ที่สามารถพิมพ์ได้ด้วยการแปลงที่มีชื่อว่า radix-64 หรือ base-64 เพื่อแปลงข้อมูลไบนารี่ ขนาด 3 octets ไปเป็นรหัส ASCII จำนวน 4 ตัว

ส่วนมาตรฐาน S/MIME ได้กำหนดชนิดของเนื้อหาเพิ่มเติม ดังแสดงในช่วงล่างของตาราง ทำให้มีลักษณะการใช้งานใหม่เพิ่มขึ้นถึง 4 อย่าง ดังต่อไปนี้

Enveloped data ตัวเนื้อจะถูกผนึกด้วยสิ่งที่เรียกว่า “ซอง (envelope)” ซึ่งก็คือข้อมูลที่ถูกเข้ารหัสอันประกอบไปด้วย เนื้อหา และ คีย์ สำหรับผู้รับเพื่อใช้ในการถอดรหัส

Signed data เริ่มจากการสร้างลายเซ็นดิจิตอล ด้วยการนำข้อมูลที่จะส่ง มาคำนวณเป็นค่าๆหนึ่งออกมาก่อน แล้วนำค่าที่ได้มาทำเป็นลายเซ็นด้วยการเข้ารหัสด้วยคีย์เฉพาะของผู้ส่ง เนื้อหาและลายเซ็นที่ได้มาจะถูกแปลงตามกระบวนการ base-64 และ S/MIME จะใช้ลายเซ็นในการยืนยันตัวข้อมูลว่ามาจากผู้ส่งที่ถูกต้องหรือไม่

Clear-signed จะมีการสร้างลายเซ็นดิจิตอลเหมือนกับแบบ Signed แต่เฉพาะส่วนลายเซ็นเท่านั้นที่จะถูกแปลงโดยกระบวนการ base-64 ทำให้ใครก็สามารถดูเนื้อความ แต่เฉพาะ S/MIME เท่านั้นที่สามารถตรวจสอบได้

Signed & Enveloped เป็นลักษณะผสมของการใช้ลายเซ็นดิจิตอลและการเข้ารหัส ทำให้สามารถสร้างลายเซ็นดิจิตอลจากข้อมูลที่ถูกเข้ารหัสแล้ว หรือการเข้ารหัสข้อมูลทั้งแบบ signed และ clear-signed

ซีเคียวริตี้ของเนื้อความ

สำหรับการใช้งานในลักษณะของ envelope S/MIME กำหนดให้ใช้กระบวนการ triple-DES (3DES) ในการเข้ารหัส และ EIGamal ในการสร้างคีย์สาธารณะ โดย S/MIME จะเริ่มจากการสุ่มรหัสลับเทียมขึ้นมาค่าหนึ่ง ซึ่งค่านี้จะใช้ในการเข้ารหัสเนื้อความด้วยกระบวนการ 3DES (หรือกระบวนการอื่นๆ) และรหัสลับเทียมนี้จะถูกเข้ารหัสอีกครั้งด้วยรหัสสาธารณะของผู้รับ เมื่อข้อมูลมาถึงปลายทาง ผู้รับจะใช้รหัสส่วนตัวในการถอดรหัสลับเทียมที่ถูกเข้ารหัสไว้ และใช้รหัสลับเทียมที่ได้ในการถอดรหัสเนื้อความอีกทีหนึ่ง

แต่ถ้าหากมีการใช้รหัสลับซ้ำกันในการเข้ารหัสเนื้อความ อาจจะมีโอกาสที่จะถูกลักลอบถอดรหัสได้ง่าย ดังนั้นทุกๆครั้งที่มีการส่งเนื้อความ S/MIME จะทำการสุ่มรหัสลับเทียมขึ้นมาใหม่ทุกครั้งและเรียกรหัสที่ได้ว่า session key ซึ่งจะถูกส่งไปกับเนื้อความดังรูปแสดงถึงการสร้างข้อมูลแบบ signed และ enveloped ซึ่งส่ง session key แนบไปด้วย

สำหรับการทำงานในลักษณะข้อมูลแบบ signed กับ clear-signed วิธีการที่ใช้ในการสร้างลายเซ็นจะใช้ Digital Signature Standard (DSS) และ Secure Hash Algorithm revision 1 (SHA-1) เป็นหลัก โดย SHA-1 จะทำการคำนวณรหัสความยาว 160 บิต จากเนื้อความ ซึ่งรหัสดังกล่าวจะมีลักษณะเฉพาะขึ้นกับตัวเนื้อความ ดังนั้นการเปลี่ยนแปลงใดๆที่จะเกิดขึ้นกับเนื้อความ จึงเป็นการยากที่จะทำให้รหัสที่คำนวณใหม่ตรงกับรหัสเดิม รหัสที่ได้จากกระบวนการดังกล่าวนี้ จะถูกเข้ารหัสอีกครั้งหนึ่งด้วยรหัสลับเฉพาะของผู้ที่ส่งตามกระบวนการ DSS ผลลัพธ์ที่ได้จะอยู่ในลักษณะ base-64 ซึ่งจะถูกส่งไปกับเนื้อความ

เมื่อทางฝ่ายรับได้รับข้อมูล จะใช้รหัสสาธารณะของผู้ส่งทำการถอดรหัสความยาว 160 บิต ที่ถูกส่งมาพร้อมกับเนื้อความ และจะถูกนำมาเปรียบเทียบกับค่าที่ได้จากการคำนวณเนื้อความที่รับด้วยกระบวนการ SHA-1 ถ้าตรงกันแสดงว่าการรับ-ส่งถูกต้อง จะเห็นได้ว่าในการสร้างลายเซ็นดิจิตอล จะคำนวณจากรหัสความยาว 160 บิต ซึ่งได้จากเนื้อความ ทำให้เร็วกว่าการคำนวณลายเซ็นโดยตรงจากเนื้อความ

การออกใบรับรองคีย์สาธารณะ

ผู้ที่มีอำนาจในการออกใบรับรองและจะสร้างลายเซ็นดิจิตอลด้วยคีย์ส่วนตัวของผู้ที่ออกใบรับรอง เมื่อผู้รับได้รับข้อมูลจะใช้คีย์สาธารณะของผู้ออกใบรับรอง ในการตรวจสอบความถูกต้องของใบรับรอง ซึ่งมาตรฐานที่ S/MIME ใช้ในการออกใบรับรองจะเป็นไปตามข้อกำหนด x.509v3 ซึ่งเป็นมาตรฐานเดียวกับ IPSec และ SSL และมาตรฐาน S/MIME

แม้ว่า S/MIME จะเป็นเทคโนโลยีที่ค่อนข้างใหม่แต่ก็นเป็นเทคโนโลยีที่ได้รับการยอมรับจากผู้ค้าหลายราย ซึ่งเหตุผลที่ได้รับการยอมรับอย่างรวดเร็วนี้เป็นผลมาจากความต้องการความน่าเชื่อถือได้ของอีเมล์ในงานทางธุรกิจและการส่งเอกสารสำคัญ

ประเภทและข้อกำหนดต่างๆของ MIME

TYPE                                                                                         SUBTYPE

คำอธิบาย

Text                     Plain                         ข้อมูลที่ไม่ได้จัดรูปแบบอาจจะอยู่ในรูป ASCII หรือ

                                                       ISO 8859

                        Enriched                     ข้อมูลที่ได้รับการจัดรูปแบบ

Multipart                Mixed                        ข้อมูลแต่ละส่วนต่างก็เป็นอิสระต่อกันแต่ถูกส่งไปด้วย

                                                      กัน และจะปรากฏต่อผู้รับในลำดับเดียวกับที่อยู่ในเมล์

                                                                                                              

                       Parallel                        ต่างกับแบบ Mixed ตรงที่ไม่ต้องมีลำดับในการส่ง

                       Alternative                    ข้อมูลที่ส่งบางส่วนจะมีหลายเวอร์ชั่นและจะแสดงส่วนที่

                                                      ใหม่ที่สุด

                       Digest                         เหมือนกับแบบ Mixed แต่ค่าของ type/subtype จะถูก

                                                      กำหนดเป็น Message/RFC822

                                                                                                                 

Message              RFC822                      ใช้รองรับข้อมูลที่มีรูปแบบตาม RFC822

                       Partial                         อนุญาติให้มีการแบ่งเมล์ส่งออกเป็นส่วนย่อยได้

                       External-body                 จะเป็นตัวชี้ไปยังข้อมูลอีกที

                                                                                                                  

Image                 jpeg                            ภาพ JPEG ที่เข้ารหัสตามกระบวนการ JFIF

                       Gif                              ภาพตามมาตรฐาน GIF

                                                                                                                  

Video                 mpeg                           วีดีโอตามมาตรฐาน MPEG

                                                                                                                  

Audio                 Basic                            single-channel,8-bits ISDN ,ใช้การเข้ารหัสแบบ

                                                        (-law มีอัตราการสุ่ม 8 khz )

                                                                                                                  

Application            PostScript                      Adobe Postscript

                       Octet-Stream                  ข้อมูลแบบ binary ขนาด 8 บิต

                                                                                                                  

TYPE                  SUBTYPE                      S/MIME parameter DESCRIPTION

                                                                                                                  

Multipart                Signed                        ข้อมูลในลักษณะ clear-signed แบ่งเป็น สองส่วน

                                                        คือเนื้อความและลายเซ็น

                                                                                                                  

Application            pkcs7-mime                   SignedData ข้อมูลที่ถูก signed ตามแบบ S/MIME

                        pkcs7-mime                   EnvelopedData ข้อมูลที่ถูกเข้ารหัส

                        pkcs7-mime                   Degenerate SignedData มีเฉพาะคีย์รับรองสาธารณะ

                        pkcs7-signature              ยังไม่ประยุกต์ใช้ signed บอกชนิดของลายเซ็นแบบ

                                                        Multipart

                        pkcs7-mime                   ยังไม่ประยุกต์ใช้ การร้องขอการออกใบรับรอง

 

card.gif (1465 bytes)lightsanim.gif (2698 bytes)

sherisanta.gif (2008 bytes)HOMEsherisanta.gif (2008 bytes)