Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jude-
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
80 ms
·
661.
▲
by
jude-
13y ago
Side-channel attacks are my primary concern with writing secure code. For example, if Haskell optimizes and makes some decryption functions run faster than others for an attacker-chosen ciphertext, the attacker could use the runtime differ
662.
▲
by
jude-
13y ago
"I agree with what you are saying: for proven security you need to prove properties of all the layers down to the metal." Proving all layers logically correct would be a great start :) We could probably have avoided this whole He
663.
▲
by
jude-
13y ago
While miTLS is a step in the right direction (as are proofs of logical correctness as a general development strategy), one must keep in mind that miTLS in particular is implemented in F#, meaning that runs on top of the CLI. The CLI is wri
664.
▲
by
jude-
13y ago
I've said it before and I'll say it again. Formalizing the TLS specification and proving that an implementation is consistent with it only shows that the implementation is logically correct . However, it does NOT show that the i
665.
▲
by
jude-
13y ago
As I said in a similar post, their proofs show that their implementation is logically correct--their implementation will behave according to their formalization of the RFCs. This says nothing about how secure it is with respect to side-chan
666.
▲
by
jude-
13y ago
If you count up all of the possible states a processor can be in, as well as the number of transitions between them, you'll come up with a very big number of possible execution paths you'll need to verify work correctly. However,
667.
▲
by
jude-
13y ago
"Timing attacks at least require colocation in most cases and are much harder to implement and run for meaningful results" Not true. It's long been known that timing attacks over a LAN are practical (replace LAN with intra-d
668.
▲
by
jude-
13y ago
From the website, it seems that they proved that their implementation is correct with respect to their formalization of the interfaces in the RFCs. That is, their implementation is logically correct . However, this says nothing about whet
669.
▲
by
jude-
13y ago
Disclaimer: I'm a CS PhD student who works on distributed service architectures. It's worth pointing out that this design pattern only makes sense when the entire system lives under one administrative domain. Google owns all of
670.
▲
by
jude-
13y ago
How so? SHA256, pbkdf2, bcrypt, and scrypt are all deterministic--in all cases, I can get your key if I know your secret (passphrase and salt). Admittedly, though, using SHA256(passphrase) without a salt to derive a key makes dictionary at
671.
▲
by
jude-
13y ago
> I hate the ideas many programmers have about backwards compatibility, that it's more important than development speed and modern concepts. Please clarify by what is meant by "backwards compatibility," since this is a loa
672.
▲
by
jude-
13y ago
> not too mention that vim became hip only in the last couple of years. Wait, what? Vim has been in use for a lot longer than that (it was released in 1991), and vi even longer (1976).
673.
▲
by
jude-
13y ago
I'm lazy when it comes to these things, so I use FPM. It's great if you're dealing with RPM and .deb packages (and a few others). I saw someone else (vacri) mention it in this thread, but it definitely deserves consideratio
674.
▲
by
jude-
13y ago
What stopped you from spawning the daemon in a cgroup?
675.
▲
by
jude-
13y ago
First, the boundary between Linux and the rest of the system is very well-defined. I can run my userspace on top of multiple different kernels, since my userspace is loosely coupled to Linux (yes, there are exceptions, but not so many that
676.
▲
by
jude-
13y ago
I'm pretty sure openrc uses (or has the option to use) cgroups for dealing with just this. Containerizing services isn't a new idea--Solaris and FreeBSD can do this already, for example. Regardless of the init system, we've
677.
▲
by
jude-
13y ago
> You can run Debian with any init you choose. When layers above the init system begin to make hard dependencies on it, this will be unavoidable in practice. This is the problem, since it either takes away my choice in init system, or r
678.
▲
by
jude-
13y ago
I think what the parent is getting at is that, even though there are many daemons and tools that make up systemd (and even though they are each scoped to a particular concern it addresses), most of them are tightly coupled to one another.
679.
▲
by
jude-
13y ago
Upstart is "controlled" by Canonical in the same capacity that systemd is "controlled" by RedHat. Both have a team of full-time employees working on them (plus a surrounding community), and both control the APIs as well
680.
▲
by
jude-
13y ago
> There's also a huge amount of redundancy inside, and between, SysVinit, atd, crond, supervisor, syslogd and the other things systemd replaces. Such as? I'm pretty sure code shared between these systems lives in (or could eas
681.
▲
by
jude-
13y ago
So, performance will depend on where these bridges live, and how generously provisioned they are. Using the DHT for routing doesn't address this problem, though--requests for hot content will be routed to the same node, regardless of
682.
▲
by
jude-
13y ago
I worry about storage performance. Why use a DHT? Could you get away with using cloud storage to host the signed and encrypted data? Also, are you worried about Sybil attacks on the DHT?
683.
▲
by
jude-
13y ago
They don't substitute them, but they do complement them. Software engineering is an inherently social process--unless you're a self-employed lone wolf who doesn't interact with customers, you have to work with other people
684.
▲
by
jude-
13y ago
How so? Currencies are only an abstraction layer on top of goods and services. Instead of directly trading my goods and services for yours, we use a currency--a common "interface" for doing so. The currency doesn't have in
685.
▲
by
jude-
13y ago
Not true. If the amount of money in circulation was fixed, the fluctuating demand for it would cause its value (i.e. what goods/services it will purchase) will fluctuate with it.
686.
▲
by
jude-
13y ago
I need to verify that not only does the JS I received behave correctly (i.e. it will be appropriately sandboxed), but also that the JS I received from the server is the one that the developer intended to serve me. This is because even with
687.
▲
by
jude-
13y ago
How do I verify the integrity of the sandbox JS, especially since I potentially have to download it each time I need it? Similarly, how do I verify the integrity of the asm.js code I'm receiving? Integrity is just as important, if no
688.
▲
by
jude-
13y ago
The other big advantage of PNaCl is that you have the option of distributing it as a signed application that the user downloads once. This is critical for doing in-browser encryption or manipulating sensitive data. You need there to be a