-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 7/15/13 2:00 PM, Pavol Luptak wrote:
> Of course, I can use Jabber+OTR, but I think there is even no
> opensource alternative of Jabber+OTR client on iOS platform yet.

There is ChatSecure: http://chrisballinger.info/apps/chatsecure/

Thanks,
Parker

> On Mon, Jul 15, 2013 at 12:41:45PM +0200, Moritz Bartl wrote:
>> Surespot looks like an open source alternative:
>> 
>> https://www.surespot.me/ 
>> https://www.surespot.me/documents/how_surespot_works.html
>> 
>> technical overview
>> 
>> User creation- When a user is created in surespot two ECC
>> (secp521) key pairs are generated, one for key derivation, and
>> one for signing.
>> 
>> The username plus keypairs create a 'surespot identity'. This
>> identity is stored on the device symmetrically encrypted using
>> 256 bit AES-GCM with a PKCS5S2 key derived from the user's
>> password (plus salt and other data). The public keys are uploaded
>> to the server where they are signed by the server using the
>> server's private key. A user may create multiple identities and
>> switch between them at will.
>> 
>> User authentication- To login the client generates a signature
>> using the identity's private signing key against the username,
>> password, and randomly generated data. The server validates the
>> client provided username, password, and aforementioned signature
>> against its stored public signing key for the identity in
>> question. If successfully verified the client is issued a session
>> cookie which authenticates them for future requests until the
>> session expires or they logout.
>> 
>> As the exchange occurs over SSL, session cookies are thought to
>> be a secure enough mechanism to facilitate authentication, but in
>> the future every request could be validated against the
>> signature. The fact that messages could not be decrypted by a
>> session hijacker given the end to end encryption nature of the
>> system also factors into this decision.
>> 
>> Identity backup/restore- As the private key stored on the device
>> is the, uh key, to unlocking all of the data, it is of utmost
>> importance. In the case of a lost or stolen device, if the key is
>> lost along with it, so is all of the data. Identity
>> backup/restore and key versioning help to mitigate this problem.
>> A user may backup their (encrypted) identities (username and key
>> pair history) to device storage, or the cloud and restore them
>> upon demand. Obviously the security is only as strong as the
>> password used to store the identity in whatever cloud service
>> and the surespot password, so make them strong! Never shall a
>> private key be stored on a surespot server.
>> 
>> Man in the middle- MITM is currently thwarted by the following: 
>> standard SSL implementation. When a user is created and its
>> public keys uploaded to the server, the server signs the public
>> keys. Clients that download the public key then validate the
>> signature of the key against the hardcoded server public key in
>> the client. This ensures a MITM attack trying to use a rogue key 
>> pair to impersonate a user will be prevented.
>> 
>> Key versioning/revoking- A user may generate a new pair of key
>> pairs at any time. This process is as follows: the user requests
>> a ?key token? from the server the user generates a new pair of
>> key pairs and uploads them to the server along with an
>> authentication signature (username, password, random) and a token
>> signature (the received key token, password) generated by the
>> identity's existing signing private key. the server validates the
>> password and both signatures and if valid increments the ?key
>> version? and signs and stores the public keys in the database. 
>> the server notifies other users involved in conversations with
>> the revoker that the key has been revoked. clients will receive
>> this revoke notification and act accordingly. the old keys are
>> now considered revoked and any message sent using them will be
>> rejected by the server.
>> 
>> Use case: lost/stolen phone- adam lost his phone, luckily he has
>> his identities backed up on Google drive adam buys a new phone
>> and installs surespot adam restores his identities from the
>> backup adam generates a new pair of key pairs successfully 
>> attacker with old phone receives revoke message old phone knows
>> revoke message is from the same user and promptly logs out and
>> deletes any related data any subsequent authentication attempts
>> on old phone will be rejected
>> 
>> Sending a message- After two users invite then accept each other
>> the users are now friends, the two friends can access each
>> other's public keys, which allows key derivation and message
>> exchange. The scenario plays out as follows at a high level
>> glance: adam wants to send cherie a message adam asks the server
>> for the latest version of cherie's public key adam verifies
>> cherie's public key (which is signed by the server) against the
>> hard coded server public key in the app and proceeds if valid 
>> adam derives the shared secret adam encrypts the message using
>> AES 256bit GCM using the derived shared secret as the key and
>> sends it to cherie, the to and from key version used to generate
>> the message are included as part of the message cherie receives
>> the encrypted message cherie downloads and verifies the version
>> of adam's public key needed to derive the shared secret for the
>> message cherie derives the (same) shared secret cherie decrypts
>> the message using the shared secret
>> 
>> Data stored on device- surespot ensures that no message data or
>> keys are stored on the device an unencrypted fashion. This means
>> that even if someone has your device they will not be able to get
>> the information without knowing your password. Users will be
>> prompted to create a secure password upon creating an identity.
>> 
>> 
>> -- Moritz Bartl https://www.torservers.net/ -- Too many emails?
>> Unsubscribe, change to digest, or change password by emailing
>> moderator at compa...@stanford.edu or changing your settings at
>> https://mailman.stanford.edu/mailman/listinfo/liberationtech
> 
> 
> 
> -- Too many emails? Unsubscribe, change to digest, or change
> password by emailing moderator at compa...@stanford.edu or changing
> your settings at
> https://mailman.stanford.edu/mailman/listinfo/liberationtech
> 

- -- 
Parker Higgins
Activist
Electronic Frontier Foundation
https://eff.org

Please note our new address:
815 Eddy Street
San Francisco, CA 94109-7701
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJR5GPiAAoJEJQzX4iaNncJyBIQAMy9WXer1ckvx6h/UdtEjshu
M7sYyFNCsipV2+aEiuvQmKljv4KDsKzQnvYvlUL2C/zRfe0dwZxteKiPU+MAMZw3
sUcRpIpc/mV+Qw9EUY1t8z8ibGNSOMGOjGeImoLJu9ncySbRhegZhtBEbPmbjlyr
qzMjB9UG2VRtudY5aNXSIpVAfawaFNLtTRleMwr4lj4LYMccd4Rj2oId4hLcYRx+
NJfotb1PMnAZ6RzFd+s/ORY2ap3vt2rWknOxeidpCcSVEhFqCKXzmo90WumNdao8
T2Xa6ecv2/CxcIu0+A2uYFG87ouFhFjYheCE4KxIyrraZ+9+w8/8IPTe613ys3v4
DfwTGM85jey1QfAoPB7kDPffWtPsKJfV2J/jl7qhpV4nRhuZKWEDjZC8J3nezHrw
QAfJNPqZFvQ5phaLFqBP8EXlLlDw4cJrC5D+5t0YWuyJAvipc836ODQ5vgHQqdZy
y66HfYLJOjRkIFnF/Edm/pp1tNcXpyIe/XB6/GQ/MBDUFSF0I9cJyjUqArevu6IC
ImDGzTfmikgH5qhsow/EAovUMK4uQK9FMD/mOftLBx46V9cX23j1p8ui3YylVpQp
XBOimqQx4T78emXL4QLdOAIYuzarpBlPfiW4VFLAl2YEhLDykJbqzynmpLW4srGz
fyxdbBAJ22IB3bm5auLT
=3M2f
-----END PGP SIGNATURE-----
--
Too many emails? Unsubscribe, change to digest, or change password by emailing 
moderator at compa...@stanford.edu or changing your settings at 
https://mailman.stanford.edu/mailman/listinfo/liberationtech

Reply via email to