aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* pkcs11: Properly encode EC_POINTs created on a tokenTobias Brunner2015-03-091-5/+8
| | | | | | | Some tokens might not fail when creating EC public keys in the incorrect format, but they will later not be able to use them to verify signatures. References #872.
* pkcs11: Properly handle EC_POINTs returned as ASN.1 octet stringTobias Brunner2015-03-091-1/+43
| | | | | | | This is the correct encoding but we internally only use unwrapped keys and some tokens return them unwrapped. Fixes #872.
* Updated products in imv databaseAndreas Steffen2015-03-081-0/+137
|
* attest: output trusted flag and device descriptionAndreas Steffen2015-03-081-8/+10
|
* Make access requestor IP address available to TNC serverAndreas Steffen2015-03-0824-244/+550
|
* testing: Update modified updown scripts to the latest templateTobias Brunner2015-03-0614-2589/+993
| | | | | This avoids confusion and makes identifying the changes needed for each scenario easier.
* Remove obsolete _updown_espmark scriptTobias Brunner2015-03-064-441/+1
| | | | According to NEWS it was created to support kernels < 2.6.16.
* _updown: Remove obsolete stuff from default scriptTobias Brunner2015-03-061-192/+7
|
* ikev1: Set protocol ID and SPIs in INITIAL-CONTACT notification payloadsTobias Brunner2015-03-061-2/+13
| | | | | | | The payload we sent before is not compliant with RFC 2407 and thus some peers might abort negotiation (e.g. with an INVALID-PROTOCOL-ID error). Fixes #819.
* x509: Use subjectKeyIdentifier provided by issuer cert when checking CRL issuerTobias Brunner2015-03-061-18/+15
| | | | | | | | | Some CAs don't use SHA-1 hashes of the public key as subjectKeyIdentifier and authorityKeyIdentifier. If that's the case we can't force the calculation of the hash to compare that to authorityKeyIdentifier in the CRL, instead we use the subjectKeyIdentifier stored in the issuer certificate, if available. Otherwise, we fall back to the SHA-1 hash (or comparing the DNs) as before.
* kernel-pfkey: Add option to set receive buffer size of event socketTobias Brunner2015-03-063-0/+21
| | | | | | | | If many requests are sent to the kernel the events generated by these requests may fill the receive buffer before the daemon is able to read these messages. Fixes #783.
* use SHA512 for moon's BLISS signatureAndreas Steffen2015-03-042-2/+3
|
* Merge branch 'ikev2-signature-authentication'Tobias Brunner2015-03-0484-191/+1411
|\ | | | | | | | | | | | | | | | | | | | | This adds support for RFC 7427 signature authentication in IKEv2, enabling the use of stronger signature schemes (e.g. RSA with SHA-2) for IKE authentication. Public key constraints defined in `rightauth` are now also checked against IKEv2 signature schemes (may be disabled via strongswan.conf). Fixes #863.
| * NEWS: Introduce RFC 7427 signature authenticationTobias Brunner2015-03-041-0/+13
| |
| * man: Add documentation about IKEv2 signature schemesTobias Brunner2015-03-041-0/+15
| |
| * testing: Test classic public key authentication in ikev2/net2net-cert scenarioTobias Brunner2015-03-042-0/+2
| |
| * testing: Disable signature authentication on dave in ↵Tobias Brunner2015-03-042-2/+3
| | | | | | | | openssl-ikev2/ecdsa-certs scenario
| * ikev2: Try all RSA signature schemes if none is configuredTobias Brunner2015-03-041-4/+19
| |
| * ikev2: Consider signature schemes in rightauth when sending hash algorithmsTobias Brunner2015-03-041-14/+54
| |
| * tkm: Implement hash algorithm storage methods of keymat_v2_t interfaceTobias Brunner2015-03-041-0/+29
| |
| * keymat: Use hash algorithm setTobias Brunner2015-03-041-29/+7
| |
| * hash-algorithm-set: Add class to manage a set of hash algorithmsTobias Brunner2015-03-044-1/+193
| |
| * ikev2: Add an option to disable constraints against signature schemesTobias Brunner2015-03-042-1/+19
| | | | | | | | | | | | | | | | | | | | If this is disabled the schemes configured in `rightauth` are only checked against signature schemes used in the certificate chain and signature schemes used during IKEv2 are ignored. Disabling this could be helpful if existing connections with peers that don't support RFC 7427 use signature schemes in `rightauth` to verify certificate chains.
| * stroke: Enable BLISS-based public key constraintsTobias Brunner2015-03-041-4/+19
| |
| * credential-manager: Store BLISS key strength in auth configTobias Brunner2015-03-041-0/+3
| |
| * auth-cfg: Add BLISS key strength constraintTobias Brunner2015-03-042-21/+43
| |
| * testing: Don't check for exact IKEv2 fragment sizeTobias Brunner2015-03-041-2/+2
| | | | | | | | | | Because SHA-256 is now used for signatures the size of the two IKE_AUTH messages changed.
| * testing: Update test conditions because signature schemes are now loggedTobias Brunner2015-03-0433-58/+58
| | | | | | | | | | RFC 7427 signature authentication is now used between strongSwan hosts by default, which causes the actual signature schemes to get logged.
| * testing: Add ikev2/rw-sig-auth scenarioTobias Brunner2015-03-0412-0/+180
| |
| * testing: Add ikev2/net2net-cert-sha2 scenarioTobias Brunner2015-03-049-0/+104
| |
| * ikev2: Fall back to SHA-1 signatures for RSATobias Brunner2015-03-041-0/+7
| | | | | | | | | | This is really just a fallback to "classic" IKEv2 authentication if the other peer supports no stronger hash algorithms.
| * ikev2: Select a signature scheme appropriate for the given keyTobias Brunner2015-03-041-18/+13
| | | | | | | | | | By enumerating hashes we'd use SHA-1 by default. This way stronger signature schemes are preferred.
| * public-key: Add helper to determine acceptable signature schemes for keysTobias Brunner2015-03-043-1/+122
| |
| * ikev2: Log the actual signature scheme used for RFC 7427 authenticationTobias Brunner2015-03-041-4/+6
| |
| * ikev2: Store signature scheme used to verify peer in auth_cfgTobias Brunner2015-03-041-0/+1
| | | | | | | | | | | | | | | | | | | | This enables late connection switching based on the signature scheme used for IKEv2 and allows to enforce stronger signature schemes. This may break existing connections with peers that don't support RFC 7427 if signature schemes are currently used in `rightauth` for certificate chain validation and if the configured schemes are stronger than the default used for IKE (e.g. SHA-1 for RSA).
| * ikev2: Add a global option to disable RFC 7427 signature authenticationTobias Brunner2015-03-042-2/+15
| | | | | | | | This is mostly for testing.
| * ikev2: Remove private AUTH_BLISS methodTobias Brunner2015-03-043-18/+1
| | | | | | | | | | | | We use the new signature authentication instead for this. This is not backward compatible but we only released one version with BLISS support, and the key format will change anyway with the next release.
| * ikev2: Handle RFC 7427 signature authentication in pubkey authenticatorTobias Brunner2015-03-042-49/+179
| |
| * hasher: Add helper to determine hash algorithm from signature schemeTobias Brunner2015-03-042-0/+44
| |
| * public-key: Add helper to map signature schemes to ASN.1 OIDsTobias Brunner2015-03-042-3/+54
| | | | | | | | | | | | There is a similar function to map key_type_t and hasher_t to an OID, but this maps schemes directly (and to use the other function we'd have to have a function to map schemes to hash algorithms first).
| * public-key: Add helper to determine key type from signature schemeTobias Brunner2015-03-042-0/+43
| |
| * ikev2: Enable signature authentication by transmitting supported hash algorithmsTobias Brunner2015-03-042-4/+88
| |
| * keymat: Add facility to store supported hash algorithmsTobias Brunner2015-03-042-1/+70
| |
| * hasher: Add filter function for algorithms permitted by RFC 7427Tobias Brunner2015-03-042-0/+30
| |
| * hasher: Redefine hash algorithms to match values defined by RFC 7427Tobias Brunner2015-03-042-27/+29
| | | | | | | | Other algorithms are defined in private use range.
| * ikev2: Add SIGNATURE_HASH_ALGORITHMS notify payloadTobias Brunner2015-03-042-6/+18
| |
| * ikev2: Add new authentication method defined by RFC 7427Tobias Brunner2015-03-042-3/+9
|/
* ikev2: Only accept initial messages in specific statesTobias Brunner2015-03-041-10/+9
| | | | | | | The previous code allowed an attacker to slip in an IKE_SA_INIT with both SPIs and MID 1 set when an IKE_AUTH would be expected instead. References #816.
* ike-sa-manager: Make sure the message ID of initial messages is 0Tobias Brunner2015-03-041-1/+2
| | | | | | | | | | | | | | | | | It is mandated by the RFCs and it is expected by the task managers. Initial messages with invalid MID will be treated like regular messages, so no IKE_SA will be created for them. Instead, if the responder SPI is 0 no SA will be found and the message is rejected with ALERT_INVALID_IKE_SPI. If an SPI is set and we do find an SA, then we either ignore the message because the MID is unexpected, or because we don't allow initial messages on established connections. There is one exception, though, if an attacker can slip in an IKE_SA_INIT with both SPIs set before the client's IKE_AUTH is handled by the server, it does get processed (see next commit). References #816.
* ikev2: Don't destroy the SA if an IKE_SA_INIT with unexpected MID is receivedTobias Brunner2015-03-041-4/+0
| | | | | | | | | | | | This reverts 8f727d800751 ("Clean up IKE_SA state if IKE_SA_INIT request does not have message ID 0") because it allowed to close any IKE_SA by sending an IKE_SA_INIT with an unexpected MID and both SPIs set to those of that SA. The next commit will prevent SAs from getting created for IKE_SA_INIT messages with invalid MID. Fixes #816.