CN115915078A - 一种基于3des的蓝牙通信电能表安全通信认证方法 - Google Patents
一种基于3des的蓝牙通信电能表安全通信认证方法 Download PDFInfo
- Publication number
- CN115915078A CN115915078A CN202211207016.0A CN202211207016A CN115915078A CN 115915078 A CN115915078 A CN 115915078A CN 202211207016 A CN202211207016 A CN 202211207016A CN 115915078 A CN115915078 A CN 115915078A
- Authority
- CN
- China
- Prior art keywords
- electric energy
- energy meter
- communication
- 3des
- mobile terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明适用于智能电表技术领域,涉及一种基于3DES蓝牙通信电能表安全通信认证方法,包括以下步骤:移动终端获取蓝牙通信模组的MAC地址与系统位移的BCD电能表地址编码;移动终端与电能表建立蓝牙通信信道;发起安全通信认证申请,接收到申请的电能表给移动终端返回一个带有指定字节的随机数R0;移动终端将收到的R0与指定字节自身日期与时间T0混合得到双倍指定字节的数据段M0;对M0进行加密后得到双倍指定字节的数据段P0;电能表对P0进行解密后得到双倍指定字节的数据段M1;对M1进行反向解混得到指定字节随机数R1与指定字节自身日期与时间T1;通过对比R1与R0、T1与T0进行安全通信认证。本发明方便电能表通信与购电的同时还能对电能表数据进行保护加密。
Description
技术领域
本发明属于智能电表技术领域,尤其涉及一种基于3DES的蓝牙通信电能表安全通信认证方法。
背景技术
目前,被广泛使用的IC卡预付费电能表功能需要用户持卡到指定地点充值缴费,然后将卡插入电能表的卡槽中,为电能表冲入电量或电费。此种方式不仅用户购电不便,售电方也需要配备专门的读写卡设备与售电软件,还需要安排售电专人进行售电操作,成本比较高。
蓝牙作为一种小范围无线连接技术,能在设备间实现方便快捷、灵活安全、低成本、低功耗的数据通信和语音通信,因此它是目前实现无线个域网通信的主流技术之一,与其他网络相连接可以带来更广泛的应用,是一种尖端的开放式无线通信,能够让各种数码设备无线沟通,是无线网络传输技术的一种。新一代的电能表通常采用蓝牙通信实现购电和查看用电情况,此种方式虽然方便,但是电能表数据的安全却无法得到保证,公开号为CN112399393A的专利提供了一种智能电能表装置及其通信方法,此系统包括电能表、智能微型断路器、终端模块和蓝牙模块;所述蓝牙模块采用蓝牙模组或SOC两种方式,其中SOC方式为电能表自身集成蓝牙协议栈;蓝牙模组包括第一蓝牙模组和第二蓝牙模组,在采用蓝牙模组时,所述电能表通过第一蓝牙模组与智能微型断路器和从设备相连;所述电能表依次通过第一蓝牙模组和第二蓝牙模组与终端模块相连。此专利依靠蓝牙技术实现了数据的交互,但是在电能表数据的加密与保护方面并无对策。
因此,如何在实现方便电能表通信与购电的同时,还能对电能表数据进行保护加密是本技术领域人员亟待解决的问题。
发明内容
针对现有技术的不足,本发明的目的是提供一种基于3DES的蓝牙通信电能表安全通信认证方法,以解决现有技术中电能表通信与购电不方便,同时电能表的数据不安全的问题。
为了解决上述技术问题,本发明采用了如下的技术方案:
本发明提供了一种基于3DES的蓝牙通信电能表安全通信认证方法,包括以下步骤:
S10、移动终端获取电能表内部蓝牙通信模组的MAC地址及系统位移的BCD电能表地址编码;
S20、所述移动终端与所述电能表建立蓝牙通信信道;
S30、所述移动终端向所述电能表发起安全通信认证申请数据帧,接收到申请的电能表给所述移动终端返回一个带有指定字节的随机数R0;
S40、所述移动终端收到指定字节随机数R0后将收到的所述R0与指定字节自身日期与时间T0按字节进行混合得到双倍指定字节的数据段M0;
S50、所述移动终端采用3DES的算法对所述M0进行加密形成加密后的双倍指定字节的数据段P0;
S60、所述电能表在收到所述P0后按照3DES的算法对所述P0进行解密后得到双倍指定字节的数据段M1;
S70、对所述M1进行反向解混得到指定字节随机数R1与指定字节自身日期与时间T1;
S80、通过对比所述R1与R0、T1与T0进行安全通信认证,返回认证失败数据帧或进行后续应用通信。
进一步的,所述R1与R0进行对比,若不相同则回复认证失败数据帧并断开蓝牙通信连接,若相同则继续比较所述T1与T0,若所述T1与T0相差在5分钟以内,则回复确认帧并进行后续应用通信,若所述T1与T0相差大于等于5分钟或日期时间不合法,则回复认证失败数据帧并断开蓝牙通信连接。
进一步的,所述步骤S40中,混合的方法是将所述R0的最高字节作为所述M0的最高字节,将所述T0的最低字节作为所述M0的第二高字节,以此类推得到双倍指定字节的数据段的所述M0。
进一步的,所述步骤S50中,所述移动终端中的3DES的算法加密所用的密钥是通过4G/5G通信,由远程服务器根据数据库内记录的所述电能表内密钥K1、K2、K3下发到所述移动终端。
进一步的,后续应用通信的数据帧均按照3DES加密方式,以所述K1、K2、K3作为加密密钥对以指定字节为单位的用户数据进行加密。
进一步的,所述步骤S80中,在所述移动终端与电能表完成安全通信认证后,远程服务器可通过4G/5G通信将新的密钥S1、S2、S3下发到所述移动终端,并由所述移动终端通过蓝牙通信下发到所述电能表,所述电能表存储新的所述密钥S1、S2、S3并在下次蓝牙认证通信时作为加密密钥。
进一步的,所述步骤S40中,所述T0为BCD码形式的年、月、日、时、分、秒、星期。
进一步的,在所述步骤S10之前需要通过所述移动终端将蓝牙设备设置为主机模式。
进一步的,所述电能表采用具备ARM Cortex M0 CPU核的SOC单片机RN8211B作为主控制器,内置计量IP核与带温度补偿的RTC模块。
进一步的,所述电能表内的蓝牙通信模组的型号为WS8100。
本发明提供的基于3DES的蓝牙通信电能表安全通信认证方法与现有技术相比,至少具有如下有益效果:
本发明步骤简单,过程快捷,通过低功耗的蓝牙通信模组与移动终端建立连接,用户能够通过移动终端实时查看电能表数据并能进行电费缴纳,采用3DES算法对电能表数据进行加密,保证了电能表数据的安全性,整个方法安全便捷。
附图说明
为了更清楚地说明本发明的方案,下面将对实施例描述中所需要使用的图作一个简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于3DES的蓝牙通信电能表安全通信认证方法的流程图;
图2为本发明实施例提供的一种基于3DES的蓝牙通信电能表安全通信认证方法的步骤S40中混合方法示意图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明提供了一种基于3DES的蓝牙通信电能表安全通信认证方法,应用于智能电表的通信与计量中,基于3DES的蓝牙通信电能表安全通信认证方法包括以下步骤:
S10、移动终端获取电能表内部蓝牙通信模组的MAC地址及系统位移的BCD电能表地址编码;
S20、所述移动终端与所述电能表建立蓝牙通信信道;
S30、所述移动终端向所述电能表发起安全通信认证申请数据帧,接收到申请的电能表给所述移动终端返回一个带有指定字节的随机数R0;
S40、所述移动终端收到指定字节随机数R0后将收到的所述R0与指定字节自身日期与时间T0按字节进行混合得到双倍指定字节的数据段M0;
S50、所述移动终端采用3DES的算法对所述M0进行加密形成加密后的双倍指定字节的数据段P0;
S60、所述电能表在收到所述P0后按照3DES的算法对所述P0进行解密后得到双倍指定字节的数据段M1;
S70、对所述M1进行反向解混得到指定字节随机数R1与指定字节自身日期与时间T1;
S80、通过对比所述R1与R0、T1与T0进行安全通信认证,返回认证失败数据帧或进行后续应用通信。
本发明步骤简单,过程快捷,通过低功耗的蓝牙通信模组与移动终端建立连接,用户能够通过移动终端实时查看电能表数据并能进行电费缴纳,采用3DES算法对电能表数据进行加密,保证了电能表数据的安全性,整个方法安全便捷。
为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种基于3DES的蓝牙通信电能表安全通信认证方法,3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称,应用于智能电表的通信与计量中,本实施例中,涉及的安全通信认证的蓝牙预付费电子式电能表选用了具备ARM Cortex M0 CPU核的SOC单片机RN8211B作为主控制器,内置计量IP核与带温度补偿的RTC模块,无需再配置电能计量专用芯片与实时时钟芯片,实时时钟采用锂电池供电。通信方式上,取消了常用的RS-485总线通讯方式,用蓝牙通信代替,蓝牙通信模组采用永丰祥的WS8100,蓝牙模组作为从设备,不断向外广播,等待主机连接,电能表面板上印有包含电能表内置蓝牙模组MAC地址和电能表地址编码的二维码。移动终端为手机,具体操作在手机APP,手机APP为微信小程序,结合图1与图2,所述基于3DES的蓝牙通信电能表安全通信认证方法包括以下步骤:
S10、微信小程序通过扫描电能表铭牌上的二维码,获取电能表内部蓝牙通信模组的MAC地址及系统唯一的12位BCD电能表地址编码;
在此步骤之前,电能表上的蓝牙通信模组处于从机广播状态,微信小程序先将蓝牙设备设置为主机模式。
S20、用户通过微信小程序与电能表内置蓝牙通信模组按照IEEE 802.15.1的规定的蓝牙通信的正常连接流程建立蓝牙通信连接,形成蓝牙通信信道;
在这种场景中,电能表需要响应微信小程序的蓝牙连接请求,这时的蓝牙通讯PIN码对于微信小程序是已知的,仅靠蓝牙通讯PIN码是不足以对通讯进行加密的,任何外部设备都可以与电能表进行通讯,对电能表稳定运行形成安全隐患,所以必须采取适当的方法对通讯时的用户数据帧进行加密处理,即要确保与电能表进行蓝牙通信的微信小程序或外部设备是取得授权的,不允许未经授权的外部设备通过蓝牙通讯来对电能表进行操作。
微信小程序通过4G/5G通信网络,将蓝牙预付费电子式电能表地址编码传输给远程服务器,远程服务器根据电能表地址编码,从数据库中获取蓝牙预付费电子式电能表内存储的3DES密钥数据K1、K2、K3后,再传输给微信小程序端。
S30、微信小程序主动发起安全通信认证申请数据帧,超过3秒无应答则断开蓝牙通信连接;
此时,数据帧明文发送,蓝牙预付费电子式电能表收到安全通信认证申请数据帧后,会返回一个带有8字节随机数R0的数据帧给微信小程序。
S40、微信小程序收到8字节随机数R0后,将收到的8字节随机数R0与8字节自身日期与时间T0按字节进行混合;
混合的方法如图2所示,即将随机数R0的最高字节作为M0的最高字节,将T0的最低字节作为M0的第二高字节,以此类推。这样得到了一个16个字节的混合数据段M0。8字节实时日期与时间T0为BCD码型式的年(2字节,如2022)、月(1字节,如09月)、日(1字节)、时(1字节)、分(1字节)、秒(1字节)、星期(1字节,如01表示星期一)。
S50、微信小程序采用3DES的算法,对16字节的数据段M0进行加密,形成加密后的16字节数据段P0,其中3DES加密过程中使用的三级密钥K1、K2、K3均不相同,手机APP再将加密后的16字节数据段P0以通信数据帧的形式发送给电能表。
S60、电能表在收到16字节加密数据段P0后,按照3DES的算法对P0进行解密,解密后得到16字节的数据段M1;
S70、再对16字节的数据段M1按照图2所示方法进行反向解混,得到8字节随机数R1与8字节自身日期与时间T1;
S80、电能表得到R1后,与R0进行对比,相同则进行下一步,不同则回复认证失败数据帧,断开蓝牙通信连接,R0与R1相同时,电能表将得到T1,与自身的8字节日期与时钟T2进行比对,如T1与T2相差在5分钟以内,则回复确认帧,若相差大于等于5分钟或日期时间不合法,则回复认证失败数据帧并断开蓝牙通信连接,结束此次安全通信认证,手机APP上应提示用户对手机进行GPS对时,完成安全通信认证后,可进行后续应用通信,后续应用通信的数据帧均按照上述3DES加密方式,以K1、K2、K3作为加密密钥,对以8字节为单位的用户数据进行加密,上述3DES加密算法符合FIPS46-3的要求。
另外,电能表在5分钟内未检测到蓝牙通讯的数据帧或者检测到蓝牙通讯连接断开,对蓝牙通信模组进行复位重启。
为了进一步保障蓝牙通信的安全性,在微信小程序与电能表完成安全通信认证后,进行正常的应用通信时,服务器可对电能表内存储的3DES加密密钥进行更换,如微信小程序与电能表完成安全通信认证后,在进行正常的应用通信时,远程服务器可通过4G/5G通信,将新的密钥S1、S2、S3下发到微信小程序,微信小程序再将新的密钥S1、S2、S3通过蓝牙通信下发到电能表。电能表存储此组密钥S1、S2、S3,在下次蓝牙认证通信时,作为加密密钥。
上述实施例中的基于3DES的蓝牙通信电能表安全通信认证方法,步骤简单,过程快捷,通过低功耗的蓝牙通信模组与手机APP建立连接,用户能够通过手机APP实时查看电能表数据并能进行电费缴纳,采用3DES算法对电能表数据进行加密,保证了电能表数据的安全性,当断开蓝牙通信连接后重新连接会需要重新走认证流程并需要新的密钥,进一步加强了电能表数据的安全性,整个方法安全性能高,满足了用户电能表的日常操作需求与数据保护需求。
显然,以上所描述的实施例仅仅是本发明较佳实施例,而不是全部的实施例,附图中给出了本发明的较佳实施例,但并不限制本发明的专利范围。本发明可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。
Claims (10)
1.一种基于3DES的蓝牙通信电能表安全通信认证方法,其特征在于:包括以下步骤:
S10、移动终端获取电能表内部蓝牙通信模组的MAC地址及系统位移的BCD电能表地址编码;
S20、所述移动终端与所述电能表建立蓝牙通信信道;
S30、所述移动终端向所述电能表发起安全通信认证申请数据帧,接收到申请的电能表给所述移动终端返回一个带有指定字节的随机数R0;
S40、所述移动终端收到指定字节随机数R0后,将收到的所述R0与指定字节自身日期与时间T0按字节进行混合,得到双倍指定字节的数据段M0;
S50、所述移动终端采用3DES的算法对所述M0进行加密,形成加密后的双倍指定字节的数据段P0;
S60、所述电能表在收到所述P0后按照3DES的算法对所述P0进行解密,得到双倍指定字节的数据段M1;
S70、对所述M1进行反向解混,得到指定字节随机数R1与指定字节自身日期与时间T1;
S80、通过对比所述R1与R0、T1与T0进行安全通信认证,返回认证失败数据帧或进行后续应用通信。
2.根据权利要求1所述的一种基于3DES的蓝牙通信电能表安全通信认证方法,其特征在于:所述步骤S80中,所述R1与R0进行对比,若不相同则回复认证失败数据帧并断开蓝牙通信连接,若相同则继续比较所述T1与T0,若所述T1与T0相差在5分钟以内,则回复确认帧并进行后续应用通信,若所述T1与T0相差大于等于5分钟或日期时间不合法,则回复认证失败数据帧并断开蓝牙通信连接。
3.根据权利要求1所述的一种3DES的蓝牙通信电能表安全通信认证方法,其特征在于:所述步骤S40中,将收到的所述R0与指定字节自身日期与时间T0按字节进行混合的方法是将所述R0的最高字节作为所述M0的最高字节,将所述T0的最低字节作为所述M0的第二高字节,以此类推得到双倍指定字节的数据段的所述M0。
4.根据权利要求1所述的一种基于3DES的蓝牙通信电能表安全通信认证方法,其特征在于:所述步骤S50中,所述移动终端中的3DES的算法加密所用的密钥是通过4G/5G通信,由远程服务器根据数据库内记录的所述电能表内密钥K1、K2、K3下发到所述移动终端。
5.根据权利要求4所述的一种3DES的蓝牙通信电能表安全通信认证方法,其特征在于:后续应用通信的数据帧均按照3DES加密方式,以所述K1、K2、K3作为加密密钥对以指定字节为单位的用户数据进行加密。
6.根据权利要求1所述的一种3DES的蓝牙通信电能表安全通信认证方法,其特征在于:所述步骤S80中,在所述移动终端与电能表完成安全通信认证后,远程服务器可通过4G/5G通信将新的密钥S1、S2、S3下发到所述移动终端,并由所述移动终端通过蓝牙通信下发到所述电能表,所述电能表存储新的所述密钥S1、S2、S3并在下次蓝牙认证通信时作为加密密钥。
7.根据权利要求1所述的一种3DES的蓝牙通信电能表安全通信认证方法,其特征在于:所述步骤S40中,所述T0为BCD码形式的年、月、日、时、分、秒、星期。
8.根据权利要求1所述的一种3DES的蓝牙通信电能表安全通信认证方法,其特征在于:在所述步骤S10之前需要通过所述移动终端将蓝牙设备设置为主机模式。
9.根据权利要求1所述的一种3DES的蓝牙通信电能表安全通信认证方法,其特征在于:所述电能表采用具备ARM Cortex M0 CPU核的SOC单片机RN8211B作为主控制器,内置计量IP核与带温度补偿的RTC模块。
10.根据权利要求9所述的一种3DES的蓝牙通信电能表安全通信认证方法,其特征在于:所述电能表内的蓝牙通信模组的型号为WS8100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211207016.0A CN115915078A (zh) | 2022-09-30 | 2022-09-30 | 一种基于3des的蓝牙通信电能表安全通信认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211207016.0A CN115915078A (zh) | 2022-09-30 | 2022-09-30 | 一种基于3des的蓝牙通信电能表安全通信认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115915078A true CN115915078A (zh) | 2023-04-04 |
Family
ID=86496315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211207016.0A Pending CN115915078A (zh) | 2022-09-30 | 2022-09-30 | 一种基于3des的蓝牙通信电能表安全通信认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115915078A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117222045A (zh) * | 2023-11-09 | 2023-12-12 | 广东浩宁达实业有限公司 | 一种基于蓝牙通信技术的电能表快速连接方法 |
-
2022
- 2022-09-30 CN CN202211207016.0A patent/CN115915078A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117222045A (zh) * | 2023-11-09 | 2023-12-12 | 广东浩宁达实业有限公司 | 一种基于蓝牙通信技术的电能表快速连接方法 |
CN117222045B (zh) * | 2023-11-09 | 2024-04-26 | 广东浩宁达实业有限公司 | 一种基于蓝牙通信技术的电能表快速连接方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105050081B (zh) | 网络接入设备接入无线网络接入点的方法、装置和系统 | |
CN106375287B (zh) | 新能源汽车的充电方法 | |
CN103501191B (zh) | 一种基于nfc近场通信技术的移动支付装置及其方法 | |
CN204833402U (zh) | 二维码动态密码锁 | |
KR101310156B1 (ko) | 스마트 미터링 장치 | |
CN108305068A (zh) | 一种储值卡的充值方法与系统 | |
CN103595718A (zh) | 一种pos终端激活方法、系统、服务平台及pos终端 | |
EP2487767B1 (en) | Energy access control | |
EP3346635B1 (en) | Controller, communication method, and communication system | |
KR20110100598A (ko) | 스마트 그리드 상의 가입자 인증기반의 전력거래장치 | |
CN109617675A (zh) | 一种充放电设施与用户端间的双方标识认证方法及系统 | |
KR20120051344A (ko) | 휴대형 통합 보안 저장장치와 이를 이용하는 서비스 처리 장치 및 방법 | |
WO2015055120A1 (zh) | 用于安全性信息交互的装置 | |
JP4753521B2 (ja) | ネットワークに接続されている電気装置の許可をモニタする方法および装置 | |
CN115915078A (zh) | 一种基于3des的蓝牙通信电能表安全通信认证方法 | |
KR20200091142A (ko) | 전기차 고객 자동인증서비스 지원장치 | |
CN112672342A (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
US8635667B2 (en) | Electronic apparatus and terminal | |
CN100592317C (zh) | 一种外围设备及其权限验证方法 | |
CN102299928A (zh) | 一种网络终端业务认证方法及装置 | |
CN1848725B (zh) | 保护第一设备和第二设备之间通信链接的方法和相应设备 | |
CN104574535A (zh) | Psam及其管理方法、系统、车辆收费管理方法及系统 | |
CN115297137A (zh) | 一种共享单车使用方法、电子设备和存储介质 | |
CN101414333B (zh) | 时间安全转移装置及在转移系统中的时间更新方法 | |
CN113645623B (zh) | 一种远程费控系统、安全认证方法及费控装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |