一种基于USBKey加解密技术的软件保护方案研究

合集下载

一种USBKey的文件加密软件方案的设计

一种USBKey的文件加密软件方案的设计
Pr e v e nt i ng p e r s ona L i nf or ma t i on f r om d oc u me nt s s t ol e n ha s b e c o me a n i mp or t a nt r e s e a r c h t opi c . T hi s a r t i c l e i s t o us e
wi t h ha r d wa r e a n d s o f t wa r e .Onl y wi t h c o r r e s po nd i n g U SBK e y a nd pa s s wo r d t o op e n f i l e s c a n s e e r e l e v a nt i nf or ma t i o n, a nd r e a l i z e t h e do c um e n t s of t he p r o t e c t i on f u nc t i on .
郭利 芳 赵 凡 李 小兵 汪成 明
( 兰 州 交 通 大 学 电子 与 信 息 工 程 学 院 兰 州 7 3 0 0 7 0 )

要 :随 着 信 息 技 术 的 飞 速 发 展 , 文 件的安全性越来越被重视 , 防 止 个 人 信 息 文 件 被 窃 取 已 经 成 为 一 个 重 要 的 研 究
( S c h o o l o f El e c t r o n i c a n d I nf o r ma t i o n En g i n e e r i n g, La n z h o u J i a o t o n g Un i v e r s i t y, La n z h o u 7 3 0 0 7 0, Ch i n a )

基于云计算的USBKey身份认证技术研究

基于云计算的USBKey身份认证技术研究

刘 林 东 , : 于 云 计 算 的 US Ke 等 基 B y身 份认 证技 术 研 究
1 相 关技 术
1 1 云 计 算 .
云计算口 是一 种能 够 向各 种互 联 网应用 提供 硬件服 务 、 础架 构服 务 、 台服务 、 基 平 软件 服务 、 存储 服务 的 系统 , 给用户 提供 可靠 的 、 自定义 的 、 大化 资源 利用 的服 务 , 最 是一 种 崭新 的分 布 式计 算模 式 . 计算 包 括 三 云
关键 词 : B y 云计 算  ̄ KIC US Ke ; P ;A
中 图 分 类 号 : P3 9 文 献 标 识 码 : T 0 A 文 章 编 号 :0 78 5 (0 1 0— 0 80 10 — 7 4 2 1) 5 0 7— 7
引言
随着 计算 机技术 、 互联 网技 术 以及芯 片技术 的发展 , 上 网上银行 、 加 网络 社交 、 电子 商务 以及 电子政 务业
收 稿 日 期 : 0 10 -2 2 1 -9 1
基 金 项 目 : 东 第二 师 范 学 院 重 点课 题 (0 0 8 广 2 10 )
作 者 简 介 : 林 东 , , 南邵 阳人 , 东第 二 师 范 学院 计 算机 科 学 系讲 师 , 士 刘 男 湖 广 硕
21 年第 5 01 期
基于 云 计 算 的 U B y身份 认证 技术研 究 S Ke
刘 林 东 , 依 林 邬
( 广东 第二 师范 学 院 计算 机科 学系 , 广东 广 州 5 0 0 ) 1 3 3
摘要 i 别 阐述 云计 算和 US Ke 分 B y身份 认证 的基 本概 念 和框 架 , 分析 US Ke 身份认 证 中 B y在 存在 的 不足. 云计 算与 US Ke 将 B y紧密结合 起 来 , 立一种基 于云计算 的 US Ke 建 B y身份 认证 模 型. 该模 型 简单 、 实用 、 全 , 安 充分体 现 了云计 算的优 势 , 效地 解决 了 US Ke 有 B y身份 认 证 的安 全 问题.

文件加密解密算法研究与实现——基于USBKEY的文件加密解密方案

文件加密解密算法研究与实现——基于USBKEY的文件加密解密方案

上海交通大学硕士学位论文文件加密解密算法研究与实现——基于USBKEY的文件加密解密方案姓名:丁晨骊申请学位级别:硕士专业:计算机技术指导教师:邱卫东;沈亦路20091201文件加密解密算法研究与实现——基于USBKEY的文件加密解密方案摘 要随着信息社会的到来,人们在享受信息资源所带来的巨大便利的同时,也面临着信息安全问题的严峻考验。

如何实现对企业重要信息的加密,防止企业机密信息的泄漏,提高内部机要文件存放的安全性,是当前信息安全领域的一个重要课题。

本文的主要研究内容是文件加密系统的解决方案中文件的加密算法和密钥管理。

首先,论文对现有四种加密方式进行了深入研究,详细分析了这四种加密方式在使用技术、密钥管理及安全强度方面的优缺点及其具体适用环境。

对现有文件加密系统方案的合理性进行了评估、分析和比较。

其次,本文提出了一种安全有效的文件加密方案,其中主要工作有两大部分:1.针对原使用加密算法单一,加密强度不高进行了改进,并基于混合型加密原理作为本文提出文件加密方案的主要手段。

与改进前相比,新方案在文件加密强度上有了较大的提高,消除了原加密体制存在的诸多安全威胁。

2.设计了独立的密钥管理系统,将密钥管理和密码钥匙盘(USBKEY)相结合,在抗模拟接口、抗跟踪软件能力上有很大的提高,将密钥和密文彻底分离,大大提高了密钥的安全性。

