<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 10, 2013 at 3:09 PM, Bruno Oliveira <span dir="ltr">&lt;<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ahoy answers inline.<br>
<div class="im"><br>
Matthias Wessendorf wrote:<br>
&gt;<br>
&gt; On Thu, Oct 10, 2013 at 1:58 PM, Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a><br>
</div><div class="im">&gt; &lt;mailto:<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;     Matthias Wessendorf wrote:<br>
&gt;     &gt; Thanks for putting together the gist; I did read several times over<br>
&gt;     &gt; it, and I guess it mostly makes sense :-)<br>
&gt;     &gt;<br>
&gt;     &gt; However I do have a few (minor?) questions:<br>
&gt;     &gt;<br>
&gt;     &gt; ===JavaScript:===<br>
&gt;     &gt;<br>
&gt;     &gt; * key: generatedKey,<br>
&gt;     &gt;<br>
&gt;     &gt; where does the generate key come from ? Is that a key that, as shown<br>
&gt;     &gt; in the diagram, comes from &quot;the server&quot;?<br>
&gt;     Which kind of section are we talking about? Basically I skipped it<br>
&gt;     into<br>
&gt;     the documentation because developers are able to provide their own but<br>
&gt;     you can see an example here:<br>
&gt;     <a href="https://github.com/aerogear/aerogear-js/blob/master/tests/unit/crypto/aerogear.crypto.js#L21" target="_blank">https://github.com/aerogear/aerogear-js/blob/master/tests/unit/crypto/aerogear.crypto.js#L21</a><br>

&gt;     (that was used only for unit test purposes to guess the output)<br>
&gt;<br>
&gt;     If you think that&#39;s not enough I&#39;m fine providing an example about how<br>
&gt;     to properly generate the key.<br>
&gt;<br>
&gt;<br>
&gt; Not sure we need it on the gist, but I think it does not hurt.<br>
</div>No problem I will create a branch at <a href="http://aerogear.org" target="_blank">aerogear.org</a> for it and add how to<br>
properly generate the keys.<br></blockquote><div><br></div><div>that would be sweet!</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">&gt;<br>
&gt; I understand (like in the test) that we locally generate the key, but<br>
&gt; the first diagram (for instance) was a bit confusing. Now I understand<br>
&gt; it is an option, e.g. to request a key from a server: so it is really<br>
&gt; up to the developer (e.g. request a remote key), not up to our library.<br>
</div>TBH the idea of those diagrams was to suggest some scenarios to discuss<br>
with the team (to guarantee that I&#39;m not suggesting something insane or<br>
impossible). We can do both or not, either way is possible to elaborate.<br></blockquote><div><br></div><div>makes perfectly sense, and this thread already is providing good set of info!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Scenario 1 - Let&#39;s think for a bit about the current situation, if the<br>
key is locally generated by the app and the device is stolen would be<br>
easy to an attacker to decrypt that data right? So that&#39;s the reason why<br>
that must be a remote request as you mentioned, we must be able to<br>
revoke those keys.<br></blockquote><div><br></div><div>+1</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Scenario 2- The client generate it&#39;s own key and the server also do the<br>
same. When you authorize client key on the server we are able establish<br>
a key agreement between the two parties to start the encryption tango.<br></blockquote><div><br></div><div>+1 </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Makes sense?<br></blockquote><div><br></div><div>It does!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">&gt; Our library &quot;just&quot; uses any given key, or am I wrong ?<br>
</div>Our library can accept any given key for local encryption, but I would<br>
do not encourage. What all the client libraries must do to while we<br>
don&#39;t have a server?<br>
<br>
1- Generate the keys<br>
2- Encrypt the data<br>
3. Think about how to properly retrieve the key for<br>
encryption/decryption. For example: for Android I know we can do it with<br>
KeyStore<br>
<a href="http://developer.android.com/reference/java/security/KeyStore.html" target="_blank">http://developer.android.com/reference/java/security/KeyStore.html</a> (but<br>
I can be wrong)<br></blockquote><div><br></div><div>thanks for the provided information!</div><div><br></div><div>It helped</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">&gt;<br>
&gt; &gt;<br>
&gt;<br>
&gt;     &gt; * PBKDF2: However, in the (outdated?) gist we use a function<br>
&gt;     &gt; (AeroGearCrypto.pbkdf2()) to get access to the Pbkdf2 class;<br>
&gt;     I don&#39;t think so, once the code wasn&#39;t merge I can&#39;t make assumptions<br>
&gt;     into something that &quot;might be&quot; merged.<br>
&gt;<br>
&gt;<br>
&gt; not sure what you mean.<br>
&gt;<br>
&gt;<br>
</div>&gt; -Matthias<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
abstractj<br>
<br>
<br>
</font></span><br>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Matthias Wessendorf <br>
<br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</div></div>