|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Thu, 19 Jun 2008
POHMELFS and HMAC/crypto operations.
As I found with
distributed storage
project, any communication channels, which involve huge amount of data transfers,
have to have additional strong checksum embedded in the protocol, since TCP one is not
enough in some cases. There are some options, like TCP MD5 signatures or IPsec transformations,
but it is not always available.
POHMELFS
will include ability to both encrypt whole data channel and/or only digitally
sign all messages. This will be implemented on transaction level, so no higher layer code
(like reading/writing data functions) will ever be affected.
POHMELFS will also have mount time self-configuration, i.e. client will send to server
information about supported capabilities, requested by administrator, and if server does not
support some of them (for example it can only do HMAC and not encryption, and both operations were
requested at mount time), they will be dropped (and mount failed optionally).
In the future it will be possible to extend it with additional flags if needed.
mount is not very convenient command to transfer crypto information (like binary keys)
to kernel, so I use the same infrastructure as initial server group initialization (i.e. using
POHMELFS existing configuration utility).
Support for HMAC and encryption will force server to depend on OpenSSL,
but I do not think it is a problem. In some future time I can write autoconfiguration, which will
allow to compile server without crypto support (and thus do not accept encrypted clients and
do not check signatures) if there is no OpenSSL.
After crypto operations are implemented (I expect it to be finished this week), I will release as promised
new netchannel
version (and will remove unneded functionality like NAT), and add some interesting bits (like async
processing) into distributed storage,
so expect its new release soon too.
Stay tuned!
/devel/fs :: Link / Comments ()
|