This thesis described the architecture and the operations of NTP-DRMT which is a DRM test system developed based on the TTCN-3 specifications. This system has been jointly developed by the National Telecommunications Program (NTP) and the Industrial Technology Research Institute (ITRI) in Taiwan. We used the DRM registration procedure to illustrate
how the conformance test can be implemented in NTP-DRMT. The conformance and interoperability test cases are conformed to the OMA Enabler Test Specification (Conformance) for DRM-V2_0 [7] and the OMA Enabler Test Specification for DRM Interoperability [8]. Currently, 493 DRM tests cases have been developed in NTP-DRMT.
Reference
[1] Open Mobile Alliance, "DRM Specification", OMA-TS-DRM-DRM-V2_0- 2006 0303-A, 2006.
[2] Open Mobile Alliance, "DRM Architecture", OMA-AD-DRM-V2_0-20060303-A, 2006.
[3] Open Mobile Alliance, "DRM Content Format", OMA-TS-DRM-DCF-V2_0-20060303-A, 2006.
[4] Open Mobile Alliance, "DRM Rights Expression Language", OMA-TS-DRM-REL-V2_
0-20060303-A, 2006.
[5] Open Mobile Alliance, "OMA DRM Requirements", OMA-RD-DRM-V2_0-20060303-A, 2006.
[6] Open Mobile Alliance, "Enabler Release Definition for DRM V2.0", OMA-ERELD-DRM -V2_0-20060303-A, 2006.
[7] Open Mobile Alliance, "Enabler Test Specification (Conformance) for DRM- V2_0", OMA-ETS-DRM_ CON_Test_Client-V2_0-20060615-C, 2006.
[8] Open Mobile Alliance, "Enabler Test Specification for DRM Interoperability", OMA-ETS -DRM-INT- V2_0-20060704-C, 2006.
[9] ETSI, "Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language", ETSI ES 201 873-1, V3.1.1, 2005.
[10] ETSI, " Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 2: TTCN-3 Tabular presentation Format (TFT)", ETSI ES 201 873-2 V3.1.1, 2005.
[11] ETSI, " Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 3: TTCN-3 Graphical presentation Format (GFT)", ETSI ES 201 873-3 V3.1.1, 2005.
[12] ETSI, " Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 4: TTCN-3 Operational Semantics", ETSI ES 201 873-4 V3.1.1, 2005.
[13] ETSI, "Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 5: TTCN-3 Runtime Interface (TRI)", ETSI ES 201 873-5 V3.1.1, 2005.
[14] ETSI, "Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 6: TTCN-3 Control Interface (TCI )", ETSI ES 201 873-6,
V3.1.1, 2005.
[15] ETSI, " Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 7: Using ASN.1 with TTCN-3", ETSI ES 201 873-7 V3.1.1, 2005.
[16] Lin, Y.-B., Liang, C.-F., Chen, K.-H., Liao, H.-Y. "NTP-SIOT: A Test Tool for Advanced Mobile Services", IEEE Network. VOL 21; NUMB 1, pages 21-26, 2007.
[17] Lin, Y.-B., Wang, C.C., Lu, C.H., Hsu, M.R. "NTP-PoCT: A Conformance Test Tool for Push-to-talk over Cellular Network", Wireless Communications and Mobile Computing.
VOL 8; NUMBER 5, pages 673-686, 2008.
[18] Anritsu Corporation, MD8470A Signaling Tester Product Introduction, http://
www.us.anritsu.com/products/ ARO/North/Eng/showProd.aspx?ID=659.
Appendix A The conformance and interoperability test cases
The conformance test cases
Test case ID Test case description
DRM-2.0-con-1 ROAP trigger with expired RI context DRM-2.0-con-3 Missing Signature in Leave Domain trigger DRM-2.0-con-4 Invalid Signature in Leave Domain trigger DRM-2.0-con-5 Missing Status attribute in ROAP Response DRM-2.0-con-6 Status ≠ Success in ROAP Response DRM-2.0-con-7 Missing Signature in ROAP Response DRM-2.0-con-8 Invalid Signature in ROAP Response
DRM-2.0-con-9 1-pass RO Response processing reception while expired RI context DRM-2.0-con-29 Missing Session ID in Register Response processing
DRM-2.0-con-30 Invalid Session ID in Register Response processing
DRM-2.0-con-31 Missing Device ID in ROAP response; 2 pass RO acquisition and Join Domain
DRM-2.0-con-32 Invalid Device ID in ROAP response; 2 pass RO acquisition and Join Domain
DRM-2.0-con-33 Missing Device ID in 1-pass RO Response processing DRM-2.0-con-34 Invalid Device ID in 1-pass RO Response processing DRM-2.0-con-35 Missing Device Nonce in ROAP response
DRM-2.0-con-35 Missing Device Nonce in Leave Domain Response processing DRM-2.0-con-36 Invalid Device Nonce in ROAP response
DRM-2.0-con-37 Missing RI ID in ROAP response DRM-2.0-con-38 Invalid RI ID in ROAP response
DRM-2.0-con-40 Install Device RO from RO Response processing; Invalid Signature DRM-2.0-con-41 Install Device RO from RO Response processing; Missing MAC
element
DRM-2.0-con-42 Install Device RO from RO Response processing; Invalid MAC element
DRM-2.0-con-43 Install Device RO from RO Response processing; Missing RI ID DRM-2.0-con-44 Install Device RO from RO Response processing; Invalid RI ID DRM-2.0-con-45 Install Device RO from RO Response processing; Missing Signature DRM-2.0-con-46 Install Device RO from RO Response processing; Invalid Signature DRM-2.0-con-47 Install Device RO from RO Response processing; Missing MAC
element
DRM-2.0-con-48 Install Device RO from DCF; Invalid MAC element DRM-2.0-con-49 Install Device RO from DCF; Missing RI ID
DRM-2.0-con-50 Install Device RO from DCF; Invalid RI ID DRM-2.0-con-51 Install Device RO from DCF; RI Context Expired DRM-2.0-con-52 Consume rights in Device RO; Invalid Hash value DRM-2.0-con-53 Install Domain Context; Missing MAC
DRM-2.0-con-54 Install Domain Context; Invalid MAC
DRM-2.0-con-55 Install Domain Context; Missing RI ID in DomainKey DRM-2.0-con-56 Install Domain Context; Invalid RI ID in DomainKey DRM-2.0-con-57 Delete Domain Context
DRM-2.0-con-58 Install Domain RO; No valid RI context with corresponding RI ID
DRM-2.0-con-59 Install Domain RO; Missing Signature DRM-2.0-con-60 Install Domain RO; Invalid Signature DRM-2.0-con-61 Install Domain RO; Missing Domain ID
DRM-2.0-con-62 Install Domain RO; Invalid Domain Generation DRM-2.0-con-63 Install Domain RO; Device not in the domain DRM-2.0-con-64 Install Domain RO; Missing MAC.
DRM-2.0-con-65 Install Domain RO; Invalid MAC.
DRM-2.0-con-66 Install Domain RO; RI Context Expired
DRM-2.0-con-67 Replay protection – Stateful RO with RITS; Future RITS DRM-2.0-con-68 Replay protection – Stateful RO with RITS; In Replay cache DRM-2.0-con-69 Replay protection – Stateful RO with RITS; Early RITS
DRM-2.0-con-70 Replay protection – Stateful RO without RITS; In Replay cache DRM-2.0-con-71 Parent Rights object; Invalid Rights issuer
DRM-2.0-con-72 Nonce generation on Device without system shutdown DRM-2.0-con-73 Nonce generation on Device with system shutdown DRM-2.0-con-74 Wrong permissions for an image object
DRM-2.0-con-75 Wrong permissions for a sound object DRM-2.0-con-76 Wrong permissions for an application object DRM-2.0-con-77 Unknown permissions
DRM-2.0-con-78 Export permissions ("move") for DCFs with stateless rights object DRM-2.0-con-79 Export permissions ("copy") for DCFs with stateless rights object DRM-2.0-con-80 Export permissions ("move") for DCFs with stateful rights object DRM-2.0-con-81 Export permissions ("copy") for DCFs with stateful rights object DRM-2.0-con-82 Export permissions not present for DCF
DRM-2.0-con-83 Instant Preview
DRM-2.0-con-85 Erroneous Count constraint
DRM-2.0-con-86 Erroneous Timed-Count constraint DRM-2.0-con-87 Erroneous Datetime constraint DRM-2.0-con-88 Erroneous Interval constraint
DRM-2.0-con-89 Erroneous Accumulated constraint The Interoperability test cases
Test case ID Test case description
DRM-2.0-int-1 To test “Forward Lock” DRM 1.0 functionality.
DRM-2.0-int-2 To test DRM 1.0 “Combined Delivery” functionality DRM-2.0-int-3 To test DRM 1.0 “Separate Delivery” functionality DRM-2.0-int-4 To test RO Registration and RO Acquisition
DRM-2.0-int-5 To test RO Registration with existing RI Context DRM-2.0-int-6 To test RO Acquisition without existing RI Context DRM-2.0-int-7 To test 1-pass RO Acquisition with existing RI Context DRM-2.0-int-8 To test 1-pass RO Acquisition without existing RI Context DRM-2.0-int-10 To test a situation where an RO is included in the DCF
DRM-2.0-int-11 To test behavior in the presence of a group RO for multiple DCFs, using the Group ID mechanism
DRM-2.0-int-12 To test behavior in the presence of an individual RO for a content item which has a Group ID
DRM-2.0-int-13 To test behavior in the presence of several rights objects for one piece of content
DRM-2.0-int-14 To test behavior in the presence of several rights objects for one piece of content
DRM-2.0-int-15 To test DRM Agent’s capability to process Multipart DCFs from the RI DRM-2.0-int-16 To test behavior in the presence of multiple ROs for a multipart DCF DRM-2.0-int-17 To test behavior when different content items in a multipart DCF are
associated with different groups DRM-2.0-int-18
To test “Superdistribution” functionality. The protected content is sent from one DRM Agent to another. The rights object is obtained by ROAP session to the rights issuing service.
DRM-2.0-int-19 To test the TransactionID mechanism in connection with Superdistribution
DRM-2.0-int-20 To test <display> and <print> permissions DRM-2.0-int-21 To test <play> permission
DRM-2.0-int-22 To test <execute> permission for an application object DRM-2.0-int-23 To test <count> constraint for a DCF
DRM-2.0-int-24 To test <timed-count> constraint for a DCF DRM-2.0-int-25 To test <datetime> constraint for a DCF DRM-2.0-int-26 To test <interval> constraint for a DCF DRM-2.0-int-27 To test <accumulated> constraint for a DCF DRM-2.0-int-28 To test <individual> constraint for a DCF DRM-2.0-int-29 To test <system> constraint for a DCF
DRM-2.0-int-30 To test the effect of having multiple constraints
DRM-2.0-int-31 To test the REL Permission Model in the case that the rights include a stateful top level constraint
DRM-2.0-int-32 Initiate ROAP from DCF Preview Header with existing RI Context &
domain name NOT in Domain Name Whitelist
DRM-2.0-int-33 Initiate ROAP from DCF Preview Header with existing RI Context &
domain name in the Domain Name Whitelist
DRM-2.0-int-34 To test inheritance model when stateful constraints are involved DRM-2.0-int-35 To test a case where the Parent Rights Object
DRM-2.0-int-36 To test inheritance model when a child RO is a group RO DRM-2.0-int-37 Trigger-initiated domain join without existing RI Context
DRM-2.0-int-38 Trigger-initiated domain join with valid RI Context and no existing Domain Context for this RI
DRM-2.0-int-39 Automatically-initiated domain upgrade with valid RI Context and existing Domain Context for this RI
DRM-2.0-int-40 Trigger-initiated domain join with valid RI Context and existing Domain Context for this RI
DRM-2.0-int-41 Domain RO Acquisition with existing RI Context DRM-2.0-int-42 To test delivering the DomainRO inside a DCF
DRM-2.0-int-43 To test if different devices related with the same domain are able to share DCFs
DRM-2.0-int-44 Device leaves a domain after receiving a LeaveDomain trigger
DRM-2.0-int-45 Initiate ROAP from DCF Silent Header with existing RI Context and domain name NOT in Domain Name Whitelist
DRM-2.0-int-46 Initiate ROAP from DCF Silent Header with existing RI Context and domain name NOT in Domain Name Whitelist