Skip to content
This repository was archived by the owner on Dec 6, 2023. It is now read-only.
This repository was archived by the owner on Dec 6, 2023. It is now read-only.

Check for secure negotiated cipher in Server Hello request #63

@yzninja

Description

@yzninja

I see Ngtf is checking the cipher suite for insecure ciphers (in Client Hello request).

It would be good to check the agreed upon cipher (in the Server Hello request) if it is secure. For example I see RC4 is still supported in Android 5.0, but it's probably not the preferred option if a cipher including this algorithm is negotiated.
https://community.qualys.com/blogs/securitylabs/2013/03/19/rc4-in-tls-is-broken-now-what

Also, I see 3DES, MD5 or static key ECDH is are removed from the cipher suite in Android 5.0. However if a developer has customised the client cipher suite it would be good throw a message if these are negotiated in the Server Hello request.
Hopefully throwing messages will prompt a developer to update the client and server cipher suites.
(I believe it's possible for a developer to customise the client-side cipher suite?)

Suggested implementations are:

  • Throw a [WARNING] message if a cipher containing RC4 is negotiated (in Server Hello request).
  • Throw a [ERROR] message if a cipher with 3DES, MD5 or static key ECDH is negotiated.

I hope this makes sense.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions