11 |
======== |
======== |
12 |
|
|
13 |
Our research group has recently registered the informal ``urn-5`` namespace |
Our research group has recently registered the informal ``urn-5`` namespace |
14 |
with IANA. We discuss the rationale and |
with IANA. |
15 |
|
We discuss the rationale and |
16 |
possible applications for this open namespace. |
possible applications for this open namespace. |
17 |
|
|
18 |
|
The namespace is basically random numbers, important is the semantics |
19 |
|
and applications. |
20 |
|
|
21 |
|
|
22 |
Introduction |
Introduction |
23 |
============ |
============ |
42 |
- URN |
- URN |
43 |
- OID!! |
- OID!! |
44 |
|
|
45 |
|
Ontologies |
46 |
|
|
47 |
Needs for identification |
Needs for identification |
48 |
RDF |
RDF |
49 |
bidirectional linking |
bidirectional linking |
50 |
|
|
51 |
|
Content-addressability and pointing: the two complementary operations |
52 |
|
===================================================================== |
53 |
|
|
54 |
|
"I want the newspaper article whose hash is 239273498275" |
55 |
|
"I want to know what articles are in today's newspaper" |
56 |
|
|
57 |
|
Normal WWW conflates the two. |
58 |
|
E.g. WWW caching: cache will ask original server whether something |
59 |
|
changed and if not, bring the cached document. |
60 |
|
If two operations separated, more flexible mechanism: always |
61 |
|
ask original server for name --> content-address mapping, then |
62 |
|
ask P2P network for actual data. |
63 |
|
|
64 |
|
You mean, talking about the idea that all user-meaningful "objects" |
65 |
|
(Ted's items...), like documents, paragraphs, vector graphics shapes |
66 |
|
etc. get a global identity the moment they're created, allowing to talk |
67 |
|
about them in a globally unique way? That sounds interesting. Could |
68 |
|
relate this to the Semantic Web (how you're able to make RDF statements |
69 |
|
about these things, e.g. metadata). Talk about how it gets rid of |
70 |
|
context problems (the id stays the same when moving the object to a |
71 |
|
different document) and possibly, how this allows for Ted's |
72 |
|
transclusions and links (links can be implemented using RDF and RDF |
73 |
|
search engines, which are in development). Can then relate it to |
74 |
|
zzstructure (editing textual XML with these identifiers is possible, but |
75 |
|
no fun; with a structural editor, like a zzstructure client, the ids can |
76 |
|
remain hidden). |
77 |
|
|
78 |
|
Yes. Along with discussing the difference between this and urn:sha-1 really |
79 |
|
carefully. |
80 |
|
|
81 |
|
|
82 |
|
(Between this and "identification schemes based on secure hashing, such |
83 |
|
as the (unregistered) Freenet URIs": urn:sha-1 is neither used nor |
84 |
|
registered nor in the process of being registered, so the most we could |
85 |
|
refer to it is as an idea someone has had at some point. A nit, I know, |
86 |
|
but important when publishing this.) |
87 |
|
|
88 |
|
Possible order of presentation: |
89 |
|
|
90 |
|
- Globally unique ids and why you want to use them |
91 |
|
- Places that don't use globally unique ids currently, and what you |
92 |
|
cannot do because of that |
93 |
|
|
94 |
|
|
95 |
|
Cite some of the DNS troubles, muscling of individuals by large corporations |
96 |
|
etc. |
97 |
|
|
98 |
URN namespaces |
URN namespaces |
99 |
============== |
============== |
100 |
|
|
101 |
ALL OTHER CURRENT URNs ARE CLOSED NAMESPACES?!?! |
ALL OTHER CURRENT URNs ARE CLOSED NAMESPACES?!?! |
102 |
http://www.iana.org/assignments/urn-namespaces |
http://www.iana.org/assignments/urn-namespaces |
103 |
EXCEPT urn:sha WHICH IS NOT OFFICIAL |
EXCEPT urn:sha WHICH IS NOT OFFICIAL, and is a content-addressing name. |
104 |
|
|
105 |
If you have a domain name, you can use urn:NewsML:, and the |
If you have a domain name, you can use urn:NewsML:, and the |
106 |
urn:tag: currently submitted to IESG for publication as an RFC. |
urn:tag: currently submitted to IESG for publication as an RFC. |
130 |
|
|
131 |
|
|
132 |
|
|
133 |
|
|
134 |
The ``urn:urn-5:`` namespace |
The ``urn:urn-5:`` namespace |
135 |
============================ |
============================ |
136 |
|
|
137 |
CONTENT-ADDRESSABILITY AND POINTING: THE TWO COMPLEMENTARY OPERATIONS |
- The urn:urn-5 namespace |
|
"I want the newspaper article whose hash is 239273498275" |
|
|
"I want to know what articles are in today's newspaper" |
|
138 |
|
|
139 |
You mean, talking about the idea that all user-meaningful "objects" |
- how it works |
|
(Ted's items...), like documents, paragraphs, vector graphics shapes |
|
|
etc. get a global identity the moment they're created, allowing to talk |
|
|
about them in a globally unique way? That sounds interesting. Could |
|
|
relate this to the Semantic Web (how you're able to make RDF statements |
|
|
about these things, e.g. metadata). Talk about how it gets rid of |
|
|
context problems (the id stays the same when moving the object to a |
|
|
different document) and possibly, how this allows for Ted's |
|
|
transclusions and links (links can be implemented using RDF and RDF |
|
|
search engines, which are in development). Can then relate it to |
|
|
zzstructure (editing textual XML with these identifiers is possible, but |
|
|
no fun; with a structural editor, like a zzstructure client, the ids can |
|
|
remain hidden). |
|
140 |
|
|
141 |
|
The "technology" behind the ``urn-5`` namespace is more or less trivial: |
142 |
|
the identifier structure is :: |
143 |
|
|
144 |
One really important point: |
urn:urn-5:<random number>[:<local part>] |
145 |
|
|
146 |
non-hierarchy. |
where *<random number>* is a random number of at least 160 bits |
147 |
|
base64-encoded. The local part is an arbitrary string of characters |
148 |
|
allowed in URNs without escaping. |
149 |
|
|
|
Cite some of the DNS troubles, muscling of individuals by large corporations |
|
|
etc. |
|
150 |
|
|
151 |
|
Creating globally unique "nodes". |
152 |
|
|
153 |
|
Any time, anywhere, no hassle whatsoever, no configuration, *NOTHING*. |
154 |
|
|
155 |
Yes. Along with discussing the difference between this and urn:sha-1 really |
One really important point: |
|
carefully. |
|
156 |
|
|
157 |
|
non-hierarchy. |
158 |
|
|
159 |
|
Unguessable |
160 |
|
|
161 |
|
- except when using ...-1, ...-2 |
162 |
|
|
163 |
|
- should only do so when certain it's not a problem. |
164 |
|
|
165 |
|
- ZZ spaces: ??! |
166 |
|
|
167 |
|
|
|
(Between this and "identification schemes based on secure hashing, such |
|
|
as the (unregistered) Freenet URIs": urn:sha-1 is neither used nor |
|
|
registered nor in the process of being registered, so the most we could |
|
|
refer to it is as an idea someone has had at some point. A nit, I know, |
|
|
but important when publishing this.) |
|
168 |
|
|
|
Possible order of presentation: |
|
169 |
|
|
|
- Globally unique ids and why you want to use them |
|
|
- Places that don't use globally unique ids currently, and what you |
|
|
cannot do because of that |
|
|
- The urn:urn-5 namespace |
|
|
- how it works |
|
|
- how it's different from hashing |
|
170 |
- Caveat: Human readability/writability problems |
- Caveat: Human readability/writability problems |
|
- only in text editors, structure editors can handle ids internally |
|
171 |
|
|
172 |
- Caveat: unlike relative identifiers, when you have an urn:urn-5 id, |
- only in text editors, structure editors can handle ids internally |
173 |
you don't automatically have any document/context it appears in |
|
174 |
- when an anchor is removed? |
Anyone may "spoof" an id -- but not really mean that because |
175 |
|
urn-5 SHOULD NOT BE USED FOR DIRECT RESOLUTION WITH ONE RESULT!! |
176 |
|
|
177 |
|
Possibly easier to think of as "words": using urn-5 names for concepts |
178 |
|
makes it easier for search engines. For instance, searching for web pages |
179 |
|
discussing the ancient board game "go" is made difficult by the common |
180 |
|
homonym. |
181 |
|
|
182 |
|
If the word had been agreed to be ``urn:urn-5:Ot877naD3qzF5VzzItZbozeKWOuV'', |
183 |
|
no such problem would arise. Of course, an intentional DOS attack |
184 |
|
of creating many pages seemingly discussing this would be possible. |
185 |
|
|
186 |
|
The URN-5 name could be seen as a node in a graph, and resolving the name |
187 |
|
would be asking for the edges it touches. |
188 |
|
|
189 |
|
urn-5s, |
190 |
|
by themselves, *never* refer to documents. |
191 |
|
They are not resolvable. Documents may only state that they have |
192 |
|
something to do with a urn-5, and a search may be performed and return |
193 |
|
that; but that doesn't mean that you can make a reference, |
194 |
|
'show the document identified by this urn-5, here.' |
195 |
|
|
|
Cryptography |
|
|
============ |
|
196 |
|
|
|
Tying a particular URN-5 to an identity using signatures? |
|
197 |
|
|
198 |
Applications |
Applications |
199 |
============ |
============ |
202 |
you want to perform lookups using them |
you want to perform lookups using them |
203 |
- this kind of registry would allow RDF statements about identified |
- this kind of registry would allow RDF statements about identified |
204 |
objects to be resolved |
objects to be resolved |
205 |
|
|
206 |
- could use this to implement transclusions and links |
- could use this to implement transclusions and links |
207 |
- Conclusions |
- NOT! |
208 |
|
|
209 |
- RDF |
- RDF |
210 |
- HTML anchors |
- HTML anchors |
217 |
|
|
218 |
(Btw, JXTA ids may also be worth looking at.) |
(Btw, JXTA ids may also be worth looking at.) |
219 |
|
|
220 |
|
- Caveat: unlike relative identifiers, when you have an urn:urn-5 id, |
221 |
|
you don't automatically have any document/context it appears in |
222 |
|
- when an anchor is removed? |
223 |
|
|
224 |
|
Identity: libpaper |
225 |
|
|
226 |
Potential problems |
Conclusion |
227 |
================== |
========== |
228 |
|
|
229 |
Potential problem: someone makes program that assigns urn-5s badly, |
Potential problem: someone makes program that assigns urn-5s badly, |
230 |
to create havoc. This problem is really no different from the corresponding |
to create havoc. This problem is really no different from the corresponding |
231 |
one with digital signatures: you have to trust the software you use. |
one with digital signatures: you have to trust the software you use. |
232 |
|
|
233 |
Tuomas once said: |
However, the worst result is that some of the nodes in the graph |
234 |
Another: no way to verify an index. Anyone may spoof an id easily. |
described above are joined. While annoying, it should be no catastrophen |
|
Therefore, you can't really refer to an id outside the current context: |
|
|
too easy to substitute another document for it. |
|
|
|
|
|
Benja notes: |
|
|
As was clarified in the following discussion, Tuomas' statement above |
|
|
*makes no sense*. urn-5s, by themselves, *never* refer to documents. |
|
|
They are not resolvable. Documents may only state that they have |
|
|
something to do with a urn-5, and a search may be performed and return |
|
|
that; but that doesn't mean that you can make a reference, |
|
|
'show the document identified by this urn-5, here.' |
|
235 |
|
|
|
We have to be really careful to get this point across correctly, |
|
|
beca |
|
|
|
|
|
T: |
|
|
|
|
|
Someone can still "DOS" attack a URN-5 by creating lots of documents |
|
|
that talk about it as something entirely different from the original. |
|
|
|
|
236 |
|
|
237 |
Coupling urn-5 with digital signatures? |
Coupling urn-5 with digital signatures? |
238 |
|
|
253 |
(Freenet gets around the problem by identifying entities |
(Freenet gets around the problem by identifying entities |
254 |
by unchangeable public keys; not nice.) |
by unchangeable public keys; not nice.) |
255 |
|
|
256 |
When central, X.400, PKI |
When central, X.400, PKI. |
257 |
|
However, then why use URN-5 at all if you have central names? |
258 |
|
|
|
|
|
|
Conclusion |
|
|
========== |
|