La cosa migliore qui, sarebbe quella di firmare il codice, usando una root personalizzata importata nel server. (La PKI interna è consentita per la conformità PCI se il sistema PKI in questione è utilizzato solo internamente)
Impedire a qualcuno di modificare il software del server se ha accesso fisico è impossibile, quindi quello che devi fare è mettere il server fisicamente al sicuro, così 2 persone hanno bisogno di scansionare la loro carta di accesso allo stesso tempo per ottenere accesso al server. Preferibile, il doppio controllo viene distribuito allo sviluppatore (uno che scrive il codice) e al deployer (uno che distribuisce il codice).
Il meglio qui sarebbe avere 2 porte nella stanza del server (in serie), dove il deployer ha la scheda di accesso alla prima porta e lo sviluppatore ha la carta di accesso alla seconda porta. Ciò significa che entrambi devono essere uniti per essere in grado di eseguire la manutenzione fisica sul server.
Quindi è possibile avere un terminale di distribuzione tra queste 2 porte, dove il server accetterà solo il codice dal terminale di distribuzione se è firmato dalla radice personalizzata. Poiché questo terminale di distribuzione è dietro la prima porta, solo il deployer ha accesso a questo terminale, non allo sviluppatore.
Ciò significa che lo sviluppatore e il deployer non hanno bisogno di venire insieme per installare nuovo software sul server, ma comunque, sia lo sviluppatore che il deployer devono accettare lo stesso codice, ma possono farlo in luoghi separati.
Si noti che tutti, anche quelli che hanno accesso solo a un sistema certificato PCI per la memorizzazione delle informazioni sui titolari di carta (con accesso parziale, intendo quando un accesso è bloccato, 2 persone devono riunirsi e autenticarsi, e la persona ha solo la metà di ciò che è necessario per ottenere l'accesso)
deve essere completamente controllato, ad esempio è necessario richiedere fogli rap dal dipartimento di polizia, e forse è anche necessario controllare i parenti della persona da impiegare, quindi la persona che richiede lavoro non ha un padre che in precedenza ha rubato un banca. (Ad esempio, in Svezia, l'intero social network viene controllato quando si applica per impieghi molto sensibili, e questo controllo è fatto da "Polizia di sicurezza", in Svezia, chiamato SÄPO, e tu come richiedente si ottiene solo un sì o no, non si Puoi sapere chi nella tua rete di contatti sociali è "inaffidabile", per proteggere la privacy di queste persone, e persino che non ti è permesso di essere sospettato di alcun crimine negli ultimi 5 anni, anche se non hai mai è stato condannato)
Quindi i requisiti sono che le persone che hanno la possibilità di accedere a un ambiente PCI certificato per l'archiviazione dei dati dei titolari di carta devono essere attentamente controllati e, se li si controlla attentamente, non si dovrebbe avere questo problema fin dall'inizio che diventano "rogue" e possibilmente disabilitano qualsiasi protezione di sicurezza sul server.
La protezione delineata nei requisiti PCI, è lì per proteggere da accessi esterni in primis, ad esempio se qualcuno irrompe nel server con, diciamo un C4 e ruba il server, i dati dovrebbero essere illeggibili.
Pertanto, è preferibile che qualsiasi chiave di crittografia esista solo nella RAM (dove una password, che preferibile esiste solo in 2 parti, una metà nella testa dello sviluppatore e una metà nella testa del deployer, deve essere digitata all'avvio), e qualsiasi tentativo di manomissione dovrebbe essere protetto da un allarme che spegne il server prima che qualcuno si avvicini troppo.