Most recent edit on 2008-04-15 18:00:53 by TimesE [5b]
Additions:
Jak działa SSK
- Autor generuje parę kluczy: klucz prywatny do podpisywania plików i klucz publiczny do weryfikacji podpisu.
Deletions:
Jak SSK działa
The author generates a cryptographic keypair: a private key for signing files and a public key for verifying the signature.
Edited on 2008-02-16 09:06:44 by TimesE [5a]
Additions:
Ten zbiór losowych znaków w środku napisu jest odnosnikiem do klucza publicznego i klucza symetrycznego zwiększającego prywatność przekazu. Sama część mojastrona jest słowem wybranym przez tego kto tworzy serwis www, a 4 jest wersją strony. Numery wersji są zwiększane za kazdym razem gdy jest tworzona nowa wersja strony w sieci Freenet (nalezy ją umieścić w sieci Freenet). Używamy nadmiarowych danych ponieważ w obecnej wersji Freenet nie istnieje możliwość kasowania jakichkolwiek danych z sieci. Modernizacja Kluczy Podnazw wyjaśni więcej dla końcowych użytkowników.
Deletions:
Ten zbiór losowych znaków w środku napisu jest odnosnikiem do klucza publicznego i klucza symetrycznego zwiększającego prywatność przekazu. Sama część mojastrona jest słowem wybranym przez tego kto tworzy serwis www, a 4 jest wersją strony. Numery wersji są zwiększane za kazdym razem gdy jest tworzona nowa wersja strony w sieci Freenet (nalezy ją umieścić w sieci Freenet). Używamy nadmiarowych danych ponieważ w obecnej wersji Freenet nie istnieje możliwość kasowania jakichkolwiek danych z sieci. Modernizacja Kluczy Podnazw wyjaśni więcej dla końcowych użytkowników.
Edited on 2008-02-16 09:06:02 by TimesE [5]
Additions:
~GB3wuHmtxN2wLc7g4y1ZVydkK6sOT-DuOsUo-eHK35w jest haszem klucza publicznego. Ta część całości jest potrzebna do jednoznacznego identyfikowania pliku (ale nie do odszyfrowania go), więc węzły potrzebują tego kawałka by przechowywać ten plik. Obecnie klucze publiczne są przechowywane (w postaci niezaszyfrowanej) razem z (zaszyfrowanymi) danymi.
c63EzO7uBEN0piUbHPkMcJYW7i7cOvG42CM3YDduXDs to jest klucz do odszyfrowania. Jest on znany tylko klientowi i węzeł, który przechowuje dane nie zna ich, dlatego węzeł nie potrafi odszyfrować danych bez pełnego adresu.
AQABAAE to jest rodzaj szyfrowania zastosowany w tym konkretnym przypadku itp. informacje.
Deletions:
~GB3wuHmtxN2wLc7g4y1ZVydkK6sOT-DuOsUo-eHK35w jest haszem klucza publicznego. Ta część całości jest potrzebna do jednoznacznego identyfikowania pliku (ale nie do odszyfrowania go), więc węzły potrzebują tego kawałka by przechowywać ten plik. The actual public key is stored (unencrypted) with the (encrypted) data.
c63EzO7uBEN0piUbHPkMcJYW7i7cOvG42CM3YDduXDs is the document decryption key. This is only known to clients and not to the nodes storing the data, so nodes cannot decrypt the data they store without the full address.
AQABAAE is the encryption settings etc.
Edited on 2008-01-08 07:08:35 by TimesE [3]
Additions:
~1) Połącz się poprzez interfejs programu telnet i wpisz taką komendę:
Na początek musimy wygenerować parę kluczy kryptograficznych. This is done randomly each time and produces two keys: one (the private key) for signing the files, and the other (the public key) for verifying the signature. Type:
Jak SSK działa
Do zrobienia
Deletions:
~1) Connect to the telnet interface by entering this at a command line:
- First we need to generate a cryptographic keypair. This is done randomly each time and produces two keys: one (the private key) for signing the files, and the other (the public key) for verifying the signature. Type:
How SSKs work
TODO
Edited on 2007-11-18 10:11:00 by TimesE [2]
Additions:
~http://localhost:8888/SSK@CxRxWs...BAAE/mojastrona-4/
Ten zbiór losowych znaków w środku napisu jest odnosnikiem do klucza publicznego i klucza symetrycznego zwiększającego prywatność przekazu. Sama część mojastrona jest słowem wybranym przez tego kto tworzy serwis www, a 4 jest wersją strony. Numery wersji są zwiększane za kazdym razem gdy jest tworzona nowa wersja strony w sieci Freenet (nalezy ją umieścić w sieci Freenet). Używamy nadmiarowych danych ponieważ w obecnej wersji Freenet nie istnieje możliwość kasowania jakichkolwiek danych z sieci. Modernizacja Kluczy Podnazw wyjaśni więcej dla końcowych użytkowników.
GB3wuHmtxN2wLc7g4y1ZVydkK6sOT-DuOsUo-eHK35w jest haszem klucza publicznego. Ta część całości jest potrzebna do jednoznacznego identyfikowania pliku (ale nie do odszyfrowania go), więc węzły potrzebują tego kawałka by przechowywać ten plik. The actual public key is stored (unencrypted) with the (encrypted) data.
Deletions:
~http://localhost:8888/SSK@CxRxWs...BAAE/mysite-4/
Ten zbiór losowych znaków w środku napisu jest odnosnikiem do klucza publicznego i klucza symetrycznego zwiększającego prywatność przekazu. Sama część mysite jest słowem wybranym przez tego kto tworzy serwis www, a 4 jest wersją strony. Numery wersji są zwiększane za kazdym razem gdy jest tworzona nowa wersja strony w sieci Freenet (nalezy ją umieścić w sieci Freenet). Używamy nadmiarowych danych ponieważ w obecnej wersji Freenet nie istnieje możliwość kasowania jakichkolwiek danych z sieci. Modernizacja Kluczy Podnazw wyjaśni więcej dla końcowych użytkowników.
GB3wuHmtxN2wLc7g4y1ZVydkK6sOT-DuOsUo-eHK35w is the hash of the public key. This part is all that is required to uniquely identify the file (but not decrypt it), so nodes need only store this bit. The actual public key is stored (unencrypted) with the (encrypted) data.
Edited on 2007-11-14 07:23:38 by TimesE [1a]
Additions:
Przykład
Istnieje graficzne narzędzie jSite, które jest pomocne w łatwym dodawaniu stron WWW do Freenet-u, ale ze względów pedagogicznych użyjemy interfejsu telnet by pokazać jak przebiega proces dodawania SSK wolnej strony krok po kroku.
- Tworzymy przykładow katalog i nadajemy mu nazwę mojastrona. Może być tam kilka stron HTML i jedna nazwana index.html.
Deletions:
Example
There are graphical tools like jSite to help you easily add freesites to Freenet, but for pedagogical purposes we will use the telnet interface to show how the process of adding an SSK freesite works step by step.
- Create a sample directory and give it a name like mysite, say, with a few HTML files in it, one called index.html.
Edited on 2007-11-13 11:00:13 by TimesE [1a]
Additions:
Klucz Podpisany Podnazwy (SSK=podpisany klucz podprzestrzeni nazw) jest użyteczny dla stron internetowych, które będą się zmieniac w czasie. Na przykład, portal w którym ukazują się wiadomości lub informacje, które są uzupełniane lub poprawiane. Działa to w ten sposób, że pozwala różnym osobom dodawać informacje i zapobiega zmienianie przez inne osoby.
To działa używając kryptografii kluczy publicznych do podpisywania całej stron i podstron www. Tylko osoba, która posiada tajny klucz jest w stanie dokonywać zmian i generować nowa wersję strony w systemie Freenet.
Adres serwisu www w SSK wygląda mniej więcej tak (środek został wykropkowany by się zmieścił na tej stronie):
Ten zbiór losowych znaków w środku napisu jest odnosnikiem do klucza publicznego i klucza symetrycznego zwiększającego prywatność przekazu. Sama część mysite jest słowem wybranym przez tego kto tworzy serwis www, a 4 jest wersją strony. Numery wersji są zwiększane za kazdym razem gdy jest tworzona nowa wersja strony w sieci Freenet (nalezy ją umieścić w sieci Freenet). Używamy nadmiarowych danych ponieważ w obecnej wersji Freenet nie istnieje możliwość kasowania jakichkolwiek danych z sieci. Modernizacja Kluczy Podnazw wyjaśni więcej dla końcowych użytkowników.
Tu mamy przykład realnego adresu SSK serwisu www w Freenet. To jest strona testowa:
Deletions:
Klucz Podpisany Podnazwy (SSK=podpisany klucz podprzestrzeni nazw) jest użyteczny dla stron internetowych, które będą się zmieniac w czasie. Na przykład, a website that may need news to be updated or information to be corrected, added or deleted. They work in such a way that someone else can't put up a newer version of your site and pretend it was you who did it.
It works by using public-key cryptography so you can sign your site. Only the person with the secret key can add updated versions of your site to Freenet.
The address of an SSK site looks something like this (the middle has been chopped out so it fits on the page):
The random-looking text in the middle is a pointer to the public key, and also a symmetric key used for privacy. The mysite part is a word chosen by the site creator, and the 4 is the version of the site. The version number is incremented each time you create a new version of the site and insert it into Freenet. We use this approach because it is not currently possible to update data in Freenet, nor is this likely in the near or medium term. Updatable Subspace Keys make this even more transparent to the end user.
Here's an example of an address of a real SSK site in Freenet. It should be a Freenet stress-testing page:
Oldest known version of this page was edited on 2007-11-13 09:34:11 by TimesE [First version of Polish translations]
Page view:
SSK: Klucz Podpisany Podnazwy
Wszystkie pliki w sieci Freenet są identyfikowane i pobierane przez
klucze plików lub
indeksy, podobnie jak strony internetowe są identyfikowane przez nazwę domeny.
Klucz Podpisany Podnazwy (SSK=podpisany klucz podprzestrzeni nazw) jest użyteczny dla stron internetowych, które będą się zmieniac w czasie. Na przykład, a website that may need news to be updated or information to be corrected, added or deleted. They work in such a way that someone else can't put up a newer version of your site and pretend it was you who did it.
It works by using
public-key cryptography so you can sign your site. Only the person with the secret key can add updated versions of your site to Freenet.
The address of an SSK site looks something like this (the middle has been chopped out so it fits on the page):
http://localhost:8888/SSK@CxRxWs...BAAE/mysite-4/
The random-looking text in the middle is a pointer to the public key, and also a symmetric key used for privacy. The
mysite part is a word chosen by the site creator, and the
4 is the version of the site. The version number is incremented each time you create a new version of the site and insert it into Freenet. We use this approach because it is not currently possible to update data in Freenet, nor is this likely in the near or medium term.
Updatable Subspace Keys make this even more transparent to the end user.
Here's an example of an address of a real SSK site in Freenet. It should be a Freenet stress-testing page:
http://localhost:8888/SSK@GB3wuHmtxN2wLc7g4y1ZVydkK6sOT-DuOsUo-eHK35w,c63EzO7uBEN0piUbHPkMcJYW7i7cOvG42CM3YDduXDs,AQABAAE/testinserts-3/∞
GB3wuHmtxN2wLc7g4y1ZVydkK6sOT-DuOsUo-eHK35w is the hash of the public key. This part is all that is required to uniquely identify the file (but not decrypt it), so nodes need only store this bit. The actual public key is stored (unencrypted) with the (encrypted) data.
c63EzO7uBEN0piUbHPkMcJYW7i7cOvG42CM3YDduXDs is the document decryption key. This is only known to clients and not to the nodes storing the data, so nodes cannot decrypt the data they store without the full address.
AQABAAE is the encryption settings etc.
Signed Subspace Key sites have largely been superseded by
Updatable Subspace Key (USK) sites, which are based on SSKs but allow for links that try to always retrieve the most up-to-date version of the site.
Example
There are graphical tools like
jSite to help you easily add freesites to Freenet, but for pedagogical purposes we will use the
telnet interface to show how the process of adding an SSK freesite works step by step.
- Create a sample directory and give it a name like mysite, say, with a few HTML files in it, one called index.html.
- Connect to the telnet interface by entering this at a command line:
telnet localhost 2323
- First we need to generate a cryptographic keypair. This is done randomly each time and produces two keys: one (the private key) for signing the files, and the other (the public key) for verifying the signature. Type:
MAKESSK
- This will return two strings of random-looking characters, an Insert URI (the private key for encrypting and signing) and a Request URI (for decrypting and verifying signatures). For example:
Insert URI:
SSK@AIfB3XMup9~D7o5LaKaOV8sV9LWayoegCtiH88gc-xuD,V27XCqRZYUOVFltYPSKGv9gQticpsg13DjSoBCob3a8
Request URI:
SSK@~cnUlnYEwS~nRs9y6~yXmZeLgil8MRhe8VBea4gn1Fo,V27XCqRZYUOVFltYPSKGv9gQticpsg13DjSoBCob3a8,AQABAAE
- Now we want to upload the directory and its contents to Freenet and have a link to be able to retrieve them. Type the following, replacing the "..." in the middle (which we have just done to make this fit on the page) with the full Insert URI:
PUTSSKDIR: SSK@AIfB3XMup9...CtiH88gc-xuD,V27XCqRZY...oBCob3a8/testsite#/path/to/mysite#index.html
This should upload the contents of the /path/to/mysite directory to Freenet, with a default file of index.html, and encrypted and signed with the private key we just generated. Be patient, it could take a few minutes. Eventually, it should come back with a message like this (middle bits chopped so it fits on page):
====URI: freenet:SSK@~cnUlnYEwS...4gn1Fo,V27XCqRZY...oBCob3a8,AQABAAE/testsite/====
- We can check the site works by visiting this address on a web browser:
How SSKs work
- The author generates a cryptographic keypair: a private key for signing files and a public key for verifying the signature.
- The author also generates a single symmetric key (one that is used for both encrypting and decrypting).
- When a file is inserted into Freenet, it is encrypted with the symmetric key and signed with the private key. The signature is stored with the file. Nodes don't store the symmetric key, only the public key part of the SSK, as an index to the data. This is so they can plausibly deny knowledge of the data on their node.
- The SSK is made up of a hash of the public key, and the symmetric key. The hash of the public key acts as the index to the data for searching purposes. Also, the actual public key is stored with the data. This is so that Freenet nodes can verify the signature when the SSK file comes into their node, and also so that clients can verify the signature when retrieving the file. The symmetric key is so that clients can decrypt the file.
TODO
- Explain what cipher/mode/size is used for the public/private keypair
- Explain what cipher/mode/size is used for the symmetric key
- Explain the breakdown of the small 'tail' part of public SSK URIs, eg the ',AQABAAE' part of the above example
- Explain which hash/mode is used for the H(pubkey) part of SSK public URIs. (Is it SHA(256)? SHA(1)?)