Device crypto support

I'd like to request better cryptography/randomness generation support for the device.

 

Currently generating an HMAC with SHA-1 takes several seconds, and generating it for multiple tokens will cause an app to crash.

 

From a security perspective it would be preferable to do all calculations on a device instead of sending data between the phone and the watch (at least in my use case of generating MFA tokens).

 

 

6 Comments
MorrisTimm
Recovery Runner

I think access to cryptographic functions is a great suggestion and it's necessary for any kind of security. 

 

I think secure random values and digests like sha256 are needed.

 

With the whole Fitbit pay stuff I think it is reasonable to assume that the hardware supports this. It is just a matter of exposing the API.

JumpMaster
Recovery Runner

The processor in the ionic (I assume also the Versa) and Pebble Time are both ARM M4 variants (M3 in OG Pebble).  But where as the Pebble can generate an HMAC in a time which is indistinguishable to instant it takes 4-5 seconds on the Versa.  I would only imagine this is caused by the JVM and a lack of direct access to certain functions on the CPU or these functions are been emulated causing the slowdown.

 

I would like to see this issue resolved but would really like to know what's causing it.

SunsetRunner
Not applicable

Nice suggestion @Lixxia and thanks for sharing within the community. We look forward to reading what else other developers think.

SunsetRunner
Not applicable

@Lixxia: is there a way for you to DM me the code that are making your app crash please? I would like to see what is happening.

Lixxia
Jogger

Sure thing @SunsetRunner, I'll send it over.

Status changed to: Released
JonFitbit
Fitbit Developer
Fitbit Developer

SDK 4.0 now includes crypto functionality based on SublteCrypto.

https://dev.fitbit.com/blog/2019-10-29-announcing-fitbit-os-sdk-4.0/

To comment, you must first accept the terms of the Idea and Feedback Submission policy.