Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8350902

Add mechanism to disable signature schemes based on their TLS scope

XMLWordPrintable

    • behavioral
    • minimal
    • System or security property
    • JDK

      Summary

      Currently when a signature scheme constraint is specified with "jdk.tls.disabledAlgorithms" property we don't differentiate between signatures used to sign a TLS handshake exchange and the signatures used in TLS certificates: https://datatracker.ietf.org/doc/html/rfc8446#section-4.2.3 We need to implement a mechanism to disable signature schemes based on their TLS scope.

      Problem

      The current syntax of the jdk.tls.disabledAlgorithms security property doesn't allow to disable algorithms based on their TLS scope, i.e. their application inside the TLS protocol. For example, if you add "rsa_pkcs1_sha1" to the jdk.tls.disabledAlgorithms security property, it disables specified signature scheme to be used for both: handshake signing and certificate signing.

      Solution

      Implement a mechanism to disable signature schemes based on their TLS scope.

      Specification

      The definition of the jdk.tls.disabledAlgorithms security property in the java.security file will be updated to describe new functionality. The following text will be added to the definition:

       - TLS protocol specific usage constraints are supported by this property:
      
         UsageConstraint:
             usage UsageType { UsageType }
      
         UsageType:
             HandshakeSignature | CertificateSignature
      
         HandshakeSignature restricts the use of the algorithm in TLS handshake
         signatures. CertificateSignature restricts the use of the algorithm in
         certificate signatures. An algorithm with this constraint cannot include
         other usage types defined in the jdk.certpath.disabledAlgorithms
         property. The usage type follows the keyword and more than one usage type
         can be specified with a whitespace delimiter.
         Example: "rsa_pkcs1_sha1 usage HandshakeSignature"

            abarashev Artur Barashev
            abarashev Artur Barashev
            Anthony Scarpino, Sean Mullan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: