Privacy Policy Technical Details

From Kicksecure
Jump to navigation Jump to search

Technical Details on some of the Technical Measures by Kicksecure to increase privacy and security on kicksecure.com.

See also Privacy Policy.
These technical details are not part of Privacy Policy.

Overview[edit]

Security / Privacy Feature Implementation Status
Valid SSL Certificate Yes
HTTPS Everywhere [1] Inclusion Yes [2]
Passed Qualys SSL LABS [3] SSL Server Test [4]: Yes, A+ rating. [5]
HSTS [6] Yes [7]
HSTS Preloading List [8] [9] [10] [11] [12] Yes [13] [14] [15]
Certificate Authority (CA) Pinning Obsolete [16]
DNS Certification Authority Authorization (CAA) Policy [17] Yes [18]
HTTP Public Key Pinning [19] Obsolete [20]
Expect-CT header [21] Yes [22]
certspotter [23] Yes [24]
DNSSEC [25] Yes [26]
Flagged Revisions [27] Yes, admins must verify changes before they become the default version.
Content Security Policy (CSP) Yes, A Rating. [28] [29] [30] [31]
Feature-Policy Yes
Secondary .onion Domain [32] Yes [33] [34]
Onion-Location [35] Yes [36]
onion over TLS Unnecessary.

If users have any further suggestions, please edit this entry or discuss possible changes in the Kicksecure forums.

Privacy on the Kicksecure Website[edit]

The Kicksecure website [37] is using popular web applications (web apps) like MediaWikiarchive.org,and Discoursearchive.org (forum software). [38] These are Freedom Software projects which are developed by third parties and not the Kicksecure team. As an end user of web apps, kicksecure.com has no control over changes made by the respective developers, whom do not necessarily (seldom in fact) prioritize privacy and security.

The Kicksecure platform is similarly based on many third party projects. For a simple (approximate) overview of the Kicksecure organizational structure, see: Linux User Experience versus Commercial Operating Systems. In essence, many independent projects provide their software and source code for free, and they can be modified or used in their default state. Due to the structure of Freedom Software development and the limited funding available to Kicksecure, it is infeasible to try and tackle usability, privacy and security issues posed by these web apps.

Consider the Discourse software for example:

Kicksecure is primarily a software project. It uses web applications as a means to and end. Not as an end in itself. It is not a web application project.

Based on the preceding information, it is clear websites can at best only provide privacy by policy, which is equivalent to a promise. For detailed information on the Kicksecure privacy policy, see here. [39]

In contrast, the main project activities undertaken by Kicksecure include research, development and maintenance of privacy by design softwarearchive.org. This is achieved via technological enforcement, remaining free, [40] and utilizing Freedom Software which encourages external contributions, enhancements and audits.

Info Kicksecure welcomes patches or financial contributions to support the development of desired features.

See also Trusting the Kicksecure Website and Website Tests.

View Counters on the Kicksecure Website[edit]

View counter in the Kicksecure wiki have been disabled to reduce server load and because that is incompatible with caching.

View counters in Kicksecure forums were inaccurate and have therefore been disabled on 09 April 2021. [41]

Since all webapps running the Kicksecure server lack access to IP addresses (for details see, Kicksecure Website privacy policy, Kicksecure Website IP Addresses and IP Addresses Logging Policy), it is impossible for these webapps to accurately count for example how many times a wiki page has been visited or how many times a forum post has been viewed.

Social Share Button[edit]

There are no privacy issues caused by any share buttons on the kicksecure.com website. We don't use embedded scripts. The share button is completely self-hosted by this webserver. No scripts from any of the social networks are embedded on this webserver. See also Privacy Policy.

A bit of background how this generally works on many other websites. Many websites using share buttons for social networks are using the integration scripts provided by the social network. For example, to add a Facebook share button, many website administrators are using the JavaScript provided by Facebook. These scripts are usually non-freedom software and only stubs. Meaning, these scripts point to the social network such as Facebook and instruct the users's browser to download and execute even more non-freedom JavaScript, html and images. By visiting a website with such a share button, the social network knows that the user was visiting that website. Due to the script by a third-party, the social network, the social network could even perform browser fingerprinting, set browser cookies and so forth. Clearly such third-party hosted share button integrations have many privacy issues.

