วิธีการรักษาความปลอดภัยคีย์ส่วนตัวของ CA?


24

ฉันกำลังจะใช้ Certification Authority (CA) ของฉันเองสำหรับการใช้งานแบบ interal เท่านั้น

ขณะนี้มีปัญหาที่ CA ส่วนตัวไม่ควรถูกเอารัดเอาเปรียบ ตอนนี้รหัสส่วนตัวถูกเข้ารหัส

จะทำอะไรได้อีกเพื่อเพิ่มความปลอดภัยให้กับกุญแจส่วนตัว?


เราสามารถรับระบบปฏิบัติการที่คุณใช้งานเว็บเซิร์ฟเวอร์ได้หรือไม่? คุณอาจตั้งค่าการอนุญาตในไฟล์เพื่อให้ทุกคนไม่สามารถอ่านได้ยกเว้นโดยแอพรวมถึง superuser
Rilindo

เรากำลังใช้ RHEL
JMW

คำตอบ:


25

ฉันทำงานที่ บริษัท ที่ความปลอดภัยของคีย์ CA มีความสำคัญต่อความสำเร็จอย่างต่อเนื่องของธุรกิจ ด้วยเหตุนี้กุญแจถูกเข้ารหัสโดยใช้โปรโตคอลที่กำหนดเองที่ต้องมีอย่างน้อย 2 คนที่จะมีโทเค็นทางกายภาพที่เสียบเข้ากับเทอร์มินัลเพื่อถอดรหัสมัน (มีโทเค็นเหล่านี้อย่างน้อย 5 ตัว) เทอร์มินัลถูกแยกทางกายภาพจากเครื่องจริงด้วยปุ่ม CA อินเทอร์เฟซที่ผู้ใช้มีผู้ถอดรหัสเป็นเทอร์มินัล VT220 ที่อนุญาตให้พวกเขาป้อนโทเค็นการถอดรหัสและจากนั้นเลือกสิ่งที่พวกเขาต้องการ 'เซ็น' ด้วยคีย์ (ไม่ให้พวกเขาเข้าถึงคีย์ถอดรหัส) ระบบนี้หมายความว่าอย่างน้อย 4 คนจะต้องทำงานร่วมกันเพื่อประนีประนอมกับคีย์ผู้ถือโทเค็นสองคนผู้ที่สามารถเข้าถึงดาต้าเซ็นเตอร์ได้

หากคุณสนใจรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าประเภทนี้ Bruce Schneier มีเว็บไซต์ที่ยอดเยี่ยมซึ่งครอบคลุมการออกแบบและการใช้งานด้านความปลอดภัยของคอมพิวเตอร์:

http://www.schneier.com/

เขายังตีพิมพ์หนังสือที่เข้ารหัสที่ดีมาก ๆ ที่ฉันพบว่าช่วยให้ฉันเข้าใจพื้นฐานของระบบเช่นนี้และวิธีการสร้างโครงสร้างพื้นฐานที่ปลอดภัยยิ่งขึ้น (อ่านได้โดยคนที่ไม่ได้ใส่กระเป๋าป้องกัน):

http://www.schneier.com/book-applied.html


2
และการทำงานสองปุ่ม (หรือ n จาก m, m> = n, n> 1) เป็นข้อควรระวังที่ยอดเยี่ยมอีกอย่างหนึ่ง - แต่สำหรับเงินของฉัน airgap ก่อนและเพิ่มการปรับแต่งเช่นนี้ขึ้นอยู่กับระดับของความหวาดระแวง (เช่น ค่าใช้จ่ายของความล้มเหลว)
MadHatter สนับสนุน Monica

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

การควบคุมการเข้าถึงทางกายภาพที่ตรวจสอบแล้วมีความสำคัญต่อความปลอดภัยประเภทนี้เช่นเดียวกับการควบคุมการเข้าถึงทางตรรกะที่ตรวจสอบแล้ว การดำเนินการเซ็นชื่อไม่ควรต้องมีสิทธิ์ในกล่อง (การควบคุมนั้นได้รับการจัดการโดยข้อกำหนดใด ๆ -n-from-m) ดังนั้นผู้ถือรหัสผ่านรูทไม่ควรจะอยู่ที่นั่นเมื่อการลงกุญแจดำเนินไป (S) เขาจะต้องใช้สำหรับกิจกรรมการบำรุงรักษาระบบ แต่สิ่งเหล่านี้ควรดำเนินการตามสคริปต์ที่เขียนล่วงหน้าอย่างแม่นยำโดยบุคคลอื่นที่ไม่ใช่ผู้เขียนสคริปต์และตรวจสอบโดยบุคคลที่สามที่มีความรู้ตามเวลาจริง
MadHatter สนับสนุนโมนิก้า

16

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

แน่นอนว่าการตั้งค่าจะรวมถึงข้อควรพิจารณาเกี่ยวกับความพร้อมใช้งานทางกายภาพของเครื่องรวมถึงข้อ จำกัด ของสื่อที่อนุญาต ก้าน USB ที่ใช้งานได้ดีอาจไม่ใช่ตัวเลือกที่ดีที่สุด ...

(นี่คือตัวอย่างที่ชัดเจนมากเกี่ยวกับการแลกเปลี่ยนระหว่างความปลอดภัยและความสะดวกสบาย)


Airgap เป็นเพื่อรักษาความปลอดภัยที่ดีเยี่ยมและอันตรายของสื่อที่ถอดออกสามารถบรรเทาได้โดยการตั้งค่าการลงนามในกล่องที่จะไม่ทำงานอัตโนมัติอะไรอนุญาตไบนารี SUID หรือในทางอื่น ๆ ไว้วางใจexecutablesในสื่อดังกล่าว
MadHatter สนับสนุน Monica

สิ่งนี้สามารถปรับให้เหมาะสมเพิ่มเติมได้โดยใช้สมาร์ทการ์ดเพื่อสร้างจัดเก็บและใช้คีย์ คิดว่าสมาร์ทการ์ดเป็นเครื่องเฉพาะที่มีการป้องกันการงัดแงะ (โดยทั่วไปชิปจะแตกมากกว่าให้คีย์ซึ่งเป็นการยากที่จะทำกับระบบที่ซับซ้อนมากขึ้น) และมีอินเทอร์เฟซที่ง่ายพอที่ โปรโตคอลสแต็กอาจได้รับการตรวจสอบอย่างถูกต้อง
Simon Richter

ฉันแนะนำสมาร์ทการ์ดเป็นอันดับสอง แต่มีความเสี่ยง เมื่อคีย์สามารถอยู่ในที่เดียวได้เพียงหนึ่งชิ้นส่วนของฮาร์ดแวร์ต้องล้มเหลวในการทำให้คีย์ไม่สามารถเข้าถึงได้ ฉันคิดว่าสมาร์ทการ์ดอย่างน้อยหนึ่งรายการสามารถเป็นส่วนสำคัญในการสร้างคีย์และการจัดเก็บข้อมูลได้อย่างปลอดภัย
Slartibartfast

เกี่ยวกับปัญหาการทำงานอัตโนมัติ ในกรณีของตัวจัดการไฟล์ gui คุณอาจแนะนำให้ชัดเจนเกี่ยวกับเรื่องนี้โดยไม่พยายามทำการแสดงตัวอย่าง / รูปขนาดย่อของไฟล์ที่อยู่ในรายการ แม้ว่าจะไม่เป็นอันตรายในตัวมันเองก็สามารถเป็นเวกเตอร์การโจมตีช่องโหว่ที่มีอยู่
andol

หากความปลอดภัยเป็นสิ่งสำคัญจริง ๆ ฉันจะไปกับ CD-R เขียนครั้งเดียว
โกหก Ryan

15

ฉัน upvote อีกสองคำตอบและแสดงความคิดเห็นเพราะฉันคิดว่าพวกเขาทั้งสองยอดเยี่ยม หากคุณตัดสินใจที่จะใช้ทั้งคู่และอาจเหมาะสมฉันขอแนะนำอย่างระมัดระวังในรุ่นเริ่มต้นของคีย์เนื่องจากเวลาที่ดีที่สุดในการประนีประนอมกับคีย์ไม่ได้ถูกใช้งาน (ซึ่งมีข้อควรระวังมาตรฐานหลายข้อที่สามารถทำซ้ำได้ ถูกนำไปใช้) แต่ ณ เวลาที่สร้างซึ่งการปิดครั้งเดียวนั้นง่ายกว่ามากในการล้มล้าง

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


Yepp จุดที่ดีเกี่ยวกับ gen ของคีย์เริ่มต้น
andol

7

