一种交换机升级方法和装置与流程

文档序号:32606062发布日期:2022-12-17 22:26阅读:7782来源:国知局
一种交换机升级方法和装置与流程

1.本发明属于交换机技术领域,特别是涉及一种交换机升级方法和装置。


背景技术:

2.微软交换机操作系统开源项目sonic(software for open networking in the cloud)利用交换机抽象接口(switch abstraction interface,sai)为不同的交换芯片提供了统一的管理和操作接口,并将交换机软件分解成多个容器模块,来加速软件的迭代开发。为了启用交换机系统上的附加功能,修复旧交换机软件系统中的漏洞,或者提高交换机软件系统的稳定性,会不定期地对交换机软件版本进行更新和升级。
3.由于现有的以太网交换机大多基于“转发与控制分离”的技术架构,因而对交换机自身的安全性考虑地并不完善,且普遍存在如下安全隐患:(1)以太网交换机启动镜像的合法性和安全性存在隐患;(2)以太网交换机的系统文件以明文进行保存,容易被暴露,且存在网络内拓扑信息被暴露的安全隐患;(3)以太网交换机协议大多以明文方式进行通信,存在通过构造虚假协议报文,截取业务数据的安全隐患。
4.mtk平台的secure boot机制可以确保在软件系统上所执行的程序代码都是厂商确认过的,从而能够避免有人恶意修改系统程序的恶意行为。但是,secure boot方案大多应用于手机或者服务器,并不直接适用于交换机;并且secure boot的实现过程复杂,启动时间长,且无法获得onie或者sonic交换机操作系统的支持。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种交换机升级方法和装置,用于解决现有技术中交换机软件系统的升级过程普遍缺乏安全保护的技术问题。
6.为实现上述目的及其他相关目的,本发明提供一种交换机升级方法,包括以下步骤:接收升级请求;当所述升级请求为安全升级请求时,基于所述安全升级请求生成私钥和公钥;基于所述私钥加密交换机原始镜像,以生成交换机镜像安装包;基于所述公钥安装所述交换机镜像安装包。
7.优选地,还包括以下步骤:
8.当所述升级请求为常规升级请求时,获取交换机原始镜像的版本信息;
9.编译所述交换机原始镜像,以生成交换机编译镜像,并安装所述交换机编译镜像;
10.完成所述交换机编译镜像的安装后,获取安装后的交换机镜像版本信息;
11.判断所述安装后的交换机镜像版本信息与所述交换机原始镜像的版本信息是否一致;
12.若是,则升级失败;否则升级成功。
13.优选地,基于所述安全升级请求生成私钥和公钥采用rsa、dsa、ecdsa或者ed25519中任意一种数字签名算法。
14.优选地,基于所述安全升级请求生成私钥和公钥包括生成第一私钥、第一公钥、第
二私钥和第二公钥;所述第一私钥和所述第一公钥配对使用,所述第二私钥和所述第二公钥配对使用。
15.优选地,基于所述私钥加密交换机原始镜像,以生成交换机镜像安装包包括以下步骤:
16.获取所述交换机原始镜像的有效载荷,以生成原始有效载荷;
17.填充所述原始有效载荷,以获取填充有效载荷;
18.基于所述第一私钥加密所述交换机原始镜像,以生成交换机加密镜像;基于所述第二私钥加密所述填充有效载荷,以生成加密有效载荷;
19.合并所述交换机加密镜像和所述加密有效载荷,以生成交换机镜像安装包。
20.优选地,当所述升级请求为安全升级请求时,还包括将所述第一公钥填入所述填充有效载荷,以及将所述第二公钥存储于嵌入式功能模块中的用户闪存配置子模块。
21.优选地,基于所述公钥安装所述交换机镜像安装包包括以下步骤:
22.拆分所述交换机镜像安装包,以获取交换机加密镜像和加密有效载荷;
23.基于所述第二公钥解密所述加密有效载荷,以生成解密有效载荷;
24.验证所述解密有效载荷的数据格式是否正确;
25.若数据格式正确,则使用所述第一公钥解密所述交换机加密镜像,以获取交换机解密镜像;否则升级失败;
26.判断所述第一公钥解密所述交换机加密镜像是否成功;
27.若解密成功,则计算所述交换机解密镜像对应的校验和;否则升级失败;
28.计算所述解密有效载荷对应的校验和,并与所述交换机解密镜像对应的校验和进行比较;
29.若所述解密有效载荷对应的校验和与所述交换机解密镜像对应的校验和相等,则升级成功;否则升级失败。
30.优选地,验证所述解密有效载荷的数据格式是否正确包括以下步骤:
31.获取所述解密有效载荷中的校验字段;
32.优选地,计算所述解密有效载荷对应的校验和以及计算所述交换机解密镜像对应的校验和采用相同的hash函数。
33.本发明提供一种交换机升级装置,包括交换机开关、安全锁设计模块、加密模块和安装模块。
34.所述交换机开关用于接收升级请求;
35.所述安全锁设计模块与所述交换机开关相连,当所述升级请求为安全升级请求时,用于基于所述安全升级请求生成私钥和公钥;
36.所述加密模块与所述安全锁设计模块相连,用于基于所述私钥加密交换机原始镜像,以生成交换机镜像安装包;
37.所述安装模块与所述安全锁设计模块和所述加密模块相连,用于基于所述公钥安装所述交换机镜像安装包。
38.如上所述,本发明提供的一种交换机升级方法和装置,具有以下有益效果:
39.(1)具有安全升级和常规升级两种交换机升级方案,用户可以根据实际需求灵活调整升级方式;
40.(2)安全升级保证了交换机启动镜像的合法性和安全性,使得交换机系统文件免受黑客的攻击劫持,保障了交换机设备的正常运行;
41.(3)安全升级通过解密验证操作实现了交换机镜像文件的无损升级,且验证时间不影响交换机的启动时间,同时保证了数据中心网络的安全可靠。
附图说明
42.图1显示为本发明的交换机升级方法于一实施例中的安全升级流程图。
43.图2显示为本发明的交换机升级方法于一实施例中的fpga公钥控制设计结构示意图。
44.图3显示为本发明的交换机升级方法于一实施例中的常规升级流程图。
45.图4显示为本发明的交换机升级方法于一实施例中的私钥加密流程图。
46.图5显示为本发明的交换机升级方法于一实施例中的公钥解密流程图。
47.图6显示为本发明的交换机升级装置于一实施例中的结构示意图。
48.元件标号说明
49.s1~s4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
安全升级步骤
50.s21~s24
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
常规升级步骤
51.s31~s34
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
私钥加密步骤
52.s41~s45
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公钥解密步骤
53.51
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
交换机开关
54.52
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
安全锁设计模块
55.53
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
加密模块
56.54
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
安装模块
具体实施方式
57.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
58.需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
59.如图1所示,于一实施例中,本发明的交换机升级方法包括以下步骤:
60.s1、接收升级请求。
61.于一实施例中,本发明具有安全升级和常规升级两种交换机升级方案,用户可以根据实际需求灵活调整升级方式。具体地,本发明交换机上设置有至少两个开关按键,第一开关按键用于控制安全升级方案,第二开关按键用于控制常规升级方案,用户通过控制第一开关按键和第二开关按键来切换不同的升级方式。例如,当第一开关按键打开,第二开关按键关闭,则交换机执行的是安全升级方案;当第一开关按键关闭,第二开关按键打开,则
交换机执行的是常规升级方案。
62.s2、当所述升级请求为安全升级请求时,基于所述安全升级请求生成私钥和公钥。
63.加密技术通常分为两大类:“对称式”和“非对称式”。
64.对称式加密就是加密和解密使用同一个密钥,通常称之为“会话密钥”。这种加密技术在当今被广泛采用,例如des加密标准就是一种典型的“对称式”加密方法,它的会话密钥长度为56比特(bits)。
65.非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用。这里的“公钥”是指可以对外公布的,“私钥”则由持有人一个人知道。对于对称式的加密方法,如果需要在网络上传输加密文件,就很难不把密钥告诉对方,不管用什么方法都有可能被别人窃听到;而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人只要用自己的私钥就可以进行解密,这样就很好地避免了密钥的传输安全性问题。
66.通常用公钥加密的内容只能用对应的私钥解密;同样地,用私钥加密的内容只能用与其对应的公钥解密,因此,公钥和私钥可以用来验证发送端和接收端之间传递的报文信息是否被篡改。于一实施例中,基于所述安全升级请求生成私钥和公钥采用rsa、dsa或者ecdsa中任意一种数字签名算法。例如,本发明优选采用兼容性最好,且当前应用最为广泛的rsa来生成私钥和公钥,且rsa的默认密钥长度为3072位。
67.于一实施例中,基于所述安全升级请求生成私钥和公钥包括生成第一私钥、第一公钥、第二私钥和第二公钥;所述第一私钥和所述第一公钥配对使用,所述第二私钥和所述第二公钥配对使用。
68.如图3所示,于一实施例中,本发明的交换机升级方法还包括以下步骤:
69.s21、当所述升级请求为常规升级请求时,获取交换机原始镜像的版本信息。
70.于一实施例中,通过输入查询命令获取交换机原始镜像的版本信息。具体地,所述查询命令包括:(1)show version,该命令用于查询当前运行的镜像组件版本。所述镜像组件版本不仅包括镜像版本,还包括docker镜像版本;(2)sonic-installer list,该命令用于列表显示镜像版本信息,且列表显示的内容包括当前正在运行的镜像版本和下次重新启动时加载的镜像版本。所述镜像版本还包括该交换机镜像版本中可用的功能列表以及如何更新或回退到不同版本的说明。
71.s22、编译所述交换机原始镜像,以生成交换机编译镜像,并安装所述交换机编译镜像。
72.于一实施例中,编译所述交换机原始镜像,以生成交换机编译镜像,并安装所述交换机编译镜像包括以下步骤:
73.动态获取当前编译服务器的逻辑核资源;
74.将所述交换机原始镜像切割为指定字节数的小文件;
75.基于当前编译服务器的逻辑核资源对所述小文件进行多核多线程同步处理,以生成交换机编译镜像;
76.安装所述交换机编译镜像。
77.其中,所述交换机原始镜像可以通过文件传输的方式输入到编译服务器。
78.于一实施例中,通过输入更新命令实现所述交换机编译镜像的安装和删除操作。
所述更新命令包括:(1)sonic-installer install,该命令用于通过url下载并更新镜像;(2)sonic-installer remove,该命令用于从存储单元中移除当前正在运行镜像之外的其他版本的镜像。
79.s23、完成所述交换机编译镜像的安装后,获取安装后的交换机镜像版本信息。
80.于一实施例中,通过输入s21中的查询命令获取安装后的交换机镜像版本信息。
81.s24、判断所述安装后的交换机镜像版本信息与所述交换机原始镜像的版本信息是否一致;若是,则升级失败;否则升级成功。
82.于一实施例中,若升级成功,则新版本的交换机镜像将取代旧版本的交换机镜像,并且系统会将旧版本的交换机镜像自动从内存中删除,以释放内存存储空间;或者始终保留内存中的最近版本的交换机镜像,若新版本镜像安装过程出现问题,则系统会自动更新或回退到之前的旧镜像版本。
83.s3、基于所述私钥加密交换机原始镜像,以生成交换机镜像安装包。
84.数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段“密文”,所述密文只能在输入相应的密钥之后才能显示出原始内容,进而达到保护数据不被非法人窃取、阅读的目的。
85.如图4所示,于一实施例中,基于所述私钥加密交换机原始镜像,以生成交换机镜像安装包包括以下步骤:
86.s31、获取所述交换机原始镜像的有效载荷,以生成原始有效载荷。
87.于一实施例中,所述原始有效载荷用于记载交换机原始镜像中的关键信息。例如,交换机原始镜像中的关键信息包括:交换机原始镜像的版本信息、摘要算法类型、md5值和checksum值。
88.s32、填充所述原始有效载荷,以获取填充有效载荷。
89.于一实施例中,填充所述原始有效载荷,以获取填充有效载荷采用如下的结构体:
[0090][0091][0092]
具体地,结构体在编译过程中计算交换机原始镜像的md5值或校验和值,并将计算出的md5值或校验和值填充至原始有效载荷。其中md5值占64字节(bytes),checksum占2字节(bytes)。
[0093]
于一实施例中,当所述升级请求为安全升级请求时,还包括将所述第一公钥填入
所述填充有效载荷,以及将所述第二公钥存储于嵌入式功能模块中的用户闪存配置子模块。
[0094]
如图2所示,嵌入式功能模块(efb)是一种基于fpga、cpld或者eeprom设计的硬架构模块,其包括i2c模块,可访问配置模块(cfg)和用户闪存子模块(ufm)。其中ufm通过闪存命令接口(flash commend interface,fci)与efb进行交互,并通过efb上的wishbone接口连接到设备核心,具有prom数据存储或通用非易失性闪存功能,且ufm的耐久性强,能至少计数10000个编程或擦除周期。
[0095]
s33、基于所述第一私钥加密所述交换机原始镜像,以生成交换机加密镜像;基于所述第二私钥加密所述填充有效载荷,以生成加密有效载荷。
[0096]
于一实施例中,生成的加密有效载荷和加密冗余数据中含有数字签名,接收方基于数字签名可以识别发送方的身份信息,防止原始数据或文件被篡改,保证了数据的完整性和机密性。
[0097]
s34、合并所述交换机加密镜像和所述加密有效载荷,以生成交换机镜像安装包。
[0098]
本发明通过对交换机原始镜像进行加密,保证了交换机启动镜像的合法性和安全性,使得交换机系统文件免受黑客的攻击劫持,保障了交换机设备的正常运行。
[0099]
s4、基于所述公钥安装所述交换机镜像安装包。
[0100]
数据加密的逆过程为数据解密,即将该编码信息转化为其原来明文数据的过程。
[0101]
如图5所示,于一实施例中,基于所述公钥安装所述交换机加密镜像包括以下步骤:
[0102]
s41、拆分所述交换机镜像安装包,以获取交换机加密镜像和加密有效载荷。
[0103]
于一实施例中,拆分所述交换机镜像安装包,以获取交换机加密镜像和加密有效载荷包括以下步骤:
[0104]
从后向前按照预设长度截取所述交换机镜像安装包,以获取加密有效载荷;
[0105]
将截取的剩余所述交换机镜像安装包作为所述交换机加密镜像。
[0106]
所述预设长度默认为16比特(bits),用于表示最大长度为65535字节(bytes)的有效载荷,若超过该预设长度则会被置为0。
[0107]
s42、基于所述第二公钥解密所述加密有效载荷,以生成解密有效载荷。
[0108]
于一实施例中,本发明从嵌入式功能模块中的用户闪存配置子模块获取第二公钥,并利用该第二公钥对所述加密有效载荷进行解密,并生成解密有效载荷。
[0109]
s43、验证所述解密有效载荷的数据格式是否正确;若数据格式正确,则使用所述第一公钥解密所述交换机加密镜像,以获取交换机解密镜像;否则升级失败。
[0110]
于一实施例中,验证所述解密有效载荷的数据格式是否正确包括以下步骤:
[0111]
获取所述解密有效载荷中的校验字段;
[0112]
检查所述校验字段和预设校验码是否相同;
[0113]
若相同,则所述解密有效载荷的数据格式正确;否则不正确。
[0114]
于一实施例中,所述校验字段为所述解密有效载荷的信息摘要。例如,当所述校验字段为md5值时,可利用hash函数计算所述解密有效载荷对应的md5值,则所述预设校验码为原始有效载荷对应的md5值。进一步地,若解密有效载荷对应的md5值与原始有效载荷对应的md5值相同,则表示解密有效载荷的数据格式是正确的,否则表示当前有效载荷的数据
格式不符合升级要求,有可能是原始镜像文件在升级过程中被人篡改或是发生了破损,使用被篡改或破损的镜像文件会直接导致升级失败。
[0115]
于一实施例中,若所述解密有效载荷的数据格式发生错误,则向用户发出异常通知,以提醒用户升级过程中使用的镜像文件可能存在问题,需谨慎使用。
[0116]
s44、判断所述第一公钥解密所述交换机加密镜像是否成功;若解密成功,则计算所述交换机解密镜像对应的校验和;否则升级失败。
[0117]
于一实施例中,从所述解密有效载荷中获取所述第一公钥,并判断所述第一公钥解密所述交换机加密镜像是否成功。若所述第一公钥解密所述交换机加密镜像成功,则计算所述交换机解密镜像对应的校验和。
[0118]
于一实施例中,基于hash函数计算交换机解密镜像的校验和,其中hash函数的输入参数为长度不固定的交换机解密镜像,通过运行hash函数生成固定长度的hash值、hash码或者散列,所述hash值、hash码或者散列即为交换机解密镜像对应的校验和。常用的hash函数包括md系列(如md2、md4和md5)、sha1以及mac,其中md5对应的校验值长度为16比特(bits),sha1对应的校验值长度为20比特(bits),md5的计算效率要优于sha1,但安全性要低于sha1。
[0119]
md5作为计算机安全领域广泛使用的一种散列函数,同时也是一种常用的校验和算法,用于校验数据的完整性和准确性。具体地,利用md5算法可以生成一个任意文件的“数字指纹”,所述“数字指纹”具有唯一性,对该任意文件的微小改动都会直接导致其数字指纹的巨大变化,所述“数字指纹”也具有单向性,即只能根据hash函数输入的原始数据计算出它的摘要值,不能根据摘要值反向计算出其原始数据。于一实施例中,本发明将交换机解密镜像的校验和以md5值进行保存。
[0120]
于一实施例中,若所述公钥解密所述加密有效载荷失败,则向用户发出异常通知,以提醒用户镜像文件可能存在问题,需谨慎使用。
[0121]
s45、计算所述解密有效载荷对应的校验和,并与所述交换机解密镜像对应的校验和进行比较;若所述解密有效载荷对应的校验和与所述交换机解密镜像对应的校验和相等,则升级成功;否则升级失败。
[0122]
于一实施例中,计算所述解密有效载荷对应的校验和以及计算原始有效载荷对应的校验和采用相同的hash函数。本发明同样将交换机解密有效载荷的校验和以md5值进行保存。若交换机解密有效载荷对应的md5值与交换机解密镜像对应的md5值相同,则表示镜像文件升级成功,否则有可能是镜像文件已被人篡改或是发生了破损,使用篡改或破损的镜像文件会直接导致升级失败。
[0123]
于一实施例中,无论升级成功还是升级失败,均向用户发出通知,以提醒用户交换机镜像文件的最终升级结果。
[0124]
本发明通过执行s41~s45的解密验证操作,实现了交换机原始镜像文件的无损升级,且验证时间不影响交换机的启动时间,同时保证了数据中心网络的安全可靠。
[0125]
如图6所示,本发明的交换机升级装置包括交换机开关51、安全锁设计模块52、加密模块53和安装模块54。
[0126]
所述交换机开关51用于接收升级请求。
[0127]
所述安全锁设计模块52与所述交换机开关51相连,当所述升级请求为安全升级请
求时,用于基于所述安全升级请求生成私钥和公钥。
[0128]
所述加密模块53与所述安全锁设计模块52相连,用于基于所述私钥加密交换机原始镜像,以生成交换机镜像安装包。
[0129]
所述安装模块54与所述安全锁设计模块52和所述加密模块53相连,用于基于所述公钥安装所述以生成交换机镜像安装包。
[0130]
本发明的交换机升级装置实施例和交换机升级方法的实施例相同,此处不再赘述。
[0131]
综上所述,本发明提供的一种交换机升级方法和装置具有安全升级和常规升级两种交换机升级方案,用户可以根据实际需求灵活调整升级方式;安全升级保证了交换机启动镜像的合法性和安全性,使得交换机文件系统免受黑客的攻击劫持,保障了交换机设备的正常运行;安全升级通过解密验证操作实现了交换机镜像文件的无损升级,且验证时间不影响交换机的启动时间,同时保证了数据中心网络的安全可靠。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0132]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1