กระบวนการต่อเนื่องจากการระบุตัวตนแล้วโดยมากมักเป็น การรับรองตัวตนหรือ Authentication กระบวนการนี้เรามักทำอย่างไม่รู้ตัวกันตลอดเวลา เมื่อป้ายสินค้าชิ้นหนึ่งบอกชื่อสินค้าในห้างสรรพสิน ค้า เรามักตรวจสอบก่อนว่าสินค้าที่เรากำลังซื้อนั้นตรงกั บสินค้าที่ป้ายบอกหรือไม่ หรือเมื่อเราพูดคุยกับใครสักคนทางโทรศัพท์ เมื่อเราได้ยินเสียงของคนที่เราคุยด้วยเราก็สามารถแน ่ใจได้ว่าคนที่อยู่อีกฝั่งของคู่สายเป็นคนที่เราตั้ง ใจจะคุยด้วยจริงๆ เมื่อเราได้จดหมายของคนๆ หนึ่ง เราตรวจสอบดูว่ามีลายเซ็นหรือไม่ และลายเซ็นนั้นมีร่องรอยการปลอมแปลงหรือไม่
ขณะที่เราทำสิ่งต่างๆ เพื่อรับรองว่าบุคคล, เอกสาร, หรือสิ่งของ เป็นสิ่งที่เราตั้งใจจะ คุย, อ่าน, หรือใช้งาน กับสิ่งเหล่านั้นจริง สำหรับคอมพิวเตอร์แล้ว กระบวนการเหล่านี้จำเป็นจะต้องกำหนดกระบวนการล่วงหน้ าไว้อย่างชัดเจน
กระบวนการรับรองตัวตนโดยทั่วไป มักจำแนกการรับรองออกเป็นสามประเภท

  1. เรารู้อะไร การรู้ความลับบางอย่างทำให้เราสามารถรับรองได้ว่าคนท ี่เรากำลังคุยอยู่ด้วยนั้นเป็นคนเราตั้งใจคุยจริงๆ ในละครเราอาจจะเห็นการถามถึงความหลังในวัยเด็ก ในทางคอมพิวเตอร์เราใช้รหัสผ่านที่เป็นความลับกันเสม อ
  2. เรามีอะไร เครื่องยืนยันตัวตนเช่นบัตรประชาชน หรือบัตรเครดิตที่มีเฉพาะเจ้าของเท่านั้นที่มีอยู่
  3. เราเป็นอะไร สิ่งที่เราเป็นสามารถใช้ยืนยันตัวตนของเราได้ เช่น ลายนิ้วมือ, ดีเอ็นเอ หรือละครไทยยุคเก่าที่ยืนยันลูกที่พลัดพรากด้วยปานแด งที่แก้มก้นซ้ายก็ใช้กระบวนการนี้

กระบวนการเหล่านี้โดยทั่วไปแล้วเพียงกระบวนการใดกระบ วนการหนึ่งก็เพียงพอสำหรับการรับรองตัวตน แต่เราต้องเชื่อว่ากระบวนการนั้นมีประสิทธิภาพจริง เช่น ต้องไม่มีใครสามารถปลอมบัตรประชาชนได้และต้องไม่มีใค รขโมยบัตรประชาชนของเราไปใช้งาน หรือเราต้องไม่เผลอบอกรหัสผ่านให้ใครรู้
ในโลกความเป็นจริง ความผิดพลาดเหล่านี้เกิดขึ้นเสมอ เราอาจจะวางใจในเทคโนโลยีที่ผิด ทำให้เชื่อว่าบัตร RFID ที่ปลอมได้ง่ายนั้นไม่สามารถปลอมแปลงได้ เราอาจจะเป็นคนสะเพร่าตั้งรหัสผ่านเป็นวันเกิดหรือจด ในสมุดโน้ตแล้ววางทิ้งไว้บนโต๊ะทำงาน
ในกระบวนการที่ต้องการความน่าเชื่อถือสูงเช่นกระบวนก ารทางการเงินในสหรัฐฯ จึงมีคำแนะนำให้สถาบันทางการเงินรับรองตัวตนต้องใช้ก ระบวนการรับรองสองประเภทขึ้นไป เรียกกระบวนการนี้ว่า multi-factor authentication
ข้อความลับ จุดเริ่มต้นแห่งการรับรอง

กระบวนการตรวจสอบจากสิ่งที่เรา "รู้" นับเป็นกระบวนการเบื้องต้นที่สุดที่เราเคยทำกันมา เมื่อเราต้องเข้าเว็บสักเว็บ เว็บเหล่านั้นมักให้เรากำหนดรหัสผ่านเพื่อล็อกอินกัน เป็นปกติ
แนวคิดของรหัสผ่านคือเราเป็นคนเดียวที่จะรู้ว่าข้อคว ามลับนั้นเป็นอะไร หากมีใครที่ใส่ข้อความลับแบบเดียวกับเรา เว็บและบริการต่างๆ ก็จะเชื่อว่าเราเป็นผู้ใช้ตัวจริงที่มาเข้าใช้บริการ
ข้อความลับอาจจะใช้งานเป็นกลุ่มในกรณีเช่น ทหารในสมัยก่อนอาจจะมีการตกลงล่วงหน้าว่าหากเจอทหารไ ม่ทราบฝ่ายให้ตะโกนข้อความลับ หากได้คำตอบที่ถูกต้องแสดงว่าเป็นพวกเดียวกัน ในกรณีของสงครามโลกครั้งที่สอง มีการกำหนดให้ตะโกนว่า "flash" หากเจอทหารไม่ทราบฝ่ายและหากได้ยินต้องตะโกนกลับไปว่ า " thunder"
กระบวนการเก็บรหัสผ่านทุกวันนี้ในระบบคอมพิวเตอร์ได้ รับการพัฒนาไปอย่างมาก ระบบใหม่ๆ มักป้องกันไม่ให้ใครล่วงรู้รหัสผ่านของผู้ใช้แม้แต่ผ ู้ดูแลระบบเองก็ตาม (อ่านบทแฮช)

ข้อความลับไม่ได้มีไว้เพื่อรับรองผู้ใช้เท่านั้น ทุกวันนี้บริการรับจ่ายเงินเช่น MasterCard เริ่มให้บริการ SecureCode ที่เมื่อสมัครครั้งแรกเราต้องกำหนดข้อความลับให้กับท าง MasterCard เอาไว้ (ในภาพคือช่อง Personal Greeting) หลังจากนั้น ทุกครั้งที่เราจ่ายเงิน เว็บที่จะรับจ่ายจะต้องนำเราไปยังหน้าเว็บของ MasterCard หน้าเว็บนั้นจะแสดงข้อความลับขึ้นมาเพื่อรับรองว่าเป ็นเว็บของ MasterCard จริง ขณะเดียวกันก็ส่ง SMS มาให้เราเพื่อให้เราส่งข้อความจาก SMS กลับไปยังตัวเว็บ กระบวนการนี้ทำให้มีการรับรองตัวตนทั้งสองทาง คือเว็บรู้ว่าข้อความลับเป็นข้อความอะไร แสดงว่าเป็นเว็บจริง ขณะที่เรามีโทรศัพท์มือถือที่ลงทะเบียนเอาไว้จึงได้ร ับ SMS ที่ส่งมา แสดงว่าเราเป็นเจ้าของบัตรเครดิตนั้นจริง
CHAP ใช้รหัสแต่ไม่ส่งรหัส

กระบวนการใช้รหัสผ่านนั้นทำงานได้ดีต่อเมื่อช่องทางก ารสื่อสารไม่ถูกดักฟังได้โดยง่าย การสื่อสารยุคแรกๆ สายโทรศัพท์หรือการเชื่อมต่ออื่นๆ ล้วนมีคนเข้าใจในเทคโนโลยีไม่มากนัก ความเสี่ยงที่จะถูกดักฟังจึงไม่สูงมาก แต่เมื่อเทคโนโลยีเข้าถึงได้ง่ายขึ้นเรื่อยๆ กระบวนการดักฟังสัญญาณเหล่านี้ก็เป็นเรื่องง่ายมาก การดักฟังรหัสออกไปได้ทำให้ผู้ดักฟังสามารถนำรหัสผ่า นที่ได้ไปล็อกอินเข้าสู่บริการในอนาคตต่อไป
ความกังวลถึงการดักฟังเป็นความกังวลแรกๆ ของการเชื่อมต่ออินเทอร์เน็ต แนวทางแก้ปัญหาที่ออกแบบมาและยังนิยมใช้งานสูงจนทุกว ันนี้คือกระบวนการ CAHP (Challenge-Handshake Authentication Protocol) กำหนดมาตรฐานไว้ใน RFC1994 กระบวนการนี้เซิร์ฟเวอร์จะสุ่มเอาข้อความที่ไม่ซ้ำกั นเลยในแต่ละครั้ง ส่งไปยังผู้ใช้ เมื่อผู้ใช้ใส่รหัสผ่านคอมพิวเตอร์จะไม่ส่งรหัสผ่านก ลับไปเซิร์ฟเวอร์โดยตรง แต่นำรหัสผ่านนั้นไปต่อกับค่าที่เซิร์ฟเวอร์สุ่มมาให ้ เรียกว่าค่า challenge แล้วแฮชด้วย MD5 จากนั้นจึงส่งค่ากลับเซิร์ฟเวอร์ กระบวนการนี้ทำให้ระหว่างการรับรองตัวตน ไม่ต้องมีการส่งข้อความลับไปตรงๆ เลย และหากเซิร์ฟเวอร์ทำงานได้ถูกต้อง ข้อความ challenge ก็ควรเปลี่ยนไปทุกครั้ง ทำให้ข้อความที่ใช้รับรองตัวตนเปลี่ยนไปทุกครั้งเช่น กัน
ข้อเสียของกระบวนการเช่นนี้คือเซิร์ฟเวอร์ต้องเก็บรห ัสผ่านเอาไว้ในรูปแบบที่ย้อนกลับมาเป็นตัวรหัสผ่านได ้ซึ่งไม่มีข้อเสียในหลายกรณี เช่น ผู้ดูแลระบบสามารถเข้ามาดูรหัสผ่านได้
SIM รับรองด้วยความลับระหว่างกัน

ขณะที่ CHAP ใช้เพื่อรับรองผู้ใช้ด้วยรหัสผ่าน ระบบโทรศัพท์มือถือเองก็มีกระบวนการรับรองตัว "ซิมการ์ด" ที่คล้ายกัน โดยซิมการ์ดนั้นจะมีค่าความลับเป็นตัวเลขขนาด 128 บิตอยู่ภายในเรียกว่า Ki ตัวเลขนั้นไม่มีช่องทางอ่านออกมาได้ตามปกติ
กระบวนการรับรองซิมการ์ดจะรับรองกับเซิร์ฟเวอร์ที่เร ียกว่า authentication center (AuC) ที่จะเก็บค่าหมายเลข IMSI ที่ใช้ระบุตัวตนของซิมการ์ดทุกใบในโลก พร้อมกับค่า Ki ด้วยเช่นกัน
AuC จะส่งหมายเลขสุ่ม (nonce) ไปยังซิมการ์ดผ่านโทรศัพท์มือถือที่เสียบซิมอยู่ ซิมการ์ดจะนำค่าไปต่อกับค่า Ki ในซิม แล้วแฮชออกมาด้วยฟังก์ชั่น COMP128 จากนั้นจึงคืนค่าแฮชที่ได้กลับไปยังเซิร์ฟเวอร์ ฝั่งเซิร์ฟเวอร์จะแฮชด้วยฟังก์ชั่นเดียวกันเพื่อเทีย บว่าค่าตรงกันหรือไม่ หากตรงก็เป็นการรับรองว่าซิมที่ถูกต้องเชื่อมต่อกับโ ทรศัพท์อยู่จริง
ในโลกความเป็นจริง COMP128 เวอร์ชั่นแรกกลับออกแบบมาอย่างหละหลวมและเป็นความลับ ไม่สามารถตรวจสอบจากภายนอกได้ แต่เมื่อโครงข่าย GSM ได้รับความนิยมสูงในเวลาไม่นาน นักวิจัยก็สามารถย้อนกลับฟังก์ชั่น COMP128 ได้สำเร็จ ส่งผลให้สามารถย้อนหาค่า Ki ได้ด้วย ภายหลังจึงต้องปรับปรุงเป็น COMP128v2 จึงแก้ปัญหาไปได้
กระบวนการของ GSM ยังคงมีปัญหาสำคัญคือตัวซิมไม่สามารถตรวจสอบได้ว่ากำ ลังคุยกับเสาที่ถูกต้องจริงหรือไม่ ทำให้มีการโจมตีด้วยการตั้งเสาปลอม (rogue tower) ได้ เสา GSM ปลอมเหล่านี้อาจจะเป็นเสาที่ไม่เชื่อมต่อกับเครือข่า ยใดๆ แต่มี AuC ปลอมๆ ที่ให้การรับรองซิมทุกตัวผ่านหมด หรืออาจจะเป็นการดักค่าตรงกลางเพื่อไปเชื่อมต่อก้บเค รือข่าย GSM จริงๆ อีกทีหนึ่ง ทำให้เสาปลอมเหล่านี้สามารถดักฟังข้อความสนทนาได้
กระบวนการในระบบ UMTS ที่ได้รับการพัฒนาจาก GSM จึงมีการปรับปรุงให้ตัวซิมการ์ดเองต้องรับรองตัวตนขอ งเสาสัญญาณด้วยเช่นกัน โดยตัวเสาจะส่งค่า AUTN มาพร้อมกับตัวเลขสุ่ม ภายในซิมการ์ดจะสามารถคำนวณค่า AUTN ได้จากเลขสุ่มที่ให้มา หากคำนวณค่าได้ไม่ตรง ตัวซิมจะไม่ยอมปล่อยค่าแฮชออกมาและยกเลิกการเชื่อมต่ อ
กระบวนการของ UMTS อาจจะเปรียบเทียบคล้ายกับกระบวนการของ MasterCard SecureCode ที่ทั้งสองฝั่งต้องรับรองตัวตนของกันและกัน ก่อนจะเริ่มดำเนินการใดๆ ต่อไป
โทเค็นรับรองได้เพราะมีสิ่งรับรอง

กระบวนการรับรองในกรณีที่เราไม่รู้จักกันมาก่อน ในชีวิตประจำวัน เรามักจะรับรองตัวตนกันด้วย "สิ่งรับรอง" หรือโทเค็น (token) โดยสิ่งรับรองเหล่านี้ต้องมีความสามารถที่จะรับรองได ้ว่าผู้ที่ถือมันเป็นตัวตนที่อ้างมาจริง ในกรณีของไทยนั้นเราคงใช้บัตรประชาชนกันเป็นเรื่องปก ติ
เราเชื่อบัตรประชาชนเพราะโดยทั่วไปแล้วบัตรประชาชนนั ้นปลอมได้ยากพอสมควร ฟิล์มใสที่เคลือบบัตรประชาชนนั้นเป็นพลาสติกแบบพิเศษ ที่พิมพ์ลายสะท้อนแสงเอาไว้ ลายเหล่านี้ปลอมได้ยาก แต่การตรวจสอบที่หละหลวม หลายครั้งธุรกรรมบางอย่างกลับไม่ได้ตรวจสอบอย่างดี และหลงเชื่อเพียงสำเนาที่ไม่ชัดเจนของบัตรประชาชนก็ท ำให้การรับรองตัวตนผิดพลาดได้เรื่อยๆ

