https://www.openssl.org/docs/fipsnotes.html

https://wiki.openssl.org/index.php/FIPS_mode()

openssl-fips是符合FIPS标准的Openssl。
联邦信息处理标准(Federal Information Processing Standards,FIPS)是一套描述文件处理、加密算法和其他信息技术标准(在非军用政府机构和与这些机构合作的政府承包商和供应商中应用的标准)的标准。

编译过openssl的同学应该知道一个叫OPENSSL_FIPS的宏。这个宏有什么作用呢。
Intel AES指令(AES-NI)是Intel32纳米微架构上的一组新指令。这些指令对于使用 AES(Advancde Encryption Standard)算法进行数据加解密的操作能够起到加速的作用。AES标准由FIPS定义,如今广泛 应用在贸易安全,数据库的加密等各个方面。
Intel AES-NI包括七条指令。其中六条是硬件对AES的支持(四条关于AES加解密,另两条指令有关AES key的扩展)。第七条指令有助于进位乘法。
AES-NI可以灵活地支持AES的各种使用方式,包括各种标准密钥的长度,各种模式的操作,甚至是一些非标准或是未来可能的各种方式。对比现在一些纯软件的实现,它对性能的提升非常显著。
如果打开该宏,直接调用Intel AES指令,轻松获得5倍左右的性能提升(这个摘抄网上的说法,没有真正测试过)。

BTW: 改Openssl version的地方(crypto/opensslv.h中的宏: OPENSSL_VERSION_TEXT)

The OpenSSL FIPS Object Module is a specific subset of OpenSSL, API-compatible with OpenSSL, and provided as source code. That module has gone through the long and painful administrative process of obtaining a FIPS 140-2 validation. It has achieved the "overall level: 1" (see the validation certificate).

The intent of FIPS 140-2 validation is to show, basically, that some level of "seriousness" was applied during the development. Validation cannot prove that there is no bug or vulnerability, but it can show that the developers applied proper methodologies which, hopefully, should avoid bugs and make the software conform to a specific set of target properties.

Now, there are some caveats:

  • In practice, the OpenSSL developers applied the same development methodologies for both the FIPS module, and "plain" OpenSSL. Both versions share a lot of code; the FIPS module is actually a subset of the normal library version. For the same functionalities, the plain OpenSSL should be no less secure than the FIPS module. (For functionalities which the plain OpenSSL offers but not the FIPS module, anything goes).

  • The FIPS module is validated only insofar as you use it absolutely unchanged. If you modify the slightest character in the source code, you are no longer covered by the FIPS validation.

The second point, in particular, implies that if a bug is found in "normal OpenSSL", and a bugfix is published, then that bugfix is not immediately imported into the FIPS module, because that would void its FIPSness. Therefore, it can be argued that the plain OpenSSL is in fact more secure than the FIPS module, since it is fixed much more quickly when holes are uncovered.

Summary: if you do not target some sort of conformance to FIPS 140-2, use the normal OpenSSL.

OpenSSL FIPS documentation:

http://www.openssl.org/docs/fips/

Download:

http://www.openssl.org/source/

unpack and compile OpenSSL FIPS module:

./config

make

sudo make install

unpack and comiple openssl:

./config fips

make

sudo make install

转载于:https://www.cnblogs.com/kex1n/p/7452777.html

OPENSSL FIPS相关推荐

  1. OpenSSL FIPS安装

    OpenSSL FIPS documentation: http://www.openssl.org/docs/fips/ Download: http://www.openssl.org/sourc ...

  2. 《OpenSSL3.0学习之七 OpenSSL FIPS 提供程序|CSDN创作打卡》

  3. linux fips 模式,linux – FIPS Capable OpenSSL交叉编译:内容指纹问题

    我在尝试使用在MIPS设备上编译为FIPS的OpenSSL共享库(libcrypto)时遇到问题. 我以下面的方式交叉编译FIPS对象模块,然后是OpenSSL库(总结): export FIPS_S ...

  4. linux 检查openssl,linux – 如何检查OpenSSL中的FIPS 140-2支持?

    How do I check whether OpenSSL has is providing FIPS validated cryptography or not? 这取决于您想要检查的方式和时间. ...

  5. openssl 加密解密 指令_OpenSSL未来架构设计,3.0初步实现

    概述 日前OpenSSL官网公布了未来OpenSSL的架构蓝图.作为战略性的架构目标,需要大量的版本迭代本文档概述了OpenSSL战略架构.它需要多个版本的迭代从目前最新的版本1.1开始直到3.0甚至 ...

  6. openssl不是内部或外部命令_OpenSSL新架构蓝图

    概述 日前OpenSSL官网公布了未来OpenSSL的架构蓝图.作为战略性的架构目标,需要大量的版本迭代本文档概述了OpenSSL战略架构.它需要多个版本的迭代从目前最新的版本1.1开始直到3.0甚至 ...

  7. OpenSSL:openssl-xxx.tar.gz

    Table of Contents 百度词条 基本功能 辅助功能 Welcome to OpenSSL! Latest News Legalities Downloads Legalities 百度词 ...

  8. rhel centos 源_Rhel centos 7的fips脚本

    rhel centos 源 My script implements a Red Hat solution. 我的脚本实现了Red Hat解决方案. Cryptography is vital for ...

  9. OpenSSL v0.9.8a随机数发生器分析(合集)

    OpenSSL随机数发生器 本文档对OpenSSL使用的随机数进行研究分析,主要涉及OpenSSL v0.9.8a的随机数发生器以及其在Windows系统下的熵源采集情况. 目录 1. 概况... 1 ...

最新文章

  1. Kafka基本的概念
  2. Eclipse中在线安装spring-tool-suite插件
  3. java outputstream stringbuffer_InputStream 和OutputStream
  4. C/Cpp / STL / 模板全特化和偏特化
  5. DCMTK:表示来自细分ID的细分的类
  6. JPBC库只使用椭圆曲线群,不使用双线性性质。找单位元,逆元等
  7. linux后台运行python程序 nohup不挂断
  8. vb 循环放音乐_为何洒水车一直无限循环播放《兰花草》这首歌呢?
  9. iPhone 不能读取plist文件!?
  10. Eric6与pyqt5学习笔记14 【实战5 百度贴吧离线签到工具】
  11. hadoop完全分布式搭建以及试运行
  12. linux源文件安装,Linux下的源文件安装
  13. oracle重建表导致同义词失效,一次对dual表的恢复操作(ORA-00980:同义词转换不再有效错误解决方法)...
  14. 美团一点都不美,我再也不想给美团打工了
  15. emacs下使用google-cpplint
  16. 2023年电工杯数学建模竞赛A题:电采暖负荷参与电力系统功率调节的技术经济分析具体建模过程以及代码结果
  17. 电信光猫获取超级管理员密码
  18. Vulkan spec 中文版 翻译基础版本切换
  19. Easy Forms: Advanced Form Builder and Manager
  20. android progressbar换背景,Android自定义ProgressBar背景

热门文章

  1. HDU6069 Counting Divisors
  2. 2021 ICPC Asia EC网络预选赛I、II
  3. 学习到第一个国庆的感想
  4. 读书笔记(第五周)之魔方的创新
  5. UE4蓝图(很经典) 间隔1秒就执行一次,间隔循环执行
  6. 紫光云这匹黑马,了解一下
  7. C语言abs函数与fabs函数,函数abs 和fabs
  8. Android cer转bks
  9. matlab trapz二重积分函数_「matlab 积分」使用Matlab求解定积分/不定积分 - seo实验室...
  10. ps怎么添加叠加素材