Forum Discussion

merthin's avatar
merthin
Visitor
10 years ago

List of Supported Ciphers

Hi All,

Is there a place where I can read up the list of ciphers that Roku includes for secure its network connections?

I'm aware of the component roEVPCipher but my understanding is that it's cipher list could differ from the
one that gets used by the RokuOS.

thanks in advance

2 Replies

  • I doubt that the cipher list is documented anywhere. The easiest way to find them is by running Wireshark and see what cipher suites are negotiated.

    If you use roUrlTransfer to connect to a secure server, you'll see a set of 31 ciphers available.

    However, if you connect to a secure server using any of the UI components (roVideoScreen, etc.), then the only cipher suite supported appears to be TLS_RSA_WITH_AES_128_CBC_SHA. I think this is a bug. It's been reported several times in these forums with no response from Roku.

    Here's a Wireshark trace using roUrlTransfer:


    Secure Sockets Layer
    TLSv1.2 Record Layer: Handshake Protocol: Client Hello
    Content Type: Handshake (22)
    Version: TLS 1.0 (0x0301)
    Length: 163
    Handshake Protocol: Client Hello
    Handshake Type: Client Hello (1)
    Length: 159
    Version: TLS 1.2 (0x0303)
    Random
    GMT Unix Time: Nov 16, 2066 16:48:48.000000000 Pacific Standard Time
    Random Bytes: 1c2e904748f6f741e838bea7bbfc1cb8f69a8b532076f917...
    Session ID Length: 0
    Cipher Suites Length: 64
    Cipher Suites (32 suites)
    Cipher Suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (0x00a3)
    Cipher Suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f)
    Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b)
    Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (0x006a)
    Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
    Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
    Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0088)
    Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0087)
    Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
    Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
    Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)
    Cipher Suite: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (0x00a2)
    Cipher Suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
    Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067)
    Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (0x0040)
    Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
    Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
    Cipher Suite: TLS_DHE_RSA_WITH_SEED_CBC_SHA (0x009a)
    Cipher Suite: TLS_DHE_DSS_WITH_SEED_CBC_SHA (0x0099)
    Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0045)
    Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0044)
    Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
    Cipher Suite: TLS_RSA_WITH_SEED_CBC_SHA (0x0096)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)
    Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005)
    Cipher Suite: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
    Cipher Suite: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
    Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
    Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
    Compression Methods Length: 1
    Compression Methods (1 method)
    Compression Method: null (0)
    Extensions Length: 54
    Extension: server_name
    Type: server_name (0x0000)
    Length: 19
    Server Name Indication extension
    Server Name list length: 17
    Server Name Type: host_name (0)
    Server Name length: 14
    Server Name: www.google.com
    Extension: signature_algorithms
    Type: signature_algorithms (0x000d)
    Length: 22
    Signature Hash Algorithms Length: 20
    Signature Hash Algorithms (10 algorithms)
    Signature Hash Algorithm: 0x0601
    Signature Hash Algorithm Hash: SHA512 (6)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0602
    Signature Hash Algorithm Hash: SHA512 (6)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0501
    Signature Hash Algorithm Hash: SHA384 (5)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0502
    Signature Hash Algorithm Hash: SHA384 (5)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0401
    Signature Hash Algorithm Hash: SHA256 (4)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0402
    Signature Hash Algorithm Hash: SHA256 (4)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0301
    Signature Hash Algorithm Hash: SHA224 (3)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0302
    Signature Hash Algorithm Hash: SHA224 (3)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0201
    Signature Hash Algorithm Hash: SHA1 (2)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0202
    Signature Hash Algorithm Hash: SHA1 (2)
    Signature Hash Algorithm Signature: DSA (2)
    Extension: Heartbeat
    Type: Heartbeat (0x000f)
    Length: 1
    Mode: Peer allowed to send requests (1)


    And using roVideoScreen:


    Secure Sockets Layer
    TLSv1.2 Record Layer: Handshake Protocol: Client Hello
    Content Type: Handshake (22)
    Version: TLS 1.0 (0x0301)
    Length: 84
    Handshake Protocol: Client Hello
    Handshake Type: Client Hello (1)
    Length: 80
    Version: TLS 1.2 (0x0303)
    Random
    GMT Unix Time: May 25, 2030 05:44:52.000000000 Pacific Daylight Time
    Random Bytes: 361e5ac9050932d6b0a191150a0abeb22f5fb3d1530d222e...
    Session ID Length: 0
    Cipher Suites Length: 4
    Cipher Suites (2 suites)
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
    Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
    Compression Methods Length: 1
    Compression Methods (1 method)
    Compression Method: null (0)
    Extensions Length: 35
    Extension: SessionTicket TLS
    Type: SessionTicket TLS (0x0023)
    Length: 0
    Data (0 bytes)
    Extension: signature_algorithms
    Type: signature_algorithms (0x000d)
    Length: 22
    Signature Hash Algorithms Length: 20
    Signature Hash Algorithms (10 algorithms)
    Signature Hash Algorithm: 0x0601
    Signature Hash Algorithm Hash: SHA512 (6)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0602
    Signature Hash Algorithm Hash: SHA512 (6)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0501
    Signature Hash Algorithm Hash: SHA384 (5)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0502
    Signature Hash Algorithm Hash: SHA384 (5)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0401
    Signature Hash Algorithm Hash: SHA256 (4)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0402
    Signature Hash Algorithm Hash: SHA256 (4)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0301
    Signature Hash Algorithm Hash: SHA224 (3)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0302
    Signature Hash Algorithm Hash: SHA224 (3)
    Signature Hash Algorithm Signature: DSA (2)
    Signature Hash Algorithm: 0x0201
    Signature Hash Algorithm Hash: SHA1 (2)
    Signature Hash Algorithm Signature: RSA (1)
    Signature Hash Algorithm: 0x0202
    Signature Hash Algorithm Hash: SHA1 (2)
    Signature Hash Algorithm Signature: DSA (2)
    Extension: Heartbeat
    Type: Heartbeat (0x000f)
    Length: 1
    Mode: Peer allowed to send requests (1)
  • Can somebody let me know whether Roku supports TLS or not ..... ?