สินค้าหลายชนิดรับรองว่าสินค้าเป็นของแท้ด้วยกระบวนก ารคล้ายๆ กัน ด้วยการติดสติกเกอร์สะท้อนแสงที่ปลอมแปลงได้ยาก โดยระบุหมายเลขประจำตัวสินค้าที่ตรงกับสินค้าที่ขาย ทำให้ลูกค้ารู้ได้ว่าสินค้าที่กำลังซื้อนั้นเป็นของแ ท้
ในระบบเซิร์ฟเวอร์ในองค์กรขนาดใหญ่ หรือกระทั่งเกมออนไลน์หลายๆ เกม มักมี "พวงกุญแจ" ที่เก็บค่าความลับเอาไว้ภายในชิปที่ยากต่อการอ่านค่า ออกมา เราเรียกพวงกุญแจเหล่านี้ว่าฮาร์ดโทเค็น (hard token) โดยภายในเป็นนาฬิกาที่คำนวณค่า ขณะที่กูเกิลเลือกใช้ซอฟต์แวร์ที่ชื่อว่า Google Authenticator แล้วรับค่าที่เป็นความลับผ่านการอ่าน QR-code เมื่อตอนลงทะเบียนครั้งแรกเอาไว้ ซอฟต์แวร์แบบนี้เรียกว่าซอฟต์โทเค็น (soft token) มันจะทำให้ โทรศัพท์มือถือ (หรืออุปกรณ์อื่นๆ) กลายเป็นเครื่องรับรองตัวตนของเรา เมื่อเราล็อกอิน แทนที่จะบริการจะถามเพียงรหัสผ่าน ก็จะถามค่าที่ได้รับจากโทเค็นเหล่านี้เพิ่มเติม หากเราใส่ค่าจากโทเค็นได้ถูกต้องก็แสดงว่าเรา "มี" เครื่องรับรองตัวตนนี้อยู่กับตัว
PKCS รับรองได้เพราะความลับอยู่กับเรา

กระบวนการรับรองตัวตนที่ได้รับความนิยมสูงในระดับองค ์กรอีกอย่างหนึ่งคือการรับรองตัวตนผ่านโครงสร้างพื้น ฐานกุญแจสาธารณะ (public-key infrastructure - PKI)
ปกติแล้วเมื่อเราพูดถึงกระบวนการรับรองตัวตนในมาตรฐา น SSL/TLS ที่เราใช้เข้าเว็บนั้นเรามักใช้เพื่อรับรองว่าเว็บที ่เราเข้าชมอยู่นั้นเป็นเว็บจริง หลังจากนั้นเว็บจึงรับรองว่าเราเป็นใครด้วยการถามรหั สผ่านจากเราอีกครั้ง แต่กระบวนการ TLS นั้นมีระบุถึงกระบวนการรับรองผู้ใช้เอาไว้ด้วย โดยผู้ใช้จะต้องถือกุญแจลับและใบรับรองเอาไว้
การถือกุญแจลับและใบรับรองนั้นใบรับรองต้องถูกเซ็นลา ยเซ็นดิจิตอล (ซึ่งก็คือการเข้ารหัสค่าแฮชของไฟล์ด้วยกุญแจลับ) ด้วยหน่วยงานรับรอง (certification authority - CA) ที่เชื่อถือได้ สำหรับองค์กรทั่วไป ทางหน่วยงานอาจจะสร้าง CA ของตัวเองขึ้นมาใช้งาน หรืออาจจะใช้หน่วยงานภายนอกก็ได้ หากสร้าง CA ขึ้นมาใช้งานเอง ทางหน่วยงานก็มีหน้าที่ต้องกระจายใบรับรองของ CA ให้กับเครื่องคอมพิวเตอร์ทุกเครื่อง โดยต้องระวังว่าใบรับรองนี้จะไม่ถูกปลอมแปลงในระหว่า งทาง
สำหรับกุญแจลับและใบรับรองของผู้ใช้ทั่วไป มีทางเลือกสองแบบคือการแจกจ่ายออกไปเป็นไฟล์ ที่เรียกมาตรฐานว่า PKCS#12 ไฟล์นี้จะเป็นไฟล์รวมทั้งใบรับรองตัวตนดิจิตอลไว้พร้ อมกับกุญแจลับ เมื่อเซิร์ฟเวอร์ต้องการรับรองตัวตนของผู้ใช้ที่เชื่ อมต่อเข้ามา เซิร์ฟเวอร์สามารถร้องขอใบรับรองซึ่งจะมีกุญแจสาธารณ ะติดมาด้วย จากนั้นจึงเข้ารหัสตัวเลขชุดหนึ่งแล้วส่งกลับไปยังผู ้ใช้ ผู้ใช้ที่มีกุญแจลับจะสามารถถอดรหัสค่าที่เข้ารหัสมา แล้วส่งกลับไปยังเซิร์ฟเวอร์ได้
เซิร์ฟเวอร์รู้ว่าผู้ใช้เป็นตัวจริงเพราะผู้ใช้ "มี" กุญแจลับของใบรับรองที่ได้รับการรับรองโดยหน่วยงานออ กใบรับรอง
หลายหน่วยงานไม่นิยมการออกใบรับรองและกุญแจลับให้เป็ นไฟล์ เพราะสามารถทำสำเนาได้โดยง่าย ทางเลือกที่เราเห็นได้บ่อยคือการใช้สมาร์ตการ์ด กรณีนี้แทนที่ผู้ใช้จะถือไฟล์ของกุญแจลับโดยตรงและสา มารถเปิดกุญแจขึ้นมาอ่านค่าได้ หน่วยงานออกใบรับรองจะให้สมาร์ตการ์ดกับผู้ใช้ไปหนึ่ งใบ ภายในสมาร์ตการ์ดนั้นจะมีกุญแจลับอยู่ภายในแต่กลับไม ่สามารถอ่านค่าออกมาได้ แต่จะมี API ขอให้สมาร์ตการ์ดเข้ารหัสและถอดรหัสข้อมูลที่ส่งเข้า ไปแทน