最后本文对所提出的加密系统的内存加密数据速度以及文件加密速度进行了测试。

分别将一个文件631KB和3MB的文件进行了加解密的测试,测试结果表明本文提出的文件加密系统具有较好的性能,具有较大的实用性。

关键词:密码体制;DES;RSA;USB;加密;ABSTRACTWith the advent of the information society, people enjoying the tremendous information resources to facilitate the same time, also faces a severe test of information security issues. How to achieve business critical information on encryption, to prevent enterprises from the leakage of confidential information to improve the security of internal confidential document repository, and is the current information security is an important issue.The main research contents of this file encryption system, the solution file encryption algorithm and key management. First, the papers on the existing four kinds of encryption methods conducted in-depth research, detailed analysis of these four kinds of encryption methods in the use of technology, key management and security strength of the strengths and weaknesses and their practical application in the environment. On the existing file encryption system, the rationality of the program were assessed, analysis and comparison.Secondly, this paper presents a safe and effective file encryption program, which has two main parts: 1. For the original use of a single encryption algorithm, encryption is not high intensity has been improved, and is based on principles of hybrid encryption file encryption program, as proposed in this paper the principal means. And improved compared to before the new package file encryption intensity has been greatly improved, eliminating many of the original encryption system, there is a security threat. 2. Designed to separate key management system, key management and cryptographic keys, disk (USBKEY) combined in the anti-analog interface, the ability of anti-tracking software have greatly improved, would be key and cyphertext complete separation, greatly increased of the key security.Finally, the paper for the proposed encryption system to encrypt data rate memory, as well as file encryption speed tested. , Respectively, a 631KB file, and 3MB of file encryption and decryption of the test, the test results show that the file encryption system proposed in this paper has good performance, with great practicality.Keywords: cryptography; DES; RSA; USB; encryption第一章 绪 论1.1立题的意义由于公司经常有一些商业电子文档,要对这些商业文档进行保密。

一种基于USBKEY的文件保险箱设计与实现

一种基于USBKEY的文件保险箱设计与实现

1 ) 要打开文件保险箱,U S B KE Y和 P I N码二者缺一不可,
B KE Y和正确的 P I N码,几乎不 病毒也 可能入侵主机 ,破坏 数字证书 和签名私 钥,从 而导致合 非授权用户如果没有匹配的 US 法的加解密或数字签名失效 。
个设计 良好的文件保险箱首先需要满足以下基本特征 : 1 ) 用 户可以方便 的将敏感 、重 要的文件和数据放入保 险箱
钥基 础设置 )体系 中,P KI 是现代信 息安全技 术的核心 ,也 是 中 ,保证文件存取 的正确性 和完整性。 电子商务和电子政 务的关键技术和基 础技术。在 P KI 体 系中 ,
密 钥 对 的 生 成 和存 储 是 保 证 安 全 性 的 关 键 。传 统 的 方 式 是 在 主
2 ) 非授权者无法打开保险箱 , 甚至无法确定保险箱的存在。 3 ) 文件 和数 据在保险箱 中始终 以密文形式存在 ,非授权者
机 端 产 生 并 存 储 在 主 机 端 ,但 计 算机 开 放 的应 用 环 境 给 这 种 方 即使 突 破 限 制 进入 保 险 箱 中也 无 法 阅 读保 险 箱 中 的文 件 和数 据 。
软件 2 0 1 3年第 3 4卷 第 5 期
S O F T Ⅵ, A R E
国际 I T传媒 品牌

种 基于 U S B K E Y的文件 保险箱设计 与实现
李成东 , 徐飞
( 烟 台 海颐软 件股 份 有限 公 司, 山东 烟 台 2 6 4 0 0 1 )
摘 要 :随着数据安全 问题越来越 被计算机使 用者所 重视 ,智能 密码钥匙 ( 以下简称 U S B K E Y )越来越 普遍 的应用 于安全 防 护 的各个 领域。 文章 以烟 台海颐 软件股 份有 限公 司 H 秘锁 智 能密码钥 匙为基础 ,首先 讨论 了US B KE Y现 状,其次分析 了基 于

省级国土空间基础信息平台国产密码技术应用探索

省级国土空间基础信息平台国产密码技术应用探索

省级国土空间基础信息平台国产密码技术应用探索◆ 王 毅1 孟 茹2(1.甘肃省自然资源信息中心,甘肃兰州 730000;2.格尔软件股份有限公司,西安 710000)摘 要:本文提出省级国土空间基本信息平台国产密码技术应用解决方案。

通过遵循等级保护基本要求的建设框架,分析该平台国产密码应用需求,并提出建立核心密码技术,以基于PKI技术数字证书为认证要素,以角色访问控制为手段,依托统一的目录服务系统,综合运用各种安全技术及系统,在保障安全和性能的前提下建设安全支撑平台。

该平台将为省级国土空间基本信息平台中主机操作系统、网络接入系统等国土空间行业内核心关键业务应用系统提供身份管理、用户认证、访问控制、权限分配、密钥传输、数据保护、责任认定等全面的安全保障措施。

关键词:国产密码;等级保护;公钥基础设施PKI;安全支撑平台甘肃省国土空间信息平台是基于“国土资源云”总体思路,以甘肃省基础地理、土地、矿产、林业、湿地等各类自然资源和国土空间数据为基础,同时与其他政府部门实现业务协同,及时获取统计、发改、生态环境、住建、交通、水利、农业农村等部门相关信息,为甘肃省自然资源调查监测评价,国土空间规划实施监督、行政审批、政务服务、监管决策等提供有力的技术支撑。

但随着业务的不断拓展和国土空间基础信息平台对外提供访问和服务支持的需求,为保障甘肃省国土空间信息平台的整体安全性,按照国家关于安全保密的有关技术要求,结合平台实际情况,规划使用符合国家要求的密码技术产品建立安全防护,同时通过授权认证和数据加密三层安全保护体系进行全面的安全保护。

本文以国产密码技术为核心思想,结合等级保护体系密码应用要求和信息系统密码应用技术指南,实现国土空间基本信息平台基于国产密码算法的安全服务支撑体系的规划设计。

1 国产密码技术应用研究思路甘肃省国土空间基础信息平台涉及业务应用广、网络设备多,各安全设备和业务系统对涉及自身的资源具有独立的管理、授权和审计体系,在正常的办公协同中容易产生业务不对称的现象。

USBKEY的CSP实现

USBKEY的CSP实现

2007.462基于USB KEY的CSP实现杨瑞霞山东政法学院司法信息系 山东 250014摘要 :CSP是目前应用最广泛的PKI密码接口。

CSP终端用户通过Windows提供的CryptoAPI公共接口访问密码函数,而不需要去关心密码运算的具体实现。

USB KEY具有使用方便、安全性高、运算能力强等特点,是实现PKI密码运算的理想设备。

用户可以通过调用动态库来使用USBKEY的加密运算功能,从而实现CSP所需要的PKI密码函数。

本文从CSP的技术原理出发,结合USB KEY的功能特点,深入讨论了如何使用USB KEY实现CSP的功能。

关键词:CSP;USB KEY;COS;密码运算0 引言CSP(Cryptographic Service Providers,密码服务供应商)是密码服务供应商为了给用户提供方便,针对应用层提供的标准接口函数。

用户可以直接使用微软公司的CryptoAPI(Cryptographic Application Programming Interface,密码应用程序接口)调用CSP函数来实现供应商提供的密码运算。

CryptoAPI是一组数目众多的安全函数,这些函数是Windows操作系统的一部分。

CryptoAPI事实上是通过CSP以多种方式实现同一密码函数。

CSP是一个独立的模块,它实现了那些通过CryptoAPI公共接口访问的密码函数,即CSP封装和隐藏了密码算法的具体实现,这样用户就不需要去关心它。

CSP所使用的密码设备,可以是使用运算芯片的密码算法板卡,也可以是智能卡,有的CSP是基于专门进行密码运算的计算机的。

USB KEY实际上是能够直接在计算机的USB接口上使用的智能卡设备。

USB KEY体积跟钥匙一般大,携带方便,而且运算能力可以很好地满足用户的需要,现在USBKEY已经成为广泛使用的CSP设备。

1 CSP技术原理微软提供了一个基本CSP,其他商家提供的CSP包含了他们自己实现的全部或CryptoAPI部分函数。

基于USBKEY的安全认证网关的设计

基于USBKEY的安全认证网关的设计

基于USBKEY的安全认证网关的设计作者:郭丽张亚利来源:《硅谷》2009年第14期[摘要]在分析SSL等认证网关不足的基础上,提出一个基于USB KEY的安全认证网关的设计方案,然后给出其身份认证协议,并对其安全性进行分析。

[关键词]USB KEY 认证网关 PKI SSL中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0720048-02一、引言随着网络应用的普及,网络安全越来越受到人们的重视,网络身份认证作为网络安全的重要组成部分,一直是受关注的热点。

安全认证网关是一个认证服务器,对受保护网络提供身份认证支持,对于网络外的访问者进行统一的身份认证。

传统的基于用户名和口令的认证方式过于简单,极易被窃取,已经远远不能满足实际安全需求,为了提高认证的安全性,现在的认证网关一般采用PKI(公钥基础设施)体系,使用数字证书的方式对用户身份进行认证。

在PKI框架下,安全认证网关需要相应认证协议支持来完成用户的认证,现在比较常见的认证协议是SSL协议,但是SSL是一种基于端到端的安全协议,与具体应用绑定紧密,对于多种应用支持作得不好。

另外一种方式是采用IPSEC协议,在IP层做工作来完成对上层应用的支持,这种方式需要在操作系统内核层加入代码,实现复杂,容易造成系统不稳定。

本文提出了一种在应用层实现,在不与应用程序绑定的情况下,透明地实现对多应用地支持,并基于USB KEY进一步保障了用户身份的真实性。

二、USB KEY技术分析用户的数字证书和私钥等机密信息可以以文件的形式存储在磁盘上,但为了安全起见,证书和私钥一般存放于物理载体中,最常见的载体便是USB KEY。

一个典型的USB KEY的内部结构如图1所示:USB KEY内部主要分为两大部分:智能卡芯片和USB芯片。

智能卡芯片是USB KEY的核心,通过内置卡内操作系统来完成卡内资源的管理,其一方面实现了证书、密钥的安全存储,另一方面还实现了多种加解密算法。

hasphl加密狗USBKey软件保护技术深度分析

hasphl加密狗USBKey软件保护技术深度分析

hasphl加密狗USBKey软件保护技术深度分析加密狗是一种硬件设备,通常以USBKey的形式提供,用于保护软件免受盗版和非授权访问的威胁。

Hasphl加密狗USBKey是目前广泛使用的软件保护技术之一。

本文将深入分析Hasphl加密狗USBKey的工作原理、使用方法以及其在软件保护方面的优势和局限性。

一、Hasphl加密狗USBKey的工作原理Hasphl加密狗USBKey通过硬件加密技术来保护软件的安全性。

它与软件开发商的应用程序关联,以确保软件只能在具备合法授权的设备上运行。

Hasphl加密狗USBKey通过分配加密密钥和进行加密操作来实现软件保护。

二、Hasphl加密狗USBKey的使用方法Hasphl加密狗USBKey的使用过程相对简单。

首先,用户需要将Hasphl加密狗USBKey插入计算机的USB接口,并安装相应的驱动程序。

接下来,用户需要通过Hasphl加密狗USBKey管理软件提供的接口,设置加密操作和密钥。

此后,用户在运行受保护的软件时,软件将不可避免地使用Hasphl加密狗USBKey来确认软件的合法性。

三、Hasphl加密狗USBKey的优势Hasphl加密狗USBKey在软件保护方面有许多优势。

首先,Hasphl 加密狗USBKey可以提供强大的硬件防护,确保软件不会在未经授权的设备上运行。

其次,Hasphl加密狗USBKey可以防止盗版行为,因为只有具备正版加密狗的设备才能使用受保护的软件。

此外,Hasphl加密狗USBKey还可以提供许可证管理功能,软件开发商可以通过Hasphl加密狗USBKey来控制软件的授权数量和有效期。

四、Hasphl加密狗USBKey的局限性尽管Hasphl加密狗USBKey在软件保护方面具有一定优势,但也存在一些局限性。

首先,Hasphl加密狗USBKey需要额外的硬件设备,并要求用户插拔设备。

这对于用户来说有一定的不便。

其次,Hasphl加密狗USBKey也可能存在被仿制或破解的风险。

ePass系列USB Key

ePass系列USB Key

ePass系列USB Key(或USB Token)。

主要是用作基于公钥体系(PKI)的数字证书和私钥的安全载体。

大小如同房间钥匙,形状和市面上的U盘相像,可以穿在钥匙环上随身携带。

RSA 密钥对是在USB key内生成的,私钥永远不能导出,确保证书持有人的信息安全。

同时采用“key+ PIN码”的双因子认证,保证数字证书和私钥的合法使用。

所谓“key+PIN码”的双因子认证是指:有USB key插入计算机,且验证其PIN码后才能使用key里的私钥进行签名。

ePass USB Key系列∙ePass1000系列采用高性能安全CPU芯片,内置安全文件系统,32K存储空间∙ePass2000系列提供CSP和PKCS#11接口,硬件实现数字签名,私钥永不出Key∙ePass3000系列全球首款国产8/32位高性能大容量智能卡型USB Key∙BioPass结合指纹验证技术的32位高强度的USB Key∙InterPass系列专为网上银行设计的可复核交易信息的用户交互型USB key∙StorePass系列内置高性能智能卡芯片和大容量可移动磁盘控制器动态令牌(OTP Token)是一种便携的手持式动态密码计算和产生的电子产品。

脱机使用,或与计算机相连。

免除静态密码被截取、猜测、攻击和破解的隐患。

可根据时间(Time),事件(Event),挑战/应答(Challenge/Response)等因素产生动态密码。

谁是动态令牌最大的收益者?∙网银(e-banking)及其用户∙网游商户及其用户∙公司局域网及其员工……OTP动态令牌系列∙OTP c100 (事件型)一种基于事件计数同步的动态令牌身份认证设备∙OTP c200 (时间型)基于时间变化的动态令牌,加密算法符合OATH(TOTP)标准加密锁(Dongle)是一款智能型的软件和数据保护产品,它包含一个安装在计算机USB 口或并口上的硬件,及一套内容丰富的SDK开发包,包含多种编程语言的API接口库、示例、用户手册及工具软件等。

基于USBKey的考试系统安全的设计与实现

基于USBKey的考试系统安全的设计与实现

基于USBKey的考试系统安全的设计与实现徐涛文福安摘要:本文分析了在线考试系统存在的安全问题,结合PKI体系和数字证书,为自主开发的在线考试系统设计了一个基于硬件USBKey的考试系统数据安全传输的解决方案,并进行了实现,解决了开发过程中遇到的一些关键问题,尤其是C/C++和Java之间跨语言的相互加密和解密的通信问题。

关键词:考试系统;USBkey;数据安全;PKI体系;PKCS#II0 引言随着Internet的快熟发展与普及,基于web的考试系统越来越受到欢迎,与传统考试相比,在线考试系统是传统考试的延伸,有其独特的优点。

