Certificate authority

ในการเข้ารหัส เป็นคนที่ออกใบรับรองดิจิตอล ใบรับรองดิจิตอลรับรองความเป็นเจ้าของ Public Key โดยมีชื่อเรื่องของใบรับรอง ใบรับรองอนุญาตให้คนอื่นใช้งานได้ โดยขึ้นอยู่กับลายเซ็นหรือยืนยันตัวโดยการทำ private key ที่สอดคล้องกับ public key ที่ถูกรับรอง ในรูปแบบความสัมพันธ์ที่เชื่อถือได้นี้ CA เป็นบุคคลที่สามที่เชื่อถือได้ เชื่อถือในเรื่องเจ้าของใบรับรองและกลุ่มคนที่ขึ้นอยู่กับใบรับรอง ผังของ Public Key Infrastructure (PKI) จำนวนมากจะแสดงตนเป็น CA

ใบรับรองที่น่าเชื่อถือโดยทั่วไปมักใช้เพื่อการเชื่อมต่อไปยัง server ผ่านทาง internet ให้มีความปลอดภัย ใบรับรองเป็นสิ่งจำเป็นเพื่อที่จะหลีกหนีกรณีที่กลุ่มคนที่ประสงค์ร้ายที่ปลอมตัวเป็นเป้าหมายในการส่งข้อมูลแทน server สถานการณ์ดังกล่าวเรียกว่า man-in-the-middle attack ผู้ใช้ใบรับรอง CA เพื่อตรวจสอบลายเซ็นของ CA ในใบรับรองของ server ซึ่งเป็นส่วนหนึ่งของการตรวจสอบก่อนที่จะสถาปนาการเชื่อมต่อที่ปลอดภัย โดยปกติ software ของผู้ใช้บริการ ยกตัวอย่างเช่น browser จะรวมชุดใบรับรองของ CA ที่เชื่อถือได้ ซึ่งเข้าท่าในขณะที่ผู้ใช้เยอะมากที่ต้องการไว้วางใจ software ของพวกเขา บุคคลที่ประสงค์ร้ายสามารถข้ามการตรวจสอบความปลอดภัยและยังคงหลอกลวงผู้ใช้ใช้เชื่อถือว่าเป็นอย่างอื่น

ผู้ใช้บริการของ CA เป็นผู้ดูแล server ซึ่งต้องการใบรับรองที่ server ของพวกเขาจะนำเสนอให้แก่ผู้ใช้บริการได้ ค่าใช้จ่าย CA ในการออกใบรับรอง และลูกค้าของพวกเขาหวังว่าใบรับรอง CA จะถูกรวบรวมโดย web browser ส่วนใหญ่ เพื่อที่จะให้การเชื่อมต่อปลอดภัยคือ server ถูกรับรองทำงานได้อย่างราบรื่น จำนวน web browser อุปกรณ์อื่นๆ และ application ซึงเชื่อถือ CA โดยเฉพาะ จะถูกกล่าวถึงอย่างแพร่หลาย Mozilla ซึ่งเป็นองค์กรที่แสวงผลกำไร ได้กระจายใบรับรอง CA กับผลิตภัณฑ์ของบริษัทไปอย่างแพร่หลาย ในขณะที่ Mozilla พัฒนานโยบาย CA/Browser Forum ได้พัฒนาแนวทางสำหรับความน่าเชื่อถือ CA เช่นกัน ใบรับรอง CA ใบเดียวอาจจะถูกใช้ร่วมกับหลายๆ CA และลูกค้าของพวกเขา ใบรับรอง root CA มักจะเป็นฐานที่จะออกใบรับรอง CA คนกลาง ที่มีความต้องการที่แตกต่างกัน

นอกเหนือจาก CA ผู้ให้บริการบางรายออกใบรับรองดิจิตอลให้กับผู้อื่นโดยไม่คิดค่าใช้จ่าย ตัวอย่างที่น่าสนใจคือ CAcert สถาบันขนาดใหญ่และหน่วยงานภาครัฐอาจมี PKI เป็นของตัวเอง ซึ่งรวม CA ของตัวเองเข้าไปด้วย โดยปกติ website ใดใช้ใบรับรองที่ลงนามเองต้องทำหน้าที่เป็น CA ของตัวเองด้วย browser และผู้ใช้บริการคนอื่นๆโดยทั่วไปจะอนุญาตให้ผู้ใช้เพิ่มหรือลบใบรับรอง CA ตามความต้องการ ในขณะที่ใบรับรอง server มีอายุการใช้งานที่น้อยแล้ว ใบรับรอง CA ล่าสุดมีอายุการใช้งานที่ยาวนานกว่า ดังนั้นสำหรับ server ที่มีผู้ใช้งานบ่อยๆ มันก็จะผิดพลาดน้อยในการติดตั้งและเชื่อถือ CA ที่ออกใบรับรองให้ มากกว่าการยืนยันข้อยกเว้นการรักษาความปลอดภัยทุกครั้งที่ server ต่ออายุใบรับรอง

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

ธุรกิจ Certificate authority ทั่วโลกมีการแบ่งส่วนทั้งระดับชาติและระดับภูมิภาคซึ่งมีอำนาจเหนือตลาดทั่วไป เป็นเพราะการใช้งานใบรับรองดิจิตอลจำนวนมากเชื่อมโยงกฎหมายท้องถิ่น ข้อบังคับและการให้อำนาจวางแผนสำหรับ Certificate authority เช่น สำหรับผลเกี่ยวข้องทางกฎหมายลายเซ็นดิจตอล อย่างไรก็ตามตลาดสำหรับใบรับรอง SSL ซึ่งเป็นใบรับรองใช้สำหรับการรักษาความปลอดภัย website ทีโดยส่วนใหญ่จัดขึ้นโดยบริษัทข้ามชาติจำนวนหนึ่ง ตลาดนี้มีอุปสรรคสำคัญในการเข้าถึงเนื่องจากข้อกำหนดทางเทคนิค ในขณะที่ไม่จำเป็นต้องทำตามกฎหมาย ผู้ให้บริการรายใหม่อาจเลือกที่จะได้รับการตรวจสอบรายปีจะถูกรวมอยู่ในรายการ web browser ที่ authority เชื่อถือ เช่น WebTrust สำหรับ CA ในอเมริกาเหนือ และ ETSI ในยุโรป ใบรับรอง root certificate มากกว่า 50 ใบที่เชื่อถือได้เป็นที่นิยมใน web browser version W3Techs ได้สำรวจตั้งแต่เดือนกุมภาพันธ์ 2558 พบว่า

วันที่ 18 พฤศจิกายน 2557 กลุ่มบริษัทและองค์กรที่ไม่แสวงผลกำไร รวมทั้ง the Electronic Frontier Foundation Mozilla Cisco และ Akamai ประกาศว่า "Let's encrypt" certificate authority ที่แสวงผลกำไรรายใหม่วางแผนที่ใบรับรอง TLS โดยไม่คิดค่าใช้จ่าย เช่นเดียวกันกับ software ที่ใช้สำหรับติดตั้งและบำรุงรักษาใบรับรอง Let's encrypt จะถูกดำเนินการโดยกลุ่มวิจัยการรักษาความปลอดภัยอินเทอร์เน็ตที่ถูกจัดตั้งขึ้นมาใหม่ กลุ่มที่ไม่แสวงผลกำไร California ซึ่งใช้ประโยชน์สำหรับยกเว้นภาษีของรัฐบาลตามมาตรา 501(c)(3) ยังคงค้างอยู่ในช่วงเวลาการประกาศ Let's encrypt

CA ซึ่งออกกลุ่มใบรับรองที่ลูกค้าไว้วางใจสำหรับ e-mail server และ server HTTPS สาธารณะมักจะใช้เทคนิคที่เรียกว่า "การตรวจสอบโดเมน" ในการตรวจสอบผู้รับใบรับรอง การตรวจสอบโดเมนเกี่ยวข้องกับการส่ง e-mail ที่มีการรับรอง token หรือ link ไปยัง e-mail address ที่รู้จักกัน ดำเนินการรับผิดชอบสำหรับโดเมน ซึ่งอาจเป็นรายการ e-mail address ที่ติดต่อทางเทคนิคใน WHOIS entry ของโดเมน หรือ e-mail ที่เกี่ยวกับการบริหารงาน เช่น โดเมน admin@ administrator@ webmaster@ hostmaster@ หรือ postmaster@ Certificate Authorities บางรายอาจยอมรับการใช้ โดเมน root@ info@ หรือ support@ ทฤษฎีที่อยู่เบื้องหลังการตรวจสอบโดเมนก็คือมีเจ้าของโดเมนที่ถูกต้องเท่านั้นจะสามารถอ่าน e-mail ที่ส่งไปยังที่อยู่ของผู้ดูแลระบบ