The advantage is that these buttons are interactive. For example, a user can see how many times something has already been shared and after pressing the share button, the counter increases or the counter increasing can even be watched live.

Since these advantages are rather playful, minor, the kicksecure.com project decided do not add any third-party hosted scripts. Unless the user clicks a share button for a specific social network, that social network will get no information about the user. There source code for the share button on this website is Freedom Software. (Share Button Source Code)

Figure: Share Button

Share button requires JavaScript.

Onion TLS on the Kicksecure Website[edit]

Would raise the question: use HSTS or not use HSTS for Onion TLS?

Does Tor Browser support HSTS? Looks like, yesarchive.org.

  • If not using HSTS: If the user's browser is not instructed to enforce TLS, then what's the point?
  • If using HSTS: That has potential to break connectivity when there are issues with the TLS Certificate Authority (CA), such as:
    • CA goes out of business.
    • CA terminates the services.
    • CA starts charging for the service.
    • (Legislation changes and) CA starts asking for things which cannot be provided with reasonable effort.

This issue is exacerbated since there is at the of writing only 1 CA that is offering affordable TLS certificates for onion domains, HARICA. (In future, specifically let's encrypt might offer the same and/or others might follow. But that's not the case yet.)

If required at some point for any reason, a downgrade from TLS-onion to non-TLS-onion downgrade would look bad.

There are two different systems.

  • A) The "normal" internet. The usual top level doamins, .com, .org, etc. It is a centralized, permissioned system. The same applies for CA's.
  • B) The "alternative" internet. For example .onion domains. decentralized, permissionless system. Anyone can set up an .onion without asking a central authority for permission.

Simplified: Connections to onions are already authenticated and end-to-end encrypted. (Details: Notes about End-to-end Security of Onion Services The Web Archive Onion Version )

Using onions with a TLS certificate from a CA could be viewed as a downgrade. A decentralized, permissionless system is downgraded to a centralized, permissioned system.

Kicksecure Website is currently using let's encrypt. Server setup would become more complex by adding another CA, HARICA. The advantages do not outweigh the disadvantages.

Quote Get a TLS certificate for your onion sitearchive.org:

Our Community portal page about onion services give you a list of reasons why a service admin would need a TLS certificate as part of their implementation. Here are some of them:

  • Websites with complex setups and that are serving HTTP and HTTPS content

Not the case.

  • To help the user verify that the .onion address is indeed the site you are hosting (this would be a manual check done by the user looking at the cert registration information)

Answered below (see 2.).

  • Some services work with protocols, frameworks, and other infrastructure that has HTTPS connection as a requirement

In case your web server and your tor process are in different machines

Not the case.

Quote We compiled some topics and arguments, so you can analyze what's the best for your onion site:archive.org

1. As anyone can generate an onion address and its 56 random alphanumeric characters, some enterprise onions believe that associating their onion site to an HTTPS certificate might be a solution to announce their service to users. Users would need to click and do a manual verification, and that would show that they're visiting the onion site that they're expecting. Alternatively, websites can provide other ways to verify their onion address using HTTPS, for example, linking their onion site address from an HTTPS-authenticated page, or using Onion-Location.

Already using Onion-Locationarchive.org.

2. Another topic of this discussion is user expectations and modern browsers. While there is extensive criticism regarding HTTPS and the CA trust model, the information security community has taught users to look for HTTPS when visiting a website as a synonym of secure connection and avoid HTTP connections. Tor Developers and UX team worked together to bring a new user experience for Tor Browser users, so when a user visits an onion site using HTTP Tor Browser doesn't display a warning or error messagearchive.org.

Visitors using the onion are expected to use Tor Browser anyhow which as already mentioned in the quote, does not have this issue.

3. Some websites have a complex setup and are serving HTTP and HTTPS content. In that case, just using onion services over HTTP could leak secure cookies. We wrote about Tor Browser security expectations, and how we're working on onion services usability and adoption. There are some alternatives you might want to try to address this problem:

  • To avoid using an HTTPS certificate for your onion, the easiest answer is to write all your content so it uses only relative links. Then the content will work smoothly no matter what website name it's being served from.

This is implemented.

  • Another option is to use webserver rules to rewrite absolute links on the fly.

This is implemented.

  • Or use a reverse proxy in the middle or more specifically EOTK with an HTTPS certificate.

Not needed.

4. Actually HTTPS does give you a little bit more than onion services. For example, in the case where the webserver isn't in the same location as the Tor program, you would need to use an HTTPS certificate to avoid exposing unencrypted traffic to the network in between the two. Remember that there's no requirement for the webserver and the Tor process to be on the same machine.

Not the case for Kicksecure website. It does not require such a complex setup yet.

This might be revisited at a later point need arises and/or when Onion TLS support improved.

Quote https://github.com/alecmuffett/real-world-onion-sites#tls-securityarchive.org

TLS Security

Due to the fundamental protocol differences between HTTP and HTTPS, it is not wise to consider HTTP-over-Onion to be “as secure as HTTPS”;

This is a very browser focused viewpoint. That's legitimate because browsers are probably the most popular internet application people are using.

  • connection security: Onion is more secure than TLS. Onion's aren't vulnerable to The Broken Certificate Authority System , malicious CA authorities, TLS related attacks. Note: in this context of onion transport security, attacks on onion's anonymity are unrelated. To the knowledge of the author, to contents of a client connection to an onion have never publicly reported being compromised because of broken Tor onion cryptography. Onion encryption versus TLS can also be considered for applications other than browsers.
  • application security: The author raises valid concerns.

web browsers do and must treat HTTPS requests in ways that are fundamentally different to HTTP, e.g.:

  • with respect to cookie handling, or
  • where the trusted connection terminates, or
  • how to deal with loading embedded insecure content, or
  • whether to permit access to camera and microphone devices (WebRTC)

Valid concern. Mitigated using CSP. Unfortunately CSP is only a server feature. Server instructs browser to fetch only from onion and no mixed content. A browser based security feature enforcing TLS independent from CSP would be stronger.

Since it is difficult to configure many popular web applications to be available on two domains (clearnet and onion) at the same time, it happened in the past on this website that some contents were unavailable over the onion. For example, the project logo was only visible on the clearnet version but not over the onion. The CSP was functional and avoided any content mixing of the onion with contents pointing to clearnet.

…and the necessity of broad adherence to web standards would make it harmful to attempt to optimise just one browser (e.g. Tor Browser) to elevate HTTP-over-Onion to the same levels of trust as HTTPS-over-TCP, let alone HTTPS-over-Onion. Doubtless some browsers will attempt to implement “better-than-default trust and security via HTTP over onions”, but this behaviour will not be standard, cannot be relied upon by clients/users, and will therefore be risky.

This depends on the complexity of the implementation. Tor Browser can hopefully use the same code paths. [42]

tl;dr - HTTP-over-Onion should not be considered as secure as HTTPS-over-Onion, and attempting to force it thusly will create a future compatibility mess for the ecosystem of onion-capable browsers.

HSTS Warning[edit]

Figure: TLS HSTS failure

This could have many reasons.

  • A) server issue: A server configuration issue or server bug. And/or,
  • B) browser issue: A browser bug. And/or,
  • C) attack: An actual man-in-the-middle (MitM) attack.

If the issue is transient, the only thing that users can effectively do is report it and then ignore it. So far there was only 1 such report in 12 years.

Meanwhile, if this issue persists for a longer time, the user could use the alternative onion domain.

If this is an actual MitM attack, then there is most likely nothing the website can do about it, since it would not be the cause of the issue.

See Also[edit]