API ของการเรียกใช้สมาร์ตการ์ดเพื่อการรับรองตัวตนนี้มีม าตรฐานเรียกว่า PKCS#11 ปัจจุบันมีฮาร์ดแวร์หลากหลายรูปแบบ บางครั้งเป็นสมาร์ตการ์ดแบบเดียวกับบัตรประชาชนที่เร าเห็นกัน แต่บางครั้งก็เป็น USB รูปร่างคล้ายแฟลชไดร์ฟสามารถเสียบเครื่องที่ไม่มีเคร ื่องอ่านสมาร์ตการ์ดได้ทันที
กระบวนการของความลับใน PKCS#11 นี้มีความพิเศษคือกุญแจลับเองก็เป็นความลับต่อผู้ใช้ ที่ถือกุญแจลับเองด้วย กระบวนการรับรองตัวตนจึงน่าเชื่อถือขึ้นอีกขั้นหนึ่ง เพราะโดยทั่วไปแล้วผู้ใช้เองก็ไม่สามารถทำสำเนาโทเค็ นไปได้ กระบวนการนี้รับประกันว่าโทเค็นจะมีเพียงชิ้นเดียว
บัตรเครดิต เริ่มต้นความปลอดภัยด้วยการ "มอง"

กระบวนการรับรองการจ่ายเงินอีกรูปแบบหนึ่งคือการรับร องการจ่ายเงินผ่านบัตรเครดิต บัตรเครดิตยุคแรกนั้นเป็นบัตรนูนแสดงตัวเลขบัตร, วันที่ออกบัตรและวันหมดอายุ, และชื่อผู้ถือบัตร กระบวนการรับรองการจ่ายเงินคือเจ้าของร้านจะต้องตรวจ สอบบัตรว่าเป็นบัตรจริง ด้วยการตรวจสอบลายสะท้อนแสงบนตัวบัตร จากนั้นจึงนำบัตรไปรูดบนกระดาษคาร์บอนเพื่อเก็บข้อมู ลบนตัวบัตรออกมา
ปัญหาของกระบวนการเช่นนี้ คือ กระบวนการตรวจสอบอาศัยความซื่อสัตย์และความเชี่ยวชาญ ของร้านค้า หลายครั้งที่ร้านค้าไม่มีความเชี่ยวชาญในการตรวจสอบบ ัตรเครดิต ทำให้หลงรับบัตรปลอม และบางครั้งร้านค้าก็ร่วมมือกับกลุ่มฉ้อโกงเสียเอง กลุ่มเหล่านี้ผลิตบัตรที่ไม่มีการรับรองความถูกต้องใ ดๆ แต่มีเพียงตัวนูนเป็นตัวเลขและข้อมูลปลอมเท่านั้น เรียกว่า white card
กระบวนการรับรองว่ามีการใช้บัตรจริงเพื่อสั่งจ่ายเงิ นมีเพิ่มเติมมาเรื่อยๆ เช่น การเพิ่มหมายเลข CVV (card verification number) ในสมัยหนึ่งมีการเพิ่มเลขนี้ไว้ในแถบแม่เหล็ก ทำให้อ่านจากภายนอกไม่เห็น (ในสมัยนั้นเครื่องอ่านบัตรยังมีราคาแพงและหาไม่ได้ท ั่วไป) โดยตัวเลขต้องได้จากการรูดแถบแม่เหล็กเท่านั้น (บางรายเรียกว่า CVV1) แต่ก็ไม่ประสบความสำเร็จนักเพราะเครื่องอ่านบัตรสามา รถทำได้จากอุปกรณ์ที่หาได้ทั่วไปหากผู้ต้องการอ่านบั ตรมีความรู้พอ ตัวเลขอีกชุดหนึ่งคือ CVV หลังบัตรที่มีตัวเลขสามหลักเพิ่มเติมเพื่อรับรองว่าม ีบัตรจริงด้วยการดูหมายเลขบัตรด้านหลัง แม้จะดูไม่มีประโยชน์นักเพราะผู้ปลอมบัตรต้องการเพีย งแค่เห็นบัตรสักครั้งก็สามารถปลอมแปลงได้แล้ว แต่ CVV หลังบัตรออกแบบเพื่อการใช้งานผ่านอินเทอร์เน็ตเป็นหล ัก โดยมาตรฐานการจัดเก็บข้อมูลระบุไม่ให้เว็บไซต์ของผู้ ค้าเก็บหมายเลข CVV นี้เอาไว้ในฐานข้อมูล ดังนั้นแม้ข้อมูลหมายเลขบัตรจะหลุดไป แฮกเกอร์ก็ไม่สามารถใช้งานหมายเลขบัตรเครดิตได้ ปัญหาคือในการใช้งานจริง ธนาคารผู้ออกบัตรหลายรายไม่ใช้หมายเลข CVV นี้ และผู้ค้าหลายรายก็ไม่ใช้งานหมายเลข CVV ด้วยเช่นกัน
ปัญหาการฉ้อโกงบัตรเครดิตสร้างปัญหาเรื่อยมา แต่ทุกวันนี้บัตรส่วนมากเป็นบัตรแบบมีชิปภายใน บัตรมีชิปที่ธนาคารออกให้เหล่านี้มักเป็นไปตามมาตรฐา น EMV (ตามชื่อบริษัท Europay, MasterCard, และ Visa ที่ร่วมสร้างมาตรฐาน) กระบวนเข้ารหัสทำให้ EMV ได้เปรียบกระบวนการรับรองบัตรแบบเดิมๆ มาก (อ่านเพิ่มเติม)
ส่วนประกอบสำคัญในบัตร EMV คือ คู่กุญแจสาธารณะและกุญแจลับที่อยู่ในตัวบัตร ส่วนธนาคารผู้ออกบัตรนั้นต้องมีกุญแจสาธารณะของตัวเอ งอีกชุดหนึ่ง
กระบวนการเพิ่มเติมของมาตรฐาน EMV มีสามขั้นตอนหลัก

  • รับรองว่าเป็นบัตรจริง: ด้วยการขออ่านบัตรว่าข้อมูลได้รับการรับรองจากธนาคาร ผู้ออกบัตรหรือไม่ เครื่องรับจ่ายจะมีกุญแจสาธารณะของธนาคาร ตัวบัตรจะส่งข้อมูลบัตรพร้อมกุญแจสาธารณะของตัวบัตรอ อกมาให้เครื่องอ่านเป็นไฟล์ที่มีลายเซ็นดิจิตอลของธน าคารผู้ออกบัตรรับรองอยู่ จากนั้นเครื่องอ่านบัตรจะส่งค่ากลับเข้ามาเป็นตัวเลข nonce เพื่อให้ตัวบัตรเซ็นด้วยกุญแจลับของตัวบัตรเอง หากลายเซ็นดิจิตอลที่คืนออกมาสามารถตรวจสอบด้วยกุญแจ สาธารณะที่ธนาคารผู้ออกบัตรรับรองก็แสดงว่าเป็นบัตรจ ริง
  • รับรองผู้ถือบัตร: กระบวนการนี้บ้านเราไม่เห็นกันมากนัก แต่หลายธนาคารในต่างประเทศจะให้ผู้ใช้ใส่รหัสผ่าน หรือเซ็นลายเซ็นในเครื่องเพื่อรับรองการจ่ายเงิน
  • รับรองการจ่ายเงิน: มีทั้งแบบออนไลน์และออฟไลน์ โดยแบบออฟไลน์ตัวเครื่องจะส่งข้อมูลการจ่ายเงินเข้าไ ปในตัวบัตร ตัวบัตรจะเซ็นด้วยกุญแจลับให้เครื่องจ่ายไปเก็บไว้ ส่วนแบบออนไลน์ตัวบัตรจะส่งข้อมูลขอรับรองการจ่ายเงิ นไปยังธนาคารผู้ออกบัตร ธนาคารผู้ออกบัตรจะส่งใบรับรองการจ่ายเงินกลับมา

