namecoin: Namecoin TLS for Firefox: Phase 6 (Negative Override Cache in C++, WebExtension Aggregation, and Coordination with Mozilla)

news

In Phase 5 of Namecoin TLS for Firefox, I discussed the performance benefits of moving the positive override cache from JavaScript to C++. I’ve now implemented preliminary work on doing the same for negative overrides.

The code changes for negative overrides’ C++ cache are analogous to those for positive overrides, so there’s not much to cover in this post about those changes. However, I did take the chance to refactor the API between the C++ code and the JavaScript code a bit. Previously, only 1 WebExtension was able to perform overrides; if multiple WebExtensions registered for the API, whichever replied first would be the only one that had any effect. Now, each WebExtension replies separately to the Experiment, and the Experiment passes those replies on to the C++ code. The Experiment also notifies the C++ code when all of the WebExtensions have replied. Although this does add some extra API overhead, it has the benefit of allowing an override to take place immediately if a single WebExtension has determined that it should take place, even if the other (irrelevant) WebExtensions are still evaluating the certificate.

Unfortunately, at this point I merged upstream changes from Mozilla into my Mercurial repository, only to find that there was now a compile error. I’m still figuring out exactly why this compile error is happening. It looks like it’s unrelated to any of the files that my patch touches; I suspect that it’s due to my general lack of competence with Mercurial (Mozilla’s codebase is the first time I’ve used Mercurial) or my similar general lack of competence with Mozilla’s build system.

So, until I actually get the code to build, I won’t be able to do performance evaluations of these changes. Hence why there are no pretty graphs in this post.

Meanwhile, I reached out to Mozilla to get some feedback on the general approach I was taking. (I had previously discussed high-level details with Mozilla, but this time I provided a WIP code patch, so that it would be easier to evaluate whether I was doing anything with the code that would be problematic.) This resulted in a discussion about what methods should be used to prevent malicious or buggy extensions from causing unexpected damage to user security. This is definitely a legitimate concern: messing with certificate verification is dangerous when done improperly, and it’s important that users understand what they’re getting when they install a WebExtension that might put them at risk. That discussion is still ongoing, and it’s not clear yet what the consensus will arrive at.

(It should be noted that there are some alternative approaches to Firefox support for Namecoin TLS underway as well, which will be covered in a future post.)

This work was funded by NLnet Foundation’s Internet Hardening Fund.

Interested in Cryptocurrencies and ICO's?

Follow our telegram channel for daily cryptomarket reports!

Join @cointrends

Original article was created by: namecoin at namecoin.org

Disclaimer: This article should not be taken as, and is not intended to provide, investment advice. Please conduct your own thorough research before investing in any cryptocurrency or ICO.

Related Articles

pubDate Newsline
21 hours ago Bitcoin Puzzle Games Are Growing in Popularity
1 day ago Positive TLS Certificate Overrides for NSS

Stay on top of Altcoins and ICO trends.

Subscribe to our free Weekly Cryptomarket report

Delivered once a week, strongly to your inbox.

Subscribe to our mailing list

You may also be interested in:

February 18, 2018

Positive TLS Certificate Overrides for NSS

NSS is the TLS implementation used by various applications, including Chromium on GNU/Linux and Firefox on all platforms. I’ve finished initial support for positive cert overrides in NSS, and have submitted a PR that is now awaiting review. I had previously written a WIP PR that implemented...

From: NameCoin
February 13, 2018
February 11, 2018

Pruning of Non-scriptPubKey Data in libdohj

Our lightweight SPV client’s leveldbtxcache mode is the most secure of the various Namecoin lightweight SPV modes. Its storage requirements aren’t too bad either (129.1 MB at the moment for Namecoin mainnet). However, while 129.1 MB of storage isn’t a dealbreaker, it’s still a bit...

From: namecoin
February 01, 2018

Namecoin Core 0.15.99-name-tab-beta1 Released

Namecoin Core 0.15.99-name-tab-beta1 has been released on the Beta Downloads page. Changes since 0.13.99-name-tab-beta1: New features: GUI Significant rewrite of name GUI. (Patch by brandonrobertz.) In particular, please torture-test the following: ...

From: namecoin
January 30, 2018

Recent Reports of Ransomware Using Namecoin are Missing the Real Story

Some reports are making the rounds that a new ransomware strain, “GandCrab”, is using Namecoin for C&C. While this may sound interesting, as far as I can tell these reports are missing the real story. Looking at the report on Bleeping Computer, we see these quotes: Another...

From: namecoin
January 03, 2018

34C3 Summary

As was previously announced, Jonas Ostman and I (Jeremy Rand) represented Namecoin at 34C3 in Leipzig, Germany. This was our first Congress, so we didn’t quite know what to expect, but we were pretty confident that it would be awesome. We were not disappointed. The CCC community is...

From: namecoin
Upcoming ICO's
This week overview
Token Name Starts
BANCA (BANCA) logo BANCA (BANCA) 1 days
Play 2 Live (LUC) logo Play 2 Live (LUC) 3 days
Origami (ORI) logo Origami (ORI) 4 days
Loyakk Vega (LYK) logo Loyakk Vega (LYK) 4 days
Cryptocurrency rates
*Last hour average price&change
Coin Name Price Hour
Bitcoin logo BTC $10549.6 -0.2%
Ethereum logo ETH $927.572 0.45%
Ripple logo XRP $1.13121 0.58%
Bitcoin Cash logo BCH $1494.36 0.11%
Litecoin logo LTC $217.587 0.62%
Cardano logo ADA $0.389378 0.35%
Stellar logo XLM $0.453891 0.57%
NEO logo NEO $127.606 -0.08%
EOS logo EOS $9.45755 0.54%
IOTA logo IOT $2 0.54%
DigitalCash logo DASH $689.899 0.09%
NEM logo XEM $0.530163 -0.34%