> > > I'm not comfortable with mixing sensitive properties into the main
> > > property database - in the past, my advice to other projects (including
> > > the wifi folks) has always been to isolate sensitive properties into
> > > separate files so that we can in the future improve the protection of
> > > them without complicating access to non-sensitive fields.

        Perhaps I'm miss remembering.  I thought the wifi folk wanted
        to have the unsentivive properties accessible to all through
        a file of 644 permissions.  Thus the WEP/WPA/ ... keys needed
        to be kept elsewhere.
        svc.configd is the arbritrator of the repository.  The repository
        is mode 600.  I believe this is a difference between these cases.

> > > 
> > > In addition, the recommendation in the "password storage" best practice:
> > >     http://sac.eng/cgi-bin/bp.cgi?NAME=passwords-storage.bp
> > > is that passwords and similar sensitive values be encrypted when stored
> > > in the filesystem.
> 
> FWIW, the password storage best practice is also published at:
> http://www.opensolaris.org/os/community/arc/bestpractices/passwords-files/

        I believe this proposal is designed to meet the actual policy 
        as it would be applied to authorized use:
            If a program must store a principal's reusable password on
            a filesystem in order to automate future authentication
            attempts, then the program must place the password in a file
            which is readable only to the principal whose password is
            stored in the file. The permissions of the file should grant
            no access to either group or world.

        The repository is 600 to root; svc.configd interprets
        authorization as created by the administrator for access to
        sensitive properties.

        Now, the "Further, it is recommended ... encrypted ..."
        is not actually met.  One might consider derailing to write
        an opinion that it is impossible for this case to provide
        a *master* way of encrypting sensitive property values without
        other technology (perhaps functional TPMs on all HW on which
        Nevada will ever run) -- and a project to make TPMs and master
        HW keys a requirement for Nevada be created.

        I'm not sure that's valuable.  What is probably far more
        appropriate is to properly document the level of protection
        given to sensitive properties and leave it to the reader/writer
        of the property to provide greater protection as they see fit.

        IIRC, as Greenline was approved, the spec included something
        about properties being publically viewable and that any sensitive
        values should be encrypted by the application.
        This project corrects the publically viewable aspect.
        Consider the analogy of when passwd(4) contained the unix
        crypt values.  The shadow(4) project made the unix crypt values
        hidden from public read access.  The application is still
        responsible for creating and otherwise using the values
        stored there.

        I'm not sure why this project should be responsible for
        doing more than it proposes.  Yes, it would be great to
        not rely on applications.  I believe Solaris provides
        insufficient means to not rely on the application.
        Again, advice for a project to provide strong keying material
        for hands off operation.

Gary..

Reply via email to