First Last Prev Next    No search results available
Details
: replay signature
Bug#: 18657
:
: Lustre
: Security
Status: ASSIGNED
Resolution:
: All
: Linux
: master
: P3
: enhancement

:
:
:
Bug Type: ---
:
: 17947
  Show dependency tree - Show dependency graph
People
Reporter: fanyong <yong.fan@sun.com>
Assigned To: fanyong <yong.fan@sun.com>
:
Activity
Resolved: n/a - still opened
First response: 2009-03-01 06:19:37 by yong.fan
Last response: 2010-08-29 10:13:10 by yong.fan

Attachments
replay signature HLD (115.29 KB, application/pdf)
2009-03-04 01:53, fanyong
no flags Details
replay signature HLD (v2) (115.30 KB, application/pdf)
2009-03-08 07:26, fanyong
nicolas.williams: inspection-
Details
Proposed HLD updates (20.66 KB, application/octet-stream)
2009-06-30 16:25, Nicolas Williams
no flags Details
Latest replay signature HLD (21.97 KB, application/octet-stream)
2009-07-07 17:48, Nicolas Williams
no flags Details
PDF version (115.04 KB, application/octet-stream)
2009-07-07 17:50, Nicolas Williams
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2009-03-01 06:19
To prevent replay faking.
------- Comment #1 From fanyong 2009-03-04 01:53:33 -------
Created an attachment (id=22098) [details]
replay signature HLD
------- Comment #2 From fanyong 2009-03-08 07:26:12 -------
Created an attachment (id=22181) [details]
replay signature HLD (v2)
------- Comment #3 From Nicolas Williams 2009-06-28 22:45:57 -------
(From update of attachment 22181 [details])
Inspection template(s):
Bug:       18657 
Developer: yong.fan@sun.com 
Size:       Lines of Text 
Date:      2009-6-29
Defects:   1
Type:      CODE
Inspector: Nicolas.Williams@sun.com

--------------
 - "Recovery spoofing" might be a better term than "recovery faking".

 - Replay signature keys can be changed very infrequently.  12h, as proposed, is fine.  I don't
have a good source to cite as to usable HMAC key lifetimes; RFC2104 specifically states that there
is insufficient analysis on this matter.

 - However, it'd be a good idea to add a nonce (say, 64-bit) to the replay capability if we can.

 - We should remove the need to renew replay capabilities.  This will significantly reduce
complexity.  To do this two keys must be valid at all times: the current key and the previous key.

 - It's important to note that lock recovery is not covered here.  At DLM recovery time a client
can DoS the cluster by causing a lock conflict, which will in turn cause some or all clients to be
evicted.  This isn't easy to protect against, but at least it's only a DoS; protection against this
should be out of scope in this feature.
------- Comment #4 From Nicolas Williams 2009-06-30 12:48:48 -------
(From update of attachment 22181 [details])
Also, we need to do something about opens.  Renewing replay signatures may be one way to do that,
but is there any other way?  Can the client open by fid and use the capability it has to prove that
it should be allowed to replay the open?
------- Comment #5 From Nicolas Williams 2009-06-30 16:25:02 -------
Created an attachment (id=24427) [details]
Proposed HLD updates

I've edited the HLD.  I believe we can get by without replay signature renewal.  To do this we need
to recover open state by reconstructing opens as anonymous open by FID, with security provided by
FID capabilities, rather than the current replay of open RPCs scheme.  The fundamental principal
for replay signatures would then be: replay signatures are to be used for transaction RPCs with
normally bounded duration (basically: all filesystem transactions, such as the create component of
an open, but not the stateful parts of open), reconstruction should be used for all state (locks,
open files).
------- Comment #6 From Andreas Dilger 2009-07-02 15:16:07 -------
(In reply to comment #5)
> I've edited the HLD.  I believe we can get by without replay signature
> renewal.  To do this we need to recover open state by reconstructing opens
> as anonymous open by FID, with security provided by FID capabilities, rather
> than the current replay of open RPCs scheme.

Note that there is already a desire to do this for another reason - to allow the
Lustre protocol to change beween major versions of Lustre in an incompatible
way.  If the clients don't keep any saved RPCs over an upgrade (by being told
in advance that there is going to be a server upgrade) then the only client
state that needs to be saved on the client are open file handles.  The goal is
that open files are re-opened after server restart based on information in the
file handle itself instead of via saved RPCs.

This project is called "simplified interoperability", and while we have a good
idea of what is involved, there is unfortunately nobody working on it.
------- Comment #7 From Andreas Dilger 2009-07-02 15:18:02 -------
(In reply to comment #6)
> This project is called "simplified interoperability", and while we have a good
> idea of what is involved, there is unfortunately nobody working on it.

Oh, wait.  I now recall Eric Mei is going to start working on this, so now would
be an excellent time to discuss with him any other requirements we have for the
open file handling from a recovery POV.
------- Comment #8 From Nicolas Williams 2009-07-02 15:46:00 -------
Yes, Oleg just explained that to me on IRC as well.  As a result I just posted on lustre-devel with
a specific proposal for separating open recovery from transaction recovery.
------- Comment #9 From Nicolas Williams 2009-07-07 17:48:57 -------
Created an attachment (id=24596) [details]
Latest replay signature HLD
------- Comment #10 From Nicolas Williams 2009-07-07 17:50:40 -------
Created an attachment (id=24597) [details]
PDF version
------- Comment #11 From fanyong 2009-11-28 17:59:01 -------
Updating priority to P3 since it is not 2.0 task any longer
------- Comment #12 From fanyong 2010-08-29 10:13:10 -------
HLD for new Lustre Capability finished, no DLD yet.

First Last Prev Next    No search results available