การตรวจสอบโดเมนประสบกับข้อจำกัดของการรักษาความปลอดภัยของโครงสร้างบางอย่าง โดยเฉพาะอย่างยิ่งมันมักจะเสี่ยงต่อการโดนโจมตีที่ช่วยให้ฝ่ายตรงข้ามจะสังเกตเห็น e-mail การตรวจสอบโดเมนที่ส่งโดย CA รวมถึงการโจมตีโพรโทคอล DNS TCP และ BGP หรือการประนีประนอมของเราเตอร์ (ซึ่งขาดการคุ้มครองการเข้ารหัสลับของ TLS/SSL) การโจมตีดังกล่าวเป็นไปทั้งบนเครืองข่ายที่ใกล้ CA หรือใกล้โดเมนเหยื่อเอง

ผู้ออกใบรับรองบางรายเสนอใบรับรอง Extended Validation (EV) เป็นทางเลือกที่เข้มงวดมากขึ้นในการตรวจสอบโดเมนใบรับรอง 1 ในข้อจำกัดของ EV เป็นวิธีการแก้จุดอ่อนของการตรวจสอบโดเมนคือการโจมตียังคงได้รับใบรับรองใบรับรองการตรวจสอบโดเมนสำหรับโดเมนของผู้เคราะห์ร้ายและปรับใช้ระหว่างการโจมตี ถ้าที่เกิดขึ้นนั้นเป็นเพียงข้อแตกต่างที่สังเกตได้ให้กับผู้ใช้ที่ตกเป็นเหยื่อควรจะเป็นแถบ HTTPS address สีน้ำเงิน มากกว่าจะเป็นสีเขียว ผู้ใช้น้อยคนนักจะมีแนวโน้มที่จะยอมรับข้อแตกต่างนี้ซึ่งเป็นสิ่งชี้แนะของการโจมตีที่กำลังดำเนินการอยู่

การ imprement การตรวจสอบโดเมนบางครั้งยังคงได้รับต้นตอของจุดอ่อนในการรักษาความปลอดภัย 1 ในตัวอย่างการวิจัยด้านการรักษาความปลอดภัยพบว่าผู้ไม่หวังดีจะได้รับใบรับรองสำหรับ webmail เพราะว่า CA ตั้งใจที่จะใช้ e-mail เช่นเดียวกันกับ domain.com แต่ไม่ใช่ทุกระบบ webmail ที่จะได้รับลิขสิทธิ์ชื่อผู้ใช้ "SSLCertificates" เพื่อป้องกันผู้ประสงค์ร้ายจากการลงทะเบียน

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

หากผู้ใช้ไว้วางใจ CA และสามารถตรวจสอบลายเซ็นของ CA ต่อมาเขายังสมมติได้ว่า public key บางชนิดไม่ได้เป็นของใครก็ตามที่ระบุไว้ในใบรับรอง

