updated whitepaper and allow reading of old encrypted blocks

This commit is contained in:
Kevin Froman 2019-02-26 12:33:47 -06:00
parent 14e9332b90
commit 9a728fb1f2
3 changed files with 25 additions and 4 deletions

View File

@ -103,10 +103,31 @@ In this threat model, "protected" means available in plaintext only to those whi
## Threat Actors
Onionr assumes that traffic/data is being surveilled by a multitude of actors on every level but the local machine. Some examples of threat actors that we seek to protect against include Internet service providers, local area network administrators,
Onionr assumes that traffic/data is being surveilled by powerful actors on every level but the user's device.
We also assume that the actors are capable of the following:
* Running tens of thousands of Onionr nodes
* Surveiling most of the Tor and I2P networks
## Protected Data
We seek to protect the following information:
* Contents of private data. E.g. 'mail' messages and secret files
* Relationship metadata. Unless something is desired to be published publicly, we seek to hide the creator and recipients of such data.
* Physical location/IP address of nodes on the network
* All block data from tampering
### Data we cannot or do not protect
* Data specifically inserted as plaintext is available to the public
* The public key of signed plaintext blocks
* The fact that one is using Tor or I2P
* The fact that one is using Onionr can likely be discovered using long term traffic analysis
## Assumptions
We assume that Tor onion services (v3) and I2P services cannot be trivially deanonymized, and that the cryptographic algorithms we employ cannot be broken in any manner faster than brute force unless a quantum computer is used.
Once supposed quantum safe algorithms are more mature and have relatively high level libraries, they will be deployed.
Once quantum safe algorithms are more mature and have relatively high level libraries, they will be deployed.

View File

@ -670,7 +670,7 @@ class OnionrCommunicatorTimers:
self.daemonInstance.threadCounts[self.timerFunction.__name__] = 0
# execute thread if it is time, and we are not missing *required* online peer
if self.count == self.frequency:
if self.count == self.frequency and not self.daemonInstance.shutdown:
try:
if self.requiresPeer and len(self.daemonInstance.onlinePeers) == 0:
raise onionrexceptions.OnlinePeerNeeded

View File

@ -1 +1 @@
yjlbrt6ins7rhacaapk4a4rfwf3dqh55merbaobxd7qumuok6j6vd7yd.onion
3xudvnmedfkkw6zisfrmm76ovrnmcil3hmah7kcxruv37glxizfxiuqd.onion