การแจกจ่ายใบรับรองการลงนามรหัส - แนวปฏิบัติที่ดีที่สุด
หมายเหตุ: ฉันเป็นมือใหม่แน่นอนเมื่อพูดถึงการเซ็นชื่อโค้ดและใบรับรองซอฟต์แวร์ ฉันพยายามค้นหาและอ่านเกี่ยวกับวิธีแก้ปัญหาเฉพาะของเรา แต่ไม่พบสิ่งใดที่คล้ายกับออนไลน์
จนถึงขณะนี้การเซ็นรหัสไม่ได้เป็นปัญหาสำหรับเราเนื่องจากเรากำลังทำงานกับระบบฝังตัวที่ใช้ Windows แต่เป็นที่ที่เราให้บริการโซลูชั่นแบบเทิร์นคีย์ จากนั้นแอนติไวรัสของเรา (ซึ่งเป็นข้อบังคับ!) ก็ไม่ชอบสำหรับไบนารีหลาย ๆ รายการของเรา (ในทุกโครงการ) และดูเหมือนจะไม่มีรูปแบบที่แท้จริงในสิ่งที่มันไม่ชอบ หลังจากสัปดาห์ของการพูดคุยกับผู้จำหน่ายโปรแกรมป้องกันไวรัสเราพบว่าวิธีแก้ปัญหาสำหรับเราคือนักพัฒนาของเรามีโฟลเดอร์ที่แยกออกจากการสแกน (ใช้สำหรับการสร้างซอฟต์แวร์) และเราใช้การเซ็นชื่อรหัสในขณะที่มีใบรับรองของเรา รายการสีขาวในแอปพลิเคชั่นป้องกันไวรัส (ใช้สำหรับการแจกจ่ายภายใน บริษัท และการทดสอบซอฟต์แวร์ของเรา จำกัด )
ดังนั้นสำหรับตอนนี้เราจะใช้การลงนามรหัสไม่ใช่เพื่อความปลอดภัย แต่เพียงเพื่อได้รับอนุญาตให้ทำงานของเรา ผู้ผลิตแอนตี้ไวรัสแจ้งให้เราทราบว่าใบรับรองที่ลงนามเองไม่สามารถขึ้นบัญชีขาวได้แม้ว่าจะคิดว่าเหมาะสมแล้วก็ตาม
นักพัฒนาของเราตั้งอยู่ที่ห้าแห่งทั่วโลกและเรากำลังมองหาวิธีที่ง่ายที่สุดที่เป็นไปได้สำหรับเราเพื่อให้แน่ใจว่าพวกเขาทุกคนสามารถทำการเซ็นชื่อโค้ดได้
เราหวังว่าการแจกจ่ายใบรับรองบางประเภทเป็นไปได้แม้กระทั่งการใช้ Active Directory
ในอนาคตที่ไม่ไกลเกินไปเราจะต้องทำการลงรหัสเพื่อตรวจสอบความปลอดภัยของซอฟต์แวร์ของเราดังนั้นถ้าเราใช้ใบรับรองแบบกระจายมันจะยังปลอดภัยหรือไม่ที่จะใช้สำหรับการตรวจสอบ? ฉันเดาไม่ได้ - ซึ่งทำให้ฉันสงสัยว่าเราจะมีใบรับรองสองใบและลงชื่อด้วยทั้งคู่หรือไม่ จากนั้นจะมีการแจกจ่ายใบรับรองหนึ่งใบและอนุญาตให้เราสร้างและทดสอบจากนั้นใบรับรองอื่นจะใช้สำหรับการเผยแพร่จริง
เราอาจจะไปกับ Microsoft Authenticode Certificate - เว้นแต่จะมีเหตุผลที่ดีที่ไม่ควรทำ
อย่างไรก็ตามเท่าที่ฉันเข้าใจ Microsoft มีตั้งแต่วันที่ 1 กุมภาพันธ์ 2017 จำเป็นต้องใช้ Hardware Security Module (HSM) เพื่อใช้ในกระบวนการลงนามโค้ด - เราหวังว่านั่นไม่ได้หมายความว่านักพัฒนาแต่ละคนต้องการ HSM ของตัวเองในคอมพิวเตอร์!
ดังนั้นเพื่อสรุปคำถามของฉัน:
- สำหรับการลงนามรหัสไบนารีของ Windows จะต้องใช้ใบรับรอง HSM หรือมีทางเลือกอื่นที่ดีกว่า (ในสถานการณ์นี้)
- มีตัวเลือกอะไรบ้างในการแจกจ่ายใบรับรองระหว่างผู้พัฒนา การใช้โฆษณาน่าจะดีเพราะมันมีอยู่แล้วทั่วโลก
- ในการตั้งค่าแบบกระจายเป็นไปได้ไหมที่จะทำให้ใบรับรองการลงนามเป็นความลับ?
- การเซ็นชื่อสองครั้งจะเป็นตัวเลือกเพื่อเพิ่มความปลอดภัยหรือไม่ (การเซ็นชื่อหนึ่งรายการเพื่อเอาชนะโปรแกรมป้องกันไวรัสในขณะทดสอบอีกรายการหนึ่งเพื่อความปลอดภัยที่แท้จริงของซอฟต์แวร์ที่เผยแพร่)
- คุณมีทางออกที่ดีกว่าให้เราพิจารณาหรือไม่?
ขอบคุณล่วงหน้า.