[Cryptojim-devel] Planung
Status: Planning
Brought to you by:
arndh
|
From: Arnd H. <ar...@ar...> - 2005-01-27 17:01:28
|
Hallo Allerseits,
ich denke es wird ok sein in dieser Maillingliste deutsch zu schreiben....
Hatte leider in in letzter Zeit ziemlich viel mit meinem Seminar zu tun.=20
Morgen werde ich es halten und dann habe ich wieder ein bisschen mehr=20
Zeit mich um dieses Projekt zu k=FCmmern.
Wie ist also der Status? Ich will einmal versuchen aufzuschreiben was=20
wir uns bist jetzt so f=FCr Gedanken gemacht haben
Public Key Infrastruktur:
- Jeder User braucht mindestens einen Public und Private key
- Wie Verkn=FCpfung von Key und UID (z.B. ICQ#)?
- F=FCr jedes IM System einen eigenes Schl=FCsselpaar?
- M=F6glichkeit zu einem vorhanden Key neue UID hinzuzuf=FCgen?
- Verschl=FCsselung des Private Key mit einem Passwort / Speicherung loka=
l=20
auf Rechner / USBstick
- Das einzig sichere ist die Schl=FCsselerzeugung beim Client selber
-> es darf nicht m=F6glich sein das ein Schl=FCssel generiert wird zu=20
einer ICQ# die dem erzeugenden User gar nicht geh=F6rt
-> ein Validierungssystem: der CryptoJIM Server stellt sicher das der=20
erzeugende User Zugriff auf die ICQ# hat und unterschreibt den erzeugten=20
key vom User mit seinem eigenem Private Key
-> Client braucht also einen Public Key vom CryptoJIM Server um diese=20
Unterschrift bei anderen Key zu =FCberpr=FCfen
-> Das sollte evtl. austauschbar sein ( jedes Jahr einen Neuen general=20
key?)
- Woher bekommt ein Client einen Public Key von einem anderen User? Den=20
Client des anderes User fragen (P2P) oder einen zentralen Keyserver?
Netzinfrastruktur:
- zentrale Server:
-> ganz um einen Server herumkommen wird man wohl nicht, denn=20
irgendwer muss ja zum Beispiel die Public Key <-> UID Zuordnung verifzier=
en
-> Allerdings sollte in jedem Fall der Client trotzdem benutzbar sein=20
falls dieser Server ausf=E4llt (anlegen von neuen Schl=FCsseln funktionie=
rt=20
dann halt nicht)
-> Cool w=E4re wenn die clienten auch dann noch miteinander reden=20
k=F6nnten wenn sie keinen Zugriff aufs ICQ Netzwerk mehr haben....
-> Soll die Speicherung der History zentral erfolgen?
-> Es w=E4r definitiv viel einfacher zu implementieren
- P2P:
-> die Public Keys dezentral zu verteilen sollte eigentlich kein=20
Problem sein (wenn sie denn von einer Zentralen Instanz unterschrieben=20
werden)
-> damit ein Client an einem P2P Netz teilnehmen kann muss er andere=20
Teilnehmer finden man braucht also so etwas wie einen Hostcache=20
(entweder zentraler Server oder =FCber ICQ / anderes Message Protokoll)?
-> dezentrale Speicherung der History: tja das w=E4re was sehr sehr=20
feines, allerdings wird es relativ schwierig sein es zu implementieren
-> Fragen dazu: wie lange sollen history nachrichten im Netz=20
gespeichert bleiben? Timestamp?
-> Die eingesetzte Verschl=FCsselung muss besonders sicher sein
-> Selbstheilung: es muss m=F6glich sein history nachrichten zu=20
rekonstruieren und sie erneut ins P2P netz einzuspeisen, falls welche=20
verloren gehen...
-> Welches Protokoll f=FCr P2P ?
ICQ-Protokoll:
-> eine Quick und Dirty l=F6sung w=E4re es eine vorhandene Implementier=
ung=20
zu nehmen und erstmal einen Wrapper drumherum zu schreiben
-> gaim benutzt eine eigen Version von libfaim, (ich glaube in C++=20
implementiert) sie sollte unter Windows und Linux kompilieren, evtl=20
werde ich mal versuchen daf=FCr ein Java Wrapper zu schreiben, oder hat=20
jemand andere Vorschl=E4ge?
-> fr=FCher oder sp=E4ter sollten wir das ICQ Protokoll allerdings=20
vollst=E4ndig in JAVA implementieren, alleine schon wegen der=20
Plattformunabh=E4ngigkeit, kenn vielleicht jemand einen Opensource ICQ=20
Java client (auch wenn es nur f=FCrs handy ist)
Oki die Frage ist wie packen wir es an?
ICQ:
Mein Vorschlag: Wir fangen an einen Wrapper f=FCr eine ICQ Library (z.B.=20
libfaim zu schreiben) damit wir schon mal Zugriff auf das ICQ-Netzwerk=20
bekommen sp=E4ter k=F6nnen wir das dann durch unsere eigene Implementieru=
ng=20
ersetzen. Hat vielleicht irgendwer schonmal eine C++ Library in Java=20
eingebettet?
Verschl=FCsselung:
seeehr viel zu kl=E4ren, was benutzen wir f=FCr Schl=FCssel? Sollen wir=20
vielleicht sogar versuchen zu pgp oder sowas kompatibel zu werden?=20
Marcel kannst du vielleicht dazu was schreiben?
Netzwerk:
Mein Vorschlag: wir beginnen mit einer zentralen Speicherung der History=20
und behalten im Auge sp=E4ter auf eine P2P L=F6sung umzusteigen, andere=20
Vorschl=E4ge?
GUI:
Die muss gut einerseits gut geplant werden, andererseits brauchen wir=20
auch ziemlich bald irgendetwas mit dem wir Testen k=F6nnen. Wir sollten=20
versuchen Engine und GUI m=F6glichst gut zu trennen um evtl. erst eine=20
einfach GUI zu implementieren und diese nachher durch eine sch=F6nere=20
bessere auszutauschen. Marius, wie sieht deine Energie aus, hast du Lust=20
die Planung daf=FCr in Gang zu bringen?
Bis denn
Arnd
P.S.: wir k=F6nnten uns evtl. auch alle mal Treffen um ein Brainstorming=20
zu betreiben, wie sieht es bei euch mit der Zeit aus? Noch vor=20
Semesterende? in den Semesterferien? oder eher danach?
|