Sunday, June 28, 2015

How client authentication works


When you download elemcam you are allowed to start recording right away without ever being prompted to make an account or enter a password. I am not going to go into the technical details on how to set up this entire process, but here are the steps elemcam takes to make your experience simple and secure.


  1. Elemcam has digital signatures on file with google allowing intrinsic trust between the application user and elemcam. This trust is simply to know the identity of the user using the application. 
  2. With this trust elemcam's native android application can request from google an oauth token without the annoying prompt to authorize access to basic information.
  3. The oath token is conveyed in every server interaction elemcam's native android application does. This is typically a multi-part post to save a video to the server.
  4. Before any action is done on the server, whether that's saving or serving a video, the token is verified to be signed by google and that the token was really meant for elemcam and the user in question. 
With every interaction being verified to be deliberate and from a particular user there is no need for separate accounts/passwords and all the headache and security vulnerabilities that come with it.

New in 2.3.0

In Elemcam 2.3.0


  • Stability - Elemcam actions are organized into two main services; recording service, and the upload service. It was observed on older hardware with less memory that the upload service would be consumed by the OS at various times rendering elemcam useless. To combat this natural OS behavior the upload service has been foregrounded just like the recording service. Android will reclaim processes in the foreground very last and thus elemcam should be much more stable going foreword. 

  • Billing Rework - Elemcam was previous leaning on a third-party wrapper API for androids native In-App billing. The wrapper has been completely gutted and elemcam now interacts directly with the native billing API allowing for a more clean and secure interaction. 

  • Miscellaneous - Fixed a broken style on the server's welcome page, and a few other miscellaneous fixes.