
信息安全
文章平均质量分 74
本专栏主要是信息安全开发相关技术文章,希望与大家更多的分享与交流。
anda0109
密码学与信息安全,区块链,分布式数据库/存储,人工智能。
展开
-
读《把时间当作朋友》,我学到了这几点
已经是第二遍读《把时间当作朋友》了。第一遍读下来,我最大的收获是认识到心智对一个人成长的重要性。心智的力量其实就是用大脑控制大脑,用现在更加通俗和时髦的说法就是:刻意练习。比如,已经到了睡觉的时间,但美剧实在太精彩或者游戏打得正嗨,这时大脑的自然状态就是继续进行现在的事情。然而,此时大脑调动的信息却是要按时睡觉、明天上班需要保持好的精神。所以此时你有两个选择,一是继续进行现在的事情,二是停止现在的事原创 2016-11-01 10:26:25 · 2673 阅读 · 2 评论 -
php集成动态口令认证
大多数系统目前均使用的静态密码进行身份认证登录,但由于静态密码容易被窃取,其安全性无法满足安全要求。动态口令采用一次一密、用过密码作废的方式防止了密码被窃取带来的安全问题。 动态口令分为HOTP(基于事件计数的动态口令)、TOTP(基于时间的动态口令)等方式。本文介绍了集成TOTP方式的动态口令认证的方案,PHP框架采用Thinkphp3.2.3,动态口令生成器使用的是google authtic原创 2016-07-20 17:32:50 · 3641 阅读 · 2 评论 -
CSP开发-CSP模块的实现
前面几篇主要介绍了如何开发基于CSP的应用,即通过CryptoAPI调用CSP。这节则介绍如何按照微软的CSP标准实现自己的CSP,例如基于硬件方式的UKEY、密码卡等设备的硬件加密CSP。即CSP通过与硬件交互实现加解密、签名、Hash等24个标准算法,这些算法通过CryptoApi供上层应用调用。当前,国内许多科研单位开发了高强度加密算法,这些加密算法或者以纯软件形式,或者以加转载 2015-11-25 13:37:17 · 4515 阅读 · 0 评论 -
CSP应用开发-CryptAPI解析X509及PKCS#12证书
一、解析X509证书1.从磁盘上的证书文件中读取证书数据unsigned char* pbX509Data; // 证书数据unsigned long ulX509DataLen; // 证书数据长度2.获取CertContextPCCERT_CONTEXT pCertContext = CertCreateCertificateContext(X509_ASN_ENC转载 2015-11-24 22:18:29 · 2716 阅读 · 0 评论 -
CSP应用开发-将USBkey中的证书注册到Windows系统
本文转自和讯博客坚实诚金 http://zyf860825.blog.hexun.com/61812512_d.htmlUSBKey是一种USB接口的硬件设备。如坚石诚信的ET199Auto,内置16位国外进口高性能智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USBKey内置的RSA公私钥算法实现对用户身份的认证。由于用户私钥保存在ET199Auto中,同时智能卡可以转载 2015-11-24 18:25:23 · 2910 阅读 · 0 评论 -
CSP应用开发-加密通信及数字签名中CryptApi的调用流程
一、应用程序使用Crypto API进行加密通信的一般步骤如下:1,添加头文件windows.h、wincrypt.h2,调用CryptAcquireContext()获得某个CSP模块中的密钥容器(key container)的一个句柄;3,发送方使用CryptImportKey()将接受方的证书导入CSP中,从而获得接收方的公钥;4,发送方式用CryptGenKey()随机产生原创 2015-11-24 15:35:02 · 2405 阅读 · 0 评论 -
CSP应用开发-CryptAPI函数库介绍
基本加密函数为开发加密应用程序提供了足够灵活的空间。所有CSP的通讯都是通过这些函数。一个CSP是实现所有加密操作的独立模块。在每一个应用程序中至少需要提供一个CSP来完成所需的加密操作。如果使用多于一个以上的CSP,在加密函数调用中就要指定所需的CSP。微软基本加密提供者(Microsoft Base Cryptographic Provider),是缺省绑定到CryptoAPI 里的。如果转载 2015-11-24 15:28:26 · 7252 阅读 · 0 评论 -
CSP应用开发-签名和验签
下面代码实现了调用CSP实现数据的签名和验签,函数中有些细节没有处理好,但总体流程上应该是没有问题的,测试通过://本程序通过调用CSP实现签名及验签功能#include "stdafx.h"#include #include #define IN#define OUT/*****************************************************原创 2015-11-24 13:12:23 · 3171 阅读 · 0 评论 -
CSP应用开发-数据加解密
调用CryptoApi接口实现数据的加解密,代码如下://本程序通过调用CSP实现文件AES_128加解密功能#include "stdafx.h"#include #include #define BLOCK_SIZE 1024/******************************************************函数名:EncryptFile*功原创 2015-11-24 13:08:53 · 2762 阅读 · 0 评论 -
CSP基础-CSP入门简介
CSP加密服务提供者(Cryptographic Service Provider)具有一下几个特点:CSP是真正执行密码运算的独立模块物理上一个CSP由两部分组成:一个动态连接库,一个签名文件签名文件保证密码服务提供者经过了认证,以防出现攻击者冒充CSP若加密算法用硬件实现,则CSP还包括硬件装置Microsoft通过捆绑RSA Base Provider,在操作系统中提供一个CSP,使原创 2015-11-24 13:06:03 · 5892 阅读 · 1 评论 -
CSP和PKCS#11的关系
一、引言 PKI,被誉为现代信息社会安全的基石,它能够为所有网络透明地提供加密和数字签名等密码服务所需的密钥和证书管理功能,能够提供认证、访问控制、数据完整性机密性、和不可否认性等核心安全服务。由于PKI提供了良好的安全平台,全球很对单位都开发了各种PKI软硬件密码设备。但不同单位的加密接口不尽相同,为用户开发和设备无关的加密应用带来不便。为了解决加密接口问题,目前已经形成了多种AP原创 2015-11-23 14:11:16 · 7534 阅读 · 0 评论 -
利用openssl工具生成根证书及颁发子证书
参考自:http://zhtx168.blog.163.com/blog/static/41601548200812503248/使用opensll工具来生证书过程如下:一 ) 首先创建CA根证书1) 生成RSA private key 给CA (3 DES 加密, PEM 格式):$ openssl genrsa -des3 -out ca.key 10原创 2014-11-18 17:16:55 · 10944 阅读 · 3 评论 -
利用openssl实现SSL安全通讯协议(二)
Openssl应用编程框架:1.客户端程序的框架为:[cpp] view plaincopymeth = SSLv23_client_method(); ctx = SSL_CTX_new (meth); ssl = SSL_new(ctx); fd = socket(); connect();原创 2014-11-17 15:41:57 · 3589 阅读 · 1 评论 -
利用openssl实现SSL安全通讯协议(一)
OpenSSL是一个开放源代码的SSL协议的产品实现,它采用C语言作为开发语言,具备了跨系统的性能。调用OpenSSL的函数就可以实现一个SSL加密的安全数据传输通道,从而保护客户端和服务器之间数据的安全。头文件:#include #include 基于OpenSSL的程序都要遵循以下几个步骤:(1 ) OpenSSL初始化在使用OpenSSL之原创 2014-11-17 15:33:47 · 10065 阅读 · 1 评论