Solved

Distributed Encrypted Systems?

Posted on 2004-03-31
2
222 Views
Last Modified: 2010-04-17
I need to write a system that allows a user to create a vertual network (on a scale of 2-100 users).

I need to meet the following requirements -

A: The system may not have a central point of failer (no server or arbitor), nor may systems discover the identity of systems with witch they are not directly connected.

B: System must provide a virtual addressing scheam, that allows nodes to idntify other nodes. Nodes must be routed to, via connections to known systems. Example -
System A is directly connected to System B, System B is directly connected to System C. A can identify C via its virtual address and exchange data with it via B, but it may never determine the identity of the real identity of system C (it can't determine Cs IP, MAC etc.).

C: System must be secure, and must make it impossible to detect when a virtual link is in use and when it is idel (when a connection is idle, junk messages must be sent).

I am fully capable of writting such a system, but I would like to know, if someone has alredy written one (so I can just implement my application on top of it).

Thank you for your time,
Arrummzen
0
Comment
Question by:Arrummzen
2 Comments
 
LVL 45

Accepted Solution

by:
sunnycoder earned 250 total points
ID: 10730442
Hi Arrummzen,

> A: The system may not have a central point of failer (no server or arbitor), nor may systems
> discover the identity of systems with witch they are not directly connected.
This is more difficult than it sounds unless you configure the network statically
Main problem with this is how do network hosts discover each other ... If they broadcast their willingness to join the network, others can detect the identities ... If you use a root server, you have a central place of failure ...
If you are keen on concealing the identities, then maybe you can use a central/root server ... If it fails, a new root server can be elected by using quorum concensus or some other similar algorithm

> B: System must provide a virtual addressing scheam, that allows nodes to idntify other nodes.
> Nodes must be routed to, via connections to known systems. Example -
> System A is directly connected to System B, System B is directly connected to System C. A
> can identify C via its virtual address and exchange data with it via B, but it may never
> determine the identity of the real identity of system C (it can't determine Cs IP, MAC etc.).
Quite possible ... you can have two identities for a system

> C: System must be secure, and must make it impossible to detect when a virtual link is in
> use and when it is idel (when a connection is idle, junk messages must be sent).
easiest of all except for link arbitration ... you will have too many collisions and low throughput unless some kind of token  passing is used

I think several P2P applications such as IRC or may be even yahoo messenger run with similar architecture except that they have some root servers ... May be you can take a look at them and adapt the source code (I believe you can get source code for *nix machines, not sure though)

Sunnycoder
0
 
LVL 1

Author Comment

by:Arrummzen
ID: 10755460
Thank you. I will take a look at the systems you mentioned, I would like to avoid reinventing the wheel as much as possible.

Thank you for your time,
Arrummzen
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
countHi challenge 25 84
mapBully challenge 6 89
Magic Software info 18 103
Currency Conversion? 1 37
Here we come across an interesting topic of coding guidelines while designing automation test scripts. The scope of this article will not be limited to QTP but to an overall extent of using VB Scripting for automation projects. Introduction Now…
A short article about a problem I had getting the GPS LocationListener working.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now