HelloZeroNet / HelloZeroNet/ZeroNet

Use Stealth or Basic Authentication

Open
#1,186 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
18.8k
Forks
2.3k
PR merge metrics
No merged PRs in 30d

Description

This is a proposal.

ZeroNet has an "onion pooling" feature, creating "fake" identities to resist some basic fingerprinting attacks. There is a safer way to do this -- Stealth or Basic Authentication.

https://lists.torproject.org/pipermail/tor-talk/2017-November/043797.html

Use _basic_ authentication, so that you don't need to generate additional RSA keys. For basic authentication, the acceptable passwords can be the addresses of the sites which the onion service claims to be hosting.

> \>\>\> Hosting?
> I host `addr_1`, `addr_2` and `addr_3`.
> \>\>\> Give me some `addr_4` stuff!
> Authentication failed. Access denied.

There is certainly "implementation overhead." I recommend you use the `stem` control library. Fun fact: [it does not need any dependency](https://stem.torproject.org/faq.html#does-stem-have-any-dependencies) if you don't use its fanciest features.

API for creating these authenticated onion services: [`stem.control.Controller.create_ephemeral_hidden_service`](https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing ZeroNet's existing onion pooling implementation and the Stem Controller.create_ephemeral_hidden_service API linked in the proposal. Define how authenticated onion services would fit the current architecture, including how hosted addresses become acceptable passwords. Done should include an agreed design, implementation, and verification that unauthorized address requests are denied.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authentication, networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.