All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vernon Mauery <vernon.mauery@linux.intel.com>
To: Brad Bishop <bradleyb@fuzziesquirrel.com>
Cc: OpenBMC Development <openbmc@lists.ozlabs.org>,
	Emily Shaffer <emilyshaffer@google.com>,
	MARRI DEVENDER RAO <devenrao@in.ibm.com>,
	Tom Joseph <tomjoseph@in.ibm.com>
Subject: Re: Supporting insecure protocols in RMCP+
Date: Tue, 24 Apr 2018 08:37:11 -0700	[thread overview]
Message-ID: <20180424153711.GD130821@mauery> (raw)
In-Reply-To: <89D77F3D-487B-4FF6-B9B6-5528B8E297B7@fuzziesquirrel.com>

On 24-Apr-2018 09:39 AM, Brad Bishop wrote:
>
>> On Apr 23, 2018, at 2:47 PM, Vernon Mauery <vernon.mauery@linux.intel.com> wrote:
>>
>>> Patch Set 4:
>>>
>>>> Given that RMCP+ is already insecure, unless it is a requirement to support 1, 2, 15, and 16, you may just want to support 3 and 17.
>>>
>>> 1,2,3 are marked as mandatory in the specification. It should be a community decision to revoke support for 1,2. If the community is ok, it will need additional code changes.
>>
>> tl;dr IPMI is old; let's drop the most insecure parts
>>
>> Opening this up to a wider audience. I would like some community consensus on how we should deal with parts of specifications that don't make sense anymore.
>>
>
>I agree.
>
>However, if someone came along and tried to add this back in
>(proving that there is at least one user in the world),
>I would let them (provided its opt-in behavior).

I would push back. Education is the fix, not less security. Call me an 
idealist. Even then, if they just could not live without it, it would 
have to be done in a way that it can be compiled out by default.

--Vernon

>> Tables in section 13.28:
>> (authentication algorithm support)
>> 00h: RAKP-none        Mandatory (recommend dropping support)
>> 01h: RAKP-HMAC-SHA1   Mandatory (good, but not best; keep for now)
>> 02h: RAKP-HMAC-MD5    Optional (not implemented; do not implement)
>> 03h: RAKP-HMAC-SHA256 Optional (implemented; best available)
>>
>> (integrity algorithm support)
>> 00h: none             Mandatory (recommend dropping support)
>> 01h: HMAC-SHA1-96     Mandatory (good, but not best; keep for now)
>> 02h: HMAC-MD5-128     Optional (not implemented; do not implement)
>> 03h: MD5-128          Optional (not implemented; do not implement)
>> 04h: HMAC-SHA256-128  Optional (implemented; best available)
>>
>> (confidentiality algorithm support)
>> 00h: none             Mandatory (recommend dropping support)
>> 01h: AES-CBC-128      Mandatory (implemented; best available)
>> 02h: xRC4-128         Optional (not implemented; do not implement)
>> 03h: xRC4-40          Optional (not implemented; do not implement)
>>
>> The IPMI spec was written in a time when computing resources were minimal and before some of the real security awareness started. And as such, it contains some legacy stuff that should really be dropped or at the very least deprecated.
>>
>> The IPMI spec only says that we must implement certain authentication, integrity, and confidentiality algorithms, it does not explicitly say what cipher suites must be implemented. But, if we implement every cipher suite that is available with the required algorithms, we would implement cipher suites 0, 1, 2, and 3. And if we added in sha256 integrity and authentication, we add in 15, 16, and 17.
>>
>> Just for comparison, DCMI 1.5 requires only 3, with 17 as recommended and 8 as optional. This is a step up from IPMI's security recommendations, but still not best. I would say that 3 and 17 should be required, with the recommendation that 3 be deprecated (or disabled at runtime) in favor of 17 only.
>>
>> I think we can all agree that cipher suite 0 is poison. It is a gaping open door with bright lights saying, "Hack me!" I would argue that cipher suites 1 and 2 are not much better. We have the computing resources to perform better security, so we should do it. As web browsers move along, they deprecate and then disable old versions of SSL/TLS. We should do the same. Just because at one point in history it was fine to authenticate with plaintext passwords, does not mean we should continue to do so. If you know better, do better.
>>
>> Even if end users come to us and say that they MUST have cipher suite 1 or 2, I would argue that we should tell them to update their infrastructure rather than re-implement old insecure protocols.
>>
>>
>> --Vernon

  reply	other threads:[~2018-04-24 15:37 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-23 18:47 Supporting insecure protocols in RMCP+ Vernon Mauery
2018-04-23 19:30 ` Vernon Mauery
2018-04-24 13:17   ` Brad Bishop
2018-04-24 15:34     ` Vernon Mauery
2018-04-24 17:52       ` Brad Bishop
2018-04-24 13:39 ` Brad Bishop
2018-04-24 15:37   ` Vernon Mauery [this message]
2018-04-24 17:41     ` Brad Bishop
2018-04-24 18:26       ` Vernon Mauery
2018-04-24 20:25         ` Brad Bishop

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180424153711.GD130821@mauery \
    --to=vernon.mauery@linux.intel.com \
    --cc=bradleyb@fuzziesquirrel.com \
    --cc=devenrao@in.ibm.com \
    --cc=emilyshaffer@google.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=tomjoseph@in.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.