cmeng-git / atalk-android

xmpp/jabber client for android
Apache License 2.0
159 stars 59 forks source link

Use different ZID for the ZRTP connection with for each callee. #123

Closed MilanKral closed 4 years ago

MilanKral commented 4 years ago

Make fingerprinting of ZRTP connections harder by using a different ZID for each callee. Client ZID is calculated using a hash of the value INSTALLATION_UNIQUE_SALT and peer JID if the callee. (Only the bare JID part can be used, and not the full JID, because peers can generate new resource at each application start and this would can a new ZID at each application start and this would break the purpouse of the SAS checking).

INSTALLATION_UNIQUE_SALT value is stored in properties and the user can choose to generate a new salt value from UI.

Implementation details:

public boolean ZRTPTransformEngine.initialize(String zidFilename, boolean autoEnable) public boolean ZRTPTransformEngine.initialize(String zidFilename)

Fixes issue #122