<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog Site on Eccentric Authentication</title>
    <link>/categories/blog-site/</link>
    <description>Recent content in Blog Site on Eccentric Authentication</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 07 Jun 2013 00:00:00 +0000</lastBuildDate>
    <atom:link href="/categories/blog-site/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>run it yourself</title>
      <link>/blog/2013/06/07/run-it-yourself</link>
      <pubDate>Fri, 07 Jun 2013 00:00:00 +0000</pubDate>
      
      <guid>/blog/2013/06/07/run-it-yourself</guid>
      <description>

&lt;blockquote&gt;
&lt;p&gt;Safe, secure and as anonymous as you want.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It was already possible to test drive the Eccentric Authentication&lt;br /&gt;
Proxy. But it required you to compile software. Now we&amp;rsquo;ve flattend that&lt;br /&gt;
hurdle (a bit).&lt;/p&gt;

&lt;p&gt;As of today we can offer the first download of our client software for&lt;br /&gt;
Debian GNU/Linux. It might even work at other linux-distributions.&lt;/p&gt;

&lt;p&gt;The software is a local proxy service. It sits on your computer,&lt;br /&gt;
receiving requests from your brower. It does all cryptographic&lt;br /&gt;
operations that browsers are bad at.&lt;/p&gt;

&lt;p&gt;Here is a walkthrough of what you can expect when you run it: &lt;a href=&#34;/blog/2013/06/12/walkthrough-datingsite&#34;&gt;walkthrough&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;download&#34;&gt;download&lt;/h2&gt;

&lt;p&gt;You can download the ecca-proxy software here: &lt;a href=&#34;/ecca-proxy.tgz&#34;&gt;ecca-proxy.tgz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice that this is a 64-bit executable. (linux only).&lt;/p&gt;

&lt;h2 id=&#34;run-it&#34;&gt;run it&lt;/h2&gt;

&lt;p&gt;To run it, perform these steps:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;apt get install libunbound2 libsqlite3 openssl
tar xzvf ecca-proxy.tgz

./ecca-proxy
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;configure-your-browser&#34;&gt;configure your browser&lt;/h2&gt;

&lt;p&gt;You need to configure your brower to send all requests to the ecca-proxy. Here is how to do that:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;start your browser (iceweasel/firefox)
click on Edit -&amp;gt; Preferences -&amp;gt; Advanced -&amp;gt; Network -&amp;gt; Settings
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You should see this:&lt;/p&gt;









&lt;span class=&#34;caption-wrapper&#34;&gt;
  &lt;img class=&#34;caption&#34; src=&#34;/images/iceweasel-proxy-preferences.png&#34; title=&#34;&#34; alt=&#34;&#34;&gt;
  &lt;span class=&#34;caption-text&#34;&gt;&lt;/span&gt;
&lt;/span&gt;


&lt;p&gt;Click &lt;em&gt;&amp;lsquo;Manual&amp;hellip;&amp;rsquo;&lt;/em&gt; and fill in &lt;em&gt;127.0.0.1&lt;/em&gt; and port &lt;em&gt;8000&lt;/em&gt; at the HTTP Proxy setting and press Ok -&amp;gt; Close&lt;/p&gt;

&lt;p&gt;Now you&amp;rsquo;re ready to play with it. We have two websites that offer Eccentric Authentication:&lt;/p&gt;

&lt;h3 id=&#34;1-the-worlds-most-secure-dating-site&#34;&gt;1. The worlds&amp;rsquo; most secure dating site&lt;/h3&gt;

&lt;p&gt;It looks a bit like a dating site. You can get a list of aliens (as we&lt;br /&gt;
call humans that use this service). You can create your own&lt;br /&gt;
profile. And you can send encrypted messages. The proxy is handling&lt;br /&gt;
encryption and decryption. The dating site only sees the unreadable&lt;br /&gt;
bits (ciphertext).&lt;/p&gt;

&lt;p&gt;To see the messaging in action, get a friend to sign up too and send&lt;br /&gt;
encrypted messages to each other. It&amp;rsquo;s free!&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;http://dating.wtmnd.nl/
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&#34;2-the-cryptoblog&#34;&gt;2. The cryptoblog&lt;/h3&gt;

&lt;p&gt;It&amp;rsquo;s a rudimentary blogging site. You can create a blog or comment on&lt;br /&gt;
other peoples&amp;rsquo; blogs. The demo showcases how one can exchange keys&lt;br /&gt;
with strangers - correctly - without any dificult prodedures. Instead,&lt;br /&gt;
just click.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;http://cryptoblog.wtmnd.nl/
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;free-software&#34;&gt;Free software&lt;/h2&gt;

