DVB Common-Interface (DVB-CI)

DVB-CI defines an interface between a DVB receiver (TV set, Set-Top-Box, Bluray recorder etc.) and a PC-Card module (Conditional Access Module, CAM). It consists of a transport stream interface and a command interface.

On the transport stream interface, a DVB Transport Stream can be routed through the module and optionally be descrambled. The command interface transfers commands like start descrambling. The DVB-CI dissector processes command interface traffic and some hardware events such as module inserted/extracted

History

DVB-CI was defined by DVB in 1997. An extension document followed in 1999, but the extensions defined there were never implemented in practice.

CI+ added content security and other features on top of DVB-CI. CI+ version 1.2 was published in May 2009, version 1.3 followed in January 2011 and version 1.3.1 in October 2011.

standards documents

Example traffic

The screenshot shows dissection of the application_info() APDU. The capture contains no timestamps. If timestamps are available, the dissector can handle them.

wiresharkDvbciPcap.png

Wireshark

The DVB-CI dissector was written by Martin Kaiser ( wireshark@kaiser.cx ). It is fully functional and has been tested with many capture files.

The following features of the DVB-CI standard EN50221 are supported

The table below summarizes the supported resources on the application layer

DVB-CI

CI+ 1.2

CI+ 1.3.1

Resource Manager

ok

ok

ok

Application Info

ok

ok

ok

Conditional Access

ok

ok

ok

Date-Time

ok

ok

ok

MMI (high level)

ok

ok

ok

Host Control

ok

ok

ok

Low-Speed Communication

partly

ok

ok

Host Language and Country

not defined

ok

ok

CAM upgrade

not defined

ok

ok

Content Control

not defined

ok

ok

Application MMI

not defined

ok

ok

Specific Application Support

not defined

ok

ok

Operator Profile

not defined

not defined

ok

There's no plans to support the DVB-CI extensions (TS 101 699) or low-level MMI. For low-speed communication, only IP connections are supported.

The dissector uses pcap files with datalink type 235. The corresponding format is documented at http://www.kaiser.cx/pcap-dvbci.html

Preference Settings

If you provide these two values for your capture file, wireshark is able to decrypt SAC messages sent on the CC resource. This requires libgrypt. Both values consist of 32 hex digits (16 hex bytes). They must be typed in without leading 0x.

When this setting is enabled, wireshark tries to dissect the payload of LSC APDUs. It calls the dissector that's registered for the protocol and port number given in the connect_on_channel command.

DVB-CI uses length fields in ASN.1 BER format in many messages. To dissect these length fields, the DVB-CI dissector uses the existing BER code. To display details of each length field, select Show internal BER encapsulation tokens from the Edit / Preferences / Protocols / BER preferences menu.

Example capture files

SampleCaptures/dvb-ci_1.pcap startup, requests for descrambling, removal

SampleCaptures/dvb-ci_2.pcap fragmentation and reassembly on the link layer

Display Filter

Capture Filter

Discussion

DVB-CI (last edited 2012-08-15 20:24:03 by MartinKaiser)