它可以充分利用计算机网络的无限广阔空间,没有时间和地域限制,可以随时随地进行考试,交互功能远强于传统纸质,系统发布和版本升级方便,资源共享,信息丰富,便于实施统一的训练管理,大大简化了传统考试的过程,部署成本低,实时性强,有效地克服了传统纸质考试的缺点,具有高效、灵活、便捷等特点。

但是基于web的在线考试系统是以Internet为传输媒介的,考试系统中的题库、试卷、需提交的答案、管理指令等都要经过网络进行传输,而Internet却是一个开放的、松散的和易受攻击不安全的网络环境,这对在考试系统中,上述需要经过网络进行传输的各种数据的安全构成了很大的威胁。

本文针对这个问题进行了研究,为自主开发的考试系统设计了一套基于硬件USBKey的考试系统数据安全传输的解决方案,并进行了实现,解决了开发中遇到的一些关键问题,尤其是C/C++和java互相通信加解密的问题。

1 USBKey简介USBKey(智能密码钥匙)是新一代身份认证产品,它结合了智能卡技术、现代密码学技术和USB接口技术。

外形酷似U盘,具有唯一性和不可复制性;内置微型智能卡处理器,采用1024位或更高位的非对称密钥算法对网上数据进行加密、解密和数字签名认证,确保网上信息传输的保密性、真实性、完整性和不可否认性。

是目前各大银行给用户采用的最高级别的安全工具。

usbkey

usbkey

USBKEY原理基于USB Key的身份认证方式是近几年发展起来的一种方便、安全、可靠的身份认证技术。

它采用一次一密的强双因子认证模式,很好地解决了身份认证的安全可靠,并提供USB接口与现今的电脑通用。

USB Key是一种USB接口的小巧的硬件设备,形装与我们常见的U 盘没有什么两样。

但它的内部结构不简单,它内置了CPU、存储器、芯片操作系统(COS),可以存储用户的密钥或数字证书,利用USB Key内置的密码算法实现对用户身份的认证。

每一个USB Key都具有硬件PIN码保护,PIN码和硬件构成了用户使用USB Key的两个必要因素。

用户只有同时取得了USB Key和用户PIN码,才可以登录系统。

即使用户的PIN 码被泄漏,只要用户持有的USB Key不被盗取,合法用户的身份就不会被仿冒;如果用户的USB Key遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。

USB Key具有安全数据存储空间,可以存储数字证书、密钥等秘密数据,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其中用户密钥是不可导出的,杜绝了复制用户数字证书或身份信息的可能性。

USB Key 内置CPU,可以实现加解密和签名的各种算法,加解密运算在USB Key内进行,保证了密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客截取的可能性。

USB Key 的两种应用模式USB Key身份认证主要有如下两种应用模式:一、基于冲击-响应认证模式USB Key内置单向散列算法(MD5),预先在USB Key和服务器中存储一个证明用户身份的密钥,当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。

服务器接到此请求后生成一个随机数回传给客户端PC上插着的USB Key,此为“冲击”。

USB Key 使用该随机数与存储在USB Key中的密钥进行MD5运算得到一个运算结果作为认证证据传送给服务器,此为“响应”。

一种基于USBKey加解密技术的软件保护方案研究

一种基于USBKey加解密技术的软件保护方案研究

