CN110096256A - 一种利用可信根创建随机值字符设备的方法及装置 - Google Patents
一种利用可信根创建随机值字符设备的方法及装置 Download PDFInfo
- Publication number
- CN110096256A CN110096256A CN201910302005.2A CN201910302005A CN110096256A CN 110096256 A CN110096256 A CN 110096256A CN 201910302005 A CN201910302005 A CN 201910302005A CN 110096256 A CN110096256 A CN 110096256A
- Authority
- CN
- China
- Prior art keywords
- random value
- trusted root
- character device
- generation
- identification instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000006870 function Effects 0.000 claims abstract description 11
- 238000004088 simulation Methods 0.000 claims abstract description 7
- 238000013507 mapping Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
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
Abstract
本发明公开了一种利用可信根创建随机值字符设备的方法,利用CUSE模块模拟字符设备,完成字符设备的读写操作函数调用的重定向;接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令;读取所述可信根识别指令,返回生成的随机值到字符设备内存空间;接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回。还公开了一种利用可信根创建随机值字符设备装置,使用可信根作为随机值发生器,利用硬件的特性提供高质量的随机源,同时提高随机值的产生效率。
Description
技术领域
本发明涉及信息安全技术领域,尤其是一种利用可信根创建随机值字符设备的方法及装置。
背景技术
Linux系统中随机值设备可以产生并向应用提供随机数,很多应用多会使用随机值设备产生的随机数作为密钥,如ssh keys、ssl keys等等。而随机值设备的随机性决定了上层应用密码学系统的安全强度,随机设备产生随机值的效率则影响了上层应用的效率。
目前,Linux系统中有两个随机值设备/dev/random和/dev/urandom,他们产生随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。熵池就是当前系统的环境噪音,可以用内存的使用、文件的使用数量等参数来评估。/dev/random设备基于中断的IRQS,其随机性较强,但/dev/random会阻塞当前的程序,直到熵池产生新的随机值后才返回,因而效率较差。/dev/urandom设备不会阻塞程序,在效率上要优于/dev/random,但随机性较弱。
现有技术一随机值设备
当前Linux系统提供了/dev/random和/dev/urandom两种随机值设备,但这两个设备无法同时兼顾随机性及效率,因而会对上层使用的应用带来随机性或是性能的影响。
现有技术二利用可信根的字符设备
当前对可信根的使用多是直接向可信根发送指令,然后获取指令处理结果,如果采用这种方式,则大多数的上层应用要集成可信根命令模块,通过访问可信根设备来获取随机值,无法做到代码的一致性。
发明内容
本发明的目的是提供一种利用可信根创建随机值字符设备的方法及装置,使用可信根作为随机值发生器,利用硬件的特性提供高质量的随机源,同时提高随机值的产生效率。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种利用可信根创建随机值字符设备的方法,包括:
利用CUSE模块模拟字符设备,完成字符设备的读写操作函数调用的重定向;
接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令;
读取所述可信根识别指令,返回生成的随机值到字符设备内存空间;
接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回。
结合第一方面,在第一方面第一种可能的实现方式中,所述完成字符设备的读写操作函数调用的重定向,具体包括:
CUSE模块将应用程序的读写操作函数映射至字符设备内存空间。
结合第一方面,在第一方面第二种可能的实现方式中,所述接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令,具体包括:
接收应用程序通过写指令系统发送的请求随机值命令;
获取请求随机值命令中生成随机值长度参数后,将所述随机值长度参数封装为可信根识别指令。
结合第一方面,在第一方面第三种可能的实现方式中,,所述读取所述可信根识别指令,返回生成的随机值到内存空间,具体包括:
可信根读取可信根识别指令;
可信根生成随机值后将随机值返回至cuse内存空间。
结合第一方面,在第一方面第四种可能的实现方式中,,所述接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回,具体包括:
接收应用程序通过读指令系统发送的读取随机值指令;
cuse将存储于内存空间的随机值作为读取随机指令的执行结果返回至应用程序。
本发明第二方面提供了一种利用可信根创建随机值字符设备装置,包括:
字符设备模拟模块:利用CUSE模块模拟字符设备,完成字符设备的读写操作函数调用的重定向;
随机值生成指令下发模块:接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令;
随机值生成模块:读取所述可信根识别指令,返回生成的随机值到内存空间;
随机值返回模块:接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回。
本发明第二方面的所述利用可信根创建随机值字符设备装置能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提出了一种Linux系统下使用可信根创建随机值字符设备的方法,本方法使用可信根作为随机值发生器,利用硬件的特性提供高质量的随机源,同时提高随机值的产生效率。本发明利用Linux系统中的CUSE框架,在用户空间模拟出字符设备,使用随机值的设备可以像访问/dev/random和/dev/urandom设备一样访问模拟出的字符设备。每次上层应用调用该设备时,该设备会调用可信根生成随机值返还给上层应用,使得上层应用采用原有的获取机制即可获取随机值,而无须集成可信根交互机制。
附图说明
图1是本发明利用可信根创建随机值字符设备的方法实施例一流程图;
图2是利用可信根创建随机值字符设备的方法实施例二流程图;
图3是利用可信根创建随机值字符设备的方法实施例三流程图;
图4是利用可信根创建随机值字符设备装置示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图1所示,一种利用可信根创建随机值字符设备的方法,包括:
S11、利用CUSE模块模拟字符设备,完成字符设备的读写操作函数调用的重定向;
S12、接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令;
S13、读取所述可信根识别指令,返回生成的随机值到字符设备内存空间;
S14、接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回。
实施例二
如图2所示,利用可信根创建随机值字符设备的方法,包括以下步骤:
S21、CUSE模块将应用程序的读写操作函数映射至字符设备内存空间;
S22、接收应用程序通过写指令系统发送的请求随机值命令;
S23、获取请求随机值命令中生成随机值长度参数后,将所述随机值长度参数封装为可信根识别指令;
S24、可信根读取可信根识别指令;
S25、可信根生成随机值后将随机值返回至cuse内存空间;
S26、接收应用程序通过读指令系统发送的读取随机值指令;
S27、cuse将存储于内存空间的随机值作为读取随机指令的执行结果返回至应用程序。
实施例三
如图3所示,利用可信根创建随机值字符设备的方法,包括以下步骤:
1)应用程序访问随机值设备:应用程序使用open系统调用打开随机值设备,获取一个文件描述符,后续以该描述符为索引操作随机值设备。对于应用程序而言,获取随机值仅需调用read系统调用即可;
2)字符设备模拟模块获取随机值:当有应用程序通过read系统调用访问随机值设备时,CUSE会将该访问映射至字符设备模拟模块的内存空间,交由字符设备模拟模块处理该请求。字符设备模拟模块获取该read请求后,通过调用可信根访问模块来生成随机值,并返回至调用应用;
3)可信根访问模块调用可信根:当可信根访问模块接收到随机值生成请求后,向可信根下发生成随机值指令,解析可信根的返回码获取可信根生成的随机值,并返回给调用者。TPM2.0生成随机值的指令为TPM_CC_GetRandom,可信根访问模块组装TPM2.0指令,然后下发给TPM2.0模块。可信根访问模块获取TPM2.0返回命令后解析出其中的随机值然后返回给调用模块。
如图4所示,一种利用可信根创建随机值字符设备装置,包括:
字符设备模拟模块101:利用CUSE模块模拟字符设备,完成字符设备的读写操作函数调用的重定向;
随机值生成指令下发模块102:接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令;
随机值生成模块103:读取所述可信根识别指令,返回生成的随机值到内存空间;
随机值返回模块104:接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (6)
1.一种利用可信根创建随机值字符设备的方法,其特征是,
利用CUSE模块模拟字符设备,完成字符设备的读写操作函数调用的重定向;
接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令;
读取所述可信根识别指令,返回生成的随机值到字符设备内存空间;
接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回。
2.如权利要求1所述的利用可信根创建随机值字符设备的方法,其特征是,所述完成字符设备的读写操作函数调用的重定向,具体包括:
CUSE模块将应用程序的读写操作函数映射至字符设备内存空间。
3.如权利要求2所述的利用可信根创建随机值字符设备的方法,其特征是,所述接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令,具体包括:
接收应用程序通过写指令系统发送的请求随机值命令;
获取请求随机值命令中生成随机值长度参数后,将所述随机值长度参数封装为可信根识别指令。
4.如权利要求3所述的利用可信根创建随机值字符设备的方法,其特征是,所述读取所述可信根识别指令,返回生成的随机值到内存空间,具体包括:
可信根读取可信根识别指令;
可信根生成随机值后将随机值返回至cuse内存空间。
5.如权利要求4所述的利用可信根创建随机值字符设备的方法,其特征是,所述接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回,具体包括:
接收应用程序通过读指令系统发送的读取随机值指令;
cuse将存储于内存空间的随机值作为读取随机指令的执行结果返回至应用程序。
6.一种利用可信根创建随机值字符设备装置,其特征是,包括:
字符设备模拟模块:利用CUSE模块模拟字符设备,完成字符设备的读写操作函数调用的重定向;
随机值生成指令下发模块:接收第一随机值生成命令,将所述第一随机值生成命令封装为可信根识别指令;
随机值生成模块:读取所述可信根识别指令,返回生成的随机值到内存空间;
随机值返回模块:接收第二随机值返回命令,将生成的随机值作为所述第二随机值返回命令处理结果进行返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910302005.2A CN110096256A (zh) | 2019-04-16 | 2019-04-16 | 一种利用可信根创建随机值字符设备的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910302005.2A CN110096256A (zh) | 2019-04-16 | 2019-04-16 | 一种利用可信根创建随机值字符设备的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110096256A true CN110096256A (zh) | 2019-08-06 |
Family
ID=67444947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910302005.2A Pending CN110096256A (zh) | 2019-04-16 | 2019-04-16 | 一种利用可信根创建随机值字符设备的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096256A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515387A (zh) * | 2021-09-13 | 2021-10-19 | 渔翁信息技术股份有限公司 | 数据处理方法、装置及电子装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229011A1 (en) * | 2004-04-09 | 2005-10-13 | International Business Machines Corporation | Reliability platform configuration measurement, authentication, attestation and disclosure |
CN101432750A (zh) * | 2006-04-27 | 2009-05-13 | 惠普开发有限公司 | 选择性开启可信测量核心根(crtm) |
CN102207999A (zh) * | 2010-03-29 | 2011-10-05 | 国民技术股份有限公司 | 一种基于可信计算密码支撑平台的数据保护方法 |
CN102646077A (zh) * | 2012-03-28 | 2012-08-22 | 山东超越数控电子有限公司 | 一种基于可信密码模块的全盘加密的方法 |
CN103927488A (zh) * | 2014-04-04 | 2014-07-16 | 西安电子科技大学 | 一种针对可信嵌入式系统的可信平台模块 |
US9684789B2 (en) * | 2012-08-28 | 2017-06-20 | Dell Products, Lp | Arbitrary code execution and restricted protected storage access to trusted code |
CN107577953A (zh) * | 2017-10-19 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种基于cuse模拟可信密码模块的系统及方法 |
-
2019
- 2019-04-16 CN CN201910302005.2A patent/CN110096256A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229011A1 (en) * | 2004-04-09 | 2005-10-13 | International Business Machines Corporation | Reliability platform configuration measurement, authentication, attestation and disclosure |
CN101432750A (zh) * | 2006-04-27 | 2009-05-13 | 惠普开发有限公司 | 选择性开启可信测量核心根(crtm) |
CN102207999A (zh) * | 2010-03-29 | 2011-10-05 | 国民技术股份有限公司 | 一种基于可信计算密码支撑平台的数据保护方法 |
CN102646077A (zh) * | 2012-03-28 | 2012-08-22 | 山东超越数控电子有限公司 | 一种基于可信密码模块的全盘加密的方法 |
US9684789B2 (en) * | 2012-08-28 | 2017-06-20 | Dell Products, Lp | Arbitrary code execution and restricted protected storage access to trusted code |
CN103927488A (zh) * | 2014-04-04 | 2014-07-16 | 西安电子科技大学 | 一种针对可信嵌入式系统的可信平台模块 |
CN107577953A (zh) * | 2017-10-19 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种基于cuse模拟可信密码模块的系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515387A (zh) * | 2021-09-13 | 2021-10-19 | 渔翁信息技术股份有限公司 | 数据处理方法、装置及电子装置 |
CN113515387B (zh) * | 2021-09-13 | 2022-03-15 | 渔翁信息技术股份有限公司 | 数据处理方法、装置及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107027036A (zh) | 一种fpga异构加速平台的解压缩方法、装置及系统 | |
CN103902467B (zh) | 压缩内存访问控制方法、装置及系统 | |
CN108122031A (zh) | 一种低功耗的神经网络加速器架构 | |
US10489117B2 (en) | Method and apparatus for generating random character string | |
CN108509514A (zh) | 一种基于区块链的大数据分析方法及系统 | |
CN107438832B (zh) | 一种数据刷新方法、装置及计算机可读存储介质 | |
CN112818415A (zh) | 基于APSoC的国密计算方法、系统及介质 | |
CN108710404B (zh) | 一种混合信号发生器 | |
CN106502668A (zh) | 一种实现Android JNI反射的接口封装方法及系统 | |
CN110096256A (zh) | 一种利用可信根创建随机值字符设备的方法及装置 | |
CN104615439A (zh) | 一种可重构系统的配置控制器 | |
CN109495263A (zh) | 时钟同步方法、系统、装置、智能终端、车辆终端及介质 | |
CN103309676A (zh) | 用于海洋数值模拟ROMS的Web服务封装方法以及系统 | |
US10944578B2 (en) | Identity verification | |
CN111694775A (zh) | 一种在ddr3中基于时分复用进行读写控制的装置 | |
US20080297309A1 (en) | Waveform synthesis in rfid interrogators | |
CN110297945A (zh) | 基于xbrl的数据信息处理方法及系统 | |
CN110018847A (zh) | 可配置寄存器及基于可配置寄存器的数据存取方法 | |
CN109582338A (zh) | Bios选项修改方法、装置、设备及存储介质 | |
CN109739610A (zh) | 截屏控制方法、装置、电子设备及计算机可读存储介质 | |
CN110046075A (zh) | 一种hpl测试方法以及设备 | |
CN109164999A (zh) | 一种表格自适应显示的方法、装置、设备及可读存储介质 | |
CN104174162A (zh) | 游戏操作方法和装置 | |
CN110046132A (zh) | 一种元数据请求处理方法、装置、设备及可读存储介质 | |
CN113204372A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190806 |