1.本申请涉及相机技术领域,尤其涉及一种用于相机的启动方法、一种用于相机的激活方法、一种相机、一种云台、一种服务器、一种相机系统、一种计算机可读存储介质、一种包含指令的计算机程序产品。
背景技术:
2.现有的相机软件系统很容易被破解,使得相机产品极易被复制和仿冒,或者使得相机由于软件系统被篡改而极易规避激活、授权流程,进而使得相机可能被非法启动,或者使得通过拼装、组装、仿冒等手段获得非法相机产品成为可能。
技术实现要素:
3.本申请实施例提供了一种用于相机的启动、激活方法和相机、云台、相机系统以及服务器,可以避免相机软件系统被破解,进而避免相机产品被非法复制、仿冒、拼装和组装而被销售,甚至可以避免相机产品由于规避激活、授权流程而被非法使用。
4.第一方面,本申请实施例提供了一种用于相机的启动方法,包括:加载所述相机的至少一个目标程序的密文,其中,所述至少一个目标程序包括系统程序和应用程序中的至少一种;获取至少一个第一功能秘钥;利用所述至少一个第一功能秘钥将所述至少一个目标程序的密文转换为所述至少一个目标程序的明文;针对每个目标程序,执行以下操作:基于目标程序的明文验证该目标程序是否符合程序启动条件;以及响应于验证结果表征该目标程序符合所述程序启动条件,启动该目标程序。
5.第二方面,本申请实施例还提供了一种用于相机的启动方法,包括:生成并存储至少一个第一功能秘钥;以及向所述相机发送所述至少一个第一功能秘钥,以便所述相机基于所述至少一个第一功能秘钥执行相机启动操作。
6.第三方面,本申请实施例提供了一种用于相机的激活方法,包括:获取来自所述相机的用于请求激活所述相机的加密消息;对所述加密消息进行验证;以及基于针对所述加密消息的验证结果,确定是否激活所述相机。
7.第四方面,本申请实施例提供了一种相机,所述相机包括处理器,用于:加载所述相机的至少一个目标程序的密文,其中,所述至少一个目标程序包括系统程序和应用程序中的至少一种;获取至少一个第一功能秘钥;利用所述至少一个第一功能秘钥将所述至少一个目标程序的密文转换为所述至少一个目标程序的明文;针对每个目标程序,执行以下操作:基于目标程序的明文验证该目标程序是否符合程序启动条件;以及响应于验证结果表征该目标程序符合所述程序启动条件,启动该目标程序。
8.第五方面,本申请实施例提供了一种云台,用于与相机配合使用,包括:处理器,用于生成并存储至少一个第一功能秘钥;以及消息发送器,用于向所述相机发送所述至少一个第一功能秘钥,以便所述相机基于所述至少一个第一功能秘钥执行相机启动操作。
9.第六方面,本申请实施例提供了一种服务器,包括:消息接收器,用于获取来自所
述相机的用于请求激活所述相机的加密消息;处理器,用于对所述加密消息进行验证,以及基于针对所述加密消息的验证结果,确定是否激活所述相机。
10.第七方面,本申请实施例提供了一种相机系统,包括:本申请任一实施例的相机;以及本申请任一实施例的云台。
11.第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行本申请任一实施例的方法。
12.第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得所述计算机执行本申请任一实施例的方法。
13.本申请实施例提供了一种用于相机的启动、激活方法及相机、云台、服务器和相机系统,采用对相机的软件系统进行加密保护的安全方案,并在验证软件系统合法、完整、没有被篡改时再启动相机,由此可以避免相机软件系统被破解,进而避免相机产品被非法复制、仿冒、拼装和组装而销售,甚至可以避免相机产品由于规避激活、授权流程而被非法使用。
附图说明
14.图1示意性示出了根据本申请实施例的用于相机的启动、激活方法的系统架构;
15.图2示意性示出了根据本申请实施例的用于相机的启动方法的流程图;
16.图3示意性示出了根据本申请另一实施例的用于相机的启动方法的流程图;
17.图4示意性示出了根据本申请用于相机的启动和激活方法的原理图;
18.图5示意性示出了根据本申请另一实施例的用于相机的启动方法的流程图;
19.图6示意性示出了根据本申请实施例的用于相机的激活方法的流程图;
20.图7a~图7c示意性示出了根据本申请实施例的用于相机的启动、激活方法的流程图;
21.图8示意性示出了根据本申请实施例的相机的框图。
具体实施方式
22.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
23.本申请实施例提供的用于相机的启动方法和相机可以应用于任何需要启动相机的应用场景(如首次加载系统程序和应用程序而启动相机,或者程序(包括系统程序和/或应用程序)升级后首次加载程序而启动相机等)。该用于相机的启动方法在相机侧具体可以由相机执行,更具体地可以由相机的处理器执行。该用于相机的启动方法在云台侧具体可以由云台执行,更具体地可以由云台的处理器执行。
24.同样,本申请实施例提供的用于相机的激活方法可以应用于任何需要激活相机的应用场景(如首次启动相机后需要激活相机)。该用于相机的激活方法在服务器侧具体可以由激活服务器执行,更具体地可以由激活服务器的处理器执行。
25.本申请实施例提供的用于相机的启动、激活方法的系统架构可以如图1所示。
26.如图1所示,该系统架构100包括固件服务器101、安全服务器102、激活服务器103和相机系统104。其中,相机系统104包括云台1041和相机1042。
27.具体地,固件服务器101用于为相机1042提供首次启动时所要加载的系统程序和/或应用程序等固件,以及用于为相机1042提供程序升级后再次启动时所要加载的系统程序和/或应用程序等固件。
28.安全服务器102用于生成核心秘钥,并将生成的核心秘钥注入对应型号的云台。其中,核心秘钥是相机产品的底层秘钥,用来生成功能秘钥(包括启动秘钥和激活秘钥)以便实现相机启动和激活。换言之,核心秘钥为产品级别的秘钥,每个产品类型可以共享一个核心秘钥,功能秘钥则以核心秘钥为种子,通过添加每个相机自身的信息而生成。
29.激活服务器103用于接收相机1042的激活请求,并验证相机1042是否符合激活条件,进而根据验证结果向相机1042返回激活应答。
30.云台1041用于根据核心秘钥和相机1042自身的信息,生成相机1042的启动秘钥和激活秘钥等功能秘钥。此外,云台1041还用于获取并保存相机1042的状态信息,以及接收相机1042的状态查询请求,并验证相机1042是否合法,进而根据验证结果向相机1042返回状态查询结果。
31.相机1042可以从固件服务器101处加载固件,并从云台1041处获取启动秘钥以便执行相机启动操作。此外,相机1042还可以从云台1041处获取激活秘钥并向激活服务器103发送激活请求以便执行相机激活操作。
32.需要说明的是,图1仅为适于本申请实施例的系统架构的示意图,并不对系统架构的拓扑作限定。
33.本申请实施例提供的用于相机的启动方法,可以采用对相机的软件系统进行加密保护的安全方案,并在验证软件系统合法、完整、没有被篡改时再启动相机,由此可以避免相机软件系统被轻易破解,进而避免相机产品被轻易非法复制、仿冒、拼装和组装而销售,甚至可以避免相机产品由于规避激活、授权流程而被非法使用。
34.需要说明的是,本申请实施例提供的用于相机的启动、激活方法,可以用于对各类相机产品进行安全启动和激活认证,以便相机产品可以正常运行。
35.此外,需要说明的是,本申请实施例提供的用于相机的启动、激活方法,可以应用于相机领域,以及具有相机功能的电子设备等领域。具体地,在本申请实施例中,相机可以是任何可以捕捉和记录影像的电子设备,本申请在此不做限定。
36.下面结合附图,对本申请实施例的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
37.本申请实施例提供了一种用于相机的启动方法,应用于相机侧。
38.图2示意性示出了根据本申请实施例的用于相机的启动方法的流程图,本实施例的执行主体可以为相机,具体可以为相机的处理器。如图2所示,本实施例的方法例如可以首次启动相机中的目标程序的场景,也可以用于程序升级后首次启动相机中的目标程序的场景,且该方法例如可以包括操作s210至操作s260。
39.操作s210,加载相机的至少一个目标程序的密文,其中,至少一个目标程序包括系统程序和应用程序中的至少一种。
40.操作s220,获取至少一个第一功能秘钥。
41.操作s230,利用至少一个第一功能秘钥将至少一个目标程序的密文转换为至少一个目标程序的明文。
42.操作s240,针对每个目标程序,执行以下操作s250和s260。
43.操作s250,基于目标程序的明文验证该目标程序是否符合程序启动条件。
44.操作s260,响应于验证结果表征该目标程序符合程序启动条件,启动该目标程序。
45.与相关技术中的相机没有关于软件系统的安全方案相比,本申请实施例增加了关于相机软件系统的安全方案。具体地,可以将相机软件系统中的部分或者全部加密后存储在如图1所示的固件服务器101中,以便相机加载时使用。
46.显然,在本申请实施例中,通过对相机软件系统加密,可以防止相机软件系统被轻易破解,进而可以避免相机软件系统被复制、被篡改、被替换,由此可以避免仿冒、拼装和组装的相机产品由于能规避激活、授权流程而被非法销售和使用。
47.具体地,在操作s210,为了保障相机软件系统安全,对相机软件系统加密时,可以采用以下方案:方案1,可以仅加密系统程序;或者,方案2,可以仅加密应用程序(包括加密全部或者部分应用程序);或者,方案3,可以同时加密系统程序和应用程序(包括加密全部或者部分应用程序)。
48.对应地,在启动相机时,对于方案1,可以仅在启动相机的系统程序时执行操作s210至操作s260;对于方案2,可以先启动相机的系统程序,并在仅启动相机的涉及加密的应用程序时执行操作s210至操作s260;对于方案3,可以先启动相机的系统程序,再启动相机的应用程序,并在启动相机的系统程序和涉及加密的应用程序时执行操作s210至操作s260。
49.可以理解,相比之下,采用方案3的相机,软件系统被破解的难度更高,因而安全性更高。采用方案1或方案2的相机,软件系统被破解的难度比方案3稍低,因而安全性稍低。在不同的实施例中,可根据安全性等实际需求来设置方案,本申请在此不做限定。
50.具体地,在本申请实施例中,在操作s220,例如可以从与相机关联的云台获取至少一个第一功能秘钥。可以理解,在本申请实施例中,与相机关联的云台与相机本身是在一个相机系统中的。例如,返回参考图1,与相机1042关联的云台为云台1041,其中相机1042和云台1041都属于相机系统104。
51.在一个实施例中,对于同一个相机而言,被加密的系统程序和所有被加密的应用程序,可以共享一个启动秘钥(第一功能秘钥)来解密并启动。
52.或者,在另一个实施例中,对于同一个相机而言,被加密的系统程序和所有被加密的应用程序中的部分程序可以共享一个启动秘钥(第一功能秘钥)来解密并启动,而剩余程序中的每个则可以各自独享一个启动秘钥(第一功能秘钥)来解密并启动。
53.或者,在另一个实施例中,对于同一个相机而言,其中每一个程序(包括被加密的系统程序和所有被加密的应用程序)都可以各自独享一个启动秘钥(第一功能秘钥)来解密并启动。
54.可以理解,对于同一相机而言,其软件程序使用的启动秘钥(第一功能秘钥)的数量越多,则其软件程序被破解的难度越大,其安全性能越高;反之则反之。
55.具体地,在本申请实施例中,为了最大程度的提高相机软件系统的安全性,例如可以通过安全服务器为每个产品型号生成一个核心秘钥,使得一个产品型号下的所有相机产品可以共享一个核心秘钥。云台例如可以基于与其所在的相机系统内的相机的产品型号对应的核心秘钥,并基于该相机自身的信息为其每个功能软件(目标程序)单独生成一个秘钥
(第一功能秘钥),从而实现“一机一功能一秘钥”。因此,作为一种优选实施例,不同的功能秘钥可以对应于不同的目标程序,从而实现“一机一功能一秘钥”,以便最大程度地保障相机能够安全启动。
56.可以理解,在本申请实施例中,相机的所有软件程序可以共享一个第一功能秘钥进行加密,只是这种方案安全性不是很高,相当于一个第一功能秘钥被破解意味着所有的软件程序可能都不再安全。相比之下“一机一功能一秘钥”是更优的解决方案。
57.此外,具体地,在本申请实施例中,在操作s220,为了防止第一功能秘钥在传输过程中被泄露或者被劫取,还可以先对用于传输第一功能秘钥的信道进行加密,再通过加密信道从与相机关联的云台获取至少一个第一功能秘钥。
58.此外,在本申请实施例中,为了防止第一功能秘钥被轻易破解,云台还可以通过加密算法基于对应的核心秘钥和相机自身的信息来生成加密功能秘钥。
59.具体地,在操作s220,相机可以从云台获取至少一个加密功能秘钥,其中,至少一个加密功能秘钥为对前述的至少一个第一功能秘钥中的至少之一进行加密而得到的秘钥。换言之,在本申请实施例中,可以加密所有的第一功能秘钥,也可以仅加密部分第一功能秘钥。相比之下,加密所有的第一功能秘钥则安全性更高。
60.此外,在本申请实施例中,云台在生成第一功能秘钥后,可以将其存储在内存中。由此,在操作s220,相机可以从与该相机关联的云台的内存中获取至少一个第一功能秘钥。由于内存中存储的信息是掉电易失的,并且任何第三方都无法读取云台内存中的信息,因此通过本申请实施例,可以防止第一功能秘钥泄漏。
61.在本申请的一个实施例中,在操作s210和操作s220之后,可以先执行操作s230利用每个启动秘钥(第一功能秘钥)对对应的系统软件的密文进行解密,再执行操作s250基于解密后得到的软件程序明文验证能否启动相机,由此可以实现相机系统软件的安全启动。
62.需要说明的是,正常情况下,发布到固件服务器上的相机软件系统都是合法的、未被第三方恶意篡改和替换的软件。基于此,在操作s250,可以基于目标程序的明文验证该目标程序是否合法、是否未被第三方恶意篡改和替换等。而在验证结果表明该目标程序是合法的、且是未被第三方恶意篡改和替换后,再执行操作s260,即启动并运行该目标程序,该方法可以拦截非法、篡改后的软件进入相机主控系统运行。
63.作为一种可选的实施例,该方法还可以包括:针对所有的目标程序,先验证能否启动系统程序,再在启动系统程序后验证能否启动应用程序。
64.具体地,如图3所示,该方法例如可以包括如下操作。
65.操作s310,加载相机的系统程序的密文。
66.操作s320,获取用于解密系统程序的密文的第一功能秘钥。
67.操作s330,利用该第一功能秘钥将该系统程序的密文转换为对应的明文。
68.操作s340,基于系统程序的明文验证该系统程序是否符合程序启动条件。
69.操作s350,响应于验证结果表征该系统程序符合程序启动条件,启动该系统程序。
70.操作s360,响应于该系统程序启动后,循环执行以下操作s370至操作s3110以便依次启动该相机中的加密应用程序。
71.操作s370,加载相机的一应用程序的密文。
72.操作s380,获取用于解密该应用程序的密文的第一功能秘钥。
73.操作s390,利用该第一功能秘钥将该应用程序的密文转换为对应的明文。
74.操作s3100,基于该应用程序的明文验证该应用程序是否符合程序启动条件。
75.操作s3110,响应于验证结果表征该应用程序符合程序启动条件,启动该应用程序。
76.可以理解,上述系统程序和应用程序均可以是一个或多个,本申请在此不做限定。
77.作为一种可选的实施例,该方法还可以包括:响应于应用程序的启动,基于第二功能秘钥向激活服务器发送第一加密消息,以请求激活相机。
78.图4示意性示出了根据本申请用于相机的启动和激活方法的原理图。如图4所示,该方法的实现原理例如可以如下:安全服务器402先生产一核心秘钥,并通过加密信道将其注入相机系统404中的云台4041。云台4041接收到来自安全服务器402的核心秘钥后,可以先通过加密通信算法对该核心秘钥进行处理,再发送至安全存储模块进行存储,待到需要启动相机系统404中的相机4042时或者在这之前,从安全存储模块读取该核心秘钥,并通过秘钥生成算法对该核心秘钥进行处理,以生成至少一个第一功能秘钥和第二功能秘钥,并在将功能秘钥(包括至少一个第一功能秘钥和第二功能秘钥)发送至相机4042之前先通过加密通信算法对这些功能秘钥进行加密处理,再通过加密信道发送至相机4042。相机4042接收到来自云台4041的加密功能秘钥后,先进行加密功能秘钥的解密处理,再通过解密后的功能秘钥验证系统软件是否能够正常启动,响应于系统软件的验证通过,正常启动系统软件;再验证各应用软件是否能够正常启动,响应于应用软件的验证通过,例如,可以启动相机激活流程。在激活相机时,相机4042通过加密激活算法基于第二功能秘钥向激活服务器403发送第一加密消息,以请求激活相机,并接收来自激活服务器403的激活应答,进而基于该激活应答确定是否激活相机。
79.在本申请实施例中,为了阻止非法组装、拼装的相机产品被正常销售、正常使用,可以使相机产品和激活服务器组成安全的激活系统,用户手中的相机产品需要经过激活、认证才可以正常使用。
80.通过本申请实施例,对相机激活请求进行加密,可以实现相机安全激活,防止激活算法被破解,并防止非法组装、拼装的相机绕过激活流程而正常销售和使用。
81.作为一种可选的实施例,为了防止激活请求在传输中泄露,例如可以通过加密信道向激活服务器发送第一加密消息。
82.可以理解,相机激活请求中携带的信息可以被用来做秘钥猜测,因此,一旦相机激活请求被泄露,则激活秘钥被破解的机率会变高。作为一个安全系统,泄露出去的明文信息越少,整个系统的安全性越高,被破解的可能性越低。基于上述考虑,在本申请实施例中,使用加密信道传输第一加密消息。
83.作为一种可选的实施例,该方法例如还可以包括:在向激活服务器发送第一加密消息之前,向与相机相关联的云台和/或向相机内部的控制装置发送第二加密消息,以请求查询相机的状态,其中,当查询结果表征相机尚未被激活时,启动相机的激活流程。
84.具体地,在本申请中,作为一个实施例,可以将相机的状态信息单独存储在云台的固化存储器中。或者,作为另一个实施例,可以将相机的状态信息单独存储在与云台具有相同算力和安全存储能力的相机内部部件(控制装置)中。或者,作为另一个实施例,可以将相机的状态信息存储在云台和与云台具有相同算力和安全存储能力的相机内部部件(控制装
置)中。例如,上述控制装置可以包括但不限于镜头控制器、电池控制器,lcd驱动控制器中的至少之一。
85.在本申请的实施例中,可以做如下设置,即每个相机产品仅可以执行一次激活操作。具体地,可以在首次启动相机的过程中执行激活操作,而在其他情况下不执行激活操作。由此可以先查询相机当前是否处于尚未被激活的状态,如果相机尚未被激活,则启动相机激活流程。
86.可以理解,对状态查询请求进行加密,也可以实现相机的安全激活,能够防止非法组装或拼装的相机被正常销售和使用。
87.作为一种可选的实施例,可以通过加密信道向云台发送第二加密消息,以防止状态查询请求在传输中泄露。
88.作为一种可选的实施例,可以通过加密信道从云台获取查询结果,以防止状态查询结果在传输中泄露。
89.可以理解,如果单台相机和云台之间在传输信息如状态查询请求、状态查询结果、各种功能秘钥(如启动秘钥和激活秘钥)等时发生泄露,则会直接导致该相机的激活、安全启动等功能秘钥被泄露,而安全启动以及激活等功能秘钥一旦被泄露,其他非法相机产品就可以伪装成该相机进行伪装激活、或者跳过激活、跳过安全启动,甚至加密固件被解密破解。因此,通过加密信道在相机和云台之间传输信息提高了相机启动、激活的安全性。
90.本申请实施例还提供了另一种用于相机的启动方法,应用于云台侧。
91.图5示意性示出了根据本申请另一实施例的用于相机的启动方法的流程图。本实施例的执行主体可以为云台,具体可以为云台的处理器。如图5所示,本实施例的方法例如可以首次启动相机中的目标程序的场景,也可以用于程序升级后首次启动相机中的目标程序的场景,且该方法例如可以包括操作s510和操作s520。
92.在操作s510,生成并存储至少一个第一功能秘钥。
93.在操作s520,向相机发送至少一个第一功能秘钥,以便相机基于至少一个第一功能秘钥执行相机启动操作。
94.如本申请前述实施例所述,可以通过对相机软件系统加密,防止相机软件系统被轻易破解,进而避免相机软件系统被复制、被篡改、被替换,由此可以避免仿冒、拼装和组装的相机产品由于能规避激活、授权流程而被非法销售和使用。
95.可以理解,复制是指相机的固件明文被复制。如果固件明文被复制,则可以直接绕开安全启动功能而启动相机,甚至明文固件可以被用来反编译、破解,直接破解掉整个相机的安全系统,那么安全启动和激活就完全没有意义了。所以相机的软件系统(固件)是要加密存储的。但是,在启动相机时却需要基于明文固件验证并执行启动操作。
96.基于此,在本申请实施例中,可以通过云台生成并存储至少一个用于解密固件密文的第一功能秘钥,并在相机启动时,向相机提供对应的第一功能秘钥。
97.需要说明的是,在本申请实施例中,云台生成并保存第一功能秘钥的方案与前述实施例中描述的相同或类似,在此不再赘述。
98.通过本公开实施例,可以通过云台集成用于对明文固件加密以及对密文固件解密的安全算法并形成安全中心,无需额外添加专门安全芯片。并且,该安全算法可以通过自主、可定制、可灵活替换的安全技术实现,从而实现更高的安全性。自主、可定制、可灵活替
换的相机安全启动和激活方案,可以适应外部环境变化,提升破解难度,因而可以提升相机软件系统、相机产品的安全等级,并且可以提升相机产品安全方案的灵活度。
99.例如,将功能秘钥存储在云台,可以灵活调整加密方案,应对变化的外部环境。可以理解,例如如果出现了更好、更安全、性能消耗更低的加密算法,则可以灵活替换本申请使用的加密算法,即利用新的加密算法生成新的固件密文给相机升级即可实现灵活调整加密方案的目的。
100.此外,需要说明的是,在本申请实施例中,云台中可以集成安全存储功能、各种功能秘钥导出算法、加密通信算法,以便实现破解难度极高的硬件安全中心,以用于:存储核心秘钥,确保核心秘钥不会被破解;导出安全启动秘钥、激活秘钥等功能秘钥,确保功能秘钥不会流出安全中心,同时确保各种功能秘钥导出算法难以被破解。另外,通过加密通道传递安全启动秘钥、激活秘钥等功能秘钥,确保功能秘钥不会在传输过程中泄露。并且,对应地,在相机侧也集成加密通信算法、加密信息验证算法,用于:与安全中心通过加密通信进行安全启动秘钥和激活秘钥的传递。
101.作为一种可选的实施例,该方法例如还可以包括:对至少一个第一功能秘钥中的至少之一进行加密,以生成并存储加密后的功能秘钥。
102.具体地,云台可以通过加密通信算法对部分或者全部第一功能秘钥进行加密,并且云台可以通过安全存储功能存储第一功能秘钥,由此可以提升破解难度,进而可以提升相机软件系统、相机产品的安全等级。
103.作为一种可选的实施例,向相机发送至少一个第一功能秘钥例如可以包括:通过加密信道向相机发送加密后的功能秘钥,以防加密后的功能秘钥在传输中泄露。
104.作为一种可选的实施例,通过加密信道向相机发送加密后的功能秘钥例如可以包括:获取来自相机的用于请求获取加密后的功能秘钥的第一加密消息;对第一加密消息进行验证;以及响应于第一加密消息验证通过,通过加密信道向相机发送加密后的功能秘钥。由此可以防止功能秘钥被非法劫取。
105.作为一种可选的实施例,该方法例如还可以包括:获取并存储针对相机的状态信息;获取来自相机的用于请求查询相机状态的第二加密消息;对第二加密消息进行验证;以及响应于第二加密消息验证通过,向相机发送状态信息,以便相机确定是否启动相机激活流程。可以理解,通过验证可以防止相机状态被非法窃取,进而防止非法组装的相机被正常激活或者绕过激活流程而正常使用。
106.作为一种可选的实施例,向相机发送状态信息例如可以包括:通过加密信道向相机发送状态信息,以防止相机状态被非法截获。
107.作为一种可选的实施例,在与相机相关联的云台的存储器中存储状态信息。由于存储器可以固化存储信息,由此可以防止相机的状态信息掉电丢失。
108.作为一种可选的实施例,在与相机相关联的云台的内存中存储至少一个第一功能秘钥。
109.具体地,在本申请实施例中,云台在生成第一功能秘钥后,可以将其存储在内存中。由此,相机可以从与该相机关联的云台的内存中获取至少一个第一功能秘钥。由于内存中存储的信息是掉电易失的,并且任何第三方都无法读取云台内存中的信息,因此通过本申请实施例,可以防止第一功能秘钥泄漏。
110.本申请实施例还提供了一种用于相机的激活方法,应用于激活服务器侧。
111.图6示意性示出了根据本申请实施例的用于相机的激活方法的流程图。本实施例的执行主体可以为激活服务器,具体可以为激活服务器的处理器。如图6所示,本实施例的方法例如可以首次启动相机中的目标程序的场景,且该方法例如可以包括操作s610至操作s630。
112.在操作s610,获取来自相机的用于请求激活相机的加密消息。
113.在操作s620,对加密消息进行验证。
114.在操作s630,基于针对加密消息的验证结果,确定是否激活相机。
115.具体地,在操作s620,可以验证相机的身份是否合法、以及加密消息是否合法。在验证通过后,向相机返回允许激活的应答报文。在验证没有通过时,向相机拒绝激活的应答报文。
116.通过本申请实施例,响应于相机的应用程序的启动,可以使用集成的加密激活算法和激活服务通信以完成相机的加密激活过程。
117.在本申请实施例中,为了阻止非法组装、拼装的相机产品被正常销售、正常使用,可以使相机产品和激活服务器组成安全的激活系统,用户手中的相机产品需要经过激活、认证才可以正常使用。
118.通过本申请实施例,对相机激活请求进行加密,可以实现相机安全激活,防止激活算法被破解,并防止非法组装、拼装的相机绕过激活流程而正常销售和使用。
119.在下文中以一个具体实施例详细阐述本申请的用于相机的启动、激活方法。
120.在一个实施例中,如图7a~图7c所示,该相机启动、激活方法的流程可以包括以下操作。
121.云台先执行操作s710~操作s714。
122.操作s710,云台安全启动;
123.操作s711,云台提取并保存相机的状态信息;
124.操作s712,云台生成相机的安全启动秘钥;
125.操作s713,云台初始化加密传输信道;
126.操作s714,云台控制相机主控上电。
127.相机上电后,相机主控执行操作s720和操作s721。
128.操作s720,加载系统启动器;
129.操作s721,运行系统启动器。
130.系统启动器运行后,与云台配合执行以下操作以启动相机的系统应用。
131.操作s730,系统启动器初始化;
132.操作s731,系统启动器加密通信初始化;
133.操作s732,系统启动器查询相机状态;
134.操作s715,云台加密消息验证通过;
135.操作s716,云台应答相机状态查询请求;
136.操作s733,系统启动器获取并存储相机的状态信息到内存;
137.操作s734,系统启动器提取安全启动秘钥和激活秘钥;
138.操作s717,云台加密消息验证通过;
139.操作s718,云台反馈安全启动秘钥和激活秘钥;
140.操作s735,系统启动器存储安全启动秘钥和激活秘钥至内存;
141.操作s736,系统启动器配置系统程序1的安全启动秘钥;
142.操作s737,系统启动器加载系统程序1的密文固件至内存;
143.操作s738,系统启动器对系统程序1的密文进行解密、验证;
144.操作s739,系统启动器启动系统程序1。
145.系统程序1启动并运行后,执行以下操作以启动系统程序2。
146.操作s740,系统程序1运行;
147.操作s741,系统程序1从内存提取相机的状态信息;
148.操作s742,系统程序1从内存提取系统程序2的安全启动秘钥,并校验;
149.操作s743,系统程序1配置系统程序2的安全启动秘钥;
150.操作s744,系统程序1加载系统程序2到内存;
151.操作s745,系统程序1对系统程序2进行解密、验证;
152.操作s746,系统程序1启动系统程序2;
153.操作s747,系统程序1加载激活秘钥;
154.操作s748,系统程序1生成激活请求信息并发送给激活服务器验证;
155.操作s750,激活服务器验证激活请求;
156.操作s751,激活服务器验证相机的合法性;
157.操作s752,激活服务器应答激活请求;
158.操作s749,系统程序1验证激活应答并确认激活结果。
159.在上述实施例中,目标程序包括2个系统程序(即系统程序1、系统程序2)和1个应用程序(即激活程序)。可以理解,上述实施例只作为本申请的一个示意性实例,本申请在此不做限定。
160.本申请实施例还提供了一种用于相机,用于实现安全启动和激活操作。
161.图8示意性示出了根据本申请实施例的相机的框图,如图8所示,该相机800例如可以包括:处理器810和存储器820。
162.具体地,存储器820用于存储指令,处理器810调用存储器820中存储的指令,用于执行以下操作:加载相机的至少一个目标程序的密文,其中,至少一个目标程序包括系统程序和应用程序中的至少一种;获取至少一个第一功能秘钥;利用至少一个第一功能秘钥将至少一个目标程序的密文转换为至少一个目标程序的明文;针对每个目标程序,执行以下操作:基于目标程序的明文验证该目标程序是否符合程序启动条件;以及响应于验证结果表征该目标程序符合程序启动条件,启动该目标程序。
163.作为一个可选的实施例,不同的功能秘钥可以对应于不同的目标软件。
164.作为一个可选的实施例,该处理器还可以用于:针对所有的目标程序,先验证能否启动系统程序,再在启动系统程序后验证能否启动应用程序。
165.作为一个可选的实施例,该相机还可以包括:消息发送器,用于响应于应用程序的启动,第二功能秘钥向激活服务器发送第一加密消息,以请求激活相机。
166.作为一个可选的实施例,该相机的消息发送器还可以用于:通过加密信道向激活服务器发送第一加密消息。
167.作为一个可选的实施例,该相机的消息发送器还可以用于:在向激活服务器发送第一加密消息之前,向与相机相关联的云台和/或向相机内部的控制装置发送第二加密消息,以请求查询相机的状态;以及处理器,还用于当查询结果表征相机尚未被激活时,启动相机的激活流程。
168.作为一个可选的实施例,该相机的消息发送器还可以用于:通过加密信道向云台发送第二加密消息。
169.作为一个可选的实施例,该相机还可以包括消息接收器。该消息接收器用于:通过加密信道从云台获取查询结果。
170.作为一个可选的实施例,该相机还可以包括消息接收器。消息接收器用于:从与相机关联的云台获取至少一个第一功能秘钥。
171.作为一个可选的实施例,该相机的消息接收器还可以用于:通过加密信道从云台获取至少一个第一功能秘钥。
172.作为一个可选的实施例,该相机的消息接收器还用于:从云台获取加密功能秘钥,其中,加密功能秘钥为对至少一个第一功能秘钥中的至少之一进行加密而得到的秘钥。
173.作为一个可选的实施例,该相机的消息接收器还可以用于:从云台的内存中获取至少一个第一功能秘钥。
174.应该理解,本申请实施例提供的相机,可以用于执行前述相机侧的用于相机的启动方法实施例的技术方案,其实现原理和技术效果与方法实施例类似,在此不再赘述。
175.本申请实施例还提供了一种云台,用于与相机配合使用,以便使得相机可以安全启动和激活。
176.具体地,该云台可以包括处理器和消息发送器。其中,处理器可以用于生成并存储至少一个第一功能秘钥。该云台的消息发送器可以用于向相机发送至少一个第一功能秘钥,以便相机基于至少一个第一功能秘钥执行相机启动操作。
177.作为一个可选的实施例,该云台的处理器还可以用于:对至少一个第一功能秘钥中的至少之一进行加密,以生成并存储加密后的功能秘钥。
178.作为一个可选的实施例,该云台的消息发送器还可以用于:通过加密信道向相机发送加密后的功能秘钥。
179.作为一个可选的实施例,该云台还可以包括:消息接收器,用于获取来自相机的用于请求获取加密后的功能秘钥的第一加密消息。该云台的处理器还可以用于对第一加密消息进行验证。该云台的消息发送器还可以用于响应于第一加密消息验证通过,通过加密信道向相机发送加密后的功能秘钥。
180.作为一个可选的实施例,该云台的消息接收器还可以用于获取针对相机的状态信息并获取来自相机的用于请求查询相机状态的第二加密消息。该云台还可以包括:存储器,用于存储针对相机的状态信息。该云台的处理器还可以用于对第二加密消息进行验证。该云台的消息发送器还可以用于响应于第二加密消息验证通过,向相机发送状态信息,以便相机确定是否启动相机激活流程。
181.作为一个可选的实施例,该云台的消息发送器还可以用于通过加密信道向相机发送状态信息。
182.作为一个可选的实施例,该云台还可以包括:内存,用于存储至少一个第一功能秘
钥。
183.应该理解,本申请实施例提供的云台,可以用于执行前述云台侧的用于相机的启动方法实施例的技术方案,其实现原理和技术效果与方法实施例类似,在此不再赘述。
184.本申请实施例还提供了一种服务器(激活服务器),用于与相机配合使用,以便使得相机可以激活。具体地,该服务器例如可以包括:消息接收器和处理器。该消息接收器,用于获取来自相机的用于请求激活相机的加密消息。该处理器可以用于对加密消息进行验证,以及基于针对加密消息的验证结果,确定是否激活相机。
185.应该理解,本申请实施例提供的服务器,可以用于执行前述激活服务器侧的用于相机的激活方法实施例的技术方案,其实现原理和技术效果与方法实施例类似,在此不再赘述。
186.本申请实施例还提供了一种相机系统。该相机系统可以包括前述任一实施例中的相机以及前述任一实施例中的云台,本申请实施例在此不再赘述
187.本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行本申请实施例任一项的方法,本申请在此不再赘述。
188.本申请实施例还提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行本申请实施例任一项的方法,本申请在此不再赘述。
189.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
190.最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
技术特征:
1.一种用于相机的启动方法,其特征在于,包括:加载所述相机的至少一个目标程序的密文,其中,所述至少一个目标程序包括系统程序和应用程序中的至少一种;获取至少一个第一功能秘钥;利用所述至少一个第一功能秘钥将所述至少一个目标程序的密文转换为所述至少一个目标程序的明文;针对每个目标程序,执行以下操作:基于目标程序的明文验证该目标程序是否符合程序启动条件;以及响应于验证结果表征该目标程序符合所述程序启动条件,启动该目标程序。2.根据权利要求1所述的方法,其特征在于,不同的功能秘钥对应于不同的目标程序。3.根据权利要求1或2所述的方法,其特征在于,还包括:针对所有的目标程序,先验证能否启动系统程序,再在启动系统程序后验证能否启动应用程序。4.根据权利要求3所述的方法,其特征在于,还包括:响应于应用程序的启动,基于第二功能秘钥向激活服务器发送第一加密消息,以请求激活所述相机。5.根据权利要求4所述的方法,其特征在于,通过加密信道向所述激活服务器发送所述第一加密消息。6.根据权利要求4所述的方法,其特征在于,还包括:在向激活服务器发送第一加密消息之前,向与所述相机相关联的云台和/或向所述相机内部的控制装置发送第二加密消息,以请求查询所述相机的状态,其中,当查询结果表征所述相机尚未被激活时,启动所述相机的激活流程。7.根据权利要求6所述的方法,其特征在于,通过加密信道向所述云台发送所述第二加密消息。8.根据权利要求6或7所述的方法,其特征在于,通过加密信道从所述云台获取所述查询结果。9.根据权利要求1所述的方法,其特征在于,所述获取至少一个第一功能秘钥,包括:从与所述相机关联的云台获取所述至少一个第一功能秘钥。10.根据权利要求9所述的方法,其特征在于,所述从与所述相机关联的云台获取所述至少一个第一功能秘钥,包括:通过加密信道从所述云台获取所述至少一个第一功能秘钥。11.根据权利要求9或10所述的方法,其特征在于,从所述云台获取至少一个加密功能秘钥,其中,所述至少一个加密功能秘钥为对所述至少一个第一功能秘钥中的至少之一进行加密而得到的秘钥。12.根据权利要求9或10所述的方法,其特征在于,从所述云台的内存中获取所述至少一个第一功能秘钥。13.一种用于相机的启动方法,其特征在于,包括:生成并存储至少一个第一功能秘钥;以及向所述相机发送所述至少一个第一功能秘钥,以便所述相机基于所述至少一个第一功
能秘钥执行相机启动操作。14.根据权利要求13所述的方法,其特征在于,还包括:对所述至少一个第一功能秘钥中的至少之一进行加密,以生成并存储加密后的功能秘钥。15.根据权利要求14所述的方法,其特征在于,所述向所述相机发送所述至少一个第一功能秘钥,包括:通过加密信道向所述相机发送所述加密后的功能秘钥。16.根据权利要求15所述的方法,其特征在于,所述通过加密信道向所述相机发送所述加密后的功能秘钥,包括:获取来自所述相机的用于请求获取所述加密后的功能秘钥的第一加密消息;对所述第一加密消息进行验证;以及响应于所述第一加密消息验证通过,通过加密信道向所述相机发送所述加密后的功能秘钥。17.根据权利要求13所述的方法,其特征在于,还包括:获取并存储针对所述相机的状态信息;获取来自所述相机的用于请求查询相机状态的第二加密消息;对所述第二加密消息进行验证;以及响应于所述第二加密消息验证通过,向所述相机发送所述状态信息,以便所述相机确定是否启动相机激活流程。18.根据权利要求17所述的方法,其特征在于,所述向所述相机发送所述状态信息,包括:通过加密信道向所述相机发送所述状态信息。19.根据权利要求17所述的方法,其特征在于,在与所述相机相关联的云台的存储器中存储所述状态信息。20.根据权利要求13所述的方法,其特征在于,在与所述相机相关联的云台的内存中存储所述至少一个第一功能秘钥。21.一种用于相机的激活方法,其特征在于,包括:获取来自所述相机的用于请求激活所述相机的加密消息;对所述加密消息进行验证;以及基于针对所述加密消息的验证结果,确定是否激活所述相机。22.一种相机,其特征在于,所述相机包括处理器,用于:加载所述相机的至少一个目标程序的密文,其中,所述至少一个目标程序包括系统程序和应用程序中的至少一种;获取至少一个第一功能秘钥;利用所述至少一个第一功能秘钥将所述至少一个目标程序的密文转换为所述至少一个目标程序的明文;针对每个目标程序,执行以下操作:基于目标程序的明文验证该目标程序是否符合程序启动条件;以及响应于验证结果表征该目标程序符合所述程序启动条件,启动该目标程序。
23.根据权利要求22所述的相机,其特征在于,不同的功能秘钥对应于不同的目标软件。24.根据权利要求22或23所述的相机,其特征在于,所述处理器,还用于:针对所有的目标程序,先验证能否启动系统程序,再在启动系统程序后验证能否启动应用程序。25.根据权利要求24所述的相机,其特征在于,所述相机还包括:消息发送器,用于响应于应用程序的启动,第二功能秘钥向激活服务器发送第一加密消息,以请求激活所述相机。26.根据权利要求25所述的相机,其特征在于,所述消息发送器还用于:通过加密信道向所述激活服务器发送所述第一加密消息。27.根据权利要求25所述的相机,其特征在于,所述消息发送器还用于:在向激活服务器发送第一加密消息之前,向与所述相机相关联的云台和/或向所述相机内部的控制装置发送第二加密消息,以请求查询所述相机的状态;以及所述处理器,还用于当查询结果表征所述相机尚未被激活时,启动所述相机的激活流程。28.根据权利要求27所述的相机,其特征在于,所述消息发送器还用于:通过加密信道向所述云台发送所述第二加密消息。29.根据权利要求27或28所述的相机,其特征在于,所述相机还包括消息接收器,所述消息接收器用于:通过加密信道从所述云台获取所述查询结果。30.根据权利要求22所述的相机,其特征在于,所述相机还包括消息接收器,所述消息接收器用于:从与所述相机关联的云台获取所述至少一个第一功能秘钥。31.根据权利要求30所述的相机,其特征在于,所述消息接收器还用于:通过加密信道从所述云台获取所述至少一个第一功能秘钥。32.根据权利要求30或31所述的相机,其特征在于,所述消息接收器还用于:从所述云台获取加密功能秘钥,其中,所述加密功能秘钥为对所述至少一个第一功能秘钥中的至少之一进行加密而得到的秘钥。33.根据权利要求30或31所述的相机,其特征在于,所述消息接收器还用于:从所述云台的内存中获取所述至少一个第一功能秘钥。34.一种云台,用于与相机配合使用,其特征在于,包括:处理器,用于生成并存储至少一个第一功能秘钥;以及消息发送器,用于向所述相机发送所述至少一个第一功能秘钥,以便所述相机基于所述至少一个第一功能秘钥执行相机启动操作。35.根据权利要求34所述的云台,其特征在于,所述处理器还用于:对所述至少一个第一功能秘钥中的至少之一进行加密,以生成并存储加密后的功能秘钥。36.根据权利要求35所述的云台,其特征在于,所述消息发送器还用于:通过加密信道向所述相机发送所述加密后的功能秘钥。
37.根据权利要求36所述的云台,其特征在于,所述云台还包括:消息接收器,用于获取来自所述相机的用于请求获取所述加密后的功能秘钥的第一加密消息;所述处理器,还用于对所述第一加密消息进行验证;以及所述消息发送器,还用于响应于所述第一加密消息验证通过,通过加密信道向所述相机发送所述加密后的功能秘钥。38.根据权利要求34所述的云台,其特征在于,所述消息接收器,还用于获取针对所述相机的状态信息并获取来自所述相机的用于请求查询相机状态的第二加密消息;所述云台还包括:存储器,用于存储针对所述相机的状态信息;所述处理器,还用于对所述第二加密消息进行验证;以及所述消息发送器,还用于响应于所述第二加密消息验证通过,向所述相机发送所述状态信息,以便所述相机确定是否启动相机激活流程。39.根据权利要求38所述的云台,其特征在于,所述消息发送器还用于:通过加密信道向所述相机发送所述状态信息。40.根据权利要求34所述的云台,其特征在于,所述云台还包括:内存,用于存储所述至少一个第一功能秘钥。41.一种服务器,其特征在于,包括:消息接收器,用于获取来自所述相机的用于请求激活所述相机的加密消息;处理器,用于对所述加密消息进行验证,以及基于针对所述加密消息的验证结果,确定是否激活所述相机。42.一种相机系统,其特征在于,包括:权利要求22
‑
33中任意一项所述的相机;以及权利要求34
‑
40中任意一项所述的云台。43.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得所述计算机执行如权利要求1
‑
21中任一项所述的方法。44.一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1
‑
21中任一项所述的方法。
技术总结
一种用于相机的启动方法,包括:加载相机的至少一个目标程序的密文,其中,至少一个目标程序包括系统程序和应用程序中的至少一种;获取至少一个第一功能秘钥;利用至少一个第一功能秘钥将至少一个目标程序的密文转换为至少一个目标程序的明文;针对每个目标程序,执行以下操作:基于目标程序的明文验证该目标程序是否符合程序启动条件;以及响应于验证结果表征该目标程序符合程序启动条件,启动该目标程序。本申请实施例可以避免相机软件系统被破解,进而避免相机产品被非法复制、仿冒、拼装和组装而销售,甚至可以避免相机产品由于规避激活、授权流程而被非法使用。授权流程而被非法使用。授权流程而被非法使用。
技术研发人员:马骏 黄晶晶 朱超 范庆鹤
受保护的技术使用者:深圳市大疆创新科技有限公司
技术研发日:2020.06.30
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-128.html