Re: Soft signatures

From: Anne & Lynn Wheeler (lynn_at_garlic.com)
Date: 05/03/04

  • Next message: William Wallace: "Re: pseudo-random key generator, not bad says i"
    Date: Sun, 02 May 2004 21:58:24 -0600
    
    

    Nomen Nescio <nobody@dizum.com> writes:
    > I had an idea the other day for "soft" signatures. These are digital
    > signatures which aren't completely binding. Maybe you'd like to make
    > a signed statement with a large degree of certainty about who you were,
    > but to leave open a small possibility that it might have been forged.

    part of the problem is that there is some semantic ambiguity between
    the concept of signatures and the term "digital signatures".

    typical digital signature starts out with computing a secure hash of
    the message, "enccrypting" the secure hash, transmitting the message
    and the encrypted hash. The recipient then recomputs the secure hash
    of the message, decrypts the transmitted version and compares the two
    values. If there is any bit difference, then either 1) the message is
    tampered with in some way or 2) some problem in encrypt/decrypt.

    the definition of secure hash typically is such that it is hard to
    tell the amount of mismatch ... just that there is some mismatch.

    The encrypt/decrypt part (not the message tampering angle) is a part
    of three-factor authentication ... aka

    1) something you have
    2) something you know
    3) something you are

    ... now, digital signature, typically just represents that you (in
    some way) "have" the corresponding private key. There is some hope
    that the private key hasn't been replicated and you are actually the
    only person with that private key (aka something you have, typically
    presumes that you uniquely possess the object).

    now, this "digital signature" still just represents message integrity
    and "something you have" authentication .... not really anything about
    things like non-repudiation and/or forging agreement.

    To get from this technology (that just happens to have a label
    containing the character string "signature") ... to things like real
    Signature ... carries with it things like intent and non-repudiation.
    For some time there were arguments that if a certificate contained the
    bit flag called "non-repudiation" ... any message validated with the
    certificate's public key couldn't be repudiated. A relying party just
    needed to find some certificate authority willing to issue a
    certificate with your public key and the non-repudiation flag in it.
    There has been lots of past threads about what extra operations are
    needed at the time a signature is created to even begin
    non-repudiation issues. various are referenced in the following
    collection on client and radius authentication:
    http://www.garlic.com/~lynn/subpubkey.html#radius
    and identity, authentication, and privacy:
    http://www.garlic.com/~lynn/subpubkey.html#privacy

    So one of the issues that I raised at:
    http://www.nist.gov/public_affairs/confpage/new040412.htm

    was issue of using private keys for both authentication as well as for
    agreeing to some business process (like authorizing some operation,
    demonstrating agreement and/or intent like in real signatures). the
    conflict is that there can be challenge/response authentication
    mechanisms that send you random data, you sign the random data and
    send it back to authenticate who you area. The problem is that you
    aren't "signing" the data (in the sense that people sign documents)
    ... you are just establishing "something you have authentication". The
    issue, is that if you ever use a private key as part of "signing"
    random data for "something you have" authentication purposes, the
    random data might actually not be random ... it could actually be some
    valid transaction. the solution might be that before you use your
    private key to ever sign anything, you first combine the message
    (before doing the secure hash) with a couple kilobytes of legal text
    excplicitly stating what kind of signature operation you believe you
    are performing. Part of the issue is there may not just be one way to
    forge something. Note that this kind of forging is akin to phishing
    ... convincing you to do something w/o you really realizing what it
    was you were doing.

    The real issue is that "digital signature" technology is being used
    for a number of different business purposes. There is simple,
    "something you have" authentication. However, attempting to move
    upstream to higher value operations like human signatures that carry
    with it implication of intent and agreement can creates severe
    problems.

    Using the same technology for simple authentication as well as intent
    and agreement can create a fundamentally flawed environment.
    Basically, the use of digital signatures in pure authentication
    operations already implies the use of signatures for operations that
    are specificly nonbinding; aka the digital signature is purely to
    prove who i am and doesn't include any signature concept that i'm
    agreeing to anything.

    ... at the conference, there were also a number of references to
    "naked public keys" ... i.e. another way of describing aads.
    http://www.garlic.com/~lynn/index.html#aads

    the issue is tha most people observe that public keys are running
    around armored in something called (x.509) certificates. The
    certificates aren't actually to armor the public keys but to to armor
    the business relationship between the public keys and some amount of
    other information.

    For a long time, business have used fairly armored processes, where
    the information and actual operations of any value were carried on in
    an armored environment ... the armoring designed to protect both the
    information and the validity of the operations.

    It was observed that there was the possibility of performing some
    number of low/no value operations in the wild ... outside of
    traditional business controls and in an offline environment w/o direct
    recourse to the real business operation. The result was somewhat the
    creation of armored certificates that contain a subset of information
    (that might be found in an armored business process environment)
    ... where some amount of the information and a public key were armored
    in a "certificate". These armored certificates would promote some
    number of low/no value operations to proceed in the wild outside of
    normal prudent business controls.

    One of the issues that cropped up in the mid-90s was the severe privacy
    and liability issues with over abundance of information in an
    x.509 identity certificate ... and the retrencing to a severely truncated
    "relying-party-only" certificate. .. misc. past references:
    http://www.garlic.com/~lynn/subpubkey.html#rpo

    the truncation of the armored binding between information and a public
    key for a relying-party-only certificate might be as little as a
    public key and an account number.

    so the scenario goes that a armored business operation creates an
    armored relying-party-only certificate (drastic subset of information
    present inside the armored business operation) that is allowed to
    float around in the wild. this relying-party-only certificate
    (containing drastic subset of information that the relying-party
    already has) is periodically sent back to the relying-party as part of
    some business operation that will occur within the confines of a
    traditional armored business environment (containing a superset of
    information contained in the armored relying-party-only certificate).

    the repeated assertion is that in such scenarios that the existance of
    an armored relying-party-only certificate floating around in the wild,
    AND being transmited back to the relying-party is redundant and
    superfluous to the relying-party business operation.

    the observation is that in the AADS scenario where the public key is
    contained in the armored business operation along with lots of other
    information ... can be done without the protective certificate
    armoring that is necessary when the public key and its related
    information is allowed to float around in the wild.

    the actual issue is that such repositories inside normal, prudent
    business operations isn't actually a naked environment ... it is
    typically protected as required not only for the actual information
    but also the actual business processes that go on in such an
    environment.

    It is only when such information is allowed out in the wild ... that
    the protective armoring (say analogous to space suits) is required to
    provide integrity of the public key bound to specific information.

    One of the issues exemplified by the relying-party-only certificate
    case is that for operations of any value, they also need to occur
    within an armored/protected environment. Given that such an
    environment is used for business operations of environment, having
    separate armoring for a small restricted subset of the business
    information is redundant and superfluous (like it typically isn't
    necessary to wear a space suit on the surface of the earth).

    The certificate armoring is specifically targeted at providing support
    for low/no value operations occuring in the wild, outside the bounds
    of normal business process operations.

    So the AADS public keys aren't really naked inside normal business
    operations .... they just don't need to have the space suit protective
    armoring that is necessary for existing in a wild and hostile
    environment. To some extent this is akin to some science fiction movie
    where people who have only familiarity with airless planets are
    dismayed at the thought of earth inhabitants going around in the open
    on the surface w/o space suits. It isn't that they are naked, it is
    just that they are operating in a less hostile environment.
    Furthermore, since there is some presumption that a valid business
    process will be occuring in that environment, there should be other
    safeguards in place making certificate armoring redundant and
    superfluous.

    so to slightly wonder back in the direction of the original topic
    ... the current armoring of a public key and information in a
    certificate doesn't even include the demonstration that you are in
    agreement with what is in the certificate. current certificate-based
    infrastructures don't have you signing the contents of the certificate
    ... and then the certification authyority signing the composite
    including your signature of agreement.

    this issue has to do with whether or not the contents of a ceritifcate
    can create any legal obligations for you. If I'm agreeing to some sort
    of legal obligation, i'm typically required to sign &/or initial every
    document. In the existing certificate-base paradigm, there is a

    1) message
    2) digital signature
    3) certificate

    the only thing that I've actually signed is the message, I haven't
    signed the certificate ... so it isn't impossible that a different
    certificate (with my public key) could be substituted. The current
    environment doesn't have the key owner signing either the certificate
    and/or the choice of certificate that is included with any message.

    and already discussed, with possibility for private keys being used to
    sign both random data (in purely authentication scenarios) and
    possibly legal documents (as in real signatures demonstrating intent
    and agreement), there is signficiant ambiguity about the meaning of
    any digital signature.

    -- 
    Anne & Lynn Wheeler | http://www.garlic.com/~lynn/
    

  • Next message: William Wallace: "Re: pseudo-random key generator, not bad says i"

    Relevant Pages

    • Problem verifying a X509Certificates signature
      ... One of the methods I am implementing is the Verify method. ... X509CertificateEnhanced) is signed by the public key (of another ... certificate) passed as a parameter. ... certificate's signature, to be used in the "rgbSignature" parameter. ...
      (microsoft.public.dotnet.security)
    • Re: Certificates and Cryptography (Please HELP!)
      ... signedMessage1.txt is the DSA 40-byte Base64-Encoded signature which I ... should be able to verify with the certificate's public key. ... The certificate store that I installed the certificate into ... >> I've read through the CryptoAPI documentation, ...
      (microsoft.public.dotnet.framework.aspnet.security)
    • Re: Check EXE for MY signature only
      ... signature - but at least the code-signing certificate would reveal WHO ... I am trying to figure out how to verify that a dll is signed by my own ... I should probably compare the public key, ...
      (microsoft.public.platformsdk.security)
    • Re: Digital signature and Digital Certificate
      ... > signature and its corresponding digital certificate? ... the corresponding public key had be used to ...
      (comp.security.firewalls)
    • Re: electronic signature in Microsoft Word
      ... you need a digital certificate. ... status bar with a tooltip that says "This document has been digitally ... Double-clicking the icon opens the Digital Signature dialog again. ... but be asked for a password before inserting ...
      (microsoft.public.word.docmanagement)