当前位置:文档之家› OpenSSL支持国产商用密码算法

OpenSSL支持国产商用密码算法

OpenSSL支持国产商用密码算法

OpenSSL支持国产商用密码算法

OpenSSL作为互联网上通过SSL协议实现网络加密传输的开源软件库包,支持SSL协议、密码算法、密钥和证书封装,提供AES、DES、Blowfish、CAST、IDEA、RC2、RC5等对称加密算法以及DH、RSA、DSA、ECC椭圆曲线等非对称加密算法的支持,被广泛用于SSL协议相关的软件开发,受到全球广大软件开发者的普遍欢迎。

随着我国商用密码算法应用推广进程的发展,在关键信息基础设施和重要领域内,要求大力推广应用自主可控的国产商用密码算法。为此,原采用OpenSSL开发的SSL相关应用软件面临着国密改造的问题、新开发的SSL相关应用软件面临着如何支持国产商用密码算法的难题,为此,最好的解决途径就是对OpenSSL进行改造,通过嵌入国产商用密码算法的方式,使软件开发者直接引用国产化的OpenSSL,快速完成SSL相关国产密码算法的应用,满足国家在关键信息基础设施和重要领域对推进应用国密算法的相关政策要求。

国内密码企业江南天安公司经过长期研究,在2017年突破性地实现了OpenSSL开源库的国产化改造,形成名为TaSSL的国产化开源OpenSSL。TaSSL支持SM2公钥密码算法、SM3杂凑算法、SM4分组密码算法等国密算法以及SSL VPN标准规范,兼容通用OpenSSL,填补了国内OpenSSL支持国密算法的空白,有效地支持了SSL相关应用领域国密改造的软件开发应用工作,同时,借助OpenSSL开源库的广泛应用,为国产密码算法的国际化提供了积极的应用支持。

商用密码管理条例

商用密码管理条例 【发布部门】国务院【发文字号】中华人民共和国国务院令[第273号] 【发布日期】1999.10.07 【实施日期】1999.10.07 【法规类别】质量管理监督机构与人员【唯一标志】23549 中华人民共和国国务院令 (第273号) 第一章总则 第一条为了加强商用密码管理,保护信息安全,保护公民和组织的合法权益,维护国家的安全和利益,制定本条例。 第二条本条例所称商用密码,是指对不涉及国家秘密内容的信息进行加密保护或者安全认证所使用的密码技术和密码产品。 第三条商用密码技术属于国家秘密。国家对商用密码产品的科研、生产、销售和使用实行专控管理。 第四条国家密码管理委员会及其办公室(以下简称国家密码管理机构)主管全国的商用密码管理工作。 省、自治区、直辖市负责密码管理的机构根据国家密码管理机构的委托,承担商用密码的有关管理工作。 第二章科研、生产管理 第五条商用密码的科研任务由国家密码管理机构指定的单位承担。 商用密码指定科研单位必须具有相应的技术力量和设备,能够采用先进的编码理论和技术,编制的商用密码算法具有较高的保密强度和抗攻击能力。 第六条商用密码的科研成果,由国家密码管理机构组织专家按照商用密码技术标准和技术规范审查、鉴定。 第七条商用密码产品由国家密码管理机构指定的单位生产。未经指定,任何单位或者个人不得生产商用密码产品。 商用密码产品指定生产单位必须具有与生产商用密码产品相适应的技术力量以及确保商用密码产品质量的设备、生产工艺和质量保证体系。

第八条商用密码产品指定生产单位生产的商用密码产品的品种和型号,必须经国家密码管理机构批准,并不得超过批准范围生产商用密码产品。 第九条商用密码产品,必须经国家密码管理机构指定的产品质量检测机构检测合格。 第三章销售管理 第十条商用密码产品由国家密码管理机构许可的单位销售。未经许可,任何单位或者个人不得销售商用密码产品。 第十一条销售商用密码产品,应当向国家密码管理机构提出申请,并应当具备下列条件: (一)有熟悉商用密码产品知识和承担售后服务的人员; (二)有完善的销售服务和安全管理规章制度; (三)有独立的法人资格。 经审查合格的单位,由国家密码管理机构发给《商用密码产品销售许可证》。 第十二条销售商用密码产品,必须如实登记直接使用商用密码产品的用户的名称(姓名)、地址(住址)、组织机构代码(居民身份证号码)以及每台商用密码产品的用途,并将登记情况报国家密码管理机构备案。 第十三条进口密码产品以及含有密码技术的设备或者出口商用密码 产品,必须报经国家密码管理机构批准。任何单位或者个人不得销售境外的密码产品。 第四章使用管理 第十四条任何单位或者个人只能使用经国家密码管理机构认可的商用密码产品,不得使用自行研制的或者境外生产的密码产品。 第十五条境外组织或者个人在中国境内使用密码产品或者含有密码技术的设备,必须报经国家密码管理机构批准;但是,外国驻华外交代表机构、领事机构除外。 第十六条商用密码产品的用户不得转让其使用的商用密码产品。商用密码产品发生故障,必须由国家密码管理机构指定的单位维修。报废、销毁商用密码产品,应当向国家密码管理机构备案。 第五章安全、保密管理 第十七条商用密码产品的科研、生产,应当在符合安全、保密要求的环境中进行。销售、运输、保管商用密码产品,应当采取相应的安全措施。