&lt;p&gt;This is all Free Software with open source code. The source code of the ecca-proxy is at:&lt;br /&gt;
&lt;a href=&#34;https://github.com/gwitmond/ecca-proxy&#34;&gt;github.com/gwitmond/ecca-proxy&lt;/a&gt;.&lt;br /&gt;
The dating site is based at &lt;a href=&#34;https://github.com/gwitmond/ecca-datingsite&#34;&gt;github.com/gwitmond/ecca-datingsite&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>a blog site</title>
      <link>/blog/2012/10/23/a-blog-site</link>
      <pubDate>Tue, 23 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>/blog/2012/10/23/a-blog-site</guid>
      <description>&lt;p&gt;&lt;em&gt;A blog site&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This blog specifies how Eccentric Authentication can be used to design&lt;br /&gt;
a blog site. The most impressive aspect is that we can create a blog&lt;br /&gt;
site that allows anyone to blog using a pseudonym. Even the site&lt;br /&gt;
operators cannot learn the real identity of the blogger.&lt;/p&gt;

&lt;p&gt;Commenters can write either anonymous or under a pseudonym.&lt;/p&gt;

&lt;p&gt;And we show how participants can write private message to each other,&lt;br /&gt;
again without any third party being able to read the contents of the&lt;br /&gt;
messages.&lt;/p&gt;

&lt;p&gt;We will address how to deal with trolls, spammers and other abuse.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sign up for a blog&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;People can sign up for our blog site with an Ecca-account. As with&lt;br /&gt;
every Ecca-account, you choose your username. Your browser generates a&lt;br /&gt;
private key for the account and requests a certificate. When your&lt;br /&gt;
chosen username is still available at the site, you get the&lt;br /&gt;
certificate that binds the username to your public key. The signature&lt;br /&gt;
from the site binds it to the blog site.&lt;/p&gt;

&lt;p&gt;The certificate is used by the site to control access to your blog. It&lt;br /&gt;
means, only you can write at your blog.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Writing your blog entries&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Unless ordinary blog sites, this only publishes cryptographically&lt;br /&gt;
signed data. When you want to write a blog entry, you start your web&lt;br /&gt;
browser, type your text and have your browser sign it with your&lt;br /&gt;
private key. Then you send it to our blog site for publication.&lt;/p&gt;

&lt;p&gt;The site verifies your signature and if that succeeds, it adds your&lt;br /&gt;
message and it&amp;rsquo;s signature to the blog. Under the hood it looks like&lt;br /&gt;
this:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;blog_entry&amp;gt;&amp;lt;title&amp;gt;A sunny afternoon&amp;lt;/title&amp;gt;
   &amp;lt;body&amp;gt;It was a sunny afternoon, time for a beer when .... happend. 
         I loved it.&amp;lt;/body&amp;gt;
   &amp;lt;signature id=&amp;quot;your-username&amp;quot; algorithm=&amp;quot;sha256&amp;quot;&amp;gt;[long hexadecimal string 
     representing the cryptographic signature of above message, signed 
     with your private key]&amp;lt;/signature&amp;gt;
&amp;lt;/blog_entry&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The readers will &amp;ndash; of course &amp;ndash; see a nicely formatted blog entry&lt;br /&gt;
with the signature string hidden, thanks to the wonders that is CSS.&lt;/p&gt;

&lt;p&gt;Your readers&amp;rsquo; browser on the other hand will check the signature. They&lt;br /&gt;
fetch your certificate from the site and actually validate the&lt;br /&gt;
signature against your private key in the certificate.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Writing comments&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Readers can leave comments. It&amp;rsquo;s a blog, so comments are&lt;br /&gt;
expected. There are two kinds of comments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;anonymous comments;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;pseudonymous comments.&lt;br /&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The anonymous comments are written by people that love to read your&lt;br /&gt;
blog but don&amp;rsquo;t want to leave any identity when responding.&lt;/p&gt;

&lt;p&gt;The anonymous comments can be held back for publishing until you&lt;br /&gt;
approve them. Or you can allow them up front and you delete them when&lt;br /&gt;
you disapprove. How these comments are dealt with it totally up to&lt;br /&gt;
you. It&amp;rsquo;s your blog. If you disagree with an already published&lt;br /&gt;
anonymous comment you can delete it any time.&lt;/p&gt;

&lt;p&gt;To write a pseudonymous responses requires an Ecca-account. When a&lt;br /&gt;
reader wants to write a comment under a pseudonym, he registers for an&lt;br /&gt;
Ecca account at our blog site before he can write.  Then his browser&lt;br /&gt;
signs the comments with his private key and delivers it at the blog&lt;br /&gt;
site. The site validates your message signature against your&lt;br /&gt;
certificate and posts the comment at the blog.&lt;/p&gt;

&lt;p&gt;As the comments are signed with the commenters&amp;rsquo; private key, just like&lt;br /&gt;
blog entries are, it allows the other blog readers to validate the&lt;br /&gt;
signature. When that signature is valid, the readers have linked your&lt;br /&gt;
public key and your ecca-identity to the message.&lt;/p&gt;

&lt;p&gt;When writing under a pseudonym you can establish a reputation where&lt;br /&gt;
others may recognise your nickname. Even though they don&amp;rsquo;t know your&lt;br /&gt;
real name.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scoring&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There is a difference between anonymous and pseudonymous&lt;br /&gt;
commenters. Anonymous commenters know their status. Their messages&lt;br /&gt;
need approval upfront and face deletion any time.&lt;/p&gt;

&lt;p&gt;The blog-site keeps track of a reputation score. For every comment you&lt;br /&gt;
write that gets published, you score a reputation point. At first,&lt;br /&gt;
your messages are held back for vetting by the blog owner.&lt;/p&gt;

&lt;p&gt;When you acquire a certain number, say 5 points, your future messages&lt;br /&gt;
will be published without pre-approval of the blog owner, while still&lt;br /&gt;
scoring points.&lt;/p&gt;

&lt;p&gt;When your messages gets flagged as spam by the blog owner, you lose&lt;br /&gt;
half your points. It&amp;rsquo;s the electronic version of trust that comes by&lt;br /&gt;
foot and leaves by horse. It&amp;rsquo;s more difficult to gain trust than it is&lt;br /&gt;
to lose it.&lt;/p&gt;

&lt;p&gt;With a reputation management scheme, such as this we can keep the&lt;br /&gt;
spammers and trolls at bay.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Private messaging&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What we do differently than other sites is that we publish your&lt;br /&gt;
message together with the signature and a way to obtain the&lt;br /&gt;
certificate. It allows your browser to validate the signature and it&lt;br /&gt;
ties your public key to the message.&lt;/p&gt;

&lt;p&gt;With the public key, people can encrypt a message that only your&lt;br /&gt;
matching private key can decrypt. This is the basis for truly secure&lt;br /&gt;
private messaging.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s how it works: A commenter writes a message in his browser, when&lt;br /&gt;
he&amp;rsquo;s finished writing, his browser signs it with his private key and&lt;br /&gt;
encrypts it with your public key. Then the browser drops the message&lt;br /&gt;
at our sites&amp;rsquo; drop box for delivery. Next time you log in, you receive&lt;br /&gt;
the message. Your browser decrypts it with your private key and you&lt;br /&gt;
can read it. As the message is signed, you can validate its signature,&lt;br /&gt;
and when that succeeds, you have the correct public key of the person&lt;br /&gt;
who wrote the message. That key also validates every other message&lt;br /&gt;
written by the person, you now know the persons&amp;rsquo; &amp;ldquo;history&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;Using the same method, you can respond to the person.&lt;/p&gt;

&lt;p&gt;Now that you&amp;rsquo;ve exchanged keys you can bootstrap any other security&lt;br /&gt;
protocol between you and the other.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Trust considerations&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The trust requirements for this blog application are quite low. The&lt;br /&gt;
impact it has is quite large.&lt;/p&gt;

&lt;p&gt;Anyone can read any blog and comment without having to log in.  Anyone&lt;br /&gt;
can comment anonymously. Anyone can validate the blog entries against&lt;br /&gt;
the sites CA-certificate.&lt;/p&gt;

&lt;p&gt;Once you decide to open a blog, you implicitly decide that you trust&lt;br /&gt;
the site to run their Certificate Signer correctly. Still, you can&lt;br /&gt;
sign up without providing any personal details.&lt;/p&gt;

&lt;p&gt;By writing the blog signed entries you spread your public key and&lt;br /&gt;
certificate around. Other people can link that key to your&lt;br /&gt;
writings. At the same time, you can connect the public keys of people&lt;br /&gt;
that comment on your blog to their username and to their writings.&lt;/p&gt;

&lt;p&gt;With the blog site providing the link between people&amp;rsquo;s writings and&lt;br /&gt;
their public keys, you can send encrypted messages to the other&lt;br /&gt;
people, knowing it can only be read by that person.&lt;/p&gt;

&lt;p&gt;Effectively, the blog site acts as an intermediate to introduce&lt;br /&gt;
strangers to each other. All it needs to do is to check that usernames&lt;br /&gt;
are unique and publish signed messages.&lt;/p&gt;

&lt;p&gt;If you are a blogger with your own blog at the site but you want to&lt;br /&gt;
blog under a different pseudonym on someone else&amp;rsquo;s blog, just create a&lt;br /&gt;
second, or third/fourth ecca-identity. Let your browser do the hard part of&lt;br /&gt;
making it easy for you to switch identities.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>