HNHacker News
TopNewBestAskShowJobs

trekkin

235 karma · joined July 18, 2012

aes.io founder
submissionscomments
trekkin··on Data Breach Reveals 100k IEEE.org Members' Plaintext Passwords
Properly hashing/salting passwords on the client (in JavaScript) is more or less a must now.

Client-side encryption is the next logical step. Although not perfect, it is better than storing plaintext data on the server.

trekkin··on [dead]
It's weird. Who Canonical thinks their customers are? Unity + ads is not something developers enjoy, and I'd guess 90%+ of Ubuntu desktop users are developers...
trekkin··on 1 million accounts leaked in megahack on banks, websites
Encryption prevents leaked data from being meaningful. No amount of server-side security, including query parameterization, can guarantee the absence of leaks. Client-side encryption makes leaks much less devastating.

How encrypting user data in JS on the client is different from properly hashing user passwords in JS on the client? It is now accepted that sending and storing passwords in plaintext is bad practice; the logical next step is to encrypt not only passwords, but all data on the client.

trekkin··on 1 million accounts leaked in megahack on banks, websites
> An analysis of the hacks by security biz Imperva reveals that most of the breaches were pulled off using SQL injection attacks.

Client-side encryption, even in JS, would have prevented this, it seems.

trekkin··on Top Surprises When Starting Out as a Software Developer
:)

I'm not against functional languages/approaches. I just think that everything has its place, and that procedural code and nested if/then/elses are appropriate in many circumstances.

trekkin··on Top Surprises When Starting Out as a Software Developer
I am not implying in any way that self-taught developers are unable of anything. I know a lot of great self-taught developers. However, many developers without formal CS training learn one or two technologies (e.g. ruby or another web framework) and believe this is enough; they even call themselves "hackers". That last approach surprised me.
trekkin··on Top Surprises When Starting Out as a Software Developer
So you suggest that instead of several if/then/elses a clever recursive function call should be used, right? And the function should take its arguments by value, and have zero side-effects?
trekkin··on Design Tricks Facebook Uses To Affect Your Privacy Decisions
Why would Apple do that? The website promotes Apple's appstore, which can cross/up sell other stuff that Apple receives money from...
trekkin··on Top Surprises When Starting Out as a Software Developer
My biggest surprise - many developers, even in senior positions, are self-taught and cannot properly implement even basic stuff like binary search, don't understand basic performance considerations around algorithm complexity. Their mindset is "we are using high-level languages; specific algorithms and performance considerations are properly addressed for us by the language designers, we are doing real stuff and not some theoretical CS BS".

This varies by the company, but many companies are full of self-important people like this.

trekkin··on Parallel Programming for C and C++ Done Right
TBB is OSS, and we use parts of it (atomics) daily, pretty much as advertised.
trekkin··on Parallel Programming for C and C++ Done Right
I can't comment on wider industry trends, but I know for sure that some companies (specifically in NYC) pay decent money ($150k+) to people who do this stuff. And they can't find enough developers at this salary level (maybe they could if they paid more)
trekkin··on Ben Horowitz: A Good Place to Work
Blacklist another VC here. And he is supposed to be one of the better ones...
trekkin··on Ben Horowitz: A Good Place to Work
> How would you have handled it differently?

The way Ben had intended to - by explaining things. He ended up pulling authority and threatening to fire everybody involved, for some reason.

trekkin··on Trello vs. Asana - what is your favorite collaboration tool?
AES.io: is not as smooth as Trello or Asana, or some other collaboration tools, but with client-side encryption it is much more secure (plug).
trekkin··on Is It Time to Rethink the Stigma for Tech Companies Led by Couples?
I think VCs prefer not to fund couples for the same reason they prefer not to fund single founders - it's a question of control. With two or more co-founders, nobody has a controlling stake, and VCs can play one cofounder against the other, if needed, and thus push through their agenda. With a single founder, or a couple, they lose that dynamics.
trekkin··on Dropbox confirms it got hacked, will offer two-factor authentication
> Do you not enjoy features like the web interface and public links? Those are one of my favorite parts of dropbox and they wouldn't work with client-side encryption.

You can have web interface with client-side encryption. Check aes.io (plug).

trekkin··on Dropbox confirms it got hacked, will offer two-factor authentication
That's why client-side encryption is useful, regardless of what some "security researchers" self-servingly say.
trekkin··on In Week Two, Marissa Mayer Googifies Yahoo
A smart move.
trekkin··on The Two Types of Companies in Silicon Valley
The author is too extreme in his framing of business models and is missing the middle ground that can be argued to be the place where a lot of true and real businesses are.

For example, Apple did not invent the personal computer or the smartphone, they just made these products actually useful for the masses. Microsoft's OSes were not that good for the first twenty years, and Microsoft Office was in no way a technological breakthrough, but MSDos/MSWindows + MSOffice did bring a PC revolution and a PC on (almost) every desk.

trekkin··on Learn to code in 8 weeks with Bloc, an online bootcamp for would-be developers
> "being able to make a simple CRUD app" makes them qualified for a bunch of jobs where employers usually look for people who "know how to code". On the short term, really learning to code (whatever that is) doesn't matter.

And in the long term those employers regret hiring such people:

> Rose also said that Digg hired individuals with very niche skills, like developers who only knew PHP and were not as useful once PHP went out of use. (from here: http://gigaom.com/2012/07/25/kevin-rose-reflects-on-digg-the...)

trekkin··on Learn to code in 8 weeks with Bloc, an online bootcamp for would-be developers
"being able to make a simple CRUD app" does not mean the person has learned "to code".
trekkin··on Gnome: Staring into the abyss
> I'm fascinated that all the real innovation going on in desktop environments (gnome3, unity, windows 8) seems to be taking a hammering.

Envy-driven development is not a good model. Desktop environments do not need tablet features in the first place...

> This is possibly just a case of the vocal minority and normal resistance to change but it will be interesting to see it all shake out in a year or two.

Or the opposite can be true - a powerful minority (project/company leaders), envious of other companies' success on tablets, decided to spend a lot of resources to try to enter this space, to the detriment of the majority of their (desktop) users.

trekkin··on .mail app
Yes, a lot could have changed in one week... really?
trekkin··on Meteor Raises $11.2M from Andreessen Horowitz
I'm here with you - $11m for pure long-term development without any hands-on application seems like a clear path to an over-engineered solution.
trekkin··on Congress Must Act After US Government Admits To Warrantless Wiretapping
Which more or less translates into client-side encryption. Which some people here don't like, weirdly.
trekkin··on Show HN: aes.io - secure storage/collaboration with client-side JS crypto
OK, let's discuss the article in detail. :)

The article lists three reasons for why "JS crypto is bad" at the beginning:

- Secure delivery of Javascript to browsers is a chicken-egg problem. - Browser Javascript is hostile to cryptography. - The "view-source" transparency of Javascript is illusory.

The first issue is addressed by using SSL and controlling the page 100%. The third issue becomes a matter of trust, as many users trust closed-source vendors, so in an environment where closed-source vendors are truested (e.g. a typical accounting firm), the third issue becomes not about JS crypto but about vendor reliability.

That leaves the second issue. The article expands it as:

- The prevalence of content-controlled code. - The malleability of the Javascript runtime. - The lack of systems programming primitives needed to implement crypto. - The crushing weight of the installed base of users.

The first and second sub-issues, again, are more or less addressed by using SSL and controlling the page, I believe. One can argue that because JS is so "malleable", it is very easy to add malicious code to a page. Yes, it is easy if you have access to it (via third-party scripts/XSS), but it is _harder_ to infect a JS crypto page that is properly set up than a regular online-banking page, for example, as most online banking pages have links to third-party advertising (often over plain HTTP!). So in the world where people and companies do online banking, the "malleability" does not seem to add a lot of issues.

The third sub-issue is being addressed in HTML5 and/or, via SSL, round-trips to the server (for random seeding, for example).

The fourth issue is, again, not much different from online banking.

In summary, it seems we are using somewhat different criteria of what "secure JS crypto" means. You seem to be saying that storing data in aes.io is less secure than in a truecrypt volume. I agree 100%. But what I am saying is that for an accounting firm that does online banking on a daily basis, using aes.io as opposed to a cloud collaboration service without client-side encryption would probably be a great idea.

trekkin··on Show HN: aes.io - secure storage/collaboration with client-side JS crypto
There are two issues here, I think.

One is intentional leakage, or trusting the vendor to be "not evil". Here you are right - as you mentioned in another comment, there is no easy way for users to "police" the vendor of JS crypto. I do not see, however, how this is different from users trusting other vendors of auto-updating software.

You can probably argue that OSS pieces such as Linux and FF have this "policing" enabled through source code availability. But there are many closed-source vendors (Microsoft, Google, anti-virus vendors) that many users trust. If you don't trust the companies mentioned above, then yes, you should not trust aes.io and other JS-crypto based vendors. But if a user has Microsoft/Apple updates enabled, and browsers (other than FF) auto-updating on their systems, etc., then this becomes a question of vendor being "not evil", not weaknesses of JS crypto, and as such somewhat out of scope of scrictly "JS crypto - yes or no" discussion.

The second issue here are unintentional leaks and breaches. Read-only breaches, for example, become more or less non-issue with JS crypto, because stealing properly encrypted data is not that useful. And there are probably orders of magnitude more read-only breaches than read-write, simply because inside companies more people have read-only access to production data than read-write access. Thus JS crypto seems to help substantially reduce the risk of unintentional compromises.

The second issue needs more attention and discussion from the technical point of view, I agree, and I am open to it. The first issue, however, becomes "I trust this vendor but I don't trust that vendor", and this is not a discussion that I believe can be productive here and now.

trekkin··on Show HN: aes.io - secure storage/collaboration with client-side JS crypto
That is true - if the server side is compromised, all bets are off. However, how this is different from, let's say, a compromised browser update?

And good luck with you app - client-side JS crypto needs more dev attention. :)

trekkin··on Show HN: aes.io - secure storage/collaboration with client-side JS crypto
I cannot do that from inside the sandbox, but as I completely control the page, not just one script on it, I can be reasonably sure no rogue script is running on it (by using SSL).

I've read the Matasano article, don't assume I didn't. Most of the points in it are negated by controlling the page 100% and using SSL.

trekkin··on Show HN: aes.io - secure storage/collaboration with client-side JS crypto
deadrop.us seems to be focused exclusively on short messages. aes.io, in addition to messages, supports file uploads and sharing, for example...
← PreviousPage 2 of 3Next →