国密算法(国家商用密码算法简介)

国家商用密码算法简介 密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。 一.密码学简介 密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。 1.1 对称密码 对称密码学主要是分组密码和流密码及其应用。分组密码中将明文消息进行分块加密输出密文区块,而流密码中使用密钥生成密钥流对明文消息进行加密。世界上应用较为广泛的包括DES、3DES、AES,此外还有Serpent,Twofish,MARS和RC6等算法。对称加密的工作模式包括电码本模式(ECB 模式),密码反馈模式(CFB 模式),密码分组链接模式(CBC 模式),输入反馈模式(OFB 模式)等。1.2 非对称密码 公钥密码体制由Diffie和Hellman所提出。1978年Rivest,Shamir和Adleman提出RAS密码体制,基于大素数分解问题。基于有限域上的离散对数问题产生了ElGamal密码体制,而基于椭圆曲线上的离散对数问题产生了椭圆曲线密码密码体制。此外出现了其他公钥密码体制,这些密码体制同样基于困难问题。目前应用较多的包括RSA、DSA、DH、ECC等。 1.3杂凑算法 杂凑算法又称hash函数,就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一个安全的杂凑函数应该至少满足以下几个条件。 1)输入长度是任意的; 2)输出长度是固定的,根据目前的计算技术应至少取128bits长,以便抵抗生日攻击; 3)对每一个给定的输入,计算输出即杂凑值是很容易的; 4)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定 杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。 杂凑函数主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。这些算法都是伪随机函数,任何杂凑值都是等可能的。输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特

使用OpenSSL建立根CA及自签名证书制作过程

使用OpenSSL建立根CA及自签名证书制作过程 2009-12-24 11:35:32| 分类:openssl |字号订阅 Openssl版本:0.9.8 版本,可从https://www.doczj.com/doc/7a17184052.html,处下载。 1.先建立如下目录结构: $home/testca # testca 是待建CA的主目录 ├─newcerts/ # newcerts子目录将存放CA签发过的数组证书(备份目录) ├─private/ # private目录用来存放CA私钥 └─conf/ # conf目录用来存放简化openssl命令行参数用的配置文件 此外使用命令 echo "01" > serial touch index.txt 在ca根目录下创建文件serial (用来存放下一个证书的序列号) 和indext.txt (证书信息数据库文件)。 1.生成CA的私钥和自签名证书 (根证书) 创建配置文件:vi "$HOME/testca/conf/gentestca.conf" 文件内容如下: #################################### [ req ] default_keyfile = /home/cx/testCA/private/cakey.pem default_md = md5 prompt = no

distinguished_name = ca_distinguished_name x509_extensions = ca_extensions [ ca_distinguished_name ] organizationName = ss organizationalUnitName = sstc commonName = sstcCA emailAddress = GChen2@https://www.doczj.com/doc/7a17184052.html, #自己的邮件地址 [ ca_extensions ] basicConstraints = CA:true ######################################## 然后执行命令如下: cd "$HOME/testca" openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 2190 -config "$HOME/testca/conf/gentestca.conf" 执行过程中需要输入CA私钥的保护密码,假设我们输入密码: 888888 可以用如下命令查看一下CA自己证书的内容 openssl x509 -in cacert.pem -text –noout 创建一个配置文件,以便后续CA日常操作中使用 vi "$HOME/testca/conf/testca.conf"

商用密码产品生产管理规定

商用密码产品生产管理规定 第一条为了加强商用密码产品生产管理,规范商用密码产品生产活动,根据《商用密码管理条例》,制定本规定。 第二条本规定所称商用密码产品,是指采用密码技术对不涉及国家秘密内容的信息进行加密保护或者安全认证的产品。 第三条商用密码产品生产活动适用本规定。本规定所称商用密码产品生产包括商用密码产品的研制开发。 第四条商用密码产品由国家密码管理局指定的单位(以下称商用密码产品生产定点单位)生产。未经指定,任何单位和个人不得生产商用密码产品。 商用密码产品的品种和型号必须经国家密码管理局批准。 第五条国家密码管理局主管全国的商用密码产品生产管理工作。 省、自治区、直辖市密码管理机构依据本规定承担有关管理工作。 第六条国家密码管理局根据商用密码发展的需要,指定商用密码产品生产定点单位。 商用密码产品生产定点单位必须具备独立的法人资格,具有与开发、生产商用密码产品相适应的技术力量和场所,具有确保商用密码产品质量的设备、生产工艺和质量保证体系,满足法律、行政法规规定的其它条件。 第七条国家密码管理局指定商用密码产品生产定点单位原则上定期集中进行。 指定商用密码产品生产定点单位的程序如下:

(一)申请单位填写《商用密码产品生产定点单位申请表》,提交所在地的省、自治区、直辖市密码管理机构; (二)省、自治区、直辖市密码管理机构对申请单位提交的书面材料进行初审,提出初审意见; (三)国家密码管理局对通过初审的单位进行实地考察; (四)国家密码管理局作出指定决定并告知指定结果。 第八条被指定为商用密码产品生产定点单位的,由国家密码管理局发给《商用密码产品生产定点单位证书》并予以公布。 《商用密码产品生产定点单位证书》有效期3年。 第九条商用密码产品生产定点单位应当自取得《商用密码产品生产定点单位证书》之日起30日内,到所在地的工商行政管理部门办理许可经营项目登记手续。 第十条国家密码管理局对商用密码产品生产定点单位进行年度考核。 商用密码产品生产定点单位应当于每年3月1日之前,填写《商用密码产品生产定点单位考核表》并交所在地的省、自治区、直辖市密码管理机构。省、自治区、直辖市密码管理机构应当于3月31日之前将考核意见报国家密码管理局。 考核结果由国家密码管理局公布。考核不合格的,撤销其商用密码产品生产定点单位资质。商用密码产品生产定点单位未在规定期限内填报考核材料的,视为考核不合格。 取得《商用密码产品生产定点单位证书》未满6个月的,不参加该

OpenSSL证书制作过程

比亚迪培训讲义 在J2EE中使用数字证书 深圳市金蝶中间件有限公司 2007年12月

Table of Contents 1 数字证书使用的场合 (3) 2 数字证书的颁发 (3) 2.1 概述 (3) 2.2 创建自签名CA (3) 2.2.1 生成ca私钥 (3) 2.2.2 生成ca待签名证书 (4) 2.2.3用CA私钥进行自签名,得到自签名的CA根证书 (4) 2.2.4 https://www.doczj.com/doc/7a17184052.html,f配置文档 (5) 2.3 颁发服务器证书 (7) 2.3.1 生成服务器私钥对及自签名证书 (7) 2.3.2 生成服务器待签名证书 (7) 2.3.3 请求CA签名服务器待签名证书,得到经CA签名的服务器证书 (8) 2.3.4把CA根证书导入密钥库 mykeystore (8) 2.3.5把经过CA签名的服务器证书导入密钥库mykeystore (8) 2.4 颁发客户端证书 (9) 2.4.1 生成客户端私钥 (9) 2.4.2生成客户端待签名证书 (9) 2.4.3请求CA签名客户端待签名证书,得到经CA签名的客户端证书 (10) 生成客户端的个人证书client.p12 (10) 2.5 CA根证书导入客户端 (11) 2.6个人证书导入客户端 (11) 3 在J2EE中使用证书 (11) 3.1 配置SSL双向认证 (11) 3.1.1 服务器端密钥库和信任库 (12) 3.1.2修改Muxer服务 (12) 3.1.3修改SecurityService服务 (13) 3.2 在程序中获取证书信息 (13) 4 练习 (13) 5 附录 (14) 5.1 SSL v3的处理步骤 (14) 5.2 命令行调试SSL证书 (14)

openssl使用手册

OpenSSL有两种运行模式:交互模式和批处理模式。 直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式。 (1) 配置文件 OpenSSL的默认配置文件位置不是很固定,可以用openssl ca命令得知。 你也可以指定自己的配置文件。 当前只有三个OpenSSL命令会使用这个配置文件:ca, req, x509。有望未来版本会有更多命令使用配置文件。 (2)消息摘要算法 支持的算法包括:MD2, MD4, MD5, MDC2, SHA1(有时候叫做DSS1), RIPEMD-160。SHA1和RIPEMD-160产生160位哈西值,其他的产生128位。除非出于兼容性考虑,否则推荐使用SHA1或者RIPEMD-160。 除了RIPEMD-160需要用rmd160命令外,其他的算法都可用dgst命令来执行。 OpenSSL对于SHA1的处理有点奇怪,有时候必须把它称作DSS1来引用。 消息摘要算法除了可计算哈西值,还可用于签名和验证签名。签名的时候,对于DSA生成的私匙必须要和DSS1(即SHA1)搭配。而对于RSA生成的私匙,任何消息摘要算法都可使用。 ############################################################# # 消息摘要算法应用例子 # 用SHA1算法计算文件file.txt的哈西值,输出到stdout $ openssl dgst -sha1 file.txt # 用SHA1算法计算文件file.txt的哈西值,输出到文件digest.txt $ openssl sha1 -out digest.txt file.txt # 用DSS1(SHA1)算法为文件file.txt签名,输出到文件dsasign.bin # 签名的private key必须为DSA算法产生的,保存在文件dsakey.pem中 $ openssl dgst -dss1 -sign dsakey.pem -out dsasign.bin file.txt # 用dss1算法验证file.txt的数字签名dsasign.bin, # 验证的private key为DSA算法产生的文件dsakey.pem $ openssl dgst -dss1 -prverify dsakey.pem -signature dsasign.bin file.txt # 用sha1算法为文件file.txt签名,输出到文件rsasign.bin # 签名的private key为RSA算法产生的文件rsaprivate.pem $ openssl sha1 -sign rsaprivate.pem -out rsasign.bin file.txt # 用sha1算法验证file.txt的数字签名rsasign.bin, # 验证的public key为RSA算法生成的rsapublic.pem $ openssl sha1 -verify rsapublic.pem -signature rsasign.bin file.txt (3) 对称密码 OpenSSL支持的对称密码包括Blowfish, CAST5, DES, 3DES(Triple DES), IDEA, RC2, RC4以及RC5。OpenSSL 0.9.7还新增了AES的支持。很多对称密码支持不同的模式,包括CBC, CFB, ECB以及OFB。对于每一种密码,默认的模式总是CBC。需要特别指出的是,尽量避免使用ECB模式,要想安全地使用它难以置信地困难。 enc命令用来访问对称密码,此外还可以用密码的名字作为命令来访问。除了加解密,base64可作为命令或者enc命令选项对数据进行base64编码/解码。 当你指定口令后,命令行工具会把口令和一个8字节的salt(随机生成的)进行组合,然后计算MD5 hash值。这个hash值被切分成两部分:加密钥匙(key)和初始化向量(initialization

国产密码算法及应用

国产密码算法及应用 商用密码,是指能够实现商用密码算法的加密、解密和认证等功能的技术。(包括密码算法编程技术和密码算法芯片、加密卡等的实现技术)。商用密码技术是商用密码的核心,国家将商用密码技术列入国家秘密,任何单位和个人都有责任和义务保护商用密码技术的秘密。 商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如各种安全认证、网上银行、数字签名等。 为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。其中SSF33、SM1、SM4、SM7、祖冲之密码是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。 目前已经公布算法文本的包括SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等。 一、国密算法简介 1.SM1对称密码 国密SM1算法是由国家密码管理局编制的一种商用密码分组标准对称算法,分组长度为128位,密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP

核的形式存在于芯片中。 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。2.SM2椭圆曲线公钥密码算法 SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。国密SM2算法标准包括4个部分,第1部分为总则,主要介绍了ECC 基本的算法描述,包括素数域和二元扩域两种算法描述,第2部分为数字签名算法,这个算法不同于ECDSA算法,其计算量大,也比ECDSA 复杂些,也许这样会更安全吧,第3部分为密钥交换协议,与ECDH 功能相同,但复杂性高,计算量加大,第4部分为公钥加密算法,使用ECC公钥进行加密和ECC私钥进行加密算法,其实现上是在ECDH 上分散出流密钥,之后与明文或者是密文进行异或运算,并没有采用第3部分的密钥交换协议产生的密钥。对于SM2算法的总体感觉,应该是国家发明,其计算上比国际上公布的ECC算法复杂,相对来说算法速度可能慢,但可能是更安全一点。 设需要发送的消息为比特串M,len为M的比特长度。为了对明文M进行加密,作为加密者的用户应实现以下运算步骤: 步骤1:用随机数发生器产生随机数k∈[1,n -1]; 步骤2:计算椭圆曲线点C1=[k]G=(X1,Y1 ),将C1的数据类型转换为

OpenSSL 命令常用证书操作

在OpenSSL开发包中,包含一个实用工具:openssl,比如我用MinGW GCC 编译OpenSSL 0.9.8k 后,openssl 就保存在out目录下。openssl 工具是完成密钥、证书操作和其它SSL 事务的入口环境,直接运行不带参数的openssl 命令后,可以得到一个shell 环境,在其中可以以交互的方式完成SSL 相关的安全事务。 不过有时,如果用一个带参数选项的openssl 命令完成操作,会更方便。下面是我使用openssl 做证书操作时,记录的常用命令用法。 1.生成密钥 生成RSA密钥,保存在file.key中,命令如下: 上面命令的含义是:产生RSA密钥,包括:私钥和公钥两部分,然后使用DES3算法,用用户输入的密码(passphrase)加密该密钥数据,保存在file.key中。 file.key默认以BASE64方式编码密钥数据,file.key的格式称为:PEM (Privacy Enhanced Mail)格式,在RFC 1421到RFC 1424中定义,PEM是早期用来进行安全电子邮件传输的标准,但现在广泛用在证书、证书请求、PKCS#7对象的存储上,所以证书文件也经常以.pem为扩展名。 2.不加密的密钥 如果在生成密钥时,使用了-des3等加密选项,则会生成被用户密码保护的加密密钥,以增强密钥数据的保密性(因为密钥文件中包含私钥部分)。但有时为了方便,需要不加密的明文密钥(这样安全性会降低),比如:使用

Apache的HTTPS服务,每次启动Apache服务时,都需要用户输入保护密钥的密码,感觉麻烦的话,可以使用明文密钥。 明文密钥可以使用不带-des3等加密选项的openssl命令生成,还可以使用以下命令将加密保护的密钥转换成明文密钥,当然转换过程需要用户输入原来的加密保护密码: 3.查看密钥 查看保存在file.key中的RSA密钥的细节,如果此文件是加密保护的,会提示用户输入加密此文件的密码,命令如下: 输出的内容均是RSA密钥数据的数学信息(模数、指数、质数等),从输出的结果中也可知file.key保存的RSA密钥数据包括:私钥和公钥两部分。 该命令也能查看其它工具生成的密钥,比如SSH,只要密钥文件符合openssl支持的格式。 4.生成证书请求 由file.key产生一个证书请求(Certificate Request),保证在file.csr 中,命令如下: 指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/https://www.doczj.com/doc/7a17184052.html,f。 创建证书请求时,会要求用户输入一些身份信息,示例如下:

信息安全等级保护商用密码测评机构审批服务指引

信息安全等级保护商用密码测评机构审批 服务指南 一、适用范围 本指南适用于信息安全等级保护商用密码测评机构审批的申请和办理。 二、项目信息 项目名称:信息安全等级保护商用密码测评机构审批 子项名称:无 审批类别:非行政许可审批(正在履行新设行政许可程序) 项目编号:60012 三、办理依据 《中华人民共和国计算机信息系统安全保护条例》(国务院令第147号)第九条:“计算机信息系统实行安全等级保护。安全等级的划分标准和安全等级保护的具体办法,由公安部会同有关部门制定。” 《信息安全等级保护管理办法》(公通字〔2007〕43号)第一条:“为规范信息安全等级保护管理,提高信息安全保障能力和水平,维护国家安全、社会稳定和公共利益,保障和促进信息化建设,根据《中华人民共和国计算机信息系统安全保护条例》等有关法律法规,制定本办法。” 第三十八条:“信息系统中的密码及密码设备的测评工

作由国家密码管理局认可的测评机构承担,其他任何部门、单位和个人不得对密码进行评测和监控。” 《信息安全等级保护商用密码管理办法》(国密局发〔2007〕11号)第十一条:“信息安全等级保护商用密码测评工作由国家密码管理局指定的测评机构承担。” 四、受理机构 国家密码管理局 五、决定机构 国家密码管理局 六、审批数量 无数量限制 七、办事条件 申请人应当具备以下条件: 1.独立法人资格的企事业单位; 2.产权关系明晰,资产总值不低于1000万元; 3.具备信息安全系统测评相关经验,具有密码相关工作经验的专业技术人员,人数不少于30人; 4.具备必要的系统测评环境、设备和设施; 5.具有完备的系统测评质量管理、安全保密管理和人员管理等规章制度; 6.申请单位的法人性质、产权构成以及组织结构能够保证其公正、独立地实施系统测评活动,不从事密码产品生产、

商用密码发展规划意见思路

商用密码发展规划提纲 1.商用密码发展取得的成功经验和面临的主要问题 自1996年我国大力发展商用密码,并加强对商用密码的管理以来,我国的商用密码发展已有20多年的历史。国家密码主管部门一直采用“统筹规划、严格监管、规范行业、有序推进”的工作原则,有力促进了我国各类商用密码资源发展的快速进步和发展。 然而自党的十八大以来,转变政府职能已经成为深化经济体制改革和行政体制改革的关键。随着“放管服”改革工作的全面深化的不断推进,对商用密码管理工作出现了许多新情况新变化。今年“商用密码产品定点生产单位”资质和“商用密码产品销售许可单位”资质已经被取消,更加有效、便利的事中事后监管措施将被建立,《电子认证服务密码管理办法》也将再次进行修订,这使得密码使用监管的边界问题需要进一步被研究规范。 目前国内商用密码企业呈现了分布均衡的良好发展态势。目前,我国已颁布53个密码行业标准,经国家密码主管部门商用密码产品销售许可单位有近1000个,批准密码上市销售产品1900余款。商用密码技术已经被在电子政务、电子商务等领域广泛应用,涉及到社会生活的各个角落。 然而从政府部门到人民群众对密码的认识都不够,缺乏对信息安全的保护意识,这也造成了一些面向公众的服务还缺乏商用密码的保护。各省市之间商用密码的发展和应用也不平衡,安全存在薄弱环节。 2.商用密码发展的阶段特征、存在的主要矛盾、发展的主要任务 (1)对密码工作的严格管控和密码应用的灵活需求之间的矛盾,主要任务是确立密钥服务的职责边界。 (2)互联网技术的迅猛发展对密码技术提出的挑战(大数据、云计算、物联网、区块链),主要任务是使用密码技术对这些新技术的应用及时 进行保障。 (3)日益增长的密码应用需要和缺乏信息安全保护意识的矛盾,主要任务是对信息安全知识、密码知识的科普。 3.商用密码在密码工作和密码科学发展中的地位和作用 商用密码是密码工作面向公众的桥梁,是密码工作真正为广大人民群众服务、

openssl安装及使用

Openssl安装及使用 一软件 Windows下需要用到的软件 1.ActivePerl 一个perl脚本解释器。其包含了包括有Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套开发工具程序,可以让你编写出适用于unix,windows,linux系统的CGI程序来。安装的只是perl的一个解释程序啦,外观上也不会发生什么变化,你在windows的cmd界面里输入perl -v可查看你所安装的版本。 在你编译perl程序时会用到它。 2.C++编译器 编译器就是将“高级语言”翻译为“机器语言(低级语言)” 的程序。一个现代编译器的主要工作流程:源代码(source code) →预处理器(preprocessor) →编译器(compiler) →汇编程序(assembler) →目标代码(object code) →链接器(Linker) →可执行程序(executables)。c++编译器是一个与标准化C++高度兼容的编译环境。这点对于编译可移植的代码十分重要。编译器对不同的CPU会进行不同的优化。 3.OpenSSL OpenSSL是一个强大的安全套接字层密码库,Apache使用

它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具。 OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 4.MASM 8.0 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。8.0版本在编译OpenSSL的时候不容易出错。 用winrar解压缩MASMSetup.exe得到:setup.exe继续用winrar解压缩setup.exe 得到:vc_masm1.cab继续用winrar解压缩vc_masm1.cab得到:FL_ml_exe__..... (很长的文件名,省略),将这个文件重命名为ml.exe测试得到的ml.exe , 应该显示:Microsoft (R) Macro Assembler Version 8.00.50727.104将ml.exe 拷贝到工作目录,即可正常使用。 5.mspdb60.dll

商用密码产品开发和生产管理条例

商用密码管理条例 第一章总则 第一条为了加强商用密码管理,保护信息安全,保护企业和商用密码产品用户的合法权益,制定本条例。 第二条本条例所称商用密码,是指对不涉及公司秘密内容的信息进行加密保护或者安全认证所使用的密码技术和密码产品。 第二章科研、生产管理 第三条本公司是由国家密码管理机构指定的商用密码产品销售许可单位,具有相应的技术力量和设备,能够采用先进的编码理论和技术,编制的商用密码算法具有较高的保密强度和抗攻击能力。 第四条商用密码的科研成果,需要由国家密码管理机构组织专家按照商用密码技术标准和技术规范审查、鉴定。 第六条生产的商用密码产品的品种和型号,必须经国家密码管理机构批准,并不得超过批准范围生产商用密码产品。 第七条商用密码产品,必须经国家密码管理机构指定的产品质量检测机构检测合格。 第三章销售管理 第八条本单位已通过国家密码管理机构许可,可合法的销售商用密码产品。 第九条销售商用密码产品,应当严格按照国家密码局颁布的商用密码销售许可条例,并且应配备一下条件: (一)有熟悉商用密码产品知识和承担售后服务的人员; (二)有完善的销售服务和安全管理规章制度; (三)有独立的法人资格。 第十条销售商用密码产品,必须如实登记直接使用商用密码产品的用户的名称(姓名)、地址(住址)、组织机构代码(居民身份证号码)以及每台商用密码产品的用途,并及时的将登记情况报国家密码管理机构备案。(一个季度进行一次季报) 第四章使用管理 第十一条销售人员只能使用经国家密码管理机构认可的商用密码产品,不得使用自行研制的或者境外生产的密码产品。 第十二条已购买商用密码产品的用户不得转让其使用的商用密码产品。商用密码产品发生故障,报废、销售商用密码产品,应指派专人进行维修、并向国家密码管理机构备案。 第五章安全、保密管理 第十三条商用密码产品的科研、生产,应当在符合安全、保密要求的环境中进行。销售、运输、保管商用密码产品,应当采取相应的安全措施。 任职商用密码产品的科研、生产和销售的人员,必须对所接触和掌握的商用密码技术承担保密义务。 第十四条宣传、公开展览商用密码产品,必须事先报国家密码管理机构批准。 第六章附则

linux下利用openssl来实现证书的颁发(详细步骤)

linux下利用openssl来实现证书的颁发(详细步骤) 1、首先需要安装openssl,一个开源的实现加解密和证书的专业系统。在centos下可以利用yum安装。 2、openssl的配置文件是https://www.doczj.com/doc/7a17184052.html,f,我们一般就是用默认配置就可以。如果证书有特殊要求的话,可以修改配置适应需求。这样必须把相关的文件放到配置文件指定的目录下面。 3、首先需要利用openssl生成根证书,以后的服务器端证书或者客户端证书都用他来签发,可以建立多个根证书,就像对应不同的公司一样 #生成根证书的私钥 openssl genrsa -out /home/lengshan/ca.key #利用私钥生成一个根证书的申请,一般证书的申请格式都是csr。所以私钥和csr一般需要保存好openssl req -new -key /home/lengshan/ca.key -out /home/lengshan/ca.csr #自签名的方式签发我们之前的申请的证书,生成的证书为ca.crt openssl x509 -req -days 3650 -in /home/lengshan/ca.csr -signkey /home/lengshan/ca.key -out /home/lengshan/ca.crt #为我们的证书建立第一个序列号,一般都是用4个字符,这个不影响之后的证书颁发等操作 echo FACE > /home/lengshan/serial #建立ca的证书库,不影响后面的操作,默认配置文件里也有存储的地方 touch /home/lengshan/index.txt #建立证书回收列表保存失效的证书

Linux怎么使用OpenSSL命令行

Linux怎么使用OpenSSL命令行 OpenSSL是一款命令行工具可以用来做检测,加密解密等等,尤其在Linux中很实用。那么Linux要如何使用OpenSSL命令行呢?下面小编将针对OpenSSL命令行的使用给大家做个详细介绍。 Linux如何使用OpenSSL命令行 1. base64编码/解码 谈到命令行下如何发送邮件附件,很多人想起了uuencode。也可以使用base64编码。以下是openssl base64编码/解码的使用: $ openssl base64 《filename.bin 》filename.txt $ openssl base64 -d 《filename.txt 》filename.bin 2. 校验文件的一致性

UNIX下校验文件一致性的方法很多,比如sum、cksum、md5sum、sha1sum等。sum和cksum适用于简单校验的场合,生成的校验码容易重复。md5sum有安全漏洞,当前比较推荐的是sha1sum。不过sha1sum在不同的平台用法有些不同。考虑到跨平台性,建议用openssl。 $ openssl sha1 filename SHA1(filename)= e83a42b9bc8431a6645099be50b6341a35d3dceb $ openssl md5 filename MD5(filename)= 26e9855f8ad6a5906fea121283c729c4 3. 文件加密/解密 OpenSSL支持很多加密算法,不过一些算法只是为了保持向后兼容性,现在已不推荐使用,比如DES和RC4-40。推荐使用的加密算法是bf(Blowfish)和-aes-128-cbc(运行在CBC模式的128

电子商务法律法规

1、电子商务法的概念:电子商务法是指调整电子商务活动中所产生的社会关系的法律规范的总称,是一个新兴的综合法律领域。 国际电子商务相关法规包括:《计算机记录法律价值的报告》、《电子资金传输示范法》、《电子商务示范法》、《电子商务示范法实施指南》以及《统一电子签名规则》等。 三、我国电子商务的法律环境建立 要使我国电子商务快速稳健地发展,除了完备的技术支持和良好的经济环境外,与之相匹配的法律制度更是必不可少。电子商务法应将在保留和遵循商法基本原理的基础上,逐步扬弃规范传统商业活动的内容,增加和补充用以规范电子商务活动的内容。基于世界电子商务立法的经验教训和我国的具体国情,我觉得我国电子商务法律体系建设应从以下几个方面入手。 (二)我国电子商务法的发展 《中华人民共和国合同法》已于今年三月十五日由全国人大通过,并将在今年十月一日开始实施,它首次明确了电子合同的合法地位,为我国电子商务的发展奠定了法律基础,但电子合同毕竟不同于传统书面合同,而且在电子商务活动中与合同相关的记录、文件、单证、凭证等的电子化等实际操作问题,相关法律法规尚待同步,社会的认知程度也不同。再者,首都电子商城的商务活动将不会局限于首都电子商城内。所以,立法仍需改进。 随之,《首都电子商城电子商务规则》由首都电子商城起草并主持修订,经北京仲裁委员及相关法律界专家的多次研讨,不断修改完善,并在由全国人大法工委、国务院法制局、市府法制办及法律、知识产权、金融等行业专家参加的多次研讨会上,得到专家们的进一步修改完善和肯定,认为本规则已具实用意义,可以试行,以积累经验。 《电子签名法》的出台是我国电子商务发展的里程碑,它的颁布和实施必将扫除电子签名在电子商务、电子政务和其他领域中应用的法律障碍,极大地改善我国电子签名应用的法制环境,从而大力推动我国信息化的发展。我国电子签名法的起草,经历了征求意见稿、草案和最终稿三个阶段。整个起草过程也是对电子签名这一新型核证技术的认识逐步深化的过程。 (三)我国电子商务法的立法模式构想 对于电子商务的立法模式,理论界有两种不同的观点:一是主张先就电子商务出现的具体法律问题,先行制定单行规则或修订传统法律,形成统一思路后,再制定电子商务基本法;二是主张先制定电子商务基本法,然后以基本法为指导思想,就各个具体问题制定单行规则或修订传统法律。以上两种立法模式各有利弊。第一,我国电子商务已经有过几年的发展历程,开始渗透传统领域,并出现了一些现实的法律问题,为电子商务立法提供了立法需求;第二,国际电子商务立法较为成熟,有可借鉴的经验;第三,我国近年来出台了一些规范信息市场、促进信息产业发展等方面的法规规范,为出台电子商务基本法奠定了立法基础。 总而言之,在电子商务这种新兴的贸易方式冲击传统商务活动的同时,电子商务的新法律制度框架必然会有一个与传统商法不断协调和融合的时期,但这是必然也必经的阵痛。惟有如此,电子商务法律才能不断成熟和完善,从而电子商务才能得到健康持续地发展,成为扎实的国民经济增长点,为提升我国的综合实力服务。 国外电子商务立法现状 电子商务立法,是近几年世界商事立法的重点。电子商务立法的核心,主要围绕电子签名、电子合同、电子记录的法律效力展开。从1995年美国犹他州颁布《数字签名法》至今,已有几十个国家、组织和地区颁布了与电子商务相关的立法,其中较重要或影响较大的有:联合国贸易法委员会1996年的《电子商务示范法》和2000年的《电子签名统一规则》,欧盟的《关于内部市场中与电子商务有关的若干法律问题的指令》和《电子签名统一框架指令》,德国1997年的《信息与通用服务法》,俄罗斯1995年的《俄罗斯联邦信息法》,新加坡1998

商用密码测评

按照测评内容的不同,密码测评体系主要分为三个层次:密码算法测评、密码模块测评和密码系统评估。密码算法测评的主要对象是底层的密码算法,如分组算法、序列算法、公钥算法;实现了密码算法的密码模块是密码评测的第二层内容,密码模块有硬件实现、软件实现、或软硬件混合实现等方式;实现了多个密码模块的密码系统是评测体系的第三层内容。由于密码系统最终会由其他应用所使用,所以密码系统的评估对于信息安全、应用系统稳定也有重要的意义。 密码算法测评现有的技术存在一些问题:如检测方法过多地集中于黑盒式测试;缺乏有效的白盒测试方法;密码分析的自动化程度偏低,主要还是使用人工测试为主;检测方法存在着大量冗余检测,很多检测方法存在重叠,检测效率较低;算法评估缺乏科学有效的评估模型与机制,无法有效的评估密码算法是否合规是否安全。我们密码算法测评的研究也主要是研究这些问题的解决方法,主要的研究内容有:1、白盒密码算法测评研究,开展查找表技术、插入扰乱项技术、多变量密码等技术的研究。2、检测方法相关性分析研究,研究各类现有检测方法,分析其关联性,提高检测效率。3、密码分析自动化研究,通过执行程序语言编写的测试脚本自动地实施密码测试。4、评估模型、密码检测指标研究,形成密码评估检测标准,为密码算法的合理评估提供科学依据与量化指标。 关于密码模块的测评研究,我们主要集中在密码模块的自动化检测技术方面,主要包括密码模块实现正确性检验、实现安全性检验以

及实现效率检测等内容。密码模块自动化检测工具平台的研制可直接为相关测评机构的实际评估工作提供科学的参考数据,从而提高对密码产品安全隐患的发现能力。 密码系统评估技术研究,可以使用一个金字塔模型来概括:(一)研究适合于密码系统的风险评估原理和模型;(二)研究能够反映密码系统安全性需求的指标体系,包括评估准则、风险指标体系的建立等;(三)研究密码系统的评估方法和密码系统安全风险管理;(四)研究密码系统评估的原型系统设计与实现等内容;最终达到金字塔的顶端:形成完善的密码系统评估准则;合理的密码系统评估流程;实用的密码系统评估方法。概括的讲就是“四个层次三个目标”。 密码测评的研究具有重要的现实意义:1、提高密码测评的基础理论水平:增强对密码测评基础理论与关键技术的研究支持。提高我国密码测评的基础理论水平,从根本上提升我国检测认证工作的先进性。2、增强对密码测评标准规范的研究与相关工作的制定:密码检测系列标准规范,它将为密码算法和密码产品测评的合理化、规范化提供重要的共性技术支撑。3、增强对密码测评自动化工具与平台的研究支持:研制密码测评工具平台将大大提高测评效率,增强检测健壮性,也将有效促进密码测评技术在信息安全领域的应用。4、增强密码测评人才队伍的建设:密码检测认证人员将成为信息安全从业人员的重要组成部分

openssl工具使用简介

openssl工具使用简介 1.私有密钥生成方法 生成私有密钥,可以使用不同的数字签名算法.下面分别介绍; #采用DSA算法 $ openssl dsaparam -noout -out dsakey0.pem -genkey 1024 #采用RSA算法 $ openssl genrsa -out rsakey0.pem 1024 #采用RSA算法,并使用密码保护.在生成私钥时,需要输入一个密码,用于保护私钥. #在使用这个私钥进行加/解密操作时,也需要输入这个密码. $ openssl genrsa -des3 -out rsakey1.pem 1024 2.公用密钥的生成方法 根据私钥来生成公钥 #生成dsa算法的公钥 $ openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem #生成rsa算法的公钥 $ openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub.pem 3.自签名证书的生成方法 #产生DSA算法的证书 $ openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new #产生RSA算法的证书 $ openssl req -x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new 4.使用证书进行邮件加密 我们的明文信件内容: $ cat test.txt 111111 222222 333333 444444 aaaaaa 使用证书对明文信件进行加密,输出到etest.txt文件: $ openssl smime -encrypt -in test.txt -out etest.txt mycert-rsa.pem 查看加密后的密文内容: $ cat etest.txt MIME-Version: 1.0 Content-Disposition: attachment; filename="smime.p7m" Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m" Content-Transfer-Encoding: base64 MIIBYAYJKoZIhvcNAQcDoIIBUTCCAU0CAQAxgewwgekCAQAwUjBFMQswCQYDVQQG EwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lk

相关主题
文本预览
相关文档 最新文档