Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

printing diary with private annisersaries use case(under construction)

  • Loading branch information...
commit b41af1167528554cb29f8918e81ade5828b7ca56 1 parent d71049a
hdknr authored
View
1  .gitignore
@@ -10,4 +10,5 @@ tmp
.certs
log.txt
.DS_Store
+pip-log.txt
View
BIN  doc/build/doctrees/environment.pickle
Binary file not shown
View
BIN  doc/build/doctrees/index.doctree
Binary file not shown
View
2  doc/build/html/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: ac2358e96babb88fddab19abed9779e4
+config: 52b10222784d0f06994452b2018724c7
tags: fbb0d17656682115ca4d033fb2f83ba1
View
99 doc/build/html/_sources/contract_exchange.txt
@@ -5,10 +5,24 @@ Contract Exchange
==================
-Protocal
+Protocol
=================
-Contract Exchange(CX) is a protocol to create :term:`Contract`, share privacy data and provide access log.
+Contract Exchange(CX) is a protocol to create :term:`Contract`, to share privacy data and to provide access log.
+
+ - Creating Contact
+
+ - Proposal process & Agreement process
+ - Contract provisioning with encrypted JSON
+
+ - Sharing privacy data
+
+ - Encrypted JSON
+
+ - Access log
+
+ - Negotiating metadata
+ - Encypted JSON
Components
===========
@@ -20,18 +34,79 @@ CX consists of the following components.
- X.509 and PKI
- JSON Simple Sign
- JSON Simple Encryption
+- Token
+
+ - Token is a serialization format in the process of JSON SImple Sign.
Process
========
-- :term:`Client` provides :term:`Request`.
-- :term:`Proposer` collects all necessary :term:`Request` from all :term:`Client`.
-- :term:`Proposer` advertise his service.
-- :term:`End User` starts CX procedure for the service provied by :term:`Proposer`.
-- :term:`End User` agrees the :term:`Proposal` and :term:`Signatory` creates a :term:`Contract`.
-- :term:`Proposer` gets his :term:`Contract Part`.
-- :term:`Client` is notified his :term:`Contract Part` available.
-- :term:`Server` is notified his :term:`Contract Part` available.
-- :term:`Client` request :term:`End User` s privacy data at :term:`Server`.
-- :term:`Signatory` collects all access log from all :term:`Client` and :term:`Server`.
+- Service Advertisement
+
+ - :term:`Client` provides :term:`Request`.
+ - :term:`Proposer` collects all necessary :term:`Request` from all :term:`Client`.
+ - :term:`Proposer` advertise his service.
+
+- Proposal
+
+ - :term:`End User` starts CX procedure for the service provied by :term:`Proposer`.
+
+- Agreement
+
+ - :term:`End User` agrees the :term:`Proposal` and :term:`Signatory` creates a :term:`Contract`.
+
+- Contract Provisioning
+
+ - :term:`Proposer` gets his :term:`Contract Part`.
+ - :term:`Proposer` is notified his :term:`Contract Part` available.
+ - :term:`Client` is notified his :term:`Contract Part` available.
+ - :term:`Server` realizes that his :term:`Contract Part` available.
+
+- Privacy Data Sharing
+
+ - :term:`Client` request :term:`End User` s privacy data at :term:`Server`.
+
+- Log Gathering
+
+ - :term:`Signatory` collects all access log from all :term:`Client` and :term:`Server`.
+
+Party
+=====
+
+
+Client
+------
+
+- Client describe what privacy data he want to provide some services in Request token .
+- Client request privacy data to Server.
+
+.. graphviz::
+
+ digraph {
+ graph [ rankdir = LR ];
+ Client [shape = box ,height=1.0 ,width=1.0];
+ Server [shape = box ,height=1.0 ,width=1.0];
+ "Privacy Data" [shape = hexagon];
+
+ "Client" -> "Server" [label = "request(client id + contract id)"];
+ "Server" -> "Privacy Data" [arrowhead="none"];
+ }
+
+Server
+------
+
+- Server response encrypted privacy data to Client.
+
+.. graphviz::
+
+ digraph {
+ graph [ rankdir = LR ];
+ Client [shape = box ,height=1.0 ,width=1.0];
+ Server [shape = box ,height=1.0 ,width=1.0];
+ "Privacy Data" [shape = hexagon];
+
+ "Client" -> "Server" [label = "response(encypted privacy data)",arrowhead=none,arrowtail=normal];
+ "Server" -> "Privacy Data" [arrowhead="none"];
+ }
+
View
3  doc/build/html/_sources/index.txt
@@ -15,6 +15,9 @@ Contents:
privacy_data_and_contract
contract_exchange
+ providing_request
+
+ sample_printing/index
glossary
View
10 doc/build/html/_sources/privacy_data_and_contract.txt
@@ -13,7 +13,7 @@ When sharing your privacy data, the following items must be considered.
- Discovering : Where is your privacy data stored?
- Granting : Who can access your privacy data?
- Accessing : Does he have proper right to copy your privacy data?
-- Using : Is he keeping the privacy policy which you have enforced?
+- Utilizing : Is he keeping the privacy policy which you have enforced?
OpenID CX for Privacy Data Sharing
==================================
@@ -23,13 +23,13 @@ OpenID CX protocol resolve like this.
- Meaning : Out of scope. OpenID AX with typeURI or other starndard can be used to negotiate.
- Discovering : Out of scope. :term:`Signatory` can be found by OpenID Authentication protocol. Privacy data source is to be bound at :term:`Signatory` in some way.
- Granting : :term:`Contract Part` is access token.
-- Accessing : :term:`Client` who has his/her :term:`Contract Part` can request privacy data with :term:`Contract Identifier` in REST call specifeid by CX.
-- Using : :term:`Proposal` can describe or refer conditions under which privacy data is used and penalty when the condisions is breached. CX also provide access log rule.
+- Accessing : :term:`Client` who has his/her :term:`Contract Part` can request privacy data with :term:`Contract Identifier` in REST call specifeid by CX. Responded privacy data is encrypted with Client's public key stated in Contract Part.
+- Utilizing : :term:`Proposal` can describe or refer conditions under which privacy data is used. CX also provide access log rule.
So What is Contract?
============================
-Contract is token with statement.
+Contract is token with legal statement.
- Access token to your privacy data.
-- Statement of the utilization of your privacy data.
+- Legal statement of the utilization of your privacy data.
View
105 doc/build/html/contract_exchange.html
@@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/theme_extras.js"></script>
<link rel="top" title="OpenID CX v1 documentation" href="index.html" />
- <link rel="next" title="Glossary" href="glossary.html" />
+ <link rel="next" title="Providing Request File" href="providing_request.html" />
<link rel="prev" title="Privacy Data and Contract" href="privacy_data_and_contract.html" />
</head>
<body>
@@ -40,7 +40,7 @@ <h2 class="heading"><span>Contract Exchange</span></h2>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="index.html">Contents</a>
&#160;&#160;::&#160;&#160;
- <a href="glossary.html">Glossary</a>&#160;&#160;»
+ <a href="providing_request.html">Providing Request File</a>&#160;&#160;»
</p>
</div>
@@ -49,9 +49,27 @@ <h2 class="heading"><span>Contract Exchange</span></h2>
<div class="section" id="contract-exchange">
<span id="id1"></span><h1>Contract Exchange<a class="headerlink" href="#contract-exchange" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="protocal">
-<h2>Protocal<a class="headerlink" href="#protocal" title="Permalink to this headline">¶</a></h2>
-<p>Contract Exchange(CX) is a protocol to create <a class="reference internal" href="glossary.html#term-contract"><em class="xref std std-term">Contract</em></a>, share privacy data and provide access log.</p>
+<div class="section" id="protocol">
+<h2>Protocol<a class="headerlink" href="#protocol" title="Permalink to this headline">¶</a></h2>
+<p>Contract Exchange(CX) is a protocol to create <a class="reference internal" href="glossary.html#term-contract"><em class="xref std std-term">Contract</em></a>, to share privacy data and to provide access log.</p>
+<blockquote>
+<ul class="simple">
+<li>Creating Contact<ul>
+<li>Proposal process &amp; Agreement process</li>
+<li>Contract provisioning with encrypted JSON</li>
+</ul>
+</li>
+<li>Sharing privacy data<ul>
+<li>Encrypted JSON</li>
+</ul>
+</li>
+<li>Access log<ul>
+<li>Negotiating metadata</li>
+<li>Encypted JSON</li>
+</ul>
+</li>
+</ul>
+</blockquote>
</div>
<div class="section" id="components">
<h2>Components<a class="headerlink" href="#components" title="Permalink to this headline">¶</a></h2>
@@ -62,22 +80,95 @@ <h2 class="heading"><span>Contract Exchange</span></h2>
<li>X.509 and PKI</li>
<li>JSON Simple Sign</li>
<li>JSON Simple Encryption</li>
+<li>Token</li>
+</ul>
+<blockquote>
+<ul class="simple">
+<li>Token is a serialization format in the process of JSON SImple Sign.</li>
</ul>
+</blockquote>
</div>
<div class="section" id="process">
<h2>Process<a class="headerlink" href="#process" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
+<li>Service Advertisement<ul>
<li><a class="reference internal" href="glossary.html#term-client"><em class="xref std std-term">Client</em></a> provides <a class="reference internal" href="glossary.html#term-request"><em class="xref std std-term">Request</em></a>.</li>
<li><a class="reference internal" href="glossary.html#term-proposer"><em class="xref std std-term">Proposer</em></a> collects all necessary <a class="reference internal" href="glossary.html#term-request"><em class="xref std std-term">Request</em></a> from all <a class="reference internal" href="glossary.html#term-client"><em class="xref std std-term">Client</em></a>.</li>
<li><a class="reference internal" href="glossary.html#term-proposer"><em class="xref std std-term">Proposer</em></a> advertise his service.</li>
+</ul>
+</li>
+<li>Proposal<ul>
<li><a class="reference internal" href="glossary.html#term-end-user"><em class="xref std std-term">End User</em></a> starts CX procedure for the service provied by <a class="reference internal" href="glossary.html#term-proposer"><em class="xref std std-term">Proposer</em></a>.</li>
+</ul>
+</li>
+<li>Agreement<ul>
<li><a class="reference internal" href="glossary.html#term-end-user"><em class="xref std std-term">End User</em></a> agrees the <a class="reference internal" href="glossary.html#term-proposal"><em class="xref std std-term">Proposal</em></a> and <a class="reference internal" href="glossary.html#term-signatory"><em class="xref std std-term">Signatory</em></a> creates a <a class="reference internal" href="glossary.html#term-contract"><em class="xref std std-term">Contract</em></a>.</li>
+</ul>
+</li>
+<li>Contract Provisioning</li>
+</ul>
+<blockquote>
+<ul class="simple">
<li><a class="reference internal" href="glossary.html#term-proposer"><em class="xref std std-term">Proposer</em></a> gets his <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a>.</li>
+<li><a class="reference internal" href="glossary.html#term-proposer"><em class="xref std std-term">Proposer</em></a> is notified his <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a> available.</li>
<li><a class="reference internal" href="glossary.html#term-client"><em class="xref std std-term">Client</em></a> is notified his <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a> available.</li>
-<li><a class="reference internal" href="glossary.html#term-server"><em class="xref std std-term">Server</em></a> is notified his <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a> available.</li>
+<li><a class="reference internal" href="glossary.html#term-server"><em class="xref std std-term">Server</em></a> realizes that his <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a> available.</li>
+</ul>
+</blockquote>
+<ul class="simple">
+<li>Privacy Data Sharing</li>
+</ul>
+<blockquote>
+<ul class="simple">
<li><a class="reference internal" href="glossary.html#term-client"><em class="xref std std-term">Client</em></a> request <a class="reference internal" href="glossary.html#term-end-user"><em class="xref std std-term">End User</em></a> s privacy data at <a class="reference internal" href="glossary.html#term-server"><em class="xref std std-term">Server</em></a>.</li>
+</ul>
+</blockquote>
+<ul class="simple">
+<li>Log Gathering</li>
+</ul>
+<blockquote>
+<ul class="simple">
<li><a class="reference internal" href="glossary.html#term-signatory"><em class="xref std std-term">Signatory</em></a> collects all access log from all <a class="reference internal" href="glossary.html#term-client"><em class="xref std std-term">Client</em></a> and <a class="reference internal" href="glossary.html#term-server"><em class="xref std std-term">Server</em></a>.</li>
</ul>
+</blockquote>
+</div>
+<div class="section" id="party">
+<h2>Party<a class="headerlink" href="#party" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="client">
+<h3>Client<a class="headerlink" href="#client" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>Client describe what privacy data he want to provide some services in Request token .</li>
+<li>Client request privacy data to Server.</li>
+</ul>
+<p class="graphviz">
+<img src="_images/graphviz-342dd2517f2ef4e5c19110b0ed69d8fe17258db8.png" alt="digraph {
+ graph [ rankdir = LR ];
+ Client [shape = box ,height=1.0 ,width=1.0];
+ Server [shape = box ,height=1.0 ,width=1.0];
+ &quot;Privacy Data&quot; [shape = hexagon];
+
+ &quot;Client&quot; -&gt; &quot;Server&quot; [label = &quot;request(client id + contract id)&quot;];
+ &quot;Server&quot; -&gt; &quot;Privacy Data&quot; [arrowhead=&quot;none&quot;];
+}" />
+</p>
+</div>
+<div class="section" id="server">
+<h3>Server<a class="headerlink" href="#server" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>Server response encrypted privacy data to Client.</li>
+</ul>
+<p class="graphviz">
+<img src="_images/graphviz-8c19eb8d3f177e34c201da2938e3bac0b21bd25b.png" alt="digraph {
+ graph [ rankdir = LR ];
+ Client [shape = box ,height=1.0 ,width=1.0];
+ Server [shape = box ,height=1.0 ,width=1.0];
+ &quot;Privacy Data&quot; [shape = hexagon];
+
+ &quot;Client&quot; -&gt; &quot;Server&quot; [label = &quot;response(encypted privacy data)&quot;,arrowhead=none,arrowtail=normal];
+ &quot;Server&quot; -&gt; &quot;Privacy Data&quot; [arrowhead=&quot;none&quot;];
+}" />
+</p>
+</div>
</div>
</div>
@@ -90,7 +181,7 @@ <h2 class="heading"><span>Contract Exchange</span></h2>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="index.html">Contents</a>
&#160;&#160;::&#160;&#160;
- <a href="glossary.html">Glossary</a>&#160;&#160;»
+ <a href="providing_request.html">Providing Request File</a>&#160;&#160;»
</p>
</div>
View
15 doc/build/html/index.html
@@ -56,11 +56,24 @@ <h2 class="heading"><span>Welcome to OpenID CX’s documentation!</span></h2>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contract_exchange.html">Contract Exchange</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="contract_exchange.html#protocal">Protocal</a></li>
+<li class="toctree-l2"><a class="reference internal" href="contract_exchange.html#protocol">Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="contract_exchange.html#components">Components</a></li>
<li class="toctree-l2"><a class="reference internal" href="contract_exchange.html#process">Process</a></li>
+<li class="toctree-l2"><a class="reference internal" href="contract_exchange.html#party">Party</a></li>
</ul>
</li>
+<li class="toctree-l1"><a class="reference internal" href="providing_request.html">Providing Request File</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="providing_request.html#request-file">Request File</a></li>
+<li class="toctree-l2"><a class="reference internal" href="providing_request.html#privacy-data">Privacy Data</a></li>
+<li class="toctree-l2"><a class="reference internal" href="providing_request.html#server">Server</a></li>
+<li class="toctree-l2"><a class="reference internal" href="providing_request.html#token">Token</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="sample_printing/index.html">Use Case: Print service for diary with private anniversaries.</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="sample_printing/senario.html">Senario</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="sample_printing/index.html#indices-and-tables">Indices and tables</a></li>
<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a><ul>
<li class="toctree-l2"><a class="reference internal" href="glossary.html#terminology">Terminology</a></li>
</ul>
View
BIN  doc/build/html/objects.inv
Binary file not shown
View
10 doc/build/html/privacy_data_and_contract.html
@@ -57,7 +57,7 @@ <h2 class="heading"><span>Privacy Data and Contract</span></h2>
<li>Discovering : Where is your privacy data stored?</li>
<li>Granting : Who can access your privacy data?</li>
<li>Accessing : Does he have proper right to copy your privacy data?</li>
-<li>Using : Is he keeping the privacy policy which you have enforced?</li>
+<li>Utilizing : Is he keeping the privacy policy which you have enforced?</li>
</ul>
</div>
<div class="section" id="openid-cx-for-privacy-data-sharing">
@@ -67,16 +67,16 @@ <h2 class="heading"><span>Privacy Data and Contract</span></h2>
<li>Meaning : Out of scope. OpenID AX with typeURI or other starndard can be used to negotiate.</li>
<li>Discovering : Out of scope. <a class="reference internal" href="glossary.html#term-signatory"><em class="xref std std-term">Signatory</em></a> can be found by OpenID Authentication protocol. Privacy data source is to be bound at <a class="reference internal" href="glossary.html#term-signatory"><em class="xref std std-term">Signatory</em></a> in some way.</li>
<li>Granting : <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a> is access token.</li>
-<li>Accessing : <a class="reference internal" href="glossary.html#term-client"><em class="xref std std-term">Client</em></a> who has his/her <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a> can request privacy data with <a class="reference internal" href="glossary.html#term-contract-identifier"><em class="xref std std-term">Contract Identifier</em></a> in REST call specifeid by CX.</li>
-<li>Using : <a class="reference internal" href="glossary.html#term-proposal"><em class="xref std std-term">Proposal</em></a> can describe or refer conditions under which privacy data is used and penalty when the condisions is breached. CX also provide access log rule.</li>
+<li>Accessing : <a class="reference internal" href="glossary.html#term-client"><em class="xref std std-term">Client</em></a> who has his/her <a class="reference internal" href="glossary.html#term-contract-part"><em class="xref std std-term">Contract Part</em></a> can request privacy data with <a class="reference internal" href="glossary.html#term-contract-identifier"><em class="xref std std-term">Contract Identifier</em></a> in REST call specifeid by CX. Responded privacy data is encrypted with Client&#8217;s public key stated in Contract Part.</li>
+<li>Utilizing : <a class="reference internal" href="glossary.html#term-proposal"><em class="xref std std-term">Proposal</em></a> can describe or refer conditions under which privacy data is used. CX also provide access log rule.</li>
</ul>
</div>
<div class="section" id="so-what-is-contract">
<h2>So What is Contract?<a class="headerlink" href="#so-what-is-contract" title="Permalink to this headline">¶</a></h2>
-<p>Contract is token with statement.</p>
+<p>Contract is token with legal statement.</p>
<ul class="simple">
<li>Access token to your privacy data.</li>
-<li>Statement of the utilization of your privacy data.</li>
+<li>Legal statement of the utilization of your privacy data.</li>
</ul>
</div>
</div>
View
2  doc/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({objects:{},terms:{all:[0,2],identifi:[0,3],help:0,rest:3,collabor:0,identfi:0,protoc:[1,2],openid_ab:0,follow:[2,3],pki:2,entiti:0,penalti:3,signatori:[0,2,3],ver:0,secur:0,expos:0,how:[0,3],polici:3,activ:[],should:3,valid:0,under:[0,3],breach:3,smart:0,sourc:3,string:0,format:0,initi:0,util:3,govern:0,you:3,draft00:0,privilleg:0,term:[],like:3,specif:0,resolv:3,authent:3,server:[0,2],item:3,token:[0,3],necessari:2,found:3,septemb:0,where:3,page:1,mean:3,fulfil:0,right:3,some:[0,3],procedur:2,sign:[0,2],proper:3,out:3,index:1,what:[0,1,3],collect:2,protocol:[2,3],research:0,access:[0,2,3],state:0,between:0,condit:[0,3],experi:0,condis:3,refer:3,who:[0,3],web:0,json:[0,2],reqeust:[],signer:0,institut:0,advertis:2,describ:[0,3],search:1,wai:3,contract:[0,1,2,3],keep:3,enforc:3,permit:0,own:0,json_simple_sign_1_0:0,notifi:2,exchang:[1,2],modul:1,bound:[0,3],terminolog:[0,1],agre:2,your:3,avail:2,from:[0,2],log:[2,3],her:3,prove:0,provi:2,devic:0,compos:0,compon:[1,2],start:[0,2],reli:0,call:3,statement:3,privaci:[0,1,2,3],scope:3,store:3,typeuri:3,copi:3,specifi:0,content:1,part:[0,2,3],accept:0,particular:0,hold:0,holder:0,must:[0,3],endpoint:0,consist:[0,2],provid:[0,2,3],servic:[0,2],uniqu:0,structur:3,defin:0,can:[0,3],glossari:[0,1],control:0,artifact:[0,2],want:0,creat:2,process:[0,1,2],deliv:0,share:[1,2,3],indic:1,have:3,tabl:1,serial:0,protiv:0,nomura:0,end:[0,2],welcom:1,grant:3,parti:0,get:2,when:3,same:0,also:3,other:3,starndard:3,which:[0,3],transmit:0,negoti:3,document:[0,1],simpl:[0,2],openid:[0,1,2,3],star:[],distribut:0,object:0,discov:3,user:[0,2],consid:3,mai:0,encrypt:2,data:[0,1,2,3],charg:0,specifeid:3,coupl:0,orchestr:0,bind:[0,2],author:0,request:[0,2,3],uri:0,rule:3,doe:3,person:0,client:[0,2,3],thi:[0,3],njson:0,propos:[0,2,3]},objtypes:{},titles:["Glossary","Welcome to OpenID CX&#8217;s documentation!","Contract Exchange","Privacy Data and Contract"],objnames:{},filenames:["glossary","index","contract_exchange","privacy_data_and_contract"]})
+Search.setIndex({objects:{},terms:{all:[2,1],identifi:[2,6],help:2,from:[2,1],text:3,rest:6,collabor:2,identfi:2,own:2,openid_ab:2,follow:[1,6],pki:1,foo1:[],foo2:[],entiti:2,penalti:[],signatori:[2,5,1,6],privat:[0,4],ver:2,expos:2,also:6,polici:6,graph:[],activ:[],should:6,other:6,under:[2,6],breach:[],smart:2,reli:2,sourc:6,diari:[0,4],string:2,format:[2,1,3],initi:2,util:6,realiz:1,know:3,govern:2,yourbook:5,negoti:[1,6],draft00:2,privilleg:2,term:[],experi:2,like:6,specif:2,stationari:5,resolv:6,authent:6,"public":6,item:6,token:[2,0,1,3,6],necessari:1,found:6,refer:6,where:6,page:[0,4],mean:6,fulfil:2,right:6,some:[2,1,3,6],procedur:1,sign:[2,1],respons:1,proper:6,server:[2,0,5,1,3],out:6,index:[0,4],what:[2,0,1,3,6],collect:1,user:[2,5,1,3],legal:6,label:[],access:[2,1,6],encrypt:[1,6],state:[2,6],between:2,print:[0,4],condit:[2,6],foo:[],anniversari:[0,4],condis:[],metadata:1,object:2,kei:6,web:2,reqeust:3,agreement:1,glossari:[2,0],shape:[],sing:3,advertis:1,log:[1,6],box:[],search:[0,4],septemb:2,her:6,arrowtail:[],contract:[2,0,1,6],keep:6,enforc:6,permit:2,com:5,research:2,respond:6,protoc:[],json_simple_sign_1_0:2,notifi:1,digraph:[],exchang:[0,1],modul:[0,4],bound:[2,6],terminolog:[2,0],height:[],doesn:3,agre:1,your:6,compon:[0,1],server_id:3,institut:2,describ:[2,1,3,6],wai:6,prove:2,provi:1,devic:2,compos:2,avail:1,start:[2,1],json:[2,1,3],call:6,statement:6,privaci:[2,0,1,3,6],protocol:[0,1,6],scope:6,store:6,typeuri:6,grant:6,copi:6,yahoo:5,specifi:[2,3],content:[0,4],part:[2,1,6],senario:[0,4,5],indic:[0,4],mostli:3,particular:[2,3],hold:[2,3],holder:2,must:[2,3,6],"case":[0,4],none:[],endpoint:[2,3],consist:[2,1],provid:[2,0,1,3,6],servic:[2,0,4,1,3],uniqu:2,structur:6,defin:2,can:[2,6],signer:2,provis:1,control:2,gather:1,file:[0,3],creat:1,process:[2,0,1,3],tabl:[0,4],share:[0,1,6],accept:2,encypt:1,have:6,deliv:2,serial:[2,1,3],protiv:2,rankdir:[],nomura:2,arrowhead:[],welcom:0,want:[2,1,3],secur:2,parti:[2,0,4,5,1],make:3,get:1,when:6,same:2,client:[2,5,1,3,6],how:[2,6],valid:2,starndard:6,rememb:5,transmit:2,you:6,document:[2,0],simpl:[2,1,3],openid:[2,0,1,6],star:[],distribut:2,normal:[],who:[2,6],discov:6,artifact:[2,1],consid:6,mai:[2,3],end:[2,5,1,3],data:[2,0,1,3,6],charg:2,specifeid:6,coupl:2,orchestr:2,bind:[2,1],author:2,request:[2,0,1,3,6],uri:2,rule:6,doe:6,person:2,which:[2,3,6],contact:1,thi:[2,6],njson:2,width:[],propos:[2,5,1,6]},objtypes:{},titles:["Welcome to OpenID CX&#8217;s documentation!","Contract Exchange","Glossary","Providing Request File","Use Case: Print service for diary with private anniversaries.","Senario","Privacy Data and Contract"],objnames:{},filenames:["index","contract_exchange","glossary","providing_request","sample_printing/index","sample_printing/senario","privacy_data_and_contract"]})
View
1  doc/source/conf.py
@@ -26,6 +26,7 @@
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.viewcode']
+extensions.append('sphinx.ext.graphviz')
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
View
99 doc/source/contract_exchange.rst
@@ -5,10 +5,24 @@ Contract Exchange
==================
-Protocal
+Protocol
=================
-Contract Exchange(CX) is a protocol to create :term:`Contract`, share privacy data and provide access log.
+Contract Exchange(CX) is a protocol to create :term:`Contract`, to share privacy data and to provide access log.
+
+ - Creating Contact
+
+ - Proposal process & Agreement process
+ - Contract provisioning with encrypted JSON
+
+ - Sharing privacy data
+
+ - Encrypted JSON
+
+ - Access log
+
+ - Negotiating metadata
+ - Encypted JSON
Components
===========
@@ -20,18 +34,79 @@ CX consists of the following components.
- X.509 and PKI
- JSON Simple Sign
- JSON Simple Encryption
+- Token
+
+ - Token is a serialization format in the process of JSON SImple Sign.
Process
========
-- :term:`Client` provides :term:`Request`.
-- :term:`Proposer` collects all necessary :term:`Request` from all :term:`Client`.
-- :term:`Proposer` advertise his service.
-- :term:`End User` starts CX procedure for the service provied by :term:`Proposer`.
-- :term:`End User` agrees the :term:`Proposal` and :term:`Signatory` creates a :term:`Contract`.
-- :term:`Proposer` gets his :term:`Contract Part`.
-- :term:`Client` is notified his :term:`Contract Part` available.
-- :term:`Server` is notified his :term:`Contract Part` available.
-- :term:`Client` request :term:`End User` s privacy data at :term:`Server`.
-- :term:`Signatory` collects all access log from all :term:`Client` and :term:`Server`.
+- Service Advertisement
+
+ - :term:`Client` provides :term:`Request`.
+ - :term:`Proposer` collects all necessary :term:`Request` from all :term:`Client`.
+ - :term:`Proposer` advertise his service.
+
+- Proposal
+
+ - :term:`End User` starts CX procedure for the service provied by :term:`Proposer`.
+
+- Agreement
+
+ - :term:`End User` agrees the :term:`Proposal` and :term:`Signatory` creates a :term:`Contract`.
+
+- Contract Provisioning
+
+ - :term:`Proposer` gets his :term:`Contract Part`.
+ - :term:`Proposer` is notified his :term:`Contract Part` available.
+ - :term:`Client` is notified his :term:`Contract Part` available.
+ - :term:`Server` realizes that his :term:`Contract Part` available.
+
+- Privacy Data Sharing
+
+ - :term:`Client` request :term:`End User` s privacy data at :term:`Server`.
+
+- Log Gathering
+
+ - :term:`Signatory` collects all access log from all :term:`Client` and :term:`Server`.
+
+Party
+=====
+
+
+Client
+------
+
+- Client describe what privacy data he want to provide some services in Request token .
+- Client request privacy data to Server.
+
+.. graphviz::
+
+ digraph {
+ graph [ rankdir = LR ];
+ Client [shape = box ,height=1.0 ,width=1.0];
+ Server [shape = box ,height=1.0 ,width=1.0];
+ "Privacy Data" [shape = hexagon];
+
+ "Client" -> "Server" [label = "request(client id + contract id)"];
+ "Server" -> "Privacy Data" [arrowhead="none"];
+ }
+
+Server
+------
+
+- Server response encrypted privacy data to Client.
+
+.. graphviz::
+
+ digraph {
+ graph [ rankdir = LR ];
+ Client [shape = box ,height=1.0 ,width=1.0];
+ Server [shape = box ,height=1.0 ,width=1.0];
+ "Privacy Data" [shape = hexagon];
+
+ "Client" -> "Server" [label = "response(encypted privacy data)",arrowhead=none,arrowtail=normal];
+ "Server" -> "Privacy Data" [arrowhead="none"];
+ }
+
View
3  doc/source/index.rst
@@ -15,6 +15,9 @@ Contents:
privacy_data_and_contract
contract_exchange
+ providing_request
+
+ sample_printing/index
glossary
View
10 doc/source/privacy_data_and_contract.rst
@@ -13,7 +13,7 @@ When sharing your privacy data, the following items must be considered.
- Discovering : Where is your privacy data stored?
- Granting : Who can access your privacy data?
- Accessing : Does he have proper right to copy your privacy data?
-- Using : Is he keeping the privacy policy which you have enforced?
+- Utilizing : Is he keeping the privacy policy which you have enforced?
OpenID CX for Privacy Data Sharing
==================================
@@ -23,13 +23,13 @@ OpenID CX protocol resolve like this.
- Meaning : Out of scope. OpenID AX with typeURI or other starndard can be used to negotiate.
- Discovering : Out of scope. :term:`Signatory` can be found by OpenID Authentication protocol. Privacy data source is to be bound at :term:`Signatory` in some way.
- Granting : :term:`Contract Part` is access token.
-- Accessing : :term:`Client` who has his/her :term:`Contract Part` can request privacy data with :term:`Contract Identifier` in REST call specifeid by CX.
-- Using : :term:`Proposal` can describe or refer conditions under which privacy data is used and penalty when the condisions is breached. CX also provide access log rule.
+- Accessing : :term:`Client` who has his/her :term:`Contract Part` can request privacy data with :term:`Contract Identifier` in REST call specifeid by CX. Responded privacy data is encrypted with Client's public key stated in Contract Part.
+- Utilizing : :term:`Proposal` can describe or refer conditions under which privacy data is used. CX also provide access log rule.
So What is Contract?
============================
-Contract is token with statement.
+Contract is token with legal statement.
- Access token to your privacy data.
-- Statement of the utilization of your privacy data.
+- Legal statement of the utilization of your privacy data.
Please sign in to comment.
Something went wrong with that request. Please try again.