การเข้ารหัส public key สามารถนำมาใช้ในการเข้ารหัสข้อมูลที่สื่อสารกันระหว่าง 2 ฝ่าย ซึ่งจะเกิดขึ้นเมื่อเมื่อผู้ใช้เข้าสู่ทุกเว็บไซต์ที่ implement โพรโทคอลการรักษาความปลอดภัย HTTP ในตัวอย่างนี้ให้เราคิดว่าผู้ใช้เข้าสู่ระบบ www.bank.example เพื่อธรรมธุรกรรมทางการเงิน เมื่อผู้ใช้เปิดหน้าแรก www.bank.example เขาจะได้รับ public key พร้อมกับข้อมูลทั้งหมดที่แสดงบนหน้าเว็บเบราว์เซอร์ public key สามารถนำมาใช้ในการเข้ารหัสข้อมูลจากผู้ใช้ไปยังเซิฟเวอร์ แต่ขั้นตอนที่ปลอดภัยที่จะใช้ในโพรโทคอลที่กำหนด key ที่สมมาตรร่วมกัน ข้อความในโพรโทคอลดังกล่าวเป็น cipher พร้อมกับ public key และมีเพียงเซิฟเวอร์ของธนาคารเท่านั้นที่มี private key ในการอ่านข้อมูล การสื่อสารดำเนินการโดยใช้ symmetric key ใหม่ ดังนั้นเมื่อผู้ใช้ป้อนข้อมูลบางอย่างไปยังหน้า page ของธนาคารและกด submit ส่งข้อมูลให้ธนาคารแล้วข้อมูลผู้ใช้จะถูกป้อนไปยังหน้า page ซึ่งจะถูกเข้ารหัสโดย web browser นั่นเอง ดังนั้นถึงแม้ว่าบางคนสามารถเข้าถึงข้อมูลที่ถูกสื่อสารจากผู้ใช้ไปยัง www.bank.example ดังนั้นคนดักจับข้อมูลไปมาสามารถอ่านและถอดรหัสได้

กลไลนี้จะมีความปลอดภัยในกรณีที่ผู้ใช้มั่นใจได้ว่ามันเป็นธนาคารที่เขาเห็นบนเว็บเบราว์เซอร์ของเขา หากผู้ใช้พิมพ์ใน www.bank.example แต่การสื่อสารของเขายังถูกดักจับระหว่างทางและปลอมเว็บไซต์ที่อ้างว่าเป็นของธนาคารส่งข้อมูลหน้า page กลับไปยัง user web-page ปลอมสามารถส่ง public key ปลอมไปยังผู้ใช้ เพื่อที่จะให้เว็บไซต์ปลอมมี private key ที่เข้ากับ public key ปลอม ผู้ใช้จะกรอกแบบฟอร์มที่มีข้อมูลส่วนตัวของเขาและ submit หน้า page หน้าเว็บปลอมจะได้รับการเข้าถึงข้อมูลของผู้ใช้

CA เป็นองค์กรที่เก็บ public key และเป็นเจ้าของ ทุกกลุ่มในการสื่อสารไว้วางใจองค์กรนี้และรู้จัก public key ของ CA เมื่อเว็บเบราว์เซอร์ของผู้ใช้ได้รับ public key จาก www.bank.example และยังได้รับลายเซ็นดิจิตอลของ key ด้วย เบราว์เซอร์ครอบครอง public key ของ CA แล้วจึงสามารถตรวจสอบลายเซ็น ไว้วางใจใบรับรองและ public key ได้ เมื่อ www.bank.example ใช้ public key ซึ่ง CA รับรอง www.bank.example ปลอมสามารถใช้ได้แค่ public key ที่เหมือนกันเท่านั้น เมื่อ www.bank.example ปลอมไม่รู้จัก private key ที่เกี่ยวข้องแล้ว ก็ไม่สามารถลายเซ็นที่จำเป็นในการตรวจสอบความถูกต้อง

ปัญหาของการรับประกันความถูกต้องระหว่างข้อมูลและเอกลักษณ์เมื่อข้อมูลถูกนำเสนอให้แก่ CA ซึ่งอาจจะผ่านเครือข่ายอิเล็กทรอนิกส์ และเมื่อข้อมูลประจำตัวบุคคล บริษัท หรือโปรแกรมร้องขอใบรับรองถูกนำเสนอในทำนองเดียวกันเป็นเรื่องยาก นี่คือเหตุผลที่ CA มักจะใช้การผสมผสานของการวิเคราะห์พฤติกรรมที่กำหนดเองและเทคนิคการทำให้น่าเชื่อถือประกอบไปด้วยการใช้ประโยชน์จากรัฐ โครงสร้างค่าใช้จ่าย ฐานข้อมูลของบุคคลที่สามและการบริการ ในบางระบบองค์กร รูปแบบทั่วไปของการตรวจสอบ เช่น Kerberos สามารถใช้ในการขอใบรับรองซึ่งสามารถถูกกลับมาใช้โดยบุคคลภายนอก พนักงานทะเบียนจำเป็นในบางกรณีที่รู้จักกลุ่มซึ่งลายเซ็นถูกรับรอง ซึ่งเป็นมาตรฐานที่สูงกว่าจะมาถึงโดย CA ตามที่เค้าร่างเนติบัณฑิตยสภาอเมริกาในการจัดการธุรกรรมออนไลน์ จุดหลักของธนาคารกลางอเมริกาและกฎเกณฑ์ของรัฐประกาศใช้กฎหมายที่เกี่ยวกับลายเซ็นดิจิตอลได้รับการป้องกันความขัดแย้งและความลำบากมากของกฎเกณฑ์ท้องถิ่นและสร้าง electronic writings ตอบสนองความต้องการแบบดังเดิ้มที่เป็นเอกสารกระดาษ เพิ่มเติม พรบ.อเมริกา E-sign และแนะนำรหัส UETA ช่วยให้แน่ใจว่า

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

