Re: Hardware Crypto Offload on Kirkwood (SheevaPlug)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I think this whole thread is getting a little out of hand. It was
mentioned initially about using other libraries instead of built in
routines in gpg.

>>> I'm not against NSS - really I'm not. But there are other considerations
>>> to be taken into account.
>>>
>>> 1) Does NSS have any kind of support for hardware crypto offload? If so,
>>> I haven't found any references to it (but maybe my google-foo is weak
>>> today).

There's lots of reference to HW offload on NSS. For one its explicitly
mentioned in referenced Fedora consolidation [1], in the NSS FAQ [2]
and wikipedia [3] :-)

So its a matter of seeing how that integrates and fits with the the
linux kernel crypto api as that would be the obvious place to add the
support as if the HW is there it will get used and it would also get
access to any cpu acceleration that is not crypto specific (I've read
about using NEON for this for example).

[1] http://fedoraproject.org/wiki/FedoraCryptoConsolidation#Technology_selection
[2] https://developer.mozilla.org/en/NSS_FAQ
[3] http://en.wikipedia.org/wiki/Network_Security_Services#Hardware_support

>> Interesting question; not sure.
>
> I think it is an important one to answer, and sooner rather than later.
> This is particularly important to the ARM community since a lot of
> (most?) ARMs seem to have a crypto co-processor of some description
> (Freescales, Kirkwood and Tegra definitely seem to have this, I haven't
> checked others, but since these are the three classes of devices I own,
> that's 3 out of 3 - I don't think it's luck/coincidence).

Remember this needs to be upstream in Fedora and other projects and
then Fedora ARM will get it by default. Work upstream, propose it as a
Fedora 16 feature and do the work.

I don't think its particularly important to ARM. It certainly helps on
ARM due to low processing but its relevant on all platforms and most
platforms have some form of crypto offload built in to the core CPU
now days. Hell even the AMD geode processor used in the XO has it.

> This is particularly important for server applications. ARM is getting
> some traction in the server market. ZT make a really nice (if expensive)
> multi-ARM server. I have seriously discussed using ShevaPlugs/GuruPlugs
> specifically for large scale-out low-power SSL offload with clients.
> Crypto offload support is already important, and it's importance is only
> going to go up.

Working in hosting myself with massive amounts of SSL offload we're
not exactly looking at arm. There's lots of other issues here, and
none of them are specific to ARM processors.

>>> 2) More abstraction (a OpenSSL->NSS shim library), means more bloat,
>>> more context switching and less performance. Is that really the way
>>> forward? I mean _really_?
>>
>> For bulk crypto operations an extra call via a shim probably doesn't
>> matter.  For some signature operations it might.
>>
>> It seems like a clean solution from the point of view of application
>> developers, though.
>
> The other thing that needs to be considered is added complexity and
> security. I would imagine that since there is an abstraction layer, it
> introduces additional scope for exploits (buffer overruns, stack
> smashing, etc.) Is this shim library going to also be FIPS certified? If
> not then the improved security aspect of NSS vs. OpenSSL comes a lot
> closer to pure marketing rhetoric (maybe that's where it's at at the
> moment anyway, I don't claim to be an expert on the subject).

Read the details mentioned on the advantage of NSS over OpenSSL for
FIPS certification on the consolidation wiki.

>>> 3) Volume of supported commonly used software - if NSS has a clear
>>> advantage in terms of support base, then so be it, let's all put our
>>> weight behind it. But my perception is that this is not the case.
>>> Everything I touch upon on a daily basis seems to be linked against
>>> OpenSSL rather than NSS.
>>
>> Well, that's not true for everyone, and certainly not for users of
>> GPG.
>
> I thought it was mentioned on this thread recently that GPG brings it's
> own implementation anyway. Did I misunderstand?

Yes, that's why we ended up in the discussion of types of libary!

>> But the real question is whether one group of Fedora developers is
>> determinedly going to push NSS and the other OpenSSL.  That is not a
>> route to happiness.
>
> It's not, but losing crypto offload and/or a performance drop-off and
> bloat due to shimming isn't a happy solution, either. If we can address
> those (the latter by sending patches to build against NSS upstream so
> shimming isn't required), then it'd be a great idea.

NSS supports HW. See above. All things need to be dealt with upstream.
Whether it be Fedora, kernel, NSS or other apps.

> But purely in terms of standardizing on a single crypto library - has
> anyone actually performed an exhaustive analysis on how much would need
> to be changed to go either way? The wiki page that has been referenced a
> few times seems distinctly non-exhaustive. Maybe my perception is
> non-representative here, but as I said, all the things I get my hands
> dirty on a regular basis are linked against OpenSSL rather than NSS. The
> pragmatist in me says that maybe that makes OpenSSL a better target to
> standardize on, but I would like to see an exhaustive analysis /
> empirical evidence showing otherwise.

The consolidation proposal was (I believe) instigated by the team(s)
in Red Hat that deal with crypto and the various certifications
required by an OS and applications that require things like FIPS cert,
HW offload by customers that run platforms that require large
encryption capabilities etc so I'm sure they've done a lot of work in
that direction and made the proposal for a reason. I remember there
was a lot of discussion on devel@ when it was proposed. I suggest you
dig out those discussions.

As such support for crypto HW support in what ever libraries is better
reported as a bug against the associated components. This list is
about supporting ARM as a secondary architecture with in Fedora not
about specific HW support in libraries. We will always use upstreams
implementation of that. We have more than enough to do to support
Fedora as a distro on ARM :-)

Peter
_______________________________________________
arm mailing list
arm@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/arm



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM (Vger)]     [Linux ARM]     [ARM Kernel]     [Fedora User Discussion]     [Older Fedora Users Discussion]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Maintainers]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]

Powered by Linux