From: Hannes Reinecke <hare@suse.de>
To: Sagi Grimberg <sagi@grimberg.me>
Cc: Christoph Hellwig <hch@lst.de>, Keith Busch <keith.busch@wdc.com>,
Omar Sandoval <osandov@fb.com>,
linux-nvme@lists.infradead.org
Subject: Re: [PATCH 1/6] nvmeof-tcp/001: simple test for nvmeof-tcp connection
Date: Mon, 15 Nov 2021 09:37:26 +0100 [thread overview]
Message-ID: <a89ebb9f-0926-e8a3-9b35-ecc1d3083642@suse.de> (raw)
In-Reply-To: <8f3c6dd9-104e-8f0f-78c4-374684743cd5@grimberg.me>
On 11/15/21 9:12 AM, Sagi Grimberg wrote:
>
>>> It is unclear to me why the separate directory is needed. But at least
>>> call it something else if you must have it.
>>>
>>>> Especially as I still fail to see the actual use-case for using
>>>> in-band authentication _without_ encryption.
>>>
>>> Not sure what you mean. For the same use-case that iscsi chap exists
>>> for. The secrets are pre-shared.
>>>
>> And that's the use case I don't really get; the authentication is done
>> only once during connection establishment, and then completely ignored
>> for the remainder of the session.
>
> I have a different view on this. Authentication isn't really related to
> the datapath, but really only relevant to the queue establishment.
>
>>
>>> Perhaps you can explain? My understanding is that the extension for
>>> nvme-tcp TLS based auth is to avoid maintaining two sets of pre-shared
>>> keys, i.e just maintain the TLS ones and not the dhchap ones. But maybe
>>> I am missing something.
>>>
>> Yes, and no.
>> Technically TLS is independent from authentication, and as such you
>> can 'just' use encryption.
>> But if you want to have both there is the so-called secure
>> concatenation, which allows you to use the negotiated shared key from
>> authentication as PSK for TLS.
>
> Well, TLS is a longer journey for a number of reasons which I won't
> elaborate here.
>
Quite.
>> And that's where I think the real value lies for authentication; you
>> precisely do _not_ have to maintain two sets of keys.
>
> I can't say I completely agree with you. There are means today to
> encrypt data over the wire. Granted, it will negate possible data
> reduction gains, but still a mitigation exists.
>
> On the other hand, today any unauthenticated host can connect to
> any fabrics controller, which is a problem. I don't think you should
> minimize the magnitude of your contribution as this is a real issue
> with nvmeof acceptance in enterprise environments.
>
That why I always took care to state that it's _my_ view.
Security is still a rather new topic to me, and as such quite some
techniques used here (derive key (a) from key (b) which is derived from
key (c) etc) feel rather redundant to me.
So there's a bit of a learning curve ahead :-)
> I do agree that when TLS is used, it is indeed very useful to not
> have to maintain two sets of pre-shared secrets, but I don't think
> that there is no use-case for inband authentication in the absence
> of TLS.
>
Oh, surely not. I have been assured from several parties that they want
to use authentication, so who am I to argue with them :-)
And anyway, motivation was to have a working implementation before HW
vendors have a chance to mess things up :-)
>>
>>>> We could rename it to nvmeof-auth, though.
>>>
>>> or just add it as more tests under nvme (or create a subdirectory).
>>>
>> Sure we can. I just found it easier to create my own directory,
>> especially seeing that the nvme subdir has the largest number of tests
>> already.
>> But if you prefer I can move it under the 'nvme' directory.
>
> I think that it would definitely be an improvement, also because people
> usually run the nvme directory tests which is nice and simple, we should
> strive to keep it this way.
Okay, will be doing so.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer
next prev parent reply other threads:[~2021-11-15 8:37 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-12 14:45 [PATCH blktests 0/6] Testsuite for nvme in-band authentication Hannes Reinecke
2021-11-12 14:45 ` [PATCH 1/6] nvmeof-tcp/001: simple test for nvmeof-tcp connection Hannes Reinecke
2021-11-14 10:31 ` Sagi Grimberg
2021-11-14 13:50 ` Hannes Reinecke
2021-11-14 14:45 ` Sagi Grimberg
2021-11-15 2:34 ` Chaitanya Kulkarni
2021-11-15 6:56 ` Hannes Reinecke
2021-11-15 8:12 ` Sagi Grimberg
2021-11-15 8:37 ` Hannes Reinecke [this message]
2021-11-12 14:45 ` [PATCH 2/6] nvmeof-tcp/002: create an authenticated " Hannes Reinecke
2021-11-12 14:45 ` [PATCH 3/6] nvmeof-tcp/003: test different key types Hannes Reinecke
2021-11-12 14:45 ` [PATCH 4/6] nvmeof-tcp/004: test hash and dhgroup variations Hannes Reinecke
2021-11-12 14:45 ` [PATCH 5/6] nvmeof-tcp/005: test bi-directional authentication Hannes Reinecke
2021-11-17 21:50 ` Sagi Grimberg
2021-11-18 9:40 ` Hannes Reinecke
2021-11-19 11:29 ` Hannes Reinecke
2021-11-12 14:45 ` [PATCH 6/6] nvmeof-tcp/006: test re-authentication Hannes Reinecke
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=a89ebb9f-0926-e8a3-9b35-ecc1d3083642@suse.de \
--to=hare@suse.de \
--cc=hch@lst.de \
--cc=keith.busch@wdc.com \
--cc=linux-nvme@lists.infradead.org \
--cc=osandov@fb.com \
--cc=sagi@grimberg.me \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox