บัญชีรายการใบรับรอง VPN: ทะเบียน CA พิสูจน์อะไรได้
โฟลเดอร์บนเซิร์ฟเวอร์ ทะเบียน CA รายการเพิกถอน และตารางเซสชันตอบคำถามต่างกัน เก็บสิ่งเหล่านี้แยกจากกันเมื่อทำบัญชีรายการตัวตน VPN
เกตเวย์ของคุณยอมรับใบรับรองไคลเอนต์ที่ไม่เคยเห็น เพราะสิ่งที่กำหนดค่าไว้คือผู้ออกที่เชื่อถือได้ และใบรับรองมาถึงระหว่างการจับมือ โปรโตคอลควรทำงานเช่นนี้ และนั่นคือเหตุผลที่รายการโฟลเดอร์บนเซิร์ฟเวอร์เป็นบัญชีรายการที่แย่ ผู้ออกรู้ว่าตนสร้างอะไร เซิร์ฟเวอร์รู้ว่าอะไรเชื่อมต่อ และสถานะการเพิกถอนรู้ว่าอะไรถูกถอนคืน บัญชีรายการที่ผสมสามระเบียนนี้เข้าด้วยกันย่อมกล่าวอ้างสิ่งที่ไม่มีใครในนั้นได้พูด
เกตเวย์เชื่อถือผู้ออกใบรับรอง ไม่ใช่รายการไฟล์
การตรวจสอบเปรียบเทียบใบรับรองที่นำเสนอกับสมอความเชื่อถือ ดังนั้นตัวตนที่ผู้ออกคนเดียวกันสร้างเมื่อวานจึงเชื่อมต่อได้โดยไม่เคยมีอยู่บนดิสก์ของเซิร์ฟเวอร์ ไม่มีอะไรต้องคัดลอกเพื่อให้สิ่งนั้นเกิดขึ้น และไม่มีใครต้องอนุมัติด้วยมือ ดังนั้นระเบียนของเซิร์ฟเวอร์เองจึงบรรยายการมาถึง ไม่ใช่จำนวนตัวตนที่อาจมาถึง
ช่องว่างอีกทางหนึ่งก็น่าอึดอัดไม่แพ้กัน โฟลเดอร์อาจเก็บใบรับรองที่หมดอายุ ใบรับรองที่ถูกเพิกถอน และตัวตนที่ออกให้แก่อุปกรณ์ที่ไม่เคยถูกติดตั้ง การนับไฟล์ตอบว่าไฟล์มีกี่ไฟล์ ซึ่งเป็นคำถามที่ไม่มีใครถาม เริ่มจากระเบียนที่มีความหมายแทน
สี่คำถาม สี่ระเบียนที่ต่างกัน
ระเบียนแต่ละชนิดตอบคำถามหนึ่งได้ดีและตอบคำถามอื่นได้แย่ นี่คือเหตุผลที่รายงานซึ่งรวมระเบียนเหล่านั้นดูสมบูรณ์แต่ผิดในลักษณะเฉพาะ ตารางด้านล่างจัดเรียงตามคำถามที่ระเบียนแก้ไข ไม่ใช่ตามระบบที่สร้างระเบียนนั้น
| Question you are answering | Where the answer lives | How quickly it changes | What it will never show |
|---|---|---|---|
| Was this identity ever created? | The issuer's issuance database | Only when something is issued | Whether the device still exists |
| Is a copy sitting on this host? | The paths you actually inspected | Whenever anyone copies files | Certificates that were never copied here |
| Has the issuer withdrawn it? | Published revocation state | When the issuer next publishes | Withdrawals that are not published yet |
| Is it connected right now? | The live session table | Continuously | Anything about past or future sessions |
คลังใบรับรองสาธารณะไม่ใช่ความลับ เพราะไม่มีกุญแจส่วนตัวอยู่ในนั้น แต่ก็ไม่อาจแบ่งปันได้เช่นกัน ตัวแบบและชื่ออุปกรณ์เผยรายละเอียดการปฏิบัติงาน และรายงานควรอยู่กับผู้ที่ต้องการเท่านั้น กุญแจส่วนตัวอยู่นอกบัญชีรายการโดยสิ้นเชิง เพราะบัญชีรายการต้องการเมทาดาทา ไม่ใช่ข้อมูลรับรอง
ผู้ออกและหมายเลขลำดับเป็นกุญแจถาวรเพียงอย่างเดียว
ตัวแบบถูกนำกลับมาใช้ซ้ำและชื่อไฟล์ถูกใช้ซ้ำ ดังนั้นชื่อที่ระบุอุปกรณ์หนึ่งเมื่อปีที่แล้วอาจระบุอุปกรณ์อีกเครื่องในตอนนี้ ไม่มีอันใดเป็นกุญแจ และรายงานที่สร้างบนอันใดอันหนึ่งจะรวมสองตัวตนเป็นบรรทัดเดียวในที่สุด
คู่ของผู้ออกและหมายเลขลำดับระบุใบรับรองได้อย่างเฉพาะเจาะจง และทั้งสองฟิลด์มาจากใบรับรองเอง บันทึกคู่กับตัวแบบ วันที่ใช้งานได้ แหล่งที่มาของสำเนา และบุคคลหรืออุปกรณ์ที่รับผิดชอบ เพิ่มสถานะการเพิกถอนและการติดตั้งเป็นฟิลด์แยกที่มีเวลาสังเกตของตนเอง เพราะใบรับรองภายในหน้าต่างใช้งานไม่ได้ถูกอนุญาตโดยอัตโนมัติ ข้อเท็จจริงสองข้อนี้อยู่ในระบบที่ต่างกัน และการรวมเข้าด้วยกันจะซ่อนกรณีที่ตัวตนถูกถอนคืนในขณะที่ไฟล์ยังดูเป็นปัจจุบัน
อ่านใบรับรองทีละใบ
ไวลด์การ์ดที่ขยายทั่วโฟลเดอร์ไม่ใช่ส่วนติดต่อแบบกลุ่ม และมันซ่อนว่าไฟล์ใดให้ผลลัพธ์ใด อ่านเมทาดาทาต่อใบรับรอง และอ่านด้านการเพิกถอนจากอาร์ติแฟกต์ของมันเอง เอกสารอ้างอิง OpenSSL x509 ระบุฟิลด์ที่ตัวเลือกเหล่านั้นพิมพ์ออกมา
openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40
สำหรับ PKI Easy-RSA ที่มีการจัดการ สอบถามฐานข้อมูลการออกผ่านลำดับงานที่เครื่องมือรองรับ แทนที่จะสมมติโครงสร้างโฟลเดอร์ และเก็บต้นฉบับไว้แบบอ่านอย่างเดียวระหว่างที่ประกอบบัญชีรายการ รูปแบบของทะเบียนเป็นระเบียบพอที่จะนับรายการที่ใช้ได้และระบุรายการที่ถูกถอนคืนโดยไม่ต้องเปิดฐานข้อมูลด้วยมือ
grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5
บัญชีรายการที่อยู่รอดจากการออกครั้งถัดไป
การดัมป์โฟลเดอร์เพียงครั้งเดียวจะล้าสมัยในทันทีที่มีการออกใบรับรองถัดไป ดังนั้นสร้างรายงานจากลำดับงานการออกและปล่อยให้ปรับปรุงเป็นส่วนหนึ่งของการดำเนินงานปกติ สิ่งนี้ยังทำให้รายงานทำซ้ำได้ ซึ่งสำคัญเมื่อสองคนไม่เห็นตรงกันว่าอะไรถูกออกไป
ใช้ผลลัพธ์สำหรับการตัดสินใจต่ออายุและปลดระวาง ไม่ใช่แบบฝึกหัดสเปรดชีต การลบสำเนาในเครื่องไม่ทำให้สำเนาระยะไกลที่มีอยู่แล้วเป็นโมฆะ ถอนคืนตัวตนผ่านลำดับงานการเพิกถอนและการอนุญาตที่กำหนดไว้ แล้วบันทึกการถอนคืนพร้อมวันที่ ตัวตนที่หายไปจากเซิร์ฟเวอร์แต่ผู้ออกยังเชื่อถืออยู่ไม่ได้ถูกปลดระวาง และความต่างนี้เองที่แยกบัญชีรายการที่แม่นยำออกจากบัญชีที่เพียงแต่ทำให้อุ่นใจ