กระบวนการ EMV มีกระบวนการที่ซับซ้อนและตัวเลือกให้ใช้งานต่างกันไป ตามแต่ธนาคารในแต่ละประเทศอีกมาก ในบทความนี้จะพูดคร่าวๆ เพียงเท่านี้
Software Authentication รับรองว่ารันของจริง

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

กระบวนการติดตั้งซอฟต์แวร์ของลินุกซ์มักจะต่างจากวิน โดวส์ เนื่องจากซอฟต์แวร์มักถูกติดตั้งจาก repository ที่มีซอฟต์แวร์จำนวนมากอยู่ด้วยกัน เพราะซอฟต์แวร์ส่วนใหญ่เองก็เป็นซอฟต์แวร์โอเพนซอร์ส ที่หาดาวน์โหลดได้ฟรี แต่แหล่งกระจายซอฟต์แวร์ของลินุกซ์นั้นมีมากมายทั่วโ ลก หลายที่ทำไว้เพื่อความสะดวกในการติดตั้งของคนในองค์ก ร บางที่ทำเพื่อให้บริการแก่สาธารณะ การเชื่อใจซอฟต์แวร์ที่จะมาติดตั้งจึงอาศัยกระบวนการ เชื่อใจแหล่งที่มาของซอฟต์แวร์ ในกรณีนี้เราจะยกตัวอย่าง Debian ที่เป็นดิสโทรหนึ่งของลินุกซ์ กระบวนการทำงานคล้ายกับ Ubuntu แต่จะต่างไปจาก Redhat เล็กน้อย
เมื่อเราติดตั้งลินุกซ์ จะมีกุญแจสาธารณะของผู้ผลิตอยู่ในเครื่องอยู่แล้ว โดยวางไว้ที่ /etc/apt/trusted.gpg เมื่อเราต้องการติดตั้งซอฟต์แวร์ เราไม่ต้องดาวน์โหลดจากเซิร์ฟเวอร์ของทาง Debian โดยตรงแต่สามารถดาวน์โหลดจากแหล่งอื่นที่เราสะดวกได้ เสมอ รวมถึงการติดตั้งจากแผ่นซีดี ในแหล่งดาวน์โหลดจะต้องมีไฟล์ค่าแฮชไฟล์ที่เก็บค่าแฮ ชของไฟล์ติดตั้งและลายเซ็นดิจิตอลวางไว้คู่กับตัวไฟล ์ติดตั้งเสมอ ตัวอย่างเช่น ใน Debian 5.0 ที่ mirror1.ku.ac.th จะมีไฟล์ Release.gpg เซ็นกำกับรายชื่อไฟล์ของแต่ละสถาปัตยกรรมเอาไว้ เมื่อเราต้องการดาวน์โหลดไฟล์จากสถาปัตยกรรม i386 ระบบปฏิบัติการจะดาวน์โหลดไฟล์ Contents-i386.gz ซึ่งจะมีค่าแฮชของไฟล์ Packages.gz อีกครั้ง โดยในไฟล์นี้จะมีค่าแฮชของไฟล์ติดตั้งทุกไฟล์เอาไว้ใ นตัว การเก็บค่าแฮชเป็นลูกโซ่เช่นนี้ทำให้ไฟล์รับรองเพียง ไฟล์เดียวสามารถรับรองไฟล์ติดตั้งทุกไฟล์ของระบบได้
วินโดวส์: รับรองชื่อผู้ผลิต

กระบวนการรับรองชื่อผู้ผลิตของวินโดวส์นั้นต่างออกไป เนื่องจากเรามักดาวน์โหลดซอฟต์แวร์จากผู้ผลิตโดยตรงแ ทนที่จะมีแหล่งรวมตรงกลาง กระบวนการของวินโดวส์จึงเปิดให้มีการตรวจสอบได้แม้ผู ้ผลิตจะไม่ได้เกี่ยวข้องกับไมโครซอฟท์โดยตรง

ผู้ผลิตที่ต้องการเซ็นรับรองตัวตนในซอฟต์แวร์จะต้องต ิดต่อหน่วยงานออกใบรับรองรูปแบบเดียวกับใบรับรองดิจิ ตอลให้กับตนเอง กระบวนการตรวจสอบตัวตนของหน่วยงานออกใบรับรองของแต่ล ะที่ก็จะต่างกันไปตั้งแต่การส่งอีเมลรับรอง ไปจนถึงการขอเอกสารเป็นทางการ
หลังจากนั้นเมื่อติดตั้งซอฟต์แวร์ ตัวติดตั้งของไมโครซอฟท์จะแสดงชื่อผู้ผลิตขึ้นมาให้ผู้ใช้รับรู้ว่ ากำลังติดตั้งจากผู้ผลิตรายใด โดยยกเว้นในบางกรณีของผู้ผลิตที่ได้รับรองจากหน่วยงา นรับรองของไมโครซอฟท์เอง (Windows signing authority) หรือผู้ผลิตที่อยู่ในรายชื่อที่ได้รับความเชื่อถือ (trusted publisher) ก็จะติดตั้งได้เลย
นอกจากนี้ยังมีผู้ผลิตที่อยู่ในรายชื่อ "ไม่น่าเชื่อถือ" ที่วินโดวส์จะไม่ยอมติดตั้งเลยโดยไม่ถามผู้ใช้แต่จะล ็อกความพยายามติดตั้งจากผู้ผลิตเหล่านี้เอาไว้ในระบบ แทน
Android: ขอให้เหมือนเดิม

กระบวนการรับรองซอฟต์แวร์ในระบบปฎิบัติการสมัยใหม่อย ่างแอนดรอยด์เลือกใช้เส้นทางที่ต่างออกไป เพราะการทำงานของของระบบปฎิบัติการเองก็ต่างออกไป ด้วยการจำกัดสิทธิ์ซอฟต์แวร์ได้ละเอียดกว่าลินุกซ์แล ะวินโดวส์ การรับรองตัวตนของผู้ผลิตซอฟต์แวร์ในแอนดรอยด์มีเหตุ ผลสำคัญคือการอัพเดตซอฟต์แวร์ เนื่องจากแอนดรอยด์ต้องการให้ผู้ใช้สามารถอัพเดตซอฟต ์แวร์ได้โดยง่ายผู้ใช้ไม่ต้องรับรู้เมื่อมีการอัพเดต แต่ละครั้ง แต่หากซอฟต์แวร์รุ่นใหม่กลับเป็นซอฟต์แวร์จากผู้ผลิต อื่นที่ปลอมตัวมาก็อาจจะสร้างความเสียหายได้
การรับรองตัวตนผู้ผลิตซอฟต์แวร์ของแอนดรอยด์จึงต้องการเพียงใบรับรองที่รับรองตัวเอง (self-signing certificate) เมื่อติดตั้งซอฟต์แวร์ลงในเครื่องครั้งแรก แอนดรอยด์จะจำใบรับรองไว้ และการอัพเดตทุกครั้งจะต้องใช้ใบรับรองเดิม ไม่เช่นนั้นจะติดตั้งไม่ได้ ด้วยแนวทางเช่นนี้ใบรับรองจะต้องมีอายุอย่างน้อย 25 ปี เพื่อให้แน่ใจว่าใบรับรองจะไม่หมดอายุเสียก่อนที่แอพ พลิเคชั่นจะเลิกใช้งานไป
นอกจากใบรับรองผู้ผลิตทั่วไปแล้ว แอนดรอยด์ยังใช้ใบรับรองพิเศษชุดหนึ่งที่วางไว้ในช่ว งการคอมไพล์เพื่อใช้เป็นใบรับรองระบบ (system certificate) หากมีแอพพลิเคชั่นใดเซ็นด้วยใบรับรองเหล่านี้จะสามาร ถขอสิทธิพิเศษเพิ่มเติม เช่น การรีบูตเครื่อง, การติดตั้งและถอดแอพพลิเคชั่นโดยไม่ต้องแจ้งผู้ใช้ ฯลฯ
ChromeOS: รับรองทุกครั้งที่บูต

