Re: FUD about CGD and GBDE

From: Poul-Henning Kamp (phk_at_phk.freebsd.dk)
Date: 03/04/05

  • Next message: Poul-Henning Kamp: "Re: FUD about CGD and GBDE"
    To: "Perry E. Metzger" <perry@piermont.com>
    Date: Fri, 04 Mar 2005 15:52:32 +0100
    
    

    In message <877jknik4w.fsf@snark.piermont.com>, "Perry E. Metzger" writes:

    >The best I can say, however, is that the US
    >government has approved the use of AES with 256 bit keys for very
    >highly secure communications, and they have a very demanding user
    >community.

    (There is a big difference in what crypto you need for communications,
    storage, and archiving.)

    My philosophy in this, (as implemented in GBDE), is to trust the
    algorithms to do their job, but to not offer an attacker any more
    leverage against them than I absolutely have to.

    It has been said by various people that "there are [currently]
    no cause to think that using the same key for many millions of
    sectors is a problem".

    I belive that is a fair and balanced summary, and I trust the
    people to know what they talk about and I belive them.

    Nontheless, I do not consider it good engineering to expose the
    algorithm to unnecessary stress, even if we currently belive we
    have a 220 bits margin of safety, if by trivial means, I can avoid
    that stress on the algorithm and maintain 256 bits of margin.

    Exactly where the line is between overkill and conservative engineering
    is always subject to individual preference and taste.

    I don't seriously think that either of CGD or GBDE will be broken
    through any other path than guessing or otherwise obtaining the
    passphrase.

    But in the case something unforeseen happens, I know that GBDE will
    yield its secrets only one sector at a time and CGD will spill all
    the eggs at once because it has only one basket. (Hans Christian
    Andersen wrote quite amuzingly about this 150 years ago in the story
    "The woman with the eggs".)

    As for making user selectable ciphers and keysizes I decided against
    it for two reasons.

    The first reason is that it adds complexity.

    The second is that it offers complexity.

    Adding complexity in the implementation is wrong for all the reasons
    we all agree on. To justify that complexity, a benefit must be
    proven.

    In all my interviews and talks with people, I found nobody who
    wanted that level of flexibility. Everybody, almost in unison sang
    from the "AES is the annointed king and 128 bit is the his key
    size." hymn.

    That surprised me initially.

    It transpired that people had a very simple and prosaic reasoning:
    "Anything else will give us footnotes during audits". Different
    ciphers will make the auditor write "the standard AES should have
    been used" even if the cipher used is agreed by everybody to be
    stronger. A longer keylength will result in a note about "unneccessary
    overkill and waste of resources".

    The other complexity is for the user. The more questions the user
    has to determine the correct answer to, the less likely he is to
    get it all right if he is not a subject matter specialist.

    My favourite question from a UNIX installer was something like:

            "Do you want this system configured according the the
            regulations set forth in [45 character of legal reference]
            ? [yes/no] _"

    And as you can guess, it didn't even offer a default to hint
    what one should choose. (As it later transpired, the option
    would disable the support for a locally connected printer.)

    Offering options in a situation where users will generally not dare
    using anything but the default is not only quite pointless, it is
    down right detrimal to user experience, and, probably, security.

    It used to be that I, as a UNIX wizard of some renown, knew what
    happened when a user logged into a FreeBSD box. But today, between
    ssh, opie, PAM, access.conf and what else gets in the way, I have
    to say that unless all settings are the default, it will take me
    considerable time to determine that no holes have been opened.

    I fully agree that we have gained fantastic flexibility through all
    these features, but I am not always convinced that they are a net
    improvement of security when measured over the set of all FreeBSD
    machines in the world.

    So I made the choice to structure the source code and the crypto
    path so that other algorithms could be slotted in by any minimally
    competent programmer, and stuck to the choice of algorithm which
    seems to be the king of the hill these days. If the wind or the
    king changes, the source code will adapt in less than a day.

    Finally, on keying schemes: I didn't put a keying scheme on GBDE
    because I belive in the "tools not policies" dogma. The gbde(8)
    userland program should be (but isn't quite) flexible enough to
    support any keying scheme people decide to use.

    And I also belive in the "many hands make light work", so I sort
    of hoped that people who knew more about public key crypto than me
    would produce scripts or frontends which implement sound keying
    schemes for GBDE based on these technologies.

    Poul-Henning

    PS: Will you be at BSDcan ? It would be a good chance to corner
    a whiteboard and some beer.

    -- 
    Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
    phk@FreeBSD.ORG         | TCP/IP since RFC 956
    FreeBSD committer       | BSD since 4.3-tahoe    
    Never attribute to malice what can adequately be explained by incompetence.
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
    

  • Next message: Poul-Henning Kamp: "Re: FUD about CGD and GBDE"

    Relevant Pages

    • Re: Is encrypting twice much more secure?
      ... It probably doesn't actually matter which complexity class factoring ... a few years ago a prime proving algorithm was shown to ... Has anyone proved that AES belongs to NP? ...
      (sci.crypt)
    • Re: New Encryption Idea
      ... performing the 5 reads necessary in the example algorithm results in a delay ... Panama at 400MB/sec, or RC4 at about 90MB/sec, or AES in CTR mode at ... and the speed failings of your design become very clear. ... > Manansala Encryption and Authentication System ...
      (sci.crypt)
    • Re: Hooray: the Church of Scotland shows the way
      ... If you are simply pointing out the limitations of algorithmic machines then I agree completely. ... any Turing machine could print out the solution to a non-computable problem if that solution were part of the machine's algorithm. ... Given the complexity of the universe it doesn't seem unlikely that the solutions to all manner of non-computable problems have been physically realised in some form and lie there waiting for us to latch on to them somehow. ... Whilst it's true that fundamental physics are essentially algorithmic in nature, ...
      (uk.religion.christian)
    • Re: ALFREDO RIZZI - 21-st Century Breakthrough - AKS algorithm (primality test) is O log
      ... You have to read the number into memory! ... a paper where a present a new algorithm ... Input time does not matter. ... May I suggest that you read a book on complexity analysis? ...
      (sci.crypt)
    • Re: Virtual Matrix Encryption
      ... die or simply another algorithm will be used in the AES. ... Then it would not be called "snake oil" and would be be "in the ... > algorithms is that they hadn't studied by the whole crypto community and ...
      (sci.crypt)