Colin Percival
daemonology.net · Personal blog · on HN since 2007
Colin Percival is the founder of Tarsnap and a FreeBSD developer, and writes on cryptography, security and operating systems.
What HN saysCommenters recommend his Cryptographic Right Answers and spiped for protecting sshd, and use his Hacker News Daily RSS digest of top posts.
302HN people shared it
232linked it in comments
206stories submitted
16Kstory points
3 months agolast shared
2007people per year2026
Most-shared posts
- 1Hacker News Daily59 people · 100 points · first shared 2010 · 18 comments on HN
- 2Tarsnap critical security bug21 people · 231 points · first shared 2011 · 124 comments on HN
- 3Cryptographic Right Answers17 people · 179 points · first shared 2009 · 40 comments on HN
- 4Binary diff/patch utility17 people · 3 points · first shared 2007 · discussion on HN
- 5FreeBSD on EC2 status10 people · 40 points · first shared 2011 · 1 comments on HN
- 6Protecting sshd using spiped9 people · 59 points · first shared 2012 · 51 comments on HN
- 7Hyper-Threading Considered Harmful (2005)9 people · 5 points · first shared 2011 · discussion on HN
- 8Playing chicken with cat.jpg8 people · 290 points · first shared 2012 · 104 comments on HN
- 9Inequality in Equalland8 people · 240 points · first shared 2011 · 133 comments on HN
- 10Encrypt-then-MAC8 people · 65 points · first shared 2009 · 49 comments on HN
- 11Securing an HTTPS server7 people · 57 points · first shared 2009 · 17 comments on HN
- 12Amazon Web Services signature version 1 is insecure7 people · 48 points · first shared 2008 · 52 comments on HN
- 13Cache Missing for Fun & Profit7 people · 17 points · first shared 2008 · 28 comments on HN
- 14How to zero a buffer6 people · 277 points · first shared 2014 · 208 comments on HN
- 15Ask Hacker News Weekly6 people · 96 points · first shared 2011 · 19 comments on HN
What HN people wrote when they linked it
elendee · 2025-02-01
fwiw I read hacker news through RSS only, top 10 items every day using https://www.daemonology.net/hn-daily/
Something similar would be great
kccqzy · 2024-09-20
The author mentions HMAC at the end. I think HMAC is really an underrated technique. I remember reading Colin Percival's classic Cryptographic Right Answers[0] and saw a section about "symmetric signatures." I pondered to myself what scheme I could use for that before I looked at the answer: of course it's just HMAC. I feel like this is another perspective that ought to be more widely known: if you want something to be like a signature, but the two parties (or just a single party at different times) can share a key, HMAC really is the right answer. Things like, a server needs to cryptographically sign a cookie to prevent tempering: that's HMAC. Or a server needs to know an API request is coming from an expected client: that's also HMAC.
[0]: https://www.daemonology.net/blog/2009-06-11-cryptographic-right-answer…
sjaak · 2022-11-27
Cannot recommend running sshd behind spiped (tool authored by cperciva) enough:
https://www.daemonology.net/blog/2012-08-30-protecting-sshd-using-spip…
0x54MUR41 · 2022-11-26
I suggest you to focus on the top 10 of daily HN posts. The top 10 posts are based on the point given by HN users. This method will limit your content consumption.
The website below provides the feature I was mentioning before. You can subscribe the RSS feed.
https://www.daemonology.net/hn-daily/
If you are looking for different topics, like Show HN and Ask HN, the website also provides them. These are coming in weekly basis.
https://www.daemonology.net/hn-weekly-show/
https://www.daemonology.net/hn-weekly-ask/
tweetle_beetle · 2022-08-27
I can't tell what stance is being taken on Tarsnap here, but for the interested the background is worth a read.
https://www.daemonology.net/blog/2018-04-01-tarsnap-pricing-change.htm…
vlovich123 · 2021-10-20
It’s possible some projects do this correctly but I suspect most have a false sense of security as the compiler will elide all stores that are happening in a struct about to be freed and there’s no C/C++/LLVM language that’s really immune from this [1].
Usually a more thorough approach is to turn on malloc scribbling, ASAN or valgrind which is something Darwin’s allocator can be told to do (it’ll scribble separate uninitialized and freed patterns).
I could see the appeal of there being a magic value though. I think that’s what memset_s is for so hopefully your favorite project is doing that properly.
[1] http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html
kureikain · 2021-03-29
https://www.hndigest.com/ is the best here.
Not quite hacker news centric but I do source my own newsletter from hacker news https://betterdev.link
Note stay way from https://www.daemonology.net/hn-daily/ When I clicked "Daily email subscription" it shows me a very creepy full screen ads https://pix.fastloop.xyz/upload/7242cd2fe763c406fc5b743e3de45c899a630f…
takeda · 2020-09-21
> FreeBSD’s DHCP client in base does not yet support DHCPv6. To get an IP and a prefix, you need to install one from ports. I’m using dhcp6c, following this guide[1] to set it up.
Colin Percival made it a bit easier (IMO)[1] it is meant for AWS EC2 but worked for me with my ISP as well. The guide you submitted probably will work everywhere.
[1] http://www.daemonology.net/blog/2017-01-26-IPv6-on-FreeBSD-EC2.html
icebraining · 2018-04-07
I have to agree; I mean, it's a concern, but not a new concern. He's the CEO of Facebook, of course he can potentially read anything stored on their servers. Nothing has changed on that regard. And not just on Facebook - any company. Why would one ever assume otherwise?
Here's cperciva's insightful post on the issue: http://www.daemonology.net/blog/2012-01-19-playing-chicken-with-cat-jp…
geofft · 2018-04-04
Percival 2009 is http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers… - the actual summary recommendation is "Use RSAES-OAEP with SHA256 as the hash function, MGF1+SHA256 as the mask generation function, and a public exponent of 65537. Make sure that you follow the decryption algorithm to the letter in order to avoid side channel attacks."
I assume the misquote is making fun of how long that description is compared to, like, "Use 256-bit AES keys." or "Use OpenSSL." (What specific thing in the decryption algorithm should I be making sure I don't misread in order to avoid side channel attacks?)
RcouF1uZ4gsC · 2018-04-03
>Client-server application security
>Percival, 2009: Use OpenSSL.
Percival actually recommended not using SSL and shipping the server public key with the client.
From http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers…
>Client-server application security: Distribute the server's public RSA key with the client code, and do not use SSL.
What are your thoughts on that approach today.
emn13 · 2018-01-04
The attack is pretty brilliant; but it's also not quite novel. Cache-timing attacks aren't new; certainly CPU suppliers should have known the general issues at hand for... at least a decade? See e.g. Colin Percival's somewhat related attack on hyperthreading way back in 2005: http://www.daemonology.net/papers/htt.pdf
Actually exploiting the information leakage isn't easy; and its compounded by the secrecy surrounding cpu internals. So I think they definitely deserve some blame here. Yes, the PoC is new. But the attack surface was widely known more than a decade ago, and they chose to punt the issue onto software; a solution that was unlikely to really hold water.
jschulenklopper · 2017-06-23
As a subscriber on the list, "more value" (to me) is provided in a couple of ways:
- I seem to like the weekly selection; the editorial choices on which articles are likely to be of interest of the group.
- Kale includes older posts, sometimes from months back, sometimes more obscure or funny, that are still interesting to read now.
- I get the top stories in a weekly email that I can process weekly. If I feel I've kept myself reasonably up to date with current news, that means a quick scan. But after a couple of weeks of vacation, processing just three issues of Hacker Newsletter is sufficient to catch up.
By the way, http://www.daemonology.net/hn-daily/ is also convenient to catch up after a long time.
elFarto · 2015-05-20
This page has the best implementation I've seen: http://www.daemonology.net/blog/2008-06-05-faster-utf8-strlen.html
It basically counts continuation bytes (which all start 10xxxxxx) and substracts, rather than trying to count characters.
Additionally, if you know how many bytes are in the string, you can remove the check for the null terminator.
snksnk · 2015-05-06
I did now know about this 'Best' feature. Personally I use http://www.daemonology.net/hn-daily/ and http://www.daemonology.net/hn-weekly-ask/ for a list of the highest-ranked articles.
ipsum2 · 2015-04-30
I like cperciva's daily top hacker news posts:
http://www.daemonology.net/hn-daily/
I've noticed that I missed some great articles, even though I visit Hacker News every couple of hours or so.
aubreykilian · 2014-12-14
Well this is great news!
I can finally stop trying to use Depenguinator http://www.daemonology.net/depenguinator/ ;-)
grayclhn · 2014-04-14
> If I have legitimate reason to believe that an exploit does not affect me (especially if it's because I acknowledged its possibility and programmed defensively against it), why would I automatically act as if I were breached too?
Your argument hinges on the word "legitimate." I don't do security, but "it looks good to me" is not a legitimate reason to believe that the exploit does not affect you (for any value of "me"). OTOH "I've never used the versions of OpenSSL that have this bug" is a legitimate reason to believe that you're not affected, e.g. Tarsnap's explanation [1]. I'd also recommend that post for another take on what defensive programming looks like in this context.
[1] http://www.daemonology.net/blog/2014-04-09-tarsnap-no-heartbleed-here.…
on HN: https://news.ycombinator.com/item?id=7562125
fabulist · 2014-04-12
I agree that cloud hosting opens up many new vectors of attack, but I completely disagree about building the app from the ground up.
The larger your app is, the less likely it is to be secure. A better strategy is to keep your app lean and mean, and build it off of existing security technologies which have proven to be reliable.
But as we've seen with Heartbleed, some of your security measures will fail. Its important to follow the principle of least privileged, and to isolate your system as much as possible; for instance, Colin Percival uses stunnel to isolate OpenSSL from his webserver[1]. This solution is far from perfect, and it still puts your private key at risk in a Heartbleed-like event. But that majority of your user's data is kept away from OpenSSL; it limits your exposure.
[1] http://www.daemonology.net/blog/2009-09-28-securing-https.html
soundsop · 2014-04-09
The older posting that is mentioned, which is called Securing an HTTPS Server is a good read: http://www.daemonology.net/blog/2009-09-28-securing-https.html
pjscott · 2014-03-20
At the time this article was written, AEAD modes were apparently still too new, and their implementations too untrustworthy:
http://www.daemonology.net/blog/2009-06-24-encrypt-then-mac.html
At the moment, the best-supported AEAD mode seems to be AES-GCM, which has received a fair bit of attention since then. Alternately, {Salsa20,ChaCha20}-Poly1305 has some good implementations, e.g.
http://nacl.cr.yp.to/
and in TLS:
https://www.imperialviolet.org/2014/02/27/tlssymmetriccrypto.html
sillysaurus3 · 2014-03-19
FWIW, I got way more value out of the Matasano challenges than studying classic ciphers.
Do you think it'd be a not-terrible idea for newcomers to focus entirely on studying this? http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers…
cperciva · 2013-12-19
My startup: I want to make sure I don't lose my data if my hard drive dies. I also want to make sure the NSA doesn't get my data.
Tarsnap: http://www.tarsnap.com/
My side project: I want to run the world's best free OS on the world's best cloud computing environment.
FreeBSD/EC2: http://www.daemonology.net/freebsd-on-ec2/
My hobby: I want to have fun while bringing classical music to my community.
West Coast Symphony Orchestra: http://www.westcoastsymphony.ca/
rnicholson · 2013-10-25
See also - http://www.daemonology.net/hn-daily/ - I find its a better "best".
profquail · 2013-09-15
FreeBSD 10 is also going to have much-improved support for Xen [1][2] and newly-added support for Hyper-V [3]. I'd love to see AWS and Azure support first-class FreeBSD instances. (You can currently run FreeBSD instances using cperciva's AMIs [4], but that's not the same as Amazon supporting FreeBSD in the same way they support Linux).
[1]: http://lists.freebsd.org/pipermail/freebsd-xen/2013-June/001618.html
[2]: http://wiki.xen.org/wiki/Testing_FreeBSD_PVHVM
[3]: http://forums.freebsd.org/showthread.php?t=38019
[4]: http://www.daemonology.net/freebsd-on-ec2/
superasn · 2013-09-05
Another noteworthy hacker news digest: http://www.daemonology.net/hn-daily/
schrodingersCat · 2013-07-11
"Crypto can't be a «bit broken». It can't be «mostly working». Either it's 100% correct, or you shouldn't have bothered doing it at all. The weakest link breaks the whole chain."
I completely agree. Ever seen a password hash mega-post on paste-bin? Bought to you by bad crypto. Saying "I don't
know" is one of the hardest things to do, and also one of the most powerful. I applaud you for knowing your limits in this regard. I like to say crypto is like surgery, best left for the experts. You never want to "I kinda messed up that triple bypass," because there are major consequences for it. The same is true for virtually all aspects of cryptography. Thank you for this post!
Edit: Here a link to a blog post that was discussed recently on HN that is pertinent: http://www.daemonology.net/blog/2013-06-17-crypto-science-not-engineer…
magic_haze · 2013-05-05
I was under the impression that JungleDisk's encryption scheme was not as secure as they claimed[1]. Have they fixed it yet?
[1] http://www.daemonology.net/blog/2011-06-03-insecurity-in-the-jungle.ht… and its discussion here: https://news.ycombinator.com/item?id=2616634
[2] http://push.cx/2011/retracting-my-jungledisk-recommendation
pifflesnort · 2013-03-30
Agreed. Talking to cpercival would also be a good start. See his page on the subject: http://www.daemonology.net/freebsd-on-ec2/
Also: https://wiki.freebsd.org/FreeBSD/Xen
I think that funding whatever is required here would be fantastic. The move to VPSs has forced me to also move to Ubuntu for what I host 'in the cloud', and I'd love to move back to FreeBSD.
axk · 2013-01-05