นอกจากกระบวนการรับรอง "แอพพลิเคชั่น" ที่เราพบทั่วไปแล้ว คอมพิวเตอร์สมัยใหม่แทบทั้งหมดจะมีกระบวนการรับรองซอ ฟต์แวร์แทบทุกขั้นตอน โดยผู้ผลิตฮาร์ดแวร์จะมีเฟิร์มแวร์ที่ฝังอยู่ในส่วนท ี่ดัดแปลงแก้ไขได้ยาก เช่น ฝังอยู่ในซีพียู จากนั้นเฟิร์มแวร์นี้รันโปรแกรมเพื่อรับรองเฟิร์มแวร ์ภายนอกที่สามารถอัพเดตแก้ไขได้ สุดท้ายเฟิร์มแวร์จึงไปรับรองระบบปฎิบัติการในดิสก์อ ีกครั้ง
คอมพิวเตอร์ยุคใหม่ในกลุ่มนี้ เช่น แอนดรอยด์เองก็มี bootloader ที่สามารถรับรองรอมที่จะมาติดตั้งได้ (ทำให้นักพัฒนาต้องการเครื่องแบบ unlocked bootloader) เครื่องเกมคอนโซลยุคใหม่ทั้งหมด ในสมัยเครื่อง Xbox รุ่นแรกนั้นเฟิร์มแวร์เริ่มต้นถูกฝังไว้ในชิป north bridge ที่เชื่อมต่อกับซีพียูด้วยบัส 700MHz โดยทางไมโครซอฟท์เชื่อว่าคนทั่วไปจะไม่สามารถดักฟังบ ัสความเร็วสูงเช่นนั้นได้ แต่นักวิจัยจากมหาวิทยาลัยก็สามารถดักฟังได้สำเร็จ และรอมเริ่มต้นการบูตก็หลุดออกมานำไปสู่การแฮก Xbox ในที่สุด (ดูเพิ่มเติมเรื่องระบบยืนยันเฟิร์มแวร์ของ Xbox ใน GoogleTechTalk)
กระบวนการรับรองซอฟต์แวร์ของ ChromeOS ระบุไว้ให้มีเฟิร์มแวร์สองชั้น ชั้นแรกจะอ่านได้อย่างเดียวและติดมากับผู้ผลิตโดยตรง เท่านั้น ภายในมีกุญแจสาธารณะของผู้ผลิตติดตั้งอยู่เพื่อทำหน้ าที่รับรองเฟิร์มแวร์ชั้นต่อไป ในเฟิร์มแวร์ชั้นที่อ่าน/เขียนได้ จะต้องมีลายเซ็นดิจิตอลของผู้ผลิตอยู่ เฟิร์มแวร์ชั้นแรกจึงรับรองความถูกต้องได้ด้วยกุญแจส าธารณะ หากรับรองไม่สำเร็จ ระบบจะเตือนว่ามีการแก้ไขเฟิร์มแวร์แต่สามารถติดตั้ง เฟิร์มแวร์ใหม่เพื่อใช้งานตามเดิมได้
เมื่อเฟิร์มแวร์รับรองสำเร็จจะเริ่มรัน เฟิร์มแวร์แบบอ่าน/เขียน เองจะมีกุญแจสาธารณะอื่นๆ (เช่น ของกูเกิล) เพื่อใช้รับรองเคอร์เนลในดิสก์ เมื่อรับรองสำเร็จแล้วก็จะถือว่าการบูตปลอดภัยดี
กระบวนการตรวจสอบซอฟต์แวร์ก่อนบูตมีข้อจำกัดอยู่ เช่น ไม่สามารถตรวจสอบซอฟต์แวร์ที่รันไปแล้วได้ หากมีการแก้ไขเคอร์เนลหลังจากเริ่มรันไปแล้วก็จะต้อง กลับบูตใหม่เพื่อตรวจสอบว่ามีการแก้ไขหรือไม่
ส่งท้าย

กระบวนการยืนยันจากเดิมที่เคยเป็นการรับรองผู้ใช้กับ ระบบคอมพิวเตอร์ ทุกวันนี้ชิ้นส่วนต่างๆ ล้วนเป็นช่องทางให้ถูกโจมตีได้ทั้งสิ้น (สาเหตุหนึ่งก็เพราะช่องทางแฮกเดิมๆ ใช้งานไม่ได้แล้ว) การดัดแปลงซอฟต์แวร์และฮาร์ดแวร์เพื่อให้แฮกเกอร์บรร ลุผลไม่ใช่เรื่องแปลกอีกต่อไป กระบวนการรับรองเหล่านี้สิ่งต่างๆ จึงแทรกซึมไปอยู่ในกระบวนการหลายอย่าง
บทความนี้ไม่พูดถึงอีกสองส่วนได้แก่ การรับรองเว็บ ที่พูดถึงไปแล้วในบท Asymmetric และ Biometric ที่พูดถึงในบท Identification
In-Depth, Security




อ่านต่อ...