Come eseguire l'autenticazione su racoon con una catena di certificati se è nota solo la CA radice

1

Sto cercando di configurare IPsec usando i certificati x509 su Linux. Sto usando racoon per questo compito. Sono arrivato al punto in cui l'autenticazione funziona bene se tengo ogni link della catena di certificati su ogni host. Il mio obiettivo è autenticarsi reciprocamente conoscendo solo la CA principale.

Ad esempio: per gli host "Alice" e "Bob" la catena di certificazione appare come questa

Root-CA -> MajorCA -> MinorCA -> (Alice/Bob)

Dove Root-CA è autofirmato e così via. I certificati che Alice conosce sono

Alice.key
Alice.crt
Root-CA.crt
MajorCA.crt
MinorCA.crt

Certificati che Bob conosce

Bob.key
Bob.crt
Root-CA.crt
MajorCA.crt
MinorCA.crt

Ora tutto funziona bene in questa costellazione. Alice invia

Hey, I'm Alice, and this is my certificate
"Alice.crt"

a Bob e Bob puoi ricostruire l'intera catena su

Root-CA -> MajorCA -> MinorCA -> "Alice"

Quello che sto cercando di realizzare e non sono sicuro che tutto ciò sia possibile è autenticare un host tramite Root-CA, indipendentemente dal resto della catena, che deve essere fornito dall'host stesso . Per es.

Bob conosce solo i seguenti certificati

Bob.key
Bob.crt
Root-CA.crt

e Alice si autentica da sola con Bob inviando

Hey, I'm Alice, and this is my certificate chain
[Root-CA.crt] -> "MajorCA.crt -> MinorCA.crt -> Alice.crt"

con o senza il certificato della CA radice.

Ora Bob dovrebbe essere in grado di ricostruire la catena in

Root-CA -> "MajorCA -> MinorCA -> Alice"

e quindi autenticare Alice.

So che alcuni certificati CA vengono come file PEM in bundle e so che è possibile raggruppare l'intera catena come file PKCS12. Ma racoon non supporta PKCS12 (o lo fa?) E ignora i certificati aggiuntivi in un pacchetto PEM (e accetta solo il primo).

Ora la mia domanda: -)

Qualcuno sa come realizzare questo (usando il racoon) e far funzionare lo scenario, o qualcuno sa che questo sicuramente non funzionerà a causa di ragioni che possono spiegare?

Saluti,

fr00tyl00p: -)

    
posta fr00tyl00p 28.08.2013 - 21:47
fonte

1 risposta

2

In IKE v2, è possibile per qualsiasi macchina inviare diversi certificati, i propri e un numero di "certificati helper" che potrebbero aiutare con la convalida, cioè i certificati CA intermedi. Lo standard afferma che:

Implementations MUST be capable of being configured to send and
accept up to four X.509 certificates in support of authentication,
and also MUST be capable of being configured to send and accept the
Hash and URL format (with HTTP URLs).  Implementations SHOULD be
capable of being configured to send and accept Raw RSA keys.  If
multiple certificates are sent, the first certificate MUST contain
the public key used to sign the AUTH payload.  The other certificates
may be sent in any order.

quindi dovrebbe funzionare, purché sia possibile convincere i propri strumenti ( racoon ) a inviare i certificati. Lo standard è lì.

Lo standard allude alla possibilità di inviare, sul filo, non un solo certificato X.509, ma un file PKCS # 7. Un file PKCS # 7 è in realtà un formato ampio e flessibile, ma spesso utilizzato come contenitore per più certificati (ma non contiene la chiave privata). Potrebbe valere la pena provare a utilizzare tale file con la tua clausola certificate_type (in racoon.conf ).

    
risposta data 28.08.2013 - 22:54
fonte

Leggi altre domande sui tag