CN110071793B - 一种基于bmc的随机数生成方法与系统 - Google Patents
一种基于bmc的随机数生成方法与系统 Download PDFInfo
- Publication number
- CN110071793B CN110071793B CN201910293961.9A CN201910293961A CN110071793B CN 110071793 B CN110071793 B CN 110071793B CN 201910293961 A CN201910293961 A CN 201910293961A CN 110071793 B CN110071793 B CN 110071793B
- Authority
- CN
- China
- Prior art keywords
- random number
- bmc
- module
- data
- algorithm module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000001502 supplementing effect Effects 0.000 claims abstract description 7
- 108700015487 BMC protocol Proteins 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Electric Clocks (AREA)
Abstract
本发明提供了一种基于BMC的随机数生成方法与系统,包括:S1、利用实时时钟模块生成系统当前时间值数据;S2、将当前时间值数据传输至SM3算法模块,通过SM3算法模块在所述时间值数据的高位补充0,凑齐512bit;S3、每秒钟将512bit的时钟数据进行运算生成256bit的杂凑值,将所述杂凑值作为随机数。本发明通过软件的方式实现随机数的生成功能,利用实时时钟模块每秒钟生成的系统当前时间值数据传输到SM3算法模块,SM3算法模块每秒钟生成32字节的杂凑值作为随机数,从而实现随机数的生成,有效满足BMC使用随机数的需求,且本发明技术方案生成的随机数稳定性高,不占用服务器主板的硬件资源,无附加成本,可操作性强,增加了设计的灵活性。
Description
技术领域
本发明涉及服务器板卡技术领域,特别是一种基于BMC的随机数生成方法与系统。
背景技术
BMC(Baseboard Management Controller,基板管理控制器)目前已经广泛应用于服务器领域,利用虚拟的键盘、界面、鼠标、电源等为服务器提供远程管理功能。用户可以通过BMC的网口远程监视服务器的物理特征,如各部件的温度、电压、风扇工作状态、电源供应以及机箱入侵等。
随机数即随机序列,通常由随机数生成器产生。随机数的特征是:随机数生成器所产生的后一个数与前一个数没有任何关联。随机数已广泛的应用于通信、测量、声学等领域,在服务器的BMC中也有着广泛的用途,例如在BMC的安全协议中需要使用随机数作为变量、在BMC的密码模块中需要使用随机数作为密钥、各种初始向量等。
现有技术中BMC获取随机数的方法依赖于外部设备,如图1所示,通过外接随机数生成器芯片或专用的密码卡等设备生成随机数,提供给BMC使用。但专用的随机数生成器芯片需占用额外的硬件电路和花费一定的硬件成本。而且随机数依赖于外部设备,如果外部设备出现故障,就无法为BMC提供随机数的功能,进而会带来BMC业务中断的风险。
发明内容
本发明的目的是提供一种基于BMC的随机数生成方法与系统,旨在解决现有技术中BMC获取随机数依赖于外部设备的问题,实现无需依赖外部设备即可生成随机数,不占用主板上的硬件资源。
为达到上述技术目的,本发明提供了一种基于BMC的随机数生成方法,所述方法包括以下步骤:
S1、利用实时时钟模块生成系统当前时间值数据;
S2、将当前时间值数据传输至SM3算法模块,通过SM3算法模块在所述时间值数据的高位补充0,凑齐512bit;
S3、每秒钟将512bit的时钟数据进行运算生成256bit的杂凑值,将所述杂凑值作为随机数。
优选地,所述实时时钟模块以及SM3算法模块均位于BMC中。
优选地,所述实时时钟与SM3算法模块之间的传输信号为CLK信号。
优选地,所述随机数可用于BMC协议模块、密码模块。
本发明提供了一种基于BMC的随机数生成系统,所述系统包括:
实时时钟模块,用于生成系统当前时间值数据;
SM3算法模块,用于将时间值数据高位补充0,凑齐512bit,并每秒钟将512bit的时钟数据进行运算生成256bit的杂凑值,将所述杂凑值作为随机数。
优选地,所述实时时钟模块以及SM3算法模块均位于BMC中。
优选地,所述实时时钟与SM3算法模块之间的传输信号为CLK信号。
优选地,所述随机数可用于BMC协议模块、密码模块。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明通过基于BMC的时钟模块和SM3算法模块,通过软件的方式实现随机数的生成功能,利用实时时钟模块每秒钟生成的系统当前时间值数据传输到SM3算法模块,SM3算法模块每秒钟将补齐64字节的时钟数据进行运算,生成256bit的运算结果,即32字节的杂凑值,作为随机数,从而实现随机数的生成,有效满足BMC使用随机数的需求,且本发明技术方案生成的随机数稳定性高,不占用服务器主板的硬件资源,无附加成本,可操作性强,增加了设计的灵活性。
附图说明
图1为本发明实施例中所提供的一种基于BMC的随机数生成方法流程图;
图2为本发明实施例中所提供的一种基于BMC的随机数生成系统结构框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种基于BMC的随机数生成方法与系统进行详细说明。
如图1所示,本发明实施例公开了一种基于BMC的随机数生成方法,所述方法包括以下步骤:
S1、利用实时时钟模块生成系统当前时间值数据;
S2、将当前时间值数据传输至SM3算法模块,通过SM3算法模块在所述时间值数据的高位补充0,凑齐512bit;
S3、每秒钟将512bit的时钟数据进行运算生成256bit的杂凑值,将所述杂凑值作为随机数。
本发明实施例基于BMC的相关模块,通过软件方式来完成。
BMC为服务器提供远程管理功能,是服务器中相对独立的单元,可以监视服务器的物理特征,如各部件的温度、电压、风扇工作状态、电源供应以及机箱入侵等。在本发明实施例中主要应用到BMC的实时时钟模块和SM3算法模块。
所述实时时钟模块用于生成系统当前的时间值数据,数据格式依次为年-月-日-星期-小时-分钟-秒,例如某次生成的时间值“2018100101102836”,其代表2018年10月1日星期一10点28分36秒,时间值每秒钟更新一次。
所述SM3算法模块用于实现SM3杂凑算法。杂凑算法又称Hash函数、散列函数,能够将任意有限长的输入数据变换为固定长度的输出值的一类函数。目前国际的主要杂凑算法有MD5、SHA-1。SM3是我国自主研发的杂凑密码算法,将任意长度的数据按512bit进行分组,不足512bit时在数据的高位补0,针对每个512bit的分组数据进行计算后输出256bit的运算结果,即杂凑值。杂凑算法的特点是针对不同的输入数据,其输出结果也不一致,即使输入数据有微小的变化也会使得输出结果大不相同,输出数据无相关性。本发明实施例中将时间值作为数据输入,由于时间值的输入每秒钟是不一样的,使得每秒数据的输出不一样,因此将SM3算法的输出作为随机数是能够符合随机质量要求的。采用SM3的优势是安全性高,目前国际的MD5、SHA-1杂凑算法都已被破解,安全性较低。采用SM3算法能够符合安全性要求,从而防止SM3算法模块作为随机数生成的主要模块被破解的风险。
将实时时钟的CLK信号连接到SM3算法模块,用于模块之间的同步作用,时钟周期单位为“秒”,SM3算法模块每秒钟更新一次输出结果。BMC中使用随机数的相关模块,例如BMC协议模块、密码模块等,通过采集SM3算法模块的输出作为随机数使用。
在系统上电后BMC启动,正常工作。
实时时钟模块在时钟信号的控制下,每秒钟实时的生成系统的当前时间。时间格式依次为年-月-日-星期-小时-分钟-秒,例如某次生成的时间值
“2018100101102836”,其代表2018年10月1日星期一10点28分36秒,下一秒生成的时钟数据为“2018100101102837”代表2018年10月1日星期一10点28分37秒。
将实时时钟模块的输出端连接到SM3算法模块,每秒生成的时间值就可以传送到SM3算法模块,由SM3算法模块进行数据处理。由于每秒输出给SM3算法模块的数据不足512bit,SM3算法模块需要在数据的高位补充“0”后凑齐512bit(64字节)才能进行运算,例如对于接收的时间值“2018100101102836”,需要在高位补充“0”,形成“......000000002018100101102836”64字节的数据后再进行运算。SM3算法模块每秒钟将补齐64字节的时钟数据进行运算后生成256bit的运算结果,即32字节的杂凑值,该杂凑值作为随机数。BMC的相关模块,例如BMC协议模块、密码模块等,可以即时读取随机数,各取所需使用,从而实现BMC随机数生成的方法。
本发明实施例通过基于BMC的时钟模块和SM3算法模块,通过软件的方式实现随机数的生成功能,利用实时时钟模块每秒钟生成的系统当前时间值数据传输到SM3算法模块,SM3算法模块每秒钟将补齐64字节的时钟数据进行运算,生成256bit的运算结果,即32字节的杂凑值,作为随机数,从而实现随机数的生成,有效满足BMC使用随机数的需求,且本发明技术方案生成的随机数稳定性高,不占用服务器主板的硬件资源,无附加成本,可操作性强,增加了设计的灵活性。
如图2所示,本发明实施例还公开了一种基于BMC的随机数生成系统,其特征在于,所述系统包括:
实时时钟模块,用于生成系统当前时间值数据;
SM3算法模块,用于将时间值数据高位补充0,凑齐512bit,并每秒钟将512bit的时钟数据进行运算生成256bit的杂凑值,将所述杂凑值作为随机数。
所述实时时钟模块用于生成系统当前的时间值数据,数据格式依次为年-月-日-星期-小时-分钟-秒,例如某次生成的时间值“2018100101102836”,其代表2018年10月1日星期一10点28分36秒,时间值每秒钟更新一次。
所述SM3算法模块用于实现SM3杂凑算法。杂凑算法又称Hash函数、散列函数,能够将任意有限长的输入数据变换为固定长度的输出值的一类函数。目前国际的主要杂凑算法有MD5、SHA-1。SM3是我国自主研发的杂凑密码算法,将任意长度的数据按512bit进行分组,不足512bit时在数据的高位补0,针对每个512bit的分组数据进行计算后输出256bit的运算结果,即杂凑值。杂凑算法的特点是针对不同的输入数据,其输出结果也不一致,即使输入数据有微小的变化也会使得输出结果大不相同,输出数据无相关性。本发明实施例中将时间值作为数据输入,由于时间值的输入每秒钟是不一样的,使得每秒数据的输出不一样,因此将SM3算法的输出作为随机数是能够符合随机质量要求的。采用SM3的优势是安全性高,目前国际的MD5、SHA-1杂凑算法都已被破解,安全性较低。采用SM3算法能够符合安全性要求,从而防止SM3算法模块作为随机数生成的主要模块被破解的风险。
将实时时钟的CLK信号连接到SM3算法模块,用于模块之间的同步作用,时钟周期单位为“秒”,SM3算法模块每秒钟更新一次输出结果。BMC中使用随机数的相关模块,例如BMC协议模块、密码模块等,通过采集SM3算法模块的输出作为随机数使用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于BMC的随机数生成方法,其特征在于,所述方法包括以下步骤:
S1、利用实时时钟模块生成系统当前时间值数据,数据格式依次为年-月-日-星期-小时-分钟-秒;
S2、将当前时间值数据传输至SM3算法模块,通过SM3算法模块在所述时间值数据的高位补充0,凑齐512bit;
S3、每秒钟将512bit的时钟数据进行运算生成256bit的杂凑值,将所述杂凑值作为随机数。
2.根据权利要求1所述的一种基于BMC的随机数生成方法,其特征在于,所述实时时钟模块以及SM3算法模块均位于BMC中。
3.根据权利要求1所述的一种基于BMC的随机数生成方法,其特征在于,所述实时时钟与SM3算法模块之间的传输信号为CLK信号。
4.根据权利要求1-3任意一项所述的一种基于BMC的随机数生成方法,其特征在于,所述随机数可用于BMC协议模块、密码模块。
5.一种基于BMC的随机数生成系统,其特征在于,所述系统包括:
实时时钟模块,用于生成系统当前时间值数据,数据格式依次为年-月-日-星期-小时-分钟-秒;
SM3算法模块,用于将时间值数据高位补充0,凑齐512bit,并每秒钟将512bit的时钟数据进行运算生成256bit的杂凑值,将所述杂凑值作为随机数。
6.根据权利要求5所述的一种基于BMC的随机数生成系统,其特征在于,所述实时时钟模块以及SM3算法模块均位于BMC中。
7.根据权利要求5所述的一种基于BMC的随机数生成系统,其特征在于,所述实时时钟与SM3算法模块之间的传输信号为CLK信号。
8.根据权利要求5-7任意一项所述的一种基于BMC的随机数生成系统,其特征在于,所述随机数可用于BMC协议模块、密码模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910293961.9A CN110071793B (zh) | 2019-04-12 | 2019-04-12 | 一种基于bmc的随机数生成方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910293961.9A CN110071793B (zh) | 2019-04-12 | 2019-04-12 | 一种基于bmc的随机数生成方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110071793A CN110071793A (zh) | 2019-07-30 |
CN110071793B true CN110071793B (zh) | 2023-01-06 |
Family
ID=67367564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910293961.9A Active CN110071793B (zh) | 2019-04-12 | 2019-04-12 | 一种基于bmc的随机数生成方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071793B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11641281B2 (en) | 2020-04-29 | 2023-05-02 | Hewlett Packard Enterprise Development Lp | Hashing values using salts and peppers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147488A (zh) * | 2017-03-24 | 2017-09-08 | 广东工业大学 | 一种基于sm2加解密算法的签名验签系统和方法 |
CN107769923A (zh) * | 2016-08-23 | 2018-03-06 | 中国科学院声学研究所 | 一种基于cpu时钟和usb独立时钟的真随机数产生方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330424B (zh) * | 2015-06-17 | 2019-11-05 | 上海复旦微电子集团股份有限公司 | 基于sm3算法的密码模块的防攻击方法及装置 |
-
2019
- 2019-04-12 CN CN201910293961.9A patent/CN110071793B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107769923A (zh) * | 2016-08-23 | 2018-03-06 | 中国科学院声学研究所 | 一种基于cpu时钟和usb独立时钟的真随机数产生方法 |
CN107147488A (zh) * | 2017-03-24 | 2017-09-08 | 广东工业大学 | 一种基于sm2加解密算法的签名验签系统和方法 |
Non-Patent Citations (1)
Title |
---|
SM3密码杂凑算法;国家密码管理局;《国家密码管理局关于发布《SM3密码杂凑算法》公告,https://sca.gov.cn/sca/xwdt/2010-12/17/1002389/files/302a3ada057c4a73830536d03e683110.pdf 》;20101217;全文1 * |
Also Published As
Publication number | Publication date |
---|---|
CN110071793A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018046009A1 (zh) | 一种区块链身份系统 | |
US8060750B2 (en) | Secure seed provisioning | |
CN111526007B (zh) | 一种随机数生成方法及系统 | |
CN113890730B (zh) | 数据传输方法及系统 | |
CN117093423B (zh) | 可信dcs终端间数据同步方法、系统、电子设备及存储介质 | |
CN111181920A (zh) | 一种加解密的方法和装置 | |
CN110071793B (zh) | 一种基于bmc的随机数生成方法与系统 | |
CN114363088A (zh) | 用于请求数据的方法和装置 | |
CN113794706A (zh) | 数据的处理方法、装置、电子设备及可读存储介质 | |
CN115580489B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN116405199A (zh) | 基于ntru算法和sm2算法的加密方法、装置、设备和介质 | |
CN113343269B (zh) | 一种加密方法及装置 | |
CN114996671A (zh) | 一种服务器信息处理方法、装置、介质 | |
CN114363094A (zh) | 一种数据分享方法、装置、设备及存储介质 | |
CN112181308A (zh) | 基于区块链的分布式数据存储方法和电子设备 | |
CN112615715A (zh) | 一次性密码本加密方法和装置、设备及存储介质 | |
CN113162678B (zh) | 用于密钥切换、数据传输的方法、终端、电子设备和介质 | |
KR102404156B1 (ko) | 양자보안 통신장치 통합형 plc/hmi 제어 시스템 및 방법 | |
CN112187462B (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN115396085B (zh) | 基于生物特征和第三密钥的协商认证方法及设备 | |
JP7450277B2 (ja) | 暗号化制御システム、暗号化制御方法および暗号化制御プログラム | |
US20240214198A1 (en) | User device, method, and computer program | |
CN117640083A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN116506131A (zh) | 消息的签名验证方法、装置、电子设备及存储介质 | |
CN117640091A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |