Live data from Hacker News

The Kivaloo Data Store

tarsnap.com

11–20 of 78 posts

Re: The Kivaloo Data Store

#11
I would be curious how this compares to LMDB. They both use B+Trees (which are just B-trees with siblings linked).

Limiting values to 255 bytes is quite constraining, to say the least.

Also, it seems that there are no transactions in kivaloo. That makes a big difference.

Re: The Kivaloo Data Store

#12
post #8

Earlier quoted context omitted.

Especially since the user is expected to download the client for the service from that website. You mean the GPG-signed client code?

Well yeah but the GPG key is also served insecurely: http://www.tarsnap.com/tarsnap-signing-key-2020.asc

... you know you can change that URL to start "https" if you like?

Re: The Kivaloo Data Store

#13
post #8
post #6

Slighlty offtopic, but it's ironic how a service with the tagline "Online backups for the truly paranoid" serves insecure connections to its website and doesn't employ HSTS. Especially since the user is expected to download the client for the service from that website. Kind of a reckless decision.

Especially since the user is expected to download the client for the service from that website. You mean the GPG-signed client code?

Well, if the user actually checks the signatures and remembers from their last visit that their should be one coming along with the software, maybe. That's a big if though.

Considering there's no disadvantage in deploying HSTS and there's no good reason to serve an insecure website, especially since they already have HTTPS set up, I'm baffled by that decision. Maybe it's just an oversight but that's not too reassuring either.

Re: The Kivaloo Data Store

#15

I would be curious how this compares to LMDB. They both use B+Trees (which are just B-trees with siblings linked). Limiting values to 255 bytes is quite constraining, to say the least. Also, it seems that there are no transactions in kivaloo. That makes a big difference.

It's rather hard to compare. My understanding is that LMDB is a library which accesses a shared memory-mapped file; kivaloo is a collection of daemons which are accessed via the network or a unix socket. I guess you could place a network protocol front-end on top of LMDB and compare that to kivaloo?

And sure, small values and a lack of transactions are intentional limitations which allowed me to improve performance for the use case I cared about. Of course there's nothing stopping you from constructing that functionality in other ways; in fact I'm planning on releasing a daemon which provides key-blob storage by storing large objects in Amazon S3 and using the core kivaloo functionality as an indirection table.

Re: The Kivaloo Data Store

#16

I would be curious how this compares to LMDB. They both use B+Trees (which are just B-trees with siblings linked). Limiting values to 255 bytes is quite constraining, to say the least. Also, it seems that there are no transactions in kivaloo. That makes a big difference.

B+tree is a B-tree with no data except at the leaves, and with sibling leaves linked.

Re: The Kivaloo Data Store

#17
post #13
post #8

Earlier quoted context omitted.

Especially since the user is expected to download the client for the service from that website. You mean the GPG-signed client code?

Well, if the user actually checks the signatures and remembers from their last visit that their should be one coming along with the software, maybe. That's a big if though. Considering there's no disadvantage in deploying HSTS and there's no good reason to serve an insecure website, especially since they already have HTTPS set up, I'm baffled by that decision. Maybe it's just an oversight but that's not too reassurin…

> Well, if the user actually checks the signatures and remembers from their last visit that their should be one coming along with the software, maybe. That's a big if though.

HTTPS+HSTS adds no security here.

The only (reasonable) way to validate a payload end-to-end is an offline signature validation. This is true regardless of transport-level security measures like HTTPS.

Doing this properly with gpg makes even more sense due to the service targeting the paranoid, who is exactly the group of individuals who are certain to validate a signature.

> Considering there's no disadvantage in deploying HSTS and there's no good reason to serve an insecure website, especially since they already have HTTPS set up, I'm baffled by that decision. Maybe it's just an oversight but that's not too reassuring either.

It's easy, but adds nothing in ways of security here. Just privacy.

(Not that privacy does not have value, of course, but that's an entirely different argument.)

Re: The Kivaloo Data Store

#19
post #13

Earlier quoted context omitted.

Well, if the user actually checks the signatures and remembers from their last visit that their should be one coming along with the software, maybe. That's a big if though. Considering there's no disadvantage in deploying HSTS and there's no good reason to serve an insecure website, especially since they already have HTTPS set up, I'm baffled by that decision. Maybe it's just an oversight but that's not too reassurin…

> Well, if the user actually checks the signatures and remembers from their last visit that their should be one coming along with the software, maybe. That's a big if though. HTTPS+HSTS adds no security here. The only (reasonable) way to validate a payload end-to-end is an offline signature validation. This is true regardless of transport-level security measures like HTTPS. Doing this properly with gpg makes even mor…

Assuming your attacker can count bytes, there's no privacy added by using TLS to download static content from the Tarsnap website. There simply aren't enough similarly-sized files.
Post reply on HN