Skip to content
titanization.patch 1.83 MiB
Newer Older
28001 28002 28003 28004 28005 28006 28007 28008 28009 28010 28011 28012 28013 28014 28015 28016 28017 28018 28019 28020 28021 28022 28023 28024 28025 28026 28027 28028 28029 28030 28031 28032 28033 28034 28035 28036 28037 28038 28039 28040 28041 28042 28043 28044 28045 28046 28047 28048 28049 28050 28051 28052 28053 28054 28055 28056 28057 28058 28059 28060 28061 28062 28063 28064 28065 28066 28067 28068 28069 28070 28071 28072 28073 28074 28075 28076 28077 28078 28079 28080 28081 28082 28083 28084 28085 28086 28087 28088 28089 28090 28091 28092 28093 28094 28095 28096 28097 28098 28099 28100 28101 28102 28103 28104 28105 28106 28107 28108 28109 28110 28111 28112 28113 28114 28115 28116 28117 28118 28119 28120 28121 28122 28123 28124 28125 28126 28127 28128 28129 28130 28131 28132 28133 28134 28135 28136 28137 28138 28139 28140 28141 28142 28143 28144 28145 28146 28147 28148 28149 28150 28151 28152 28153 28154 28155 28156 28157 28158 28159 28160 28161 28162 28163 28164 28165 28166 28167 28168 28169 28170 28171 28172 28173 28174 28175 28176 28177 28178 28179 28180 28181 28182 28183 28184 28185 28186 28187 28188 28189 28190 28191 28192 28193 28194 28195 28196 28197 28198 28199 28200 28201 28202 28203 28204 28205 28206 28207 28208 28209 28210 28211 28212 28213 28214 28215 28216 28217 28218 28219 28220 28221 28222 28223 28224 28225 28226 28227 28228 28229 28230 28231 28232 28233 28234 28235 28236 28237 28238 28239 28240 28241 28242 28243 28244 28245 28246 28247 28248 28249 28250 28251 28252 28253 28254 28255 28256 28257 28258 28259 28260 28261 28262 28263 28264 28265 28266 28267 28268 28269 28270 28271 28272 28273 28274 28275 28276 28277 28278 28279 28280 28281 28282 28283 28284 28285 28286 28287 28288 28289 28290 28291 28292 28293 28294 28295 28296 28297 28298 28299 28300 28301 28302 28303 28304 28305 28306 28307 28308 28309 28310 28311 28312 28313 28314 28315 28316 28317 28318 28319 28320 28321 28322 28323 28324 28325 28326 28327 28328 28329 28330 28331 28332 28333 28334 28335 28336 28337 28338 28339 28340 28341 28342 28343 28344 28345 28346 28347 28348 28349 28350 28351 28352 28353 28354 28355 28356 28357 28358 28359 28360 28361 28362 28363 28364 28365 28366 28367 28368 28369 28370 28371 28372 28373 28374 28375 28376 28377 28378 28379 28380 28381 28382 28383 28384 28385 28386 28387 28388 28389 28390 28391 28392 28393 28394 28395 28396 28397 28398 28399 28400 28401 28402 28403 28404 28405 28406 28407 28408 28409 28410 28411 28412 28413 28414 28415 28416 28417 28418 28419 28420 28421 28422 28423 28424 28425 28426 28427 28428 28429 28430 28431 28432 28433 28434 28435 28436 28437 28438 28439 28440 28441 28442 28443 28444 28445 28446 28447 28448 28449 28450 28451 28452 28453 28454 28455 28456 28457 28458 28459 28460 28461 28462 28463 28464 28465 28466 28467 28468 28469 28470 28471 28472 28473 28474 28475 28476 28477 28478 28479 28480 28481 28482 28483 28484 28485 28486 28487 28488 28489 28490 28491 28492 28493 28494 28495 28496 28497 28498 28499 28500 28501 28502 28503 28504 28505 28506 28507 28508 28509 28510 28511 28512 28513 28514 28515 28516 28517 28518 28519 28520 28521 28522 28523 28524 28525 28526 28527 28528 28529 28530 28531 28532 28533 28534 28535 28536 28537 28538 28539 28540 28541 28542 28543 28544 28545 28546 28547 28548 28549 28550 28551 28552 28553 28554 28555 28556 28557 28558 28559 28560 28561 28562 28563 28564 28565 28566 28567 28568 28569 28570 28571 28572 28573 28574 28575 28576 28577 28578 28579 28580 28581 28582 28583 28584 28585 28586 28587 28588 28589 28590 28591 28592 28593 28594 28595 28596 28597 28598 28599 28600 28601 28602 28603 28604 28605 28606 28607 28608 28609 28610 28611 28612 28613 28614 28615 28616 28617 28618 28619 28620 28621 28622 28623 28624 28625 28626 28627 28628 28629 28630 28631 28632 28633 28634 28635 28636 28637 28638 28639 28640 28641 28642 28643 28644 28645 28646 28647 28648 28649 28650 28651 28652 28653 28654 28655 28656 28657 28658 28659 28660 28661 28662 28663 28664 28665 28666 28667 28668 28669 28670 28671 28672 28673 28674 28675 28676 28677 28678 28679 28680 28681 28682 28683 28684 28685 28686 28687 28688 28689 28690 28691 28692 28693 28694 28695 28696 28697 28698 28699 28700 28701 28702 28703 28704 28705 28706 28707 28708 28709 28710 28711 28712 28713 28714 28715 28716 28717 28718 28719 28720 28721 28722 28723 28724 28725 28726 28727 28728 28729 28730 28731 28732 28733 28734 28735 28736 28737 28738 28739 28740 28741 28742 28743 28744 28745 28746 28747 28748 28749 28750 28751 28752 28753 28754 28755 28756 28757 28758 28759 28760 28761 28762 28763 28764 28765 28766 28767 28768 28769 28770 28771 28772 28773 28774 28775 28776 28777 28778 28779 28780 28781 28782 28783 28784 28785 28786 28787 28788 28789 28790 28791 28792 28793 28794 28795 28796 28797 28798 28799 28800 28801 28802 28803 28804 28805 28806 28807 28808 28809 28810 28811 28812 28813 28814 28815 28816 28817 28818 28819 28820 28821 28822 28823 28824 28825 28826 28827 28828 28829 28830 28831 28832 28833 28834 28835 28836 28837 28838 28839 28840 28841 28842 28843 28844 28845 28846 28847 28848 28849 28850 28851 28852 28853 28854 28855 28856 28857 28858 28859 28860 28861 28862 28863 28864 28865 28866 28867 28868 28869 28870 28871 28872 28873 28874 28875 28876 28877 28878 28879 28880 28881 28882 28883 28884 28885 28886 28887 28888 28889 28890 28891 28892 28893 28894 28895 28896 28897 28898 28899 28900 28901 28902 28903 28904 28905 28906 28907 28908 28909 28910 28911 28912 28913 28914 28915 28916 28917 28918 28919 28920 28921 28922 28923 28924 28925 28926 28927 28928 28929 28930 28931 28932 28933 28934 28935 28936 28937 28938 28939 28940 28941 28942 28943 28944 28945 28946 28947 28948 28949 28950 28951 28952 28953 28954 28955 28956 28957 28958 28959 28960 28961 28962 28963 28964 28965 28966 28967 28968 28969 28970 28971 28972 28973 28974 28975 28976 28977 28978 28979 28980 28981 28982 28983 28984 28985 28986 28987 28988 28989 28990 28991 28992 28993 28994 28995 28996 28997 28998 28999 29000
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_05_02_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_05_02_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_05_02_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_05_02_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_05_02_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert_A, 
+                        {
+                            m_header_field_signer_info(
+                                m_signerInfo_other_certificates(
+                                    m_certificateWithAlgo_ecdsa(
+                                        PX_OTHER_CERT_DIGEST
+                            ))), 
+                            m_header_field_generation_time(1000 * f_getCurrentTime()), // In us
+                            m_header_field_generation_location(
+                                valueof(m_threeDLocation(
+                                    v_longPosVectorNodeB.latitude,
+                                    v_longPosVectorNodeB.longitude,
+                                    '0000'O
+                                ))
+                            ),
+                            m_header_field_its_aid_Other
+                        }, 
+                        e_certificate_digest_with_other_algorithm,
+                        false
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_05_02_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_05_02_BO 
+            
+            /**
+             * @desc    Check that IUT discards a secured GN Beacon if the header_fields contains a signer of type 'certificate_chain'
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_A_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A) 
+             *          containing header_fields['signer_info']
+             *              containing signer.type
+             *                  indicating 'certificate_chain'
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_05_03_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_05_03_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_05_03_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_05_03_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_05_03_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_05_03_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert_A, 
+                        {
+                            m_header_field_signer_info(
+                                m_signerInfo_certificates(
+                                    { vc_atCertificate }
+                            )), 
+                            m_header_field_generation_time(1000 * f_getCurrentTime()), // In us
+                            m_header_field_generation_location(
+                                valueof(m_threeDLocation(
+                                    v_longPosVectorNodeB.latitude,
+                                    v_longPosVectorNodeB.longitude,
+                                    '0000'O
+                                ))
+                            ),
+                            m_header_field_its_aid_Other
+                        }, 
+                        e_certificate_chain,
+                        false
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_05_03_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_05_03_BO 
+            
+            /**
+             * @desc    Check that IUT discards a Secured Messageif the header_fields contains a signer info of unknown or reserved type
+             * @remark  Values to be used as X_UNKNOWN_SIGNERINFO_TYPE are 5, 239, 240 and 255
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_A_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A) 
+             *          containing header_fields['signer_info']
+             *              containing signer.type
+             *                  indicating X_UNKNOWN_SIGNERINFO_TYPE
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_05_04_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_05_04_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_05_04_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_05_04_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_05_04_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_05_04_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert_A, 
+                        {
+                            m_header_field_signer_info(
+                                m_signerInfo_unknown(
+                                    'CAFFEEDECA'O
+                            )), 
+                            m_header_field_generation_time(1000 * f_getCurrentTime()), // In us
+                            m_header_field_generation_location(
+                                valueof(m_threeDLocation(
+                                    v_longPosVectorNodeB.latitude,
+                                    v_longPosVectorNodeB.longitude,
+                                    '0000'O
+                                ))
+                            ),
+                            m_header_field_its_aid_Other
+                        }, 
+                        e_unknown,
+                        false
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_05_04_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_05_04_BO 
+            
+            /**
+             * @desc    Check that IUT discards a secured GN Message containing generation_time before the message signing certificate validity period
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_A_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)
+             *          containing header_fields['signer_info'].type
+             *              indicating 'signer_info'
+             *                  containing certificate (CERT_TS_MSG_06_01_BO_AT)
+             *                      containing validity_restrictions['time_start_and_end']
+             *                          containing start_validity
+             *                              indicating START_VALIDITY_AT
+             *                          and containing end_validity
+             *                              indicating END_VALIDITY_AT
+             *                  and containing header_fields ['generation_time']
+             *                      containing generation_time
+             *                          indicating GEN_TIME < TIME_CERT_TS_AT_START
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_06_01_BO
+             * @reference    ETSI TS 103 097 [1], clauses 5.4 and 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_06_01_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_06_01_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_06_01_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_06_01_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_06_01_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    var ValidityRestriction v_validity;
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    f_getCertificateValidityRestriction(vc_atCertificate, e_time_start_and_end, v_validity);
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert0601_BO, 
+                        {
+                            m_header_field_signer_info(
+                                m_signerInfo_digest(
+                                    vc_atCertificate.signer_info.signerInfo.digest
+                            )), 
+                            m_header_field_generation_time( 
+                                (v_validity.validity.time_start_and_end.start_validity - 3600) * 1000
+                            ), // In us
+                            m_header_field_generation_location(
+                                valueof(m_threeDLocation(
+                                    v_longPosVectorNodeB.latitude,
+                                    v_longPosVectorNodeB.longitude,
+                                    '0000'O
+                                ))
+                            ),
+                            m_header_field_its_aid_Other
+                        }, 
+                        e_certificate_digest_with_sha256,
+                        false
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_06_01_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_06_01_BO 
+            
+            /**
+             * @desc    Check that IUT discards the secured GN Message containing generation_time after the message signing certificate validity period
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_A_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A) 
+             *          containing header_fields['signer_info'].type
+             *              indicating 'signer_info'
+             *                  containing certificate (CERT_TS_MSG_06_02_BO_AT)
+             *                      containing validity_restrictions['time_start_and_end']
+             *                          containing start_validity
+             *                              indicating START_VALIDITY_AT
+             *                          and containing end_validity
+             *                              indicating END_VALIDITY_AT
+             *                  and containing header_fields ['generation_time']
+             *                      containing generation_time
+             *                          indicating GEN_TIME > TIME_CERT_TS_E_ATND
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_06_02_BO
+             * @reference    ETSI TS 103 097 [1], clauses 5.4 & 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_06_02_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_06_02_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_06_02_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_06_02_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_06_02_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    var ValidityRestriction v_validity;
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    f_getCertificateValidityRestriction(vc_atCertificate, e_time_start_and_end, v_validity);
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert0602_BO, 
+                        {
+                            m_header_field_signer_info(
+                                m_signerInfo_digest(
+                                    vc_atCertificate.signer_info.signerInfo.digest
+                            )), 
+                            m_header_field_generation_time(
+                                (v_validity.validity.time_start_and_end.end_validity + 3600) * 1000
+                            ), // In us
+                            m_header_field_generation_location(
+                                valueof(m_threeDLocation(
+                                    v_longPosVectorNodeB.latitude,
+                                    v_longPosVectorNodeB.longitude,
+                                    '0000'O
+                                ))
+                            ),
+                            m_header_field_its_aid_Other
+                        }, 
+                        e_certificate_digest_with_sha256,
+                        false
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_06_02_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_06_02_BO 
+            
+            /**
+             * @desc    Check that IUT discards Secured GN Message if the generation_time is more than 10 minute in the past (C2C only)
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_A_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A) 
+             *          containing header_fields ['generation_time']
+             *              containing generation_time
+             *                  indicating TIME_1 (TIME_1 < CUR_TIME - 10min)
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_06_03_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_06_03_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_06_03_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_06_03_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_06_03_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_06_03_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert_A, 
+                        {
+                            m_header_field_generation_time( 
+                                (1000 * f_getCurrentTime() - 600) * 1000
+                            ) // In us
+                        }, 
+                        e_certificate
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_06_03_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_06_03_BO 
+            
+            /**
+             * @desc    Check that IUT discards Secured GN Message if the generation_time is more than 10 minute in the future(C2C only)
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_A_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A) 
+             *          containing header_fields ['generation_time']
+             *              containing generation_time
+             *                  indicating TIME_1 (TIME_1 > CUR_TIME + 10min)
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_06_04_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_06_04_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_06_04_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_06_04_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_06_04_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_06_04_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert_A, 
+                        {
+                            m_header_field_generation_time( 
+                                (1000 * f_getCurrentTime() + 600) * 1000
+                            ) // In us
+                        }, 
+                        e_certificate
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_06_04_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_06_04_BO 
+            
+            /**
+             * @desc    Check that IUT discards SecuredMessage when its_aid value is undefined
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_A_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage (MSG_SEC_RCV_GENMSG_A)
+             *          containing header_fields['its_aid']
+             *              indicating indicating 'AID_UNDEFINED'
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_07_01_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_07_01_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_07_01_BO());
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_07_01_BO
+            
+            group g_TC_SEC_ITSS_RCV_GENMSG_07_01_BO {
+                
+                    /**
+                     * @desc    Behavior function for NodeB (TC_GEONW_PON_GBC_BV_01)
+                     */
+                function f_TC_SEC_ITSS_RCV_GENMSG_07_01_BO() runs on ItsGeoNetworking {
+                    
+                    // Local variables
+                    var GeoNetworkingPdu v_securedGnPdu;
+                    var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
+                    
+                    // Test component configuration
+                    f_cf01Up();
+                    
+                    // Test adapter configuration
+                    
+                    // Preamble
+                    f_prNeighbour();
+                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+                    
+                    // Test Body
+                    v_securedGnPdu := f_prepareSecuredBeacon(
+                        cc_taCert_A, 
+                        {
+                            m_header_field_its_aid_Other
+                        }, 
+                        e_certificate_digest_with_sha256
+                    ); 
+                    f_sendGeoNetMessage(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu));
+                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+                    
+                    // Postamble
+                    f_selfOrClientSyncAndVerdict(c_poDone, e_success);
+                    
+                } // End of testcase f_TC_SEC_ITSS_RCV_GENMSG_07_01_BO
+                
+            } // End of group g_TC_SEC_ITSS_RCV_GENMSG_07_01_BO 
+            
+            /**
+             * @desc    Check that IUT discards Secured GN Message if the HeaderField generation_location is outside of the circular validity region of the signing certificate
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRCand PICS_USE_CIRCULAR_REGION
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_B_AT
+             *    and the IUT current location is inside the validity region of CERT_TS_B_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage ((MSG_SEC_RCV_GENMSG_B)) 
+             *          containing header_fields[0].type
+             *              indicating 'signer_info'
+             *                  containing certificate (CERT_TS_B_AT)
+             *                      containing validity_restrictions ['region']
+             *                          containing region
+             *                              containing region_type
+             *                                  indicating 'circle'
+             *                              and containing circular_region
+             *                                  indicating REGION
+             *          and containing header_fields ['generation_location']
+             *              indicating location outside of the REGION
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_08_01_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_08_01_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC) or not(PICS_USE_CIRCULAR_REGION)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC and PICS_USE_CIRCULAR_REGION' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_08_xx_BO(cc_taCert_B));
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_08_01_BO
+            
+            /**
+             * @desc    Check that IUT discards Secured GN Message if the HeaderField generation_location is outside of the rectangular validity region of the signing certificate
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC and PICS_USE_RECTANGULAR_REGION
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_C_AT
+             *    and the IUT current location is inside the validity region of CERT_TS_C_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage ((MSG_SEC_RCV_GENMSG_C)) 
+             *          containing header_fields[0].type
+             *              indicating 'signer_info'
+             *                  containing certificate (CERT_TS_C_AT)
+             *                      containing validity_restrictions ['region']
+             *                          containing region
+             *                              containing region_type
+             *                                  indicating 'rectangle'
+             *                              and containing rectanglar_region
+             *                                  indicating REGION
+             *          and containing header_fields ['generation_location']
+             *              indicating location outside of the REGION
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_08_02_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_08_02_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables
+                var ItsGeoNetworking v_nodeB;
+                var ItsGeoNetworking v_nodeD;
+                
+                // Test control
+                if (not(PICS_GN_SECURITY) or not(PICS_GN_GBC_SRC) or not(PICS_USE_RECTANGULAR_REGION)) {
+                    log("*** " & testcasename() & ": 'PICS_GN_SECURITY and PICS_GN_GBC_SRC and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+                    setverdict(inconc);
+                    stop;
+                }
+                
+                // Test component configuration
+                f_cf02Up();
+                
+                // Preamble
+                
+                // Start components
+                v_nodeB := f_getComponent(c_compNodeB);
+                v_nodeD := f_getComponent(c_compNodeD);
+                v_nodeB.start(f_TC_SEC_ITSS_RCV_GENMSG_08_xx_BO(cc_taCert_C));
+                v_nodeD.start(f_TC_SEC_ITSS_RCV_GENMSG_xxx_BO_nodeD());
+                
+                // Synchronization
+                f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
+                
+                // Cleanup
+                f_cf02Down();
+                
+            } // End of testcase TC_SEC_ITSS_RCV_GENMSG_08_02_BO
+            
+            /**
+             * @desc    Check that IUT discards Secured GN Message if the HeaderField generation_location is outside of the rectangular validity region of the signing certificate
+             * <pre>
+             * Pics Selection: PICS_GN_SECURITY and PICS_GN_GBC_SRC and PICS_USE_POLYGONAL_REGION
+             * Config Id: CF01
+             * Initial conditions:
+             * with { 
+             *    the IUT being in the 'authorized' state 
+             *    and the IUT current time is inside the time validity period of CERT_TS_D_AT
+             *    and the IUT current location is inside the validity region of CERT_TS_D_AT
+             * } 
+             * ensure that { 
+             *  when { 
+             *      the IUT is receiving a SecuredMessage ((MSG_SEC_RCV_GENMSG_D)) 
+             *          containing header_fields[0].type
+             *              indicating 'signer_info'
+             *                  containing certificate (CERT_TS_D_AT)
+             *                      containing validity_restrictions ['region']
+             *                          containing region
+             *                              containing region_type
+             *                                  indicating 'polygon'
+             *                              and containing polygonal_region
+             *                                  indicating REGION
+             *          and containing header_fields ['generation_location']
+             *              indicating location outside of the REGION
+             *  } then { 
+             *      the IUT discards the message 
+             *  } 
+             * } 
+             * </pre>
+             *
+             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_GENMSG_08_03_BO
+             * @reference    ETSI TS 103 097 [1], clause 7.3
+             */
+            testcase TC_SEC_ITSS_RCV_GENMSG_08_03_BO() runs on ItsMtc system ItsSecSystem {
+                
+                // Local variables