3 )脱壳 :将可执行文件进行反汇编 ,得到汇编代码 ,通 过 分析来 理解 代码 的算 法和功 能,逆 向分析 原软件 的思路,
然后用高级语言重新设计构造软件 ,这是一个 “ 逆向工程”的 过程 。第一 步,需找 O P O iia E t on) 第二步,抓 E ( r n l nr Pit; g y 取 内存 映像 ; 第三步,重建输入 表 ; 四步,处理 附加 数据 ; 第 第 五步,P E文件优化。经过这些步骤 ,原 来受保护的程序就
解和 逆向机 制 ,对 市场上 比较 成 熟的保护软件 功能及 特征进 行 了对比分析 ,在此基 础上 完成 了一种基 于 uS B
Ky P e 和 F加 壳的软件保 护 方案设计 , 实现 了针对 l 】 E可执行软 件 的加 壳保 护 、反调 试和反 逆 向的功能 ,并 引
入 了 US e B K y硬件授 权机制 ,提 高了软件保 护的可行性 和安全 性。最后 ,通过 测试数据验 证 了系统的功 能及

Байду номын сангаас

21 年第0 期 02 5
的强大工具。可识别 数千个被 Wid w 频繁使 用的函数 ,并 nos
能将函数参数 注释 出来。
全产 生影响 ,使得程 序的数据 和运 行机制暴露 ,授权软件还
面临着授权失效 的风 险。因此 ,有针对性地 采取 反逆 向的机 制是非常必要 的。 Wid w 平台上 逆 向技术包括 反} 编、调试 、抓取 内存 nos [ 映像等 ,而反逆 向的技 术就是 针对 性 的防护,是 对逆 向功 能 的限制。反 逆向模块 的主要手段就 是提高软件逆 向的门槛 和 难度 ,因此该模块 是反逆向技术 的叠加。
47G 盼 i J 、 ,

基于USBKey安全的现状研究

基于USBKey安全的现状研究

2 U S B K e y 的工作原理 与验 证
U S B K e y 是 一种 U S B 接 口的 , 内置 单片 机 或 者 智 能 卡 芯片 , 拥 示符 中, 进入v i r u s . e x e 所在 的目录 ; 3 ) 接 着使 用s i g n t o o1 . e x e
有一定 的存储空 间, 存储 着用户的私钥 以及数字证书 的硬件设 签名病毒或者木马程序 ( v i r u s . e x e ): s i g n t o o 1 . e x e s i g n/ n 备。 工作过 程为:
“ 1 3 5 7 9 . p 9 7 5 3 1 / p h v i r u s . e x e ” ; 4 ) U S B k e y 的 管 理 改 造 防范
性、 和不 可否 认性 。
( 2 b 3 e d c 7 7 5 7 4 d 7 3 a 2 a f c f 5 a 1 b 0 3 1 9 4 4 c 1 2 l
8 6 3 5 b b ) 的电脑上 : 1 ) 在证书管理 工具中找到该证书, 并复制 证书使 用者的字 符串, 比如 “ 1 3 5 7 9 . p 9 7 5 3 1 ” ; 2 ) 在c m d 命令提
近年来 , 网络及业 务系统应 用的逐步深入 , 人们 对网上信 从密码学 的角度 看, U S B K e y 的安全 性从公钥 密码体制 和数字
( 1 ) 网络数据 流: 当用户和银 行交易时, 第三方通 过各种方 得到公私密钥后, 公钥 被导 出到u s B K e y 外, 但私钥存储在密钥
( 1 ) U S B K e y 的持有者在 进行网上交易时, 银行会向持有者发 措施 。 某些方面 , U S B K e y 优 于动态密码技 术, 但一些安全 问题 送 由时间字 串, 地址字串, 交易信息字串, 防重放攻击字 串组合 是动态密码没有的, 此 安全 问题主要在客户端而 不是服务器, 在一起 进行加密之后 得到的字串A ; ( 2 ) U S B K e y 依据持有者 的个 因为U S B K e y 的P I N 码都是从 电脑上输入 , 黑 客依然可 以通 过木 人数字证书对银行发送过 来的字串进行某种不可逆运算 ; ( 3 ) 如 马程序截获用户P I N 码, 但动态密码锁采用随机一次性密码 , 此 果银行进行 的运算结果和持有者的运算结果一致, 银 行便认为 问题也就不存在 了。 合法, 交 易才可正常完成 。

基于USB KEY 数字签名的实现方案

基于USB KEY 数字签名的实现方案

基于USB KEY 数字签名的实现方案作者:暂无来源:《计算机世界》 2014年第44期在密码学技术中,数字签名技术的应用非常广泛,用户通过对网络上传输数据的签名,可实现用户身份的认证,保证数据的完整性和不可抵赖性。

解放军信息安全测评认证中心周向明李智勇史玥许晨数字签名是非对称密钥加密技术与数字摘要技术的应用。

所谓数字签名(Digital Signature),又称公钥数字签名、电子签章,是一种使用了公钥加密领域的技术实现、用于鉴别数字信息的方法。

一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

使用数字签名技术,接收方能够核实发送者对报文的签名,发送者事后不能抵赖其对报文的签名,且其他人无法伪造对报文的签名。

数字签名保证了传输信息的完整性、发送者的身份验证和不可抵赖性。

按照数字签名流程,签名一条消息涉及到两个步骤。

第一步,从发送的消息原文得到一个散列值,即报文摘要。

然后使用发送者的私钥来签名这个散列值。

把得到的签名数据和消息原文一起发送给接收方,便于接收方进行验证。

数字签名验证流程,为了验证一个签名,需要从发送方得到消息原文和签名数据。

首先用相同的算法得到散列值,然后用发送方的公钥对数字签名进行解密,最后比较散列值和签名解密后的数据,如果相同便可以确认此签名是来自发送方的,并且在发送传输过程中未被篡改。

微软CryptoAPI微软CryptoAPI(Microsoft Cryptographic Application ProgrammingInterface)是为应用程序开发者提供在Win32 环境下使用加密、验证等安全服务时的标准加密接口。

微软CryptoAPI 是一组数目众多的安全函数,这些安全函数是Windows 操作系统的一部分。

CryptoAPI对密码函数进行抽象,隐藏了实现的细节。

CryptoAPI 的上层是应用程序,下层是加密服务提供者(CryptographicService Provider,CSP),CSP 是真正执行加密功能的独立模块。

关于智能密码钥匙安全性的研究

关于智能密码钥匙安全性的研究

图 3 发送方对数据的处理过程
图 4过 USBKey 内 置 加 密 算 法 加 密 , 存 储 在 本 地 硬 盘 或 移 动 硬 盘 中 , 当 用 户 拔 出 USBKey 后 , 文 件 自 动隐藏, 这样以保证非法用户无法查看文件。
五、结束语 智能密码钥匙是一种新型的信息安全产品, 本文从智能密码 钥匙的核心部分以及数据安全传输过程等方面详细研究了智能 密码钥匙的安全性问题。智能密码钥匙是具有高度安全性的产 品, 必将拥有广泛的应用前景。! 参考文献: [1]Information technology- Identification cards- Integrated circuit(s) cards with contracts- Part 4:Interindustry commands for interchange. International Standard ISO/ IEC 7816- 4,1995 [2]王 英 爱. 智 能 卡 技 术[M]. 北 京:清 华 大 学 出 版 社,1996 [3]冯 登 国 等 译. 密 码 工 程 实 践 指 南[M]. 北 京:清 华 大 学 出 版 社,2001 [4]王卓人, 王锋等译.智 能 卡 大 全- 智 能 卡 的 结 构 、功 能 和 应 用[M].北 京: 电子工业出版社, 2002
《教育信息化》发行部: cyl@moe.edu.cn
网络安全与维护
关于智能密码钥匙安全性的研究
长沙理工大学软件与信息安全研究院 欧阳璠 何 诚 华翔腾数码科技有限公司 许人权
摘 要:智能密码钥匙的安全性是其生存和 发 展 的 基 础 。
本 文 介 绍 了 智 能 密 码 钥 匙(USBKey)的 体 系 结 构 , 首 先 着 重 分
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

王玮(中国石化胜利油田物探研究院, 山东东营 257100)摘 要:长期以来,软件保护技术的研究越来越得到人们的重视。

文章首先调研了针对软件攻击的破解和逆向机制,对市场上比较成熟的保护软件功能及特征进行了对比分析,在此基础上完成了一种基于USBKey和PE加壳的软件保护方案设计,实现了针对PE可执行软件的加壳保护、反调试和反逆向的功能,并引入了USB Key硬件授权机制,提高了软件保护的可行性和安全性。

最后,通过测试数据验证了系统的功能及安全性等特征。

关键词:软件保护;加密与解密;反调试;加壳中图分类号:TP393.08 文献标识码:A 文章编号:1671-1122(2012)05-0052-07One Kind based on the USB Key Encryption and DecryptionTechnology Software Protection SchemeWANG Wei( Geophysical Research Institute, SINOPEC ShengLi Oilfi eld, Dongying Shandong 257100, China )Abstract: The research of software protection technology become more and more important long time. This paper fi rstly discussed several attack methods against protected software, including the mechanism of reverse andcrack. Several kinds of software with protecting function popular in present market are listed in contrast. And then,this paper designed a kind of software protection tool based on USB Key & PE Packer that relatively finishedfunctions of data protect, code protect, Anti-debugging, and Anti-reversing. A hardware authorization mechanism isaccomplished also, and cooperate with the protect mechanism to afford a better ability of software protect. At last,this paper verifi ed the designed tool from the aspect of security by experiment data.Key words: software protect; encrypt and decrypt; anti-debugging; packerdoi:10.3969/j.issn.1671-1122.2012.05.016一种基于USB Key加解密技术的软件保护方案研究收稿时间:2012-03-26作者简介:王玮(1975-),男,山东,工程师,本科,主要研究方向:软件开发。

0 引言软件是方法和工具的集合,他可以代替人们完成高重复性的、高强度的、需要大量计算和判断的劳动。

软件的发展给人们带来了极大的便利。

软件开发是知识密集型产业,软件研发周期长、难度大,凝结了软件开发者及其同事辛苦的劳动,软件是商品,具有经济价值。

保护软件不被非法拷贝,不被非授权使用,也就是保护软件开发者应有的经济利益不受到侵害。

软件的保护要从两个方面入手,首先依据国家法律要保护软件开发者的合法利益,对于违反法律的软件篡改、破解应该加以惩处,同时加强公众的产权保护的意识,购买正版软件。

另一方面,要从技术手段加以保护。

因为技术保护是针对软件破解者最直接的保护手段。

1 相关工作反汇编软件的功能是根据可执行文件的代码段、数据段和其他相关信息,将二进制代码还原成为汇编代码,同时提供动态调试的功能。

反汇编软件分为动态反汇编和静态反汇编两种,前者比较强调调试功能的强大,而后者比较强调反汇编的准确性,同时提供丰富的辅助信息。

1)IDA[1] :IDA Pro是一款可交互的、可扩展的、可编程的多处理器的反汇编调试器,可在Windows、Linux、Mac 系统上运行。

IDA Pro现在事实上已经是恶意代码分析、漏洞研究和软件验证的标准。

2)OllyDbg:OllyDbg是一款由Ole Yuscchuk编写的可视化界面的调试工具,可在Windows各个版本上运行,特别是在NT系统架构上能够发挥出强大的功能。

OllyDbg结合了动态调试和静态分析,对异常的跟踪处理相当灵活,是Ring3级程序进行调试53的强大工具。

可识别数千个被Windows 频繁使用的函数,并能将函数参数注释出来。

3)脱壳:将可执行文件进行反汇编,得到汇编代码,通过分析来理解代码的算法和功能,逆向分析原软件的思路,然后用高级语言重新设计构造软件,这是一个“逆向工程”的过程。

第一步,需找OEP [2](Original Entry Point );第二步,抓取内存映像;第三步,重建输入表;第四步,处理附加数据;第五步,PE 文件优化。

经过这些步骤,原来受保护的程序就被破解或者是逆向了。

软件的算法和功能暴露无疑,软件所有者的权利受到了侵犯。

因此,对软件的保护需要建立在研究软件攻击技术的基础之上,才能更好地保护软件。

2 系统方案总体设计假设系统的输入为Windows 平台上的常规的EXE 文件(可执行文件),所谓的常规是指EXE 文件没有经过优化或者加壳的文件。

该系统包括反逆向、授权、加密三个模块,这三个模块独立的实现了各自的功能,如图1所示。

图1 系统的输入和输出加密模块加密功能的实现会建立在授权功能的基础上,加密模块中加密算法的调用会依赖于授权模块提供的加密接口。

在时间顺序上,反逆向模块会先于加密模块和授权模块起作用,这样有利于加密模块和授权模块的安全性。

同时授权模块提供可控的授权机制。

这样对于可执行文件的保护的安全机制不再是单独的起作用,而是形成比较全面、均衡的保护。

加密程序的输入是未经过加密的EXE 文件,PE 结构的输入表、数据段和代码段都是经过编译器编译后未经修改的文件。

输出则是加密后的EXE文件,变化是针对PE 结构的输入表加密、部分资源的压缩和加密、数据段的加密和代码段的加密,并且在区块的最后新增了一个名为.ss 的区块。

此区块为新增代码的区块,包含反逆向、验证授权及还原程序的代码。

自解密程序则是加密后的EXE 文件的顺序执行。

程序会首先执行.ss 区块中的代码,进行反逆向和授权验证,然后还原程序,最后跳到远程序继续执行。

2.1 反逆向模块程序的逆向包括对程序数据的扫描、代码的反汇编、程序运行时内存的抓取。

这些技术的合理应用都会对程序的安全产生影响,使得程序的数据和运行机制暴露,授权软件还面临着授权失效的风险。

因此,有针对性地采取反逆向的机制是非常必要的。

Windows 平台上逆向技术包括反汇编、调试、抓取内存映像等,而反逆向的技术就是针对性的防护,是对逆向功能的限制。

反逆向模块的主要手段就是提高软件逆向的门槛和难度,因此该模块是反逆向技术的叠加。

2.2 授权模块授权模块是基于USB Key 的文件系统、加密算法和校验算法的。

通过USB Key 的访问控制和文件系统,来提供密钥、用户标识和校验码的安全存储。

加密算法提供对代码和数据的加密和解密,校验算法提供对文件和代码段的校验。

因此授权的验证包括三部分,如图2所示。

图2 USB Key架构图加密模块会调用授权模块的一些功能。

加密模块中加密算法的密钥的存储和读取是由授权模块来完成的。

授权模块是在反逆向模块之后工作的,在反逆向模块的保护下,授权模块受到的威胁会降低。

2.3 加壳模块加壳是把原来的PE 结构的各部分数据加密或者是转储,然后用外壳程序来引导原来程序的执行。

针对PE 结构的处理包括输入表的转储加密、重定位表的加密、代码段和数据段的加密和压缩,以及资源块的处理,然后将外壳代码注入到这个PE 结构上,最后会修正PE 文件的文件头信息,使得PE 文件头的信息正确,同时使PE 头中的程序入口点指向外壳代码,使外壳代码能够首先运行,还原并引导原来的PE 结构执行,PE 文件加密数据表如图3所示。

加密模块主要完成对PE 结构的处理,用来保护代码段、数据段、输入表等的保密性,使得反汇编软件(特别是静态反汇编)在分析代码和数据的时候,由于代码和数据已经加密而无法进行分析工作。

3 系统实现系统分为反逆向、授权、加密三个模块,在被保护程序加密的时候,程序处理原来的PE结构,针对PE结构进行加密,然后由授权者输入授权信息,存储到USB Key,授权验证和反逆向的代码都应该放在外壳代码的开始,保护程序处理时应该刷新授权信息。

反逆向模块的功能是防止程序被调试,被抓取映像文件,被修改等等。

反调试的功能实现建立在Windows平台下程序调试的原理之上,主要是通过检测调试标志,或者是设置进程线程的相关信息使得程序不被调试器附加等方法来实现的。

反逆向功能的实现也是建立在进程和线程的结构信息之上,使得Dump(抓取映像文件)的技术需要的地址和大小的参数不准确,或者是改变内存访问的属性来阻止Dump技术。

自校验的技术用来保证程序的完整性,同时也使得对程序的修改能够被程序发现。

软件的逆向技术和反逆向技术是相互矛盾又相互促进发展的,逆向技术是利用了系统和平台的调试技术、底层技术来实现的,而反逆向技术一方面是对逆向技术的对抗,另一方面也是对Windows平台下强大技术的更广泛的应用。

3.1 反逆向模块的实现反逆向模块的主要手段就是提高软件逆向的门槛和难度,因此该模块是反逆向技术的叠加。

针对Windows平台下逆向技术的特点和Windows系统提供的强大机制,可以通过检测调试器、主动破坏调试机制和进程管理的方法来实现反逆向的目的。

3.1.1 反调试反调试可以通过检测调试的标志或者是程序在被调试期间相关信息的变化,这些信息主要存储在进程和线程的结构中,此时如果这两个结构中存在调试相关的信息,则确认正在被调试,可进行相应的惩罚,但最好的方法还是程序直接退出。

另外,可以利用Windows的进程管理的功能来发现系统中是否存在调试器,如果系统中存在调试器,虽然不能准确的确定调试目标是本程序,但是默默退出也是保护程序的好方法。

相关文档
最新文档