← Prev in month
← Prev in thread
Minutes: XDI TC Telecon Friday 2014-03-21
XDI TC Minutes
Following are the minutes of the unofficial telecon of the XDI TC at:
Date: Friday, 21 March 2014 USA
Time: 09:00AM - 10:30AM Pacific Time (16:00-17:30 UTC)
ATTENDING
Markus Sabadello
Peter DavisAnimesh ChowdhuryLes ChasenHubert Le Van GongJoseph BoyleAndy Dale
GUESTS
REGRETS
Drummond Reed
NEWS & UPDATES
None scheduled.
PRESENTATIONS/DISCUSSIONS
Serialization Formats
We talked about the XDI serialization formats and looked at apparent inconsistencies between proposals on the wiki.
On the SerializationFormats page, the following formats are mentioned:
XDI Display Formats:
(1) XdiDisplayFormat#Single-LineDisplayFormat
(2) XdiDisplayFormat#Double-LineDisplayFormat
XDI JSON Formats:
(3) XdiFlatSerialization
(4) XdiTreeSerialization
(5) XdiParseSerialization
The SimpleHTTPTransport proposal however only mentions the “XDI/JSON” format without specifying which one. Peter said that he found these inconsistencies on the wiki to be problematic when he worked on XDI Signatures.
Markus explained that the XDI2 implementation supports the above formats as follows, with certain internal names and MIME types:
(1) "XDI DISPLAY" "text/xdi" read/write
(2) not supported (3) "XDI/JSON" "application/xdi+json" read/write (4) "XDI/JSON/TREE" write (5) "XDI/JSON/PARSE" write
## MARKUS: Update the SimpleHTTPTransport proposal to refer to serialization formats in a consistent way.
## MARKUS: Update examples to use the “empty space” for contextual statements instead of ( )
We decided that we want to rename the three XDI/JSON formats as follows:
(3) XdiFlatSerialization -> XdiJsonSerialization REQUIRED
(4) XdiTreeSerialization -> XdiJsonTreeSerialization OPTIONAL (5) XdiParseSerialization -> XdiJsonParseSerialization OPTIONAL
We also agreed that on the wiki we have to specify how nodes and statements in the various serialization formats can be ordered. A proposal exists but is outdated and may not cover all the serialization formats. This is important for XDI Signatures.
Specifically in the XDI DISPLAY format, we noted that sorting statements by comparing entire lines might have a different result than sorting subjects, predicates, and objects individually, e.g:
Sorting lines “as a whole”:
=markus.sabadello/+friend/=peter
=markus/+friend/=andy=markus/+friend/=joseph=markussabadello/+friend/=drummond
Sorting subjects, predicates, and objects individually:
=markus/+friend/=andy
=markus/+friend/=joseph=markus.sabadello/+friend/=peter=markussabadello/+friend/=drummond
XDI Signatures
Peter has revised the XdiSignature proposal.
One of the key changes is that the normalized graph string now again uses the XDI/JSON serialization, since this is the only format required for all XDI implementations. The ordering of nodes and statements still has to be documented better (see previous agenda item).
We briefly talked about implied statements (statements that must not be included when a graph is serialized).
In Peter’s design, the XDI statements representing a signature are “postpended”, i.e. included at the end of the serialized graph:
{
"(=alice)/$ref": [ "([=]!:uuid:1111)" ], "([=]!:uuid:1111)/$ref": [ "" ], "/$is$ref": [
"([=]!:uuid:1111)" ], "=alice/$ref": [ "[=]!:uuid:1111" ], "[=]!:uuid:1111/$is$ref": [ "=alice"
], "[=]!:uuid:1111/+friend": [ "=bob" ], "[=]!:uuid:1111<+email>&/&": "",
"[=]!:uuid:1111<+name>&/&": "Alice”, "=alice<$sig>/$is+": "$rsa$sha$256",
"=alice$sig#1$keypair$public<$key>&/&": "the-key", "=alice<$sig>&/&": "c1g23p..."}
However both Markus and Andy felt that it should not matter where the statements appear in the serialization, since by definition statements in an XDI graph are not ordered.
Animesh added that in a single serialized graph you could have multiple signatures in the same or in different subgraphs.
Finally, we talked about Unicode and how the differences between UTF-8 and UTF-16 may affect ordering and therefore signatures. Joseph explained that Java internally uses UTF-16, whereas XDI serializations require UTF-8 encoding.
Markus will review the relevant XDI2 code sections to see if this is an issue. In Java, the popular ICU4j library may be needed to produce correct results.
Hubert suggested that the Java Virtual Machine’s “UseCompressedStrings” configuration setting may be relevant here.
Link Contract Addressing
Let’s continue discussion on the new link contract patterns:
https://wiki.oasis-open.org/xdi/LinkContractPattern
https://wiki.oasis-open.org/xdi/LinkContractPattern/Discussion
We did not have time to discuss this topic.
I-JSON and JSON Schema
Within the XDI2 project, the potential use of I-JSON and JSON Schema for the XDI/JSON serialization format has come up. Let’s discuss if this makes sense and how these two technologies fit in.
We did not have time to discuss this topic.
Next Steps on Working Drafts
We will discuss the additions/corrections we want to make to produce XDI Core 1.0 Working Draft 02, including:
MIME types for serialization formats.
Formatting improvements.
Adding missing sections.
Improved Github merging process.
We did not have time to discuss this topic.
DECISION POINTS FOR THIS CALL
None scheduled.
DECISION POINT QUEUE REVIEW
We have to review and probably clean up the current decision points on the wiki:
https://wiki.oasis-open.org/xdi/CategoryLastCall
https://wiki.oasis-open.org/xdi/CategoryCurrent
https://wiki.oasis-open.org/xdi/CategoryHighPriority
See also this list of proposals that need to be developed:
https://wiki.oasis-open.org/xdi/XdiPendingIssues
NEXT CALL
The next call is next week at the regular time.
← Prev in month
← Prev in thread