The Phantom Protocol (The Phantom Anonymity Protocol)

I’m putting this here rather than in “development” because it is somewhat speculative in relation to Whonix. However, it is potentially a very important idea.

The official name “The Phantom Protocol” is unfortunate because is gives an overwhelming number of false search results when you look for information about it. It is also in some places referred to as “The Phantom Anonymity Protocol” as well as “The Phantom Anonymization Project”.

There is an introductory lecture on Phantom here: DEFCON 16: Generic, Decentralized, Unstoppable Anonymity: The Phantom Protocol - YouTube

The main page is here, where there are links to the white papers, source code, blog and discussion group: Google Code Archive - Long-term storage for Google Code Project Hosting.

There appears to have been little work on, or discussion of, Phantom in the last two years. Which is too bad because it seems truly to be what Tor might have been: a purely peer-to-peer anonymity network. A very rough analogy is the operation of torrent clients finding each other by DHT (distributed hash table).

The major flaw in Tor, as I see it, is that there are nine super servers that, in effect, govern the network. Therefore it is vulnerable to a concerted attack on those nine servers, for example if there was another false-flag terror scam on the scale of 9/11 that would give western governments the pretext to ban Tor. But the characteristics of Phantom potentially give its users the ability to carry on regardless.

What would it take to be able to plug in a Phantom transport in place of Whonix’ current Tor transport, as easily as having, say, a radio button on the desktop or browser that allows the user to toggle between the two. Is Whonix sufficiently modular to allow this?

It might be that Phantom has not yet “caught on” because it is presented as a transport rather than as part of a package that includes a compelling application.

By contrast, Tor has always (?) been downloadable with a browser of its own. Formerly, the package consisted of a transport utility (Vidalia) and a customized browser (Tor Browser). Now it has all been rolled into a more monolithic app (TBB) with the controls inside the browser window, but the dual functionality is still there: a transport bundled with an application. But later, along came Whonix which corrals a collection of sand-boxed applications, including a browser and anything else that the user wishes, into a Tor network connection. But without Tor having been originally packed with a killer app (browser) then we might never have heard of it and Whonix would have taken longer to appear since there wouldn’t have been an already existing, receptive potential user-base.

It is worth noting that Tor and Phantom do not cover exactly the same use-domain, but instead overlap, because Tor is a way of reaching sites (while remaining anonymous) on the clearnet as well as on the Tor network, while users of Phantom can only contact other users of Phantom (at least, until relays are created between clearnet and the Phantom network). On the other hand, Phantom is more suited than Tor to large data transfers.

So the types of application that would be a natural complement to a Phantom transport package would be: Openbazaar, Open Transactions, and Bittorrent, and others we can cannot yet foresee. All of those have been built without an explicit attempt at anonymization but with a greater-or-lesser intention to connect it to Tor eventually (in the case of Bittorrent, it is actively discouraged).

So basically, there is a strong case for Phantom both as a kind of backup to Tor and also as an anonymizing transport for applications that don’t fit so well with Tor.

The history as far as I remember in summary: Not too long ago, there was no TBB. There was only the standalone Tor package. People needed to configure browsers themselves. Later there was a bigger package, it was Tor, Vidalia and Torbutton. Later that was deprecated in favor of TBB.

I think Phantom might not have taken up yet, because there is no good visibility of activity. Such as source code changes, user discussions and so forth. In my opinion, google hosting is the best of all places place to create a popular Free Software application. It might work, but I don’t know any popular one. In their google group there is very little activity:
https://groups.google.com/forum/#!forum/phantom-protocol
To me the project looks dead.

Nevertheless, if a seriously developed alternative software similar to Tor that wants to provide stronger anonymity than Tor existed, that would be awesome.

Thank you for clarifying my understanding of the history of Tor.

The lack of activity leading to lack of activity seems like a Catch-22.

I am now studying his paper with a view to coding a project of my own in some language other than C, and putting it up as a GPL’d package. Might take a while! But, it seems to me that if someone then looked at my code and said “oh, I can do much better than that!” then that would be a useful result.

There is something strange about this project suddenly stopping three years ago:

The most recent version has been downloaded about 2400 times (Google Code Archive - Long-term storage for Google Code Project Hosting.), so the public interest seems to be there.

There were five people listed as working on the code: Google Code Archive - Long-term storage for Google Code Project Hosting. They all just got bored with it and wandered away in late 2011? I’m wondering if they were bribed, co-opted, sent national security letters or otherwise threatened. If that is so, then that’s good, since it means it is something that the sigint agencies are afraid of. But if so then that means it would be best to work under a pseudonym. However, a pseudonym is not as good for the public relations aspect of a project. It is better to have a public face for a project (such as Whonix has with Patrick). By contrast, Truecrypt was considered suspect by some because its developers were all hidden.

