`
bruce.peng
  • 浏览: 65680 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

谈谈网银和USB Key (一)

阅读更多

谈谈网银和USB Key (一)

 

转自:http://apex.ncksoft.com/archives/143#more-143

基础知识

我们常见的加密,使用的是“对称加密算法”,也就是说,用一个密码加密的东东,同样可以用这个密码来解密。我们称这样的加密算法为“对称加密算法 ”,用于对称加密算法中的密码,我们称之为“对称密钥”。一旦别人知道了你的密钥,那么他就可以任意的解密你的秘密数据了。这样的算法很多,常见的有 DES,3DES,AES,Blowfish等等。

使用USB Key来保证网银的安全,实际上是利用了PKI(公开密钥体系)技术中的数字证书应用,而PKI技术中至关重要的一点就是“保证私钥的安全”。为了理解所 谓的“保证私钥的安全”,我们先举一个简单的例子:假定有这样一种计算方法,可以将一篇文章用一个密钥A加密,要想解密的话,必须用另一个密钥B来解密, 反过来也一样,用密钥B加密之后得到的密文只能用密钥A来解密。这里的密钥A和密钥B一定是成对出现的,一一对应,绝对不会出现用密钥A加密的东西可以用 密钥C、密钥D…等等来解密。这样的算法我们称之为“非对称加密算法”,相对应的,这里的密钥A和密钥B我们称之为“密钥对”,因为它们是成对出现的。密 钥对中的一部分可以随意公开,例如其中的密钥A,我们称之为“公开密钥”,简称公钥。而另外一半是自己持有的,需要保密,我们称之为“私有密钥”,简称私 钥。所谓“公开密钥体系”,就是指这里的公钥了。我们常听到的RSA,就是这样一种算法。此外还有DSA、ECC(椭圆曲线算法)等等。

使用公开密钥体系,不仅仅可以用来对数据加密,还可以用来确定身份。试想一下:你有一对密钥对(A和B),其中A是公钥,被放在网上,任何人都可以 取得。现在有人(比如张三)想给你发送一份邮件,于是张三在网上找到你的公钥,然后将邮件用你的公钥加密并传送给你。那么,只要你的私钥没有泄露出去,就 只有你能够解密这封邮件(使用和A相对应的私钥B来解密)。即使邮件在网络上传输的过程中被黑客获取了,没有私钥B,他也无可奈何。这就意味着,使用公开 密钥技术,可以保证只有指定的人(其实就是指定的私钥啦)才可以阅读私密信息。

 

反过来,如果张三先用他自己的私钥对邮件加密,然后再用你的公钥对密文再次加密,那么不但只有你能够阅读这封邮件,而且还可以确认这封邮件一定是张 三发出来的。这是因为你在收取到邮件之后,首先用自己的私钥解密,得到的还是一堆密文,然后你必须用张三的公钥再次解密,才能得到邮件的原文。既然是使用 张三的公钥才能解密,那么这封邮件一定是用张三的私钥加密过的。

此外,还有一种用法:例如你的老板(或者干脆你就是老板)要发布一份公告,内容为“给所有员工补助500元”,要求每个员工都能够看到,不用加密。 但是这封邮件在网络上传输的时候,被有心人篡改了,变成了“给所有员工补助5000元”,喔,老板亏大了~~~为了防止这种事情的发生,老板将公告用自己 的私钥加密并附加在公告的后面,然后一起发送。这样每个员工都能够用老板的公钥解密附加的密文,并与公告原文对比,于是就能够知道邮件在传输的过程中是否 被篡改了。

 

高级阅读

除了对称算法和非对称算法之外,还需要了解一种加密算法,称之为“散列”(也有人称之为“杂凑”、“哈希”等,英文名为Hash),与对称/非对称 算法不同的是,散列算法是不可逆的,也就是说,加密后的数据是无法再解密了,常见的散列算法有MD5、SHA1等。散列算法还有一个特性就是无论原文有多 长,散列之后的结果总是固定长度。例如MD5散列的结果总是16字节,SHA1散列的结果总是20字节。

非对称加密算法的加解密速度要远远低于对称加密算法,所以在实际应用中,往往会将对称、非对称及散列算法混合使用,以提升性能。例如,张三给你发邮 件的时候,先产生一个随机数,用这个随机数来做对称算法的密钥并对邮件加密,随后用你的公钥对这个随机数加密,然后将邮件的密文和随机数的密文一起发给 你。你收到邮件之后,先用自己的私钥解密随机数,然后用随机数作为对称算法的密钥解密邮件。

又如,老板发布公告的时候,将公告进行散列,然后用老板的私钥对散列后的结果加密(这个加密结果,就是通常所说的“数字签名”),而员工收到公告的 时候,只需要再次对公告进行散列,并用老板的公钥对数字签名进行解密,然后将解密结果和公告的散列结果做对比,就能了解公告是否被篡改了。这个对比的过 程,就是通常所说的“验证签名”。

由此可见,公开密钥体系能够做到:1. 数据加密; 2. 不可抵赖(就是发送者无法否认); 3. 防止数据被篡改。

有了这样的基础知识,就容易理解“保证私钥的安全”是多么重要了。

 

 

 

分享到:
评论

相关推荐

    USB-Key.rar_USB KEY_java usb_java usb key_usb key开发_usbkey

    USB Key在IT行业中广泛应用于网上银行、电子政务、企业内部系统登录等场景,提供了一种物理层面上的安全保障,防止了恶意软件对数据的窃取。 USB Key与Java的结合,通常涉及到Java的USB API,如 javax.usb 包,允许...

    徽商银行网上银行USBKey管理工具及驱动全面版

    徽商银行驱动程序及管理工具是一款徽商银行网上银行USB Key管理工具及驱动,徽商银行 USBKEY客户端安全套件是基于PKI体系,并采用智能卡技术保证安全性的网络安全产品。它采用USBKEY作为存储和运算介质,可使证书和...

    usbkey.rar_USBKEY linux_usbkey _设备

    首先,需要知道设备的挂载点,例如 `/mnt/usbkey`,然后使用`mount /dev/sdb1 /mnt/usbkey -t vfat`(假设USBKEY的第一个分区是vfat格式)。要安全卸载设备,使用`umount /mnt/usbkey`,以防止数据丢失。 6. **权限...

    JR-T 0114-2015 网银系统USBKey规范 安全技术与测评要求(1).pdf

    《JR-T 0114-2015 网银系统USBKey规范 安全技术与测评要求》是由中华人民共和国金融行业制定的一项标准文档,旨在规定网银系统中USBKey的安全技术要求以及相关的测评要求和方法。该标准于2015年8月31日发布并实施。 ...

    网上银行利用USBKey加密、认证的装置

    本实用新型揭露的一种网上银行利用USBKey加密、认证的装置,包括:一个USBKey,具有唯一的序列号,用于存放识别客户身份的数字证书和私人密钥的数字证书,所述USBKey的序列号与客户信息相对应;一个联网计算机,具有...

    USB KEY的认证原理 USB KEY 认证原理

    基于冲击-响应认证模式中,USB KEY 内置单向散列算法(MD5),预先在 USB KEY 和服务器中存储一个证明用户身份的密钥,当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成...

    usbkey(加密狗)读取

    USBKey通常具有体积小、携带方便的特点,广泛应用于银行网银、电子政务、电子商务等领域。 #### 二、USBKey的工作原理 USBKey的核心在于其内置的安全芯片,该芯片能够执行密钥生成、加密解密等功能。当用户将USB...

    USBkey.rar_usbkey _usb虚拟键盘_模拟USBkey_模拟ps/2键盘_模拟键盘

    标题中的“USBkey.rar”指的是一个压缩包文件,其中包含了关于USBkey的相关资料。USBkey,也称为USB闪存驱动器或USB记忆棒,是一种便携式的存储设备,用于在计算机之间传输数据。它通过USB(通用串行总线)接口连接...

    USBKEY 驱动 网上银行 专业

    总的来说,USB KEY驱动对于网上银行用户来说是至关重要的,因为它提供了一种强大的身份验证机制,保护用户免受网络钓鱼、欺诈和其他形式的金融犯罪。正确安装和使用USB KEY驱动是保障个人财务信息安全的关键步骤。...

    广州银行网上银行USBKey驱动程序V1.4.14.1011官方免费安装版

    广州银行网上银行USB Key驱动程序是一款由广州银行官方制作推出的用于广州银行网上交易的Ukey驱动和管理软件。用户在登录网上银行的时候,出现无法输入密码情况就是因为没有安装usbkey驱动认证没有通过。系统唯有...

    USBKEY.rar_USB KEY_USB 插拔_usbkey _数字证书_证书

    USB KEY,也称为USB Key或USB闪存驱动器,是一种便携式的数据存储设备,它通过USB接口连接到计算机上,提供了一种安全且便捷的方式来存储和传输数据。USB Key在IT领域中特别受到关注,因为它们常被用于存放数字证书...

    drv_Aladdin_USB_Key_v_USBKEY_Driver_aladdin

    Aladdin USB Key是一种硬件安全设备,常用于保护软件授权,防止非法复制和使用。这款驱动程序是确保Aladdin USB Key能正常在用户的计算机上运行的关键组件。 描述中的“Aladdin usb key driver”进一步确认了我们...

    HP USB Key 制作工具 Windows

    【HP USB Key 制作工具 Windows】是一款专为HP品牌的USB闪存盘设计的实用工具,主要用于将系统安装光盘的内容复制到USB设备上,从而让USB设备具备启动计算机的能力。这一功能对于那些不再配备光驱或者需要快速、便捷...

    建行握奇USBKey驱动程序V3.2

    建行握奇USBKey驱动程序V3.2是一款专为中国建设银行(CCB)设计的安全认证工具,它主要用于为银行客户提供安全、可靠的网上银行服务。USBKey,又称数字证书硬件载体,是一种小型便携式的存储设备,内置加密芯片,...

    临商银行usbkey驱动 飞天二合一版.zip

    临商银行usbkey驱动妃太难版有两个版本,是根据你的usbkey版本来的,选择相应的版本安装,对照自己的usbkey,小编在这里吧飞天版的两个版本打包放在了一起,大家下载完成后注意区分安装。 为保证您正常使用网上银行...

    USBKey_setup.zip

    USBKey,通常称为USB数字证书或USB安全密钥,是一种小型硬件设备,用于存储个人身份验证信息,如数字证书,以增强网络安全性,特别是进行网上银行交易、访问受保护的公司资源或者在云服务中加密数据时。 描述中的...

    usbkey开发代码 c#

    USBKEY是一种常见的硬件安全设备,通常用于存储个人数字证书、私钥和其他敏感数据,以实现身份验证和数据加密。在C#中进行USBKEY开发,主要是通过与设备交互来实现功能,如验证PIN码、读取和写入文件。下面我们将...

    工行捷德 USBKey x64 驱动 for Vista/Win7/2008/2008R2

    USBKey是一种常见的硬件安全设备,通常用于保护用户的敏感数据,如银行账户信息,在进行网上银行操作时提供额外的安全保障。工行捷德USBKey是工商银行与捷德公司合作推出的一款安全认证工具,它内置了数字证书,使得...

    epass3000USBkey管理工具

    EPASS3000USBkey管理工具是一款专为EPASS3000设计的软件,主要用于管理和操作这种类型的USB安全密钥。EPASS3000是一种基于硬件的安全设备,通常用于存储数字证书、保护密码和个人身份信息,以增强网络访问的安全性。...

    USBKEY 认证方式的网上支付研究

    USBKEY,也称为数字证书令牌或硬件安全模块,是一种物理设备,用于存储用户的私钥和个人信息,以此来保护在线交易的安全性。本文将深入探讨USBKEY认证方式的原理、优势以及其实现网上支付的具体步骤。 首先,USBKEY...

Global site tag (gtag.js) - Google Analytics