ทำไมฉันต้องจ่ายค่าใบรับรอง SSL
สำหรับการใช้งานส่วนใหญ่ไม่มีเหตุผลที่ดีที่จะจ่ายให้
ดูที่ด้านล่างสุดสำหรับข้อสรุปของข้อยกเว้น
ลองย้อนกลับไปและอธิบายว่าใบรับรองทำอะไรและอย่างไรบ้าง
สิ่งที่เรียกกันทั่วไปว่า "ใบรับรอง" ประกอบด้วยสองส่วนเชื่อมโยง:
- ใบรับรอง ที่เหมาะสมซึ่งมีกุญแจสาธารณะและบัตรประจำตัวบางอย่าง (เช่นชื่อโดเมน)
- คีย์ส่วนตัวซึ่งจะช่วยให้ผู้ถือ (และถือ) เพื่อเข้าสู่ระบบดิจิทัลข้อความในลักษณะที่ว่าพวกเขาสามารถตรวจสอบได้โดยใช้ใบรับรองดังกล่าวข้างต้น
หากคุณต้องการใบรับรองสำหรับyourdomain.com
คุณ:
- สร้างคีย์ส่วนตัว / สาธารณะและเก็บส่วนส่วนตัวดีส่วนตัว
- ขอให้บุคคลที่สามที่น่าเชื่อถือ ("CrediCorp") เพื่อสร้างใบรับรอง
yourdomain.com
ด้วยรหัสสาธารณะของคุณ
- พิสูจน์ในทางที่จะ Credicorp
yourdomain.com
ที่คุณสามารถควบคุม
- วางไพรเวตคีย์และใบรับรองที่ได้รับบนเซิร์ฟเวอร์ของคุณและกำหนดค่าเว็บเซิร์ฟเวอร์เพื่อใช้งาน
จากนั้นหากอลิซไปที่yourdomain.com
เบราว์เซอร์ของเธอจะได้รับใบรับรองจากเว็บเซิร์ฟเวอร์ของคุณพร้อมกับข้อความที่ลงนามโดยคีย์ส่วนตัวของคุณ จากนั้นเบราว์เซอร์ของเธอจะตรวจสอบสามสิ่ง:
- ว่าข้อความที่เซ็นชื่อสามารถตรวจสอบได้โดยใบรับรองของคุณ (พิสูจน์ว่าได้รับการลงนามโดยคีย์ส่วนตัวที่เกี่ยวข้องที่
yourdomain.com
ควรมีเท่านั้น)
- โดเมนของใบรับรองเป็นโดเมนที่เบราว์เซอร์พยายามเข้าชม (
yourdomain.com
)
- รับรองว่ามาจาก CrediCorp
การรวมกันของทั้งสามสิ่งรับประกันอลิซว่าเธอจริงจะพูดคุยกับyourdomain.com
และไม่ให้คนโกงบางอย่าง ... โดยมีเงื่อนไขว่าอลิซไว้ใจ Credicorp
(นอกจากนี้ยังมีการเต้นรำ crypto voodooต่อไปนี้เพื่อเปลี่ยนความน่าเชื่อถือนี้เป็นความลับ)
วิธีไม่ Alice ไว้วางใจ Credicorp?
นั่นคือปมที่แท้จริงที่นี่ ในระยะสั้นในบางจุด CrediCorp กล่าวว่า "เฮ้เราจะทำใบรับรอง" หลังจากใช้ความพยายามอย่างมากในการปฏิบัติตามกฎระเบียบมากมายพวกเขาสามารถโน้มน้าวให้คนบางคนที่เชื่อว่า CrediCorp เชื่อถือได้และพวกเขาจะออกใบรับรองได้อย่างถูกต้องเท่านั้น
โดยเฉพาะพวกเขาสามารถโน้มน้าวผู้สร้างพูด Firefox ดังนั้น CrediCorp จะได้รับในรายการ A 'ของ Firefox และใบรับรองของพวกเขาจะได้รับความเชื่อถือโดย Firefox ตามค่าเริ่มต้น ดังนั้นจริงๆอลิซไว้ใจ Firefox, Firefox ไว้ใจ Credicorp และ Credicorp ที่เชื่อถือได้ (หลังจากการตรวจสอบ) yourdomain.com
คุณเมื่อคุณอ้างว่าคุณควบคุม มันเกือบจะเหมือนห่วงโซ่
แต่ Firefox ไม่เพียง แต่เชื่อใจ CrediCorp ในการออกใบรับรองให้yourdomain.com
แต่ก็ไว้วางใจใบรับรอง CrediCorp สำหรับโดเมนใด ๆ และ Firefox ยังเชื่อมั่นใน ShabbyCorp สำหรับทุกโดเมน
สิ่งนี้มีผลกระทบ หากมีคนพยายามโน้มน้าวให้ ShabbyCorp ควบคุมyourdomain.com
(เพราะ ShabbyCorp นั้นไม่ละเอียดมากนัก) พวกเขาจะได้รับใบรับรอง ShabbyCorp yourdomain.com
ด้วยรหัสส่วนตัวที่เกี่ยวข้อง และด้วยใบรับรองนั้นพวกเขาสามารถเลียนแบบเว็บเซิร์ฟเวอร์ของคุณ ท้ายที่สุดพวกเขามีใบรับรอง (คีย์บวก) สำหรับyourdomain.com
ที่เชื่อถือได้โดย Firefox!
CrediCorp และ ShabbyCorp คือสิ่งที่เรียกว่าCertificate Authorities , CAs โดยย่อ ในโลกแห่งความเป็นจริง ComodoSSL และ Let's Encrypt เป็นตัวอย่างของ CAs แต่ยังมีอีกมาก เช่นการเขียนนี้, Firefox ไว้ใจ 154 CAs
โว้ว. แต่นั่นจะตอบคำถามของฉันได้อย่างไร
ฉันกำลังไปที่ ...
นี่คือสิ่งที่ กลไกที่ฉันระบุไว้ข้างต้นใช้กับใบรับรองทั้งหมด หากคุณมีใบรับรองที่ถูกต้องและเชื่อถือได้สำหรับเว็บไซต์ของคุณมันจะทำงานได้ ไม่มีอะไรพิเศษเกี่ยวกับใบรับรองแบรนด์ A กับใบรับรองแบรนด์ B พวกเขาทั้งหมดอยู่ภายใต้ข้อกำหนดของ CA เดียวกันและคณิตศาสตร์ crypto เดียวกัน
และแม้ว่าคุณจะชอบ CrediCorp ดีกว่าเพราะคุณรู้ว่าพวกเขาฟังดูน่าเชื่อถือมากขึ้นการใช้พวกเขาจะไม่ช่วยคุณได้จริงๆ หากผู้โจมตีสามารถโน้มน้าวใจให้ ShabbyCorp มอบใบรับรองให้กับเว็บไซต์ของคุณผู้โจมตีสามารถใช้ใบรับรองนั้นเพื่อปลอมตัวเป็นไซต์ของคุณไม่ว่าคุณจะได้รับที่ใด
ตราบใดที่ Firefox ไว้วางใจ ShabbyCorp ผู้เข้าชมจะไม่เห็นความแตกต่าง (ใช่ผู้เข้าชมสามารถดึงใบรับรองและขุดผ่านดูว่ามีใครออกมาบ้าง แต่ใครทำแบบนั้น) เท่าที่เกี่ยวข้องกับการปลอมแปลงใบรับรองนั้นเกี่ยวข้องกับสิ่งนี้ทำให้ทั้งระบบอ่อนแอเท่ากับ 150 CA ที่อ่อนแอที่สุด ทำไมใช่ว่าเป็นที่น่ากลัวและก็อาจจะเป็นที่ยิ่งใหญ่ที่สุดคนวิจารณ์ได้ของโครงการนี้ทั้งหมด ถึงกระนั้นก็เป็นสิ่งที่เราติดอยู่กับ
ประเด็นคือถ้าคุณไม่เชื่อถือ CA ที่จะให้ใบรับรอง "ดี" การได้รับใบรับรองของคุณจากที่อื่นไม่ได้ช่วยอะไรคุณมาก
Gotcha ทุกอย่างก็ถึงวาระอย่างเท่าเทียมกัน ไม่มีคำเตือน?
Weeeelllll ...
เริ่มจากการฆ่าจุดที่ฉันทำในส่วนสุดท้าย ทุกวันนี้มันเป็นไปได้ที่จะล็อคโดเมนของคุณเพียงแค่ CAs ที่คุณเลือกใช้DNS-CAA สมมติว่าคุณเชื่อถือ Comodo และไม่เชื่อใจ CA อื่น ๆ เป็นไปได้ที่จะขอ CA อื่น ๆ ทั้งหมดที่นอกเหนือจาก Comodo เพื่อไม่ออกใบรับรองสำหรับโดเมนของคุณ ในทางทฤษฎี (เนื่องจาก DNS-CAA ไม่ได้ถูกตรวจสอบโดยเบราว์เซอร์เท่านั้นโดยการออก CA ดังนั้น CA ที่ถูกบุกรุกอาจเพิกเฉยต่อการป้องกันนี้)
หากคุณยินดีที่จะแก้ไขปัญหานั้นคำถามจะกลายเป็น: Let's Encrypt เชื่อถือได้น้อยลงหรือไม่ ปลอดภัยน้อยลงหรือไม่ ความน่าเชื่อถือเป็นเรื่องยากคุณจะหาปริมาณได้อย่างไร ทั้งหมดที่ฉันสามารถพูดได้ก็คือในการรับรู้ของฉัน Let's Encrypt ไม่น่าไว้วางใจน้อยกว่า CA อื่น ๆ สำหรับความปลอดภัยของการตรวจสอบความถูกต้องพวกเขาจะคล้ายกับ CA เชิงพาณิชย์ทำอะไร (สำหรับใบรับรอง DV ต่อไป) ดูคำถามนี้ด้วย
สำหรับสิ่งที่คุ้มค่า: เครือข่าย StackExchange ซึ่งไซต์นี้เป็นส่วนหนึ่งของปัจจุบันใช้ใบรับรอง Let's Encrypt คนส่วนใหญ่จะไม่สังเกตเห็นสิ่งนี้และหากพวกเขาฉันสงสัยอย่างจริงใจว่ามันจะมีความหมายกับพวกเขามากเพียงใด
เพื่อให้ใบรับรองมีความหมาย CA ที่ออกจะต้องได้รับความเชื่อถือจากผู้จำหน่ายซอฟต์แวร์มิฉะนั้นใบรับรองจะไม่มีประโยชน์ ฉันใช้ Firefox เป็นตัวอย่าง แต่จริง ๆ แล้วคุณต้องการให้ CA เชื่อถือได้อย่างน้อยในปัจจุบันและค่อนข้างเก่ากว่ารุ่น Firefox, Chrome, Windows, Mac OS X, iOS และ Android และผู้เล่นที่เล็กกว่าหลายสิบคน CA ที่ควรพิจารณา (ซึ่งรวมถึง ComodoSSL และ Let's Encrypt) ได้รับความเชื่อถือจากเอนทิตีเหล่านี้ทั้งหมด
หาก CA ทำงานผิดปกติหรือถูกเปิดเผยว่าไม่น่าเชื่อถือมันจะถูกลบออกจากร้านค้าที่เชื่อถือได้หลายแห่งอย่างรวดเร็วพอที่จะทำลายวันของเจ้าของใบรับรอง สองตัวอย่างที่น่าทึ่งที่ฉันรู้จักคือDigiNotarและStartCom / WoSign (ดูบทความพวกเขาให้ข้อมูลเชิงลึกที่น่าสนใจเกี่ยวกับการเปลี่ยนแปลงความน่าเชื่อถือ!) ดังนั้นหากคุณคิดว่า Let's Encrypt จะทำให้ล้มเหลวหรือถูกทิ้งเพราะเหตุผลอื่นการไม่ใช้สิ่งเหล่านั้นจะทำให้คุณไม่สามารถตกอยู่ในสถานการณ์นั้นได้
ใบรับรองจะใช้เวทย์มนตร์คณิตศาสตร์เข้ารหัสลับบางอย่าง; คำถามคือที่ Cryptoคณิตศาสตร์มายากล ? เกิดอะไรขึ้นถ้ามันเป็นเวทมนตร์ที่อ่อนแอ นี่เป็นเรื่องจริงที่น่าเป็นห่วงและ CA แสดงให้เห็นว่าต้องยกระดับการอัพเกรดนี้เช่นกัน โชคดีที่ผู้ค้าเบราว์เซอร์หยิบหย่อนโดยการตั้งค่าขั้นต่ำที่นี่เพื่อรับใบรับรอง ตัวอย่างเช่นใบรับรองที่ใช้RSA-1024หรือSHA-1ถูกปฏิเสธโดยเบราว์เซอร์ส่วนใหญ่ดังนั้นใบรับรองใด ๆ ที่ใช้งานได้จริงไม่ได้ใช้ crypto primitives เหล่านี้ ผลที่สุดคือมันค่อนข้างยากสำหรับ CA (รวม Let's Encrypt) ที่จะทำให้ผิดหวังในส่วนนี้อีกต่อไป
ก่อนหน้านี้ฉันพูดมากหรือน้อยว่าใบรับรองทั้งหมดถูกสร้างขึ้นเท่ากัน ฉันโกหกพวกเขาไม่ได้ โดยเฉพาะอย่างยิ่งสิ่งที่ฉันพูดถึงจนถึงขณะนี้คือ " ใบรับรองการตรวจสอบความถูกต้องโดเมน (DV)" ซึ่งเป็นสิ่งที่เว็บไซต์ส่วนใหญ่ใช้ พวกเขาให้ความมั่นใจว่าเบราว์เซอร์ของคุณกำลังพูดถึงโดเมนที่แสดงในแถบ URL นอกจากนี้ยังมีใบรับรอง "การตรวจสอบความถูกต้องขององค์กร (OV)" และ "การตรวจสอบความถูกต้องเพิ่มเติม (EV)" ซึ่งต้องการการตรวจสอบที่ละเอียดยิ่งขึ้นจาก CA โดยเฉพาะอย่างยิ่งคุณควรจะได้รับใบรับรอง EV สำหรับsomebank.com
/ SomeBank Inc. เท่านั้นหากคุณสามารถพิสูจน์ได้ว่าคุณคือ SomeBank, Inc.
ใบรับรอง EV นั้นมีราคาแพงกว่ามากในการรับ (ballpark: หลายร้อย EUR / USD ต่อปี) และพวกเขาอาจได้รับรางวัลแถบสีเขียวหรือกุญแจล็อคในเบราว์เซอร์อาจแสดง "SomeBank, Inc. " เช่นกัน ตรงกันข้ามกับใบรับรอง DV พวกเขายังเสนอแนวคิดบางอย่างเกี่ยวกับเว็บไซต์ที่อาจเป็นของจริง ข้อเสียคือพวกเขาอาจดูถูกกฎหมายมากขึ้น ความผิดหวังคือผู้ใช้ไม่ค่อยให้ความสนใจกับพวกเขาดังนั้นประสิทธิภาพจึงมี จำกัด
ผู้โจมตีที่มีใบรับรอง DV ปลอมแปลงยังคงสามารถแอบอ้างเป็นไซต์ได้โดยไม่ต้องมีเงื่อนงำภาพเพิ่มเติมที่อาจมีใบรับรอง EV และผู้ใช้โดยทั่วไปจะไม่สังเกตเห็นความแตกต่าง ในทางกลับกันเป็นไปได้ที่จะได้รับใบรับรอง EV ที่ทำให้เข้าใจผิดเพื่อทำให้ฟิชชิ่งง่ายขึ้น ด้วยเหตุนี้ทั้งChromeและFirefoxจะลดลงจากการมองเห็นของพวกเขาไปยังใบรับรอง EV และบางคนเชื่อว่าพวกเขาจะหายไปอย่างสิ้นเชิง
หากคุณเป็นธนาคารคุณอาจต้องการใบรับรอง EV ตอนนี้ ไม่อย่างนั้นไม่มาก แต่ถ้าคุณทำต้อง EV, การเข้ารหัสลับ Let 's ไม่ได้สำหรับคุณเพราะพวกเขาก็ไม่ได้นำเสนอใบรับรอง EV
ใบรับรองเป็นเพียงที่ถูกต้องสำหรับระยะเวลาที่ จำกัด ใบรับรองจาก CA เชิงพาณิชย์ทั่วไปมีแนวโน้มที่จะใช้ได้เป็นเวลาหนึ่งปี แต่ฉันเห็นอะไรจากสามเดือนถึงสามปี Let's Encrypt certificate นั้นมีอายุ 90 วันซึ่งอยู่ในช่วงสั้น ๆ ของช่วงนั้นดังนั้นคุณจะต้องต่ออายุบ่อยๆ สำหรับผู้ใช้ Let's เข้ารหัสโดยทั่วไปจะเป็นแบบอัตโนมัติเพื่อให้มีการแทนที่ใบรับรองทุก ๆ 60 วัน
ความสามารถในการต่ออายุโดยอัตโนมัติด้วยซอฟต์แวร์ที่มีอยู่อย่างกว้างขวางเป็นที่น่าพอใจมากกว่าปีที่ใบรับรองของฉันหมดอายุ? การเข้าสู่ระบบของฉันที่ CA คืออะไร มันทำงานได้อย่างไรอีกครั้ง? พิธีกรรมที่ไซต์เล็ก ๆ ส่วนใหญ่ดูเหมือนจะจบลงที่ CA เชิงพาณิชย์
ก่อนหน้านี้ฉันเรียกว่าน่ากลัวว่ามี CAs มากมายที่เราทุกคนต้องเชื่อใจ การมี CAs จำนวนมากก็เป็นข้อดีเช่นกันในแง่ที่ว่าการลบหนึ่งเดียวออกจากร้านค้าที่เชื่อถือได้ของเรานั้นมีผลกระทบ จำกัด ต่อผู้ใช้ โดยเฉพาะอย่างยิ่งการขับไล่ CA เดียวจะส่งผลต่อใบรับรองที่ออกโดย CA นั้นเท่านั้น หากทุกคนลงเอยด้วยการใช้ CA เดียว (ซึ่งบางคนกลัวว่าจะเกิดขึ้นกับ Let's Encrypt ) เราจะเน้นความไว้วางใจทั้งหมดของเราที่นั่นและสูญเสียข้อดีของการแยกส่วนนั้น
และในที่สุดก็มีผลประโยชน์อื่น ๆ CA ที่จ่ายอาจมีเช่นการสนับสนุนการค้าหรือการรับประกัน SSL ล้านดอลลาร์ ฉันมีศรัทธาเล็กน้อยในทั้งสองด้านนี้ แต่มันเป็นสิ่งที่ Let's Encrypt ไม่มีให้
หัวของฉันเจ็บ ... ฉันมีคำถามฉันคิดว่า?
ใช้สิ่งที่คุณรู้สึกสะดวกสบายด้วย! สำหรับใบรับรอง DV มีเพียงเล็กน้อยที่แตกต่างจาก CA จริง ๆ ฉันใช้ Let's Encrypt อย่างมืออาชีพและเป็นส่วนตัวและฉันมีความสุขกับมัน
มีเหตุผลที่เป็นไปได้เพียงสี่ประการที่ฉันเห็นเพื่อหลีกเลี่ยง Let's Encrypt:
- หากคุณต้องการใบรับรอง EV (หรือ OV)
- หากคุณไม่สามารถหรือไม่ต้องการต่ออายุใบรับรองอัตโนมัติและความถูกต้องของใบรับรองสามเดือนนั้นสั้นเกินไปสำหรับคุณ
- หากคุณไม่ไว้วางใจ Let's Encrypt (แต่อย่าลืมพิจารณามาตรการอื่น ๆ เช่น DNS-CAA ด้วยและคุณควรขึ้นบัญชีดำ Let's Encrypt ในเบราว์เซอร์ของคุณด้วย)
- หากคุณเชื่อว่า Let's Encrypt จะถูกยกเลิกหรือลดลงจากเบราว์เซอร์ด้วยเหตุผลบางประการ
หากไม่มีสิ่งใดที่ตรงกับคุณอย่าลังเลที่จะไม่จ่ายค่าใบรับรองของคุณ