Sounds strange indeed. Looks like we need a citizen / alternative journalist here? Maybe you? Since you seem interested in this… And we need people asking questions…

Why not contact all of the devs and ask? And why not, when asking them call it interview and ask for permission to publish it, then post it in some blog? ([size=8pt]Whonix blog?[/size]) Basically, what I am saying, if we want an alternative for Tor, people lobbying for it could help.

I’ve thought of a (if not “the”) killer app for this protocol:

An ARM-based Phantom router, to sit between your Internet connection and your local area network.

There are people working on Tor routers but none, as far as I know, are working on a Phantom router.

Since Phantom creates a virtual address space (AP) functionally equivalent to IP, then all of ones networking hardware and software behaves exactly the same without any modification: no strange TLDs (e.g., .onion, or those used in alternative DNSs), no modification of networking applications (as in I2P).

A Raspberry Pi (with a USB to ethernet dongle for the second ethernet port) is cheap enough that a sizable testing community could soon be up and running once a downloadable image was available. One wouldn’t need to use VPSs for testing: the real world would be its own testing ground.

Testing would be with any network applications already existing.

The one thing about Phantom that I’m dissatisfied about (in fact, absolutely isn’t going to work) is the manual override, where a few trusted people can flood commands to all nodes in order to remove bad nodes. I’m thinking that what is needed to make the protocol able to robustly regroup after a global DDOS attack is some form of spontaneous order: a simple algorithm where an isolated node finds one other and then they find others, and such groups coelesce into a larger network.

Magnus, the head developer, mentioned the possibility of “splits” in the network being (or not being) a potential problem. But diverse Phantom networks could be a feature, like IRC channels. If one Phantom “channel” is destroyed then the participants automatically regroup in another channel, minus the offending nodes.

EDIT: Purists might note that what I describe here isn’t an “app”, killer or otherwise. OK, the various bittorrent clients are the apps for which a Phantom router would be a perfect fit, in terms of economics, peer-to-peer connectivity and need for privacy already exist. It doesn’t matter if you aren’t interested in file-sharing: this is how the technology would be moved forward, in the same way that porn is the driver of many cutting edge technologies which you use even though you have no interest in porn.

The problem I have with logging into the Google code site is that is requires javascript to be enabled, which I won’t do because it easily allows identification by fingerprinting (which Google are surely world experts at).

[quote=“Patrick, post:6, topic:719”]Sounds strange indeed. Looks like we need a citizen / alternative journalist here? Maybe you? Since you seem interested in this… And we need people asking questions…

Why not contact all of the devs and ask? And why not, when asking them call it interview and ask for permission to publish it, then post it in some blog? ([size=8pt]Whonix blog?[/size]) Basically, what I am saying, if we want an alternative for Tor, people lobbying for it could help.[/quote]

I concluded that it doesn’t matter; what matters is that it is dead.

So I did something even better: I asked for and have just now received his permission to use his white paper as the basis of a new project, starting from scratch in another language, on Github and with a GPL licence on my code. But I promised to refrain from reading his existing code so as to avoid infraction of the existing code licence.

There have been recurring complaints about the unsettled issue of the licencing, so I’ve settled it (that’s the easy part).

It’s a bit ambitious, since I’ve never done professional coding, just academic training quite a few years ago. So, it will be a self-education project in modern systems.

But since, as we agree, the existing project seems dead, then I’m hardly detracting from it, since something is better than nothing. I think that GPL and Github are the most successful “standards” in their respective domains, therefore a better basis for a project that will grow.

Great. I could very well imagine that there is demand for this. Just needs initial movers and doers. Maybe quickly others join your cause. Probably bonus points for a non-C language (python or so), because I think much more speak it.

Check also this out:
http://freehaven.net/anonbib/

Might even contain ideas on how to stop confirmation attacks in low latency networks.

Consider discussing this endeavor on related mailing lists (liberation tech, tor-talk, crypto lists, and so forth).

Thanks for those ideas, which I shall follow-up.

Concerning confirmation attack upon low-latency networks, it had occurred to me that file-sharing as the predominant activity on a network could provide a suitable padding or chaff. That is because file-sharers, unlike the typical Tor user, are sending and receiving a constant stream of more-or-less constant bandwidth traffic for hours at a time - in some cases, 24 hours a day. I guess that Tor users tend to be somewhat bursty because they are mostly doing html requests.

And with a suitable bittorrent client, that prioritizes non-shared-file packets, you would have very low latency on those kinds of packets, encrypted within a wall of shared-file packets.

Instead of the “chaff” being a costly thing that has to be injected, it becomes a matter of taking advantage of chaff-like traffic that is already there. But on the file-sharers’ side, they too have an obvious incentive to move to an anonymous network. It’s a perfect marriage.

I saw these two comments today on Tor Talk (from the same author) and I suspect that I’m not the only one conceptually connecting those dots:

https://lists.torproject.org/pipermail/tor-talk/2014-December/035890.html

https://lists.torproject.org/pipermail/tor-talk/2014-December/035897.html

[quote=“Dennis, post:11, topic:719”]Thanks for those ideas, which I shall follow-up.

Concerning confirmation attack upon low-latency networks, it had occurred to me that file-sharing as the predominant activity on a network could provide a suitable padding or chaff. That is because file-sharers, unlike the typical Tor user, are sending and receiving a constant stream of more-or-less constant bandwidth traffic for hours at a time - in some cases, 24 hours a day. I guess that Tor users tend to be somewhat bursty because they are mostly doing html requests.

And with a suitable bittorrent client, that prioritizes non-shared-file packets, you would have very low latency on those kinds of packets, encrypted within a wall of shared-file packets.

Instead of the “chaff” being a costly thing that has to be injected, it becomes a matter of taking advantage of chaff-like traffic that is already there. But on the file-sharers’ side, they too have an obvious incentive to move to an anonymous network. It’s a perfect marriage.[/quote]

Wow Dennis interesting idea indeed!I am glad we have people like you that exist in this world,heres some other ideas I found in the web Link Padding,Flat Link Padding,Constant Link Padding,On-demand Link Padding,On-demand Link Padding with Delay,On-Demand Link Padding with Headroom

No, anyone come dream up ideas. Praise instead the talented coders such as Patrick et al who do the hard work to actually create these things.

Thanks for the links.

Hmm, I’m mistaken in that. Pretty obviously when you consider how Phantom works: the data stream between the two end points are under several layers of encryption applied by the nodes along the path. So the nodes along the path cannot possibly distinguish message data from file-sharing data and therefore have no way of prioritizing the message data. Any scheme that allowed them to do that would allow a global adversary to do traffic analysis on the message packets.

Prioritization of message data could be done between the user’s computer and his Phantom router, but once the data passes from the router to the next node then it has to be all an homogenous stream of bits.

So I don’t know how to make message data low-latency within high-latency file-sharing data without weakening the anonymity.

It’s something to think about.

The only SIMPLE way that occurs to me right now (and surely, simple is good) is (in the manner of Tor) for volunteers to put up highly-connected nodes on cheap, low-resource but high-bandwidth VPSs. The result might be low latency for everything.

While considering what OS platform to base such an application on, I worked down a decision tree of choices that led back to Debian.

I found that a “minimal” install of Debian was about the same size as Arch Linux, 900-1000 MB. Maybe Linux-from-Scratch would be smaller, but the amount of time and effort is, it seems to me, unjustified when off-the-shelf tools already exist.

Specifically, Debian Live (http://live.debian.net), which I came across today, after looking at other live distros that I was acquainted with (and wondering how they did it), fits the bill better than anything else that I’ve seen. It will allow for the download to consist of a hybrid iso that could be burned to CD and used as a live, bootable media with the option to install to the hard drive, since debian Live does that already.

That is just what is needed to be able to let people anywhere, without much money, with an old pc and an Internet connection, and with a modest ability to follow instructions, to get a Phantom node up and running. Considering that, in some countries, the $50 for a Pi or pocket router might be a lot of money, but older PCs are ubiquitous, I feel that x86 hardware should be a priority as compared to ARM.

I note that Debian Live already has an impressive roster of distros that are based upon it: http://live.debian.net/project/downstream .

In comparing Git to Google Code, and given limited time to evaluate their respective merits, I offer the following as a critical reason for a security software application to go with Git:

Between the 1:00 and 1:03 marks (just those three minutes), Linus Torvalds, speaking at Google HQ, describes why he would not use Google Code:

Aside if you don’t watch the whole thing: the twenty bytes he refers to is the SHA1 hash that identifies each commit in Git. So when it comes right down to it the hash for the “head” of the master branch is all he really must record offline somewhere to stay on top of things.

Is this project still being pursued? Is there any interest? @Dennis