Footnotes[edit]

  1. https://www.eff.org/https-everywherearchive.org
  2. https://gitlab.torproject.org/legacy/trac/-/issues/9143archive.org
  3. https://www.ssllabs.com/archive.org
  4. https://www.ssllabs.com/ssltest/index.htmlarchive.org
  5. https://www.ssllabs.com/ssltest/analyze.html?d=kicksecure.comarchive.org
  6. https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Securityarchive.org
  7. curl -i https://kicksecure.com
  8. https://blog.chromium.org/2011/06/new-chromium-security-features-june.htmlarchive.org
  9. https://blog.stalkr.net/2011/08/hsts-preloading-public-key-pinning-and.htmlarchive.org
  10. https://www.chromium.org/hsts/archive.org
  11. https://blog.mozilla.org/security/2012/11/01/preloading-hsts/archive.org
  12. https://bugzilla.mozilla.org/show_bug.cgi?id=861960archive.org
  13. https://web.archive.org/web/20201214130859/https://github.com/Whonix/Whonix/issues/34archive.org
  14. https://src.chromium.org/viewvc/chrome?revision=209444&view=revisionarchive.org
  15. https://hstspreload.org/?domain=kicksecure.comarchive.org
  16. https://phabricator.whonix.org/T66archive.org
  17. https://blog.qualys.com/ssllabs/2017/03/13/caa-mandated-by-cabrowser-forumarchive.org
  18. https://forums.whonix.org/t/dns-certification-authority-authorization-caa-policy-dnssec-for-Kicksecure-org-ssllabs-com-test-results/5487archive.org
  19. https://developer.mozilla.org/en-US/docs/Web/Security/Certificate_Transparencyarchive.org
  20. https://phabricator.whonix.org/T84archive.org
  21. https://scotthelme.co.uk/a-new-security-header-expect-ct/archive.org
  22. https://github.com/SSLMate/certspotterarchive.org
  23. https://forums.whonix.org/t/dns-certification-authority-authorization-caa-policy-dnssec-for-Kicksecure-org-ssllabs-com-test-results/5487/2archive.org
  24. https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensionsarchive.org
  25. https://forums.whonix.org/t/dns-certification-authority-authorization-caa-policy-dnssec-for-Kicksecure-org-ssllabs-com-test-results/5487archive.org
  26. https://www.mediawiki.org/wiki/Extension:FlaggedRevsarchive.org
  27. https://securityheaders.io/?followRedirects=on&hide=on&q=kicksecure.comarchive.org
  28. https://phabricator.whonix.org/T70archive.org
  29. https://forums.whonix.org/t/whonix-website-security-rating-b-mozilla-observatory-content-security-policy-csp/3874archive.org
  30. https://forums.whonix.org/t/content-security-policy-now-deployed-on-Kicksecure-websites/5494archive.org
  31. Optional Tor onion service (.onion domain); alternative end-to-end encrypted/authenticated connection; in this use case, not for location privacy; backup in case DNS is not functional.
  32. w5j6stm77zs6652pgsij4awcjeel3eco7kvipheu6mtr623eyyehj4yd.onion
  33. See also Forcing .onion on Kicksecure.org.
  34. https://community.torproject.org/onion-services/advanced/onion-location/archive.org
  35. https://forums.whonix.org/t/onion-forum-site-redirects-to-clearnet/197/15archive.org
  36. Clearnet address: https://www.kicksecure.com v3 onion address: w5j6stm77zs6652pgsij4awcjeel3eco7kvipheu6mtr623eyyehj4yd.onion
  37. This is common practice. For example Free Software Foundation (FSF) also uses discourse.archive.org
  38. This includes any type of information that is collected and recorded, and how it may be used. The processing of any personal information is subject to the General Data Protection Regulation (GDPR).
  39. Free in terms of price, while also respecting user and developer freedoms.
  40. Pseudo code, hopefully, needs further research.
    • Most browsers:
    insecure protocols = http
    secure protocols = https
    
    • Tor Browser:
    insecure protocols = http
    secure protocols = https, onion
    

We believe security software like Kicksecure needs to remain Open Source and independent. Would you help sustain and grow the project? Learn more about our 12 year success story and maybe DONATE!