ก่อนอื่นฉันจะไม่พูดถึงตัวเองว่าเป็นผู้เชี่ยวชาญด้านความปลอดภัย แต่ฉันอยู่ในตำแหน่งที่ต้องตอบคำถามนี้ สิ่งที่ผมพบฉันประหลาดใจเล็กน้อย: ไม่มีสิ่งดังกล่าวเป็นระบบความปลอดภัยอย่างสมบูรณ์คือ ฉันเดาว่าระบบที่ปลอดภัยอย่างสมบูรณ์จะเป็นระบบที่เซิร์ฟเวอร์ทั้งหมดถูกปิด :)
มีคนทำงานกับฉันในเวลาที่อธิบายถึงการออกแบบระบบที่ปลอดภัยในแง่ของการยกระดับบาร์ให้กับผู้บุกรุก ดังนั้นแต่ละชั้นของการรักษาความปลอดภัยจะลดโอกาสในการโจมตี
ตัวอย่างเช่นแม้ว่าคุณจะสามารถรักษาความปลอดภัยกุญแจส่วนตัวได้อย่างสมบูรณ์ระบบก็ยังไม่ปลอดภัยอย่างสมบูรณ์ แต่การใช้อัลกอริธึมความปลอดภัยอย่างถูกต้องและทันสมัยกับแพตช์จะยกระดับ แต่ใช่คอมพิวเตอร์ที่ทรงพลังพอและมีเวลาเพียงพอสามารถทำลายการเข้ารหัสได้ ฉันแน่ใจว่าทั้งหมดนี้เข้าใจแล้วดังนั้นฉันจะตอบกลับคำถาม
คำถามชัดเจนดังนั้นก่อนอื่นฉันจะพยายามที่จะอยู่ในแต่ละประเด็นของคุณ:
สมมติว่าคีย์ได้รับการปกป้องโดยรูปแบบความปลอดภัยของระบบไฟล์ แต่สิ่งที่เกี่ยวกับผู้ใช้ขั้นสูง (ที่เป็นอันตราย) หรือแพลตฟอร์มที่ไม่มีความน่าเชื่อถือดังกล่าว
ใช่ถ้าคุณใช้บางอย่างเช่นที่เก็บคีย์ Windowsหรือรหัสส่วนตัวของ TLS ที่เข้ารหัสลับรหัสผ่านคุณจะพบกับผู้ใช้ที่มีรหัสผ่าน (หรือการเข้าถึง) ไปยังคีย์ส่วนตัว แต่ฉันคิดว่าคุณจะเห็นด้วยที่ยกระดับบาร์ ACL ของระบบไฟล์ (หากนำไปใช้อย่างเหมาะสม) จะมีระดับการป้องกันที่ดีพอสมควร และคุณอยู่ในตำแหน่งที่จะรับสัตว์แพทย์และรู้จักผู้ใช้ขั้นสูงของคุณ
หรือกุญแจถูกเข้ารหัสในซอฟท์แวร์ไบนารี แต่มันสามารถถอดรหัสได้เสมอและสิ่งที่เกี่ยวกับซอฟต์แวร์โอเพนซอร์ซหรือการตีความรหัส?
ใช่ฉันเคยเห็นคีย์ฮาร์ดโค้ดในไบนารี อีกครั้งนี้จะเพิ่มแถบเล็กน้อย บางคนโจมตีระบบนี้ (ถ้าเป็น Java) ต้องเข้าใจว่า Java สร้างโค้ดไบต์ (ฯลฯ ) และต้องเข้าใจวิธีถอดรหัสมันอ่าน หากคุณใช้ภาษาที่เขียนไปยังรหัสเครื่องโดยตรงคุณจะเห็นว่าสิ่งนี้จะทำให้แถบสูงขึ้นอีกเล็กน้อย มันไม่ได้เป็นโซลูชั่นรักษาความปลอดภัยที่สมบูรณ์แบบ แต่สามารถให้การป้องกันในระดับหนึ่ง
ถ้าคีย์ถูกสร้างขึ้นอัลกอริทึมดังกล่าวจะต้องกำหนดขึ้น (สมมุติ) และจากนั้นปัญหาเดียวกันนำไปใช้กับเมล็ด
ใช่แล้วขั้นตอนวิธีจะกลายเป็นข้อมูลไพรเวตคีย์สำหรับการสร้างไพรเวตคีย์ ดังนั้นตอนนี้จะต้องได้รับการปกป้อง
ดังนั้นผมคิดว่าคุณได้ระบุเป็นปัญหาหลักที่มีนโยบายการรักษาความปลอดภัยใด ๆการจัดการที่สำคัญ การมีนโยบายการจัดการที่สำคัญคือศูนย์กลางของการให้ระบบที่ปลอดภัย และมันเป็นหัวข้อกว้างสวย
ดังนั้นคำถามคือความปลอดภัยของระบบของคุณ (และดังนั้นคีย์ส่วนตัว) จำเป็นต้องมี? ในระบบของคุณมีความต้องการสูงเท่าไร
ตอนนี้ถ้าคุณเต็มใจที่จะจ่ายมีบางคนออกไปที่นั่นเพื่อแก้ปัญหานี้ เราสิ้นสุดการใช้HSM (อุปกรณ์รักษาความปลอดภัย Module) มันเป็นเซิร์ฟเวอร์ป้องกันการงัดแงะที่มีรหัสในฮาร์ดแวร์ คีย์นี้สามารถใช้เพื่อสร้างคีย์อื่น ๆ ที่ใช้สำหรับการเข้ารหัส แนวคิดในที่นี้คือ (หากกำหนดค่าไว้ถูกต้อง) กุญแจจะไม่ทิ้ง HSM HSMs เสียค่าใช้จ่ายมาก แต่ในบางธุรกิจ (ปกป้องข้อมูลบัตรเครดิตให้พูด) ค่าใช้จ่ายในการฝ่าฝืนจะสูงขึ้นมาก ดังนั้นจึงมีความสมดุล
HSMs จำนวนมากใช้คีย์การ์ดจากการบำรุงรักษาและการดูแลระบบของคุณสมบัติ โควรัมคีย์การ์ด (5 จาก 9 สมมติว่า) ต้องใส่ลงในเซิร์ฟเวอร์เพื่อเปลี่ยนคีย์ ดังนั้นสิ่งนี้ยกระดับค่อนข้างสูงโดยอนุญาตให้มีการฝ่าฝืนหากองค์ประชุมของผู้ใช้ขั้นสูงสมรู้ร่วมคิด
อาจมีโซลูชันซอฟต์แวร์ที่มีคุณสมบัติคล้ายกับ HSM แต่ฉันไม่ทราบว่ามันคืออะไร
ฉันรู้ว่านี่เป็นเพียงวิธีการในการตอบคำถามเท่านั้น แต่ฉันหวังว่านี่จะช่วยได้