คุณควรพิจารณาใช้ฮาร์ดแวร์FIPS 140-2 ( http://en.wikipedia.org/wiki/FIPS_140#Security_levels ) เพื่อพิจารณาการจัดเก็บคีย์ CA และการสำรองคีย์เหล่านั้น คุณควรมีรูท CA หนึ่งตัวและ CA ตัวกลางอีกอันหนึ่งเพื่อให้รูท CA ของคุณออฟไลน์และมีความปลอดภัยทางร่างกาย รูทจำเป็นต้องมีการต่ออายุหรือลงนาม CA ระดับกลางใหม่ในขณะที่ CA ระดับกลางยังคงออนไลน์สำหรับการดำเนินงานประจำวัน ตามที่คนอื่น ๆ แนะนำไว้การสร้างคีย์ที่ปลอดภัยและการจัดการคีย์ที่มีการควบคุมแบบn of mเป็นสิ่งสำคัญ

VeriSign (ตอนนี้ไซแมนเทค) CPS เป็นข้อมูลอ้างอิงที่ดีสำหรับวิธีที่ CA เชิงพาณิชย์สร้างและปกป้องกุญแจ ดูบทที่ 5 และ 6 โดยเฉพาะ: http://www.verisign.com/repository/cps/ http://www.verisign.com/repository/cps/ (ฉันทำงานที่ VeriSign เป็นเวลาหลายปี)

นอกจากนี้ NIST ยังมีสิ่งพิมพ์ที่ดีหลายฉบับเกี่ยวกับการจัดการคีย์ ( http://csrc.nist.gov/publications/drafts/800-57/Draft_SP800-57-Part1-Rev3_May2011.pdf ) และรุ่นของคุณและ บริษัท ของคุณควรมี CPS ที่ระบุนโยบายและแนวทางปฏิบัติที่คุณใช้สำหรับจัดการ CA ของคุณ IETF เป็นแม่แบบที่ดี: http://www.ietf.org/rfc/rfc2527.txt


1

เป็นคำถามที่ดีและมีคำตอบที่ดีเช่นกัน

โปรดทราบว่าคุณจะอยู่ข้างหน้าคนอื่น ๆ ประมาณ 90% โดยการพิจารณาปัญหานี้มากกว่าที่จะเรียกเก็บเงินล่วงหน้าอย่างสุ่มสี่สุ่มห้า

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

สุดท้าย: ความปลอดภัยทางกายภาพ การทำหลักฐานแฮ็กเกอร์ 'ไม่มีอะไรช่วยถ้าฉันเพิ่งจะได้งานเป็นตัวทำความสะอาดสัญญาในอาคารของคุณแล้วใส่ดิสก์ที่มีใบรับรอง root ของคุณในกระเป๋าของฉันวันหนึ่ง คุณจะประหลาดใจที่มีคนพลาดไปหลายคน


ดีใจที่ได้ยิน @jmw - อย่างที่ฉันพูดไปคุณไปข้างหน้าแล้ว 90% หรืออาจเป็น 99% ของคนส่วนใหญ่และดูเหมือนว่าคุณได้รับทุกอย่างแล้ว คุณจะตกใจกับจำนวนคนที่ใช้เวลาหลายสัปดาห์และเงินมากมายในการมองดูด้านซอฟต์แวร์ของสิ่งต่าง ๆ โดยไม่ต้องทำอะไรเพื่อรักษาความปลอดภัยของข้อมูล
Rob Moir

ขอบคุณคุณพูดถูก: รับทราบความเสี่ยงใหม่เป็นสิ่งจำเป็นสำหรับผู้ดูแลระบบทุกคน :-) เกี่ยวกับความปลอดภัยทางกายภาพ: ดาต้าเซ็นเตอร์ที่เซิร์ฟเวอร์ของเราอยู่มีความปลอดภัยทางกายภาพสูง ดังนั้นจึงมีการกำหนดค่ารหัสผ่านประวัติ & grub พาร์ติชันที่เก็บข้อมูลของ CA นั้นถูกเข้ารหัสด้วย ยิ่งไปกว่านั้นคีย์ CA นั้นถูกเข้ารหัสด้วย และ nagios จะทริกเกอร์การแจ้งเตือน "เซิร์ฟเวอร์ดาวน์" ในกรณีที่เกิดการโจรกรรมทางกายภาพ ฉันกังวลมากขึ้นเกี่ยวกับการหาประโยชน์ที่ไม่ใช่ทางกายภาพ :-)
JMW
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.