แม้จะมีมาตรการรักษาความปลอดภัยรับรองการตรวจสอบความถูกต้องของบุคคลและบริษัท ยังมีความเสี่ยงของ single CA ในการออกใบรับรองปลอมเพื่อหลอกลวง นอกจากนี้ยังเป็นไปได้ที่จะลงทะเบียนนิติบุคคลและบริษัทด้วยชื่อที่เหมือนหรือคล้ายกันมากๆจนทำให้เกิดความสับสน เพื่อลดความอันตรายนี้ การริเริ่มใบรับรองที่บริสุทธิ์เสนอการตรวจสอบทุกใบรับรองใน public unforgeable log ซึ่งสามารถช่วยปัองกันการ phishing

ในการใช้งานขนาดใหญ่ Alice อาจไม่คุ้นเคยกับใบรับรองของ Bob เพราะอาจมี CA ที่แตกต่างกัน ดังนั้นใบรับรองของ Bob ยังอาจรวม public key ของ CA ที่ลงนามโดย CA ที่ต่างกันซึ่ง Alice น่าจะรู้จัก กระบวนการนี้นำไปสู่การปกครองเป็นลำดับชั้น หรือโครงข่าย CA หรือ ใบรับรอง CA

รายการเพิกถอนสิทธิ (ARL) เป็นรูปแบบของ CRL ที่มีใบรับรองออกไปยัง CA ตรงกันข้ามกับ CRLs ที่มีใบรับรองเพิกถอนบุคคล ถ้า CA สามารถโดนโจมตี, ทำให้ระบบทั้งหมดเกิดความเสียหาย; แม้ว่าหน่วยงานทั้งหมดจะเชื่อ CA ที่โดนบุกรุกนั้น. ยกตัวอย่าง, สนับสนุนการโจมตี, Eve, จัดการบางอย่างให้ได้ปัญหาของตัว CA มาจากใบรับรองของเธอที่อ้างว่าเป็นของ Alice. ใบรับรองจะแถลงต่อสาธารณะว่านี่เป็นของ Alice, และอาจรวมข้อมูลอื่นๆของ Alice. ข้อมูลบางอย่างเกี่ยวกับ Alice เช่นนายจ้างของเธอ, อาจจะจริง, ช่วนเพิ่มความน่าเชื่อถือของใบรับรอง. อย่างไรก็ตาม Eve อาจมีข้อมูลกุญแจส่วนตัวของใบรับรองที่สำคัญทั้งหมด. Eve สามารถใช้ใบรับรองเพื่อทำลงนามดิจิตอลตัวอีเมลและส่งไปให้ Bob, หลอก Bob ให้เชื่อว่าอีเมลนั้นเป็นของ Alice. Bob อาจตอบอีเมลที่ถูกเข้ารหัสนั้น, เชื่อว่าจะถูกอ่านโดน Alice, Eve สามารถถอดรหัสอีเมลนั้นมาอ่านได้โดยใช้กุญแจส่วนตัว

มีการพัฒนาซอฟต์แวร์ผู้ออกใบรับรองที่เป็นแบบ open source อยู่. โดยทั่วๆไปคือออกบริการที่จำเป็น, ยกเลิกและจัดการใบรับรองการลงนาม
ตัวอย่างโปรแกรมที่เป็น Open source: