`

加密机的相关信息

 
阅读更多

主机加密机是通过国家商用密码主管部门鉴定并批准使用的国内自主开发的主机加密设备,加密机和主机之间使用TCP/IP协议通信,所以加密机对主机的类型和主机操作系统无任何特殊的要求。通过加密机的使用为计算机网络系统提供安全保密数据通信服务,防止网上的各种欺诈行为发生。
  一般而言加密机主要有四个功能模块:硬件加密部件、密钥管理菜单、加密机后台进程、加密机监控程序和后台监控进程。
  硬件加密部件主要的功能是实现各种密码算法,安全保存密钥,例如CA的根密钥等。
  加密机通过提供前台API给应用系统提供的加密开发接口,应用系统通过把加密机前台API使用加密的加密服务,加密机前台API是以标准C库的形式提供。
  加密机支持目前国际上常用的多种密码算法,目前使用较为广泛的为对称加密算法DES、3DES。
  
  2 加密机在网络安全中的应用方法
  对于需要使用加密机进行网络信息加密的系统应用,一般为涉及账务交易或者敏感信息,如电信扣费系统,银行交易系统,政府部门信息发布系统等等。在这些系统中如果使用不加密系统网络安全设置,必然会产生风险。如果采用简单的软件加密设置,系统安全被破解的机率就会很大。因此本文主要阐述如何在这些需要加密机的网络应用中使用硬件级加密技术,来达到防范安全隐患的目的。
  一般而言加密机采用三层密钥体系,并且对不同密钥(特别是工作密钥)的功能做了严格的使用限制。一般密钥分层体系如下图2-1所示:
  
  

  (1)本地主密钥。
  本地主密钥(Local Master Key),即为加密机主密钥,是指存储在加密机中,用于保护存储在加密机外的各种密钥和关键数据的密钥加密密钥。
  (2)传输主密钥。
  传输主密钥(Transfer Master Key),是指在两台加密设备间(加密机和加密机或加密机和终端间)用于加密保护工作密钥的更换。
  (3)工作密钥
  工作密钥(Working Key),是指处理对象为一般数据的密钥,如加密敏感信息报文,MAC校验。
  

<!--StartFragment -->

-
  3 加密机应用整体框架结构
  对于使用硬件加密机进行网络安全加解密的应用,从总体框架来讲,最主要要有以下硬件:网络安全防火墙、硬件级加密机。
  通过网络安全防火墙首先对外部访问进行第一道的安全屏障,对访问链接进行安全检查,对非法访问进行安全隔离。在通过网络安全防火墙后再由硬件级加密机对所需要进行通讯的数据报文进行安全检查,MAC加解密校验操作。对非法访问进行隔离、拒绝。如图3-1所示,为简单加密机应用架构。
  
  
  加密机在网络安全应用系统的主要应用为对相关联系统通讯报文进行加解密操作,校验报文的合法性,以及对报文中敏感信息进行加解密处理,防止信息泄漏,以及非法报文攻击的风险。
  在进行加解密操作最主要的加解密方法为使用对称密钥加解密的DES算法。目前采用比较多的是3DES密钥加解密算法。
  使用3DES加解密操作要具备以下条件:加解密双方已知的主密钥、主密钥通过约定方式进行工作密钥交换操作。
  
  4 加密机密钥产生方法
  (1)加密机主密钥产生方法。
  硬件加密机进行工作首先要完成自身系统参数设置工作,最主要完成的设置为加密机主密钥的灌注工作。硬件级加密机一般采用多人、分段、手工的方式灌注主密钥,灌注完成的主密钥由加密机系统自动进行合成、存储。并且加密机自身存有密钥自毁装置,对于非法进行主密钥获取的行为,加密机会启动主密钥自毁以保证主密钥的安全性。
  (2)加密机传输主密钥产生方法。
  
  使用加密机安全系统产生传输主密钥主要通过应用调用加密机提供的前台API生成用于网络通讯安全的传输主密钥。
  为保证传输主密钥的安全性,一般调用加密机提供前台API生成密钥时,同时产生两到三个密钥分量,通过对这两到三个密钥分量进行合成来形成真正的传输主密钥。
  (3)Linux系统加密机传输主密钥产生方法。
  函数原型:
  Int HSMAPIGTransKey(int iKeyLen, int iKeyType, char *bCKey, char *bCValue);
  输入参数:
  int iKeyLen//密钥字节长度;
  int iKeyType//密钥类型:0x01:通信主密钥。
  输出参数:
  char *bCKey// LMK加密的随机密钥密文;
  char *bCValue//随机密钥的检验码。
  函数返回值:
  0x00://正确返回;
  for(i=0; i< num; i++)
  {
  ret = HSMAPIGTransKey(iKeyLen, iKeyType, &TransKey[iKeyLen*i], check_value);
  if (ret != 0)
  {
  return ret;
  }
  }
  (4)加密机工作密钥产生方法。
  对于使用加密机进行网络安全加密的应用系统,在产生传输主密钥后,需要产生工作密钥。利用工作密钥对进行网络传输的报文、敏感数据加解密操作,以及MAC校验操作。
  为保证网络应用的安全性,工作密钥需要采用动态同步操作。通过不断更新、同步工作密钥,保证工作密钥的安全性。在实际进行通讯时双方要对敏感信息使用工作密钥进行加密,对报文进行MAC加密。接收报文一方要使用工作密钥对接收到的报文进行MAC校验,对敏感信息进行解密操作。
  应用通过加密机请求产生工作密钥,调用加密机提供前台API函数,加密机通过加密算法,返回使用指定传输主密钥加密的工作密钥。通过网络传输同步给对方主机。


  (5)Linux系统加密机工作密钥产生方法。
  函数原型:
  Int HSMAPIGWorkKey(int iKeyLen, int iKeyType, char *bCKey, char *bCValue);
   输入参数:
  int iKeyLen//密钥字节长度;
  int iKeyType//密钥类型:0x01:PIN加密密钥;0x02:MAC计算密钥;0x03:数据加密密钥。
  输出参数:
  char *bCKey//LMK加密的随机密钥密文;
  char *bCValue//随机密钥的检验码。
  函数返回值:
  0x00://正确返回;
  函数原型:
  Int HSMAPIKeyChange(int iKeyLen, int iTMKLen, int iKeyType, char *bTMK, char *bCLMK, char *bCKeyTMK, char *bCValue);
  输入参数:
  int iKeyLen//密钥字节长度;
  int iTMKLen//传输主密钥字节长度;
  int iKeyType//密钥类型:0x01:PIN加密密钥;0x02:MAC计算密钥;0x03:数据加密密钥;
  char *bTMK//LMK加密的ZMK密文;
  char *bCLMK//LMK加密的工作密钥密文。
  输出参数:
  char *bCKeyTMK//TMK加密的工作密钥密文;
  char *bCValue//工作密钥的检验码。
  函数返回值:
  0x00://正确返回;
  rc = HSMAPIGWorkKey(0x01,0x01,(char *)lbuf,tmpbuf);
  if (rc!=0)
  {
  printf("产生本地主密钥加密的工作密钥错误");
  return( -1 );
  }
  rc = HSMAPIKeyChange(0x01, 0x08,0x01, tmk,lbuf, (char *)lxbuf, txbuf );
  if ( rc < 0 ){
  printf("将本地主密钥加密的工作密钥转换为传输主密钥加密的工作密钥错误!");
  return ( -1 );
  }
  通过实现方法可以看出,工作密钥的产生需要两个步骤的操作:
  ①通过向硬件加密机申请随机工作密钥,生产后的工作密钥为适应本地主密钥加密;
  ②将本地主密钥加密的工作密钥转换为传输主密钥加密的工作密钥,通过网络传输给对方主机。
  
  结束语
  本文通过对核心级主密钥、传输主密钥、数据交互级工作密钥。三层密钥体系在整个网络安全中的应用的说明。阐述了在网络安全应用中如何设置加密机,以及如何使用加密机提供前台API进行网络安全应用的原理。

 

分享到:
评论

相关推荐

    加密机操作指南

    1. “交易管理员卡” 应该交给相关管理人员保管,需要启动加密机时,由管理人员使用“交易管理员卡”及口令启动加密机; 2. 机密机与制卡程序应该同一网段,该网段或网络应该要有安全保证,防止除制卡程序所在的机器...

    VB文件加密机,加密文件

    下面将详细探讨VB文件加密机的相关知识点。 1. **VB编程基础**: VB(Visual Basic)是由微软开发的一种面向对象的编程语言,它基于Basic编程语言。VB提供了一个直观的图形用户界面(GUI)设计工具,使得开发者...

    sjl06加密机模拟程序

    Sjl06加密机模拟程序则为开发者提供了一个测试和调试相关应用的平台,避免了在开发过程中频繁地依赖实体加密机。 在程序设计上,它采用了socket通信技术。Socket是网络编程中的基本概念,用于建立两个进程间的通信...

    GMN_TCP加密机测试工具

    在信息安全领域,加密机是至关重要的设备,它能够保护数据在传输过程中的安全,防止敏感信息被窃取或篡改。TCP加密机则是这类设备的一种,主要工作在TCP层面上,对网络通信的数据进行加密处理。 测试工具的设计目的...

    中控加密机

    【中控加密机】是一种专用于数据安全保护的设备,主要功能是对敏感信息进行加密处理,确保在传输或存储过程中的信息安全。它在IT行业中扮演着至关重要的角色,尤其是在金融、政府、医疗等对数据安全有高要求的领域。...

    文件加密机

    文件加密机是一款强大的工具,主要用于保护用户的数据安全,通过对文件进行加密确保只有授权的用户能够访问。这款软件允许用户对任何类型的文件进行加密,确保敏感信息不被未经授权的人员查看或篡改。加密过程的核心...

    中间件_加密机工具类_反射+注解

    在这个“中间件_加密机工具类_反射+注解”的主题中,我们主要探讨的是如何利用Java的反射技术和注解来实现对实体类字段的安全加密和解密操作,以增强应用的安全性。 首先,让我们理解什么是反射。在Java中,反射是...

    Enigma加密机的演示模型

    Enigma加密机,是二战期间德国广泛使用的密码设备,主要用于军事通信,确保信息的安全。它的工作原理基于复杂的机械式加密算法,为当时提供了相当高级别的安全性。 **Enigma的基本结构** Enigma由一个键盘、一个...

    自己做的加密机linux 客户端 命令行界面版

    其次,服务器方面,这个加密机可能被用于保护在服务器上存储的敏感信息。服务器运维涉及到网络配置、安全策略、性能优化等多个方面,而数据加密是其中的关键安全措施之一。这个命令行客户端可能支持远程服务器的加密...

    金融数据加密机行业(2021-2026)企业市场突围战略分析与建议.docx

    金融数据加密机行业在21世纪的信息化时代中扮演着至关重要的角色,因为金融信息安全是金融机构的核心竞争力之一。2021年至2026年,随着科技的飞速发展和网络安全需求的日益增长,金融数据加密机行业的企业面临着巨大...

    连接sjl06加密机程序

    在IT行业中,加密机是一种用于数据安全保护的重要设备,它能够对敏感信息进行加密处理,确保数据在传输或存储过程中的安全性。"sjl06"可能是特定型号的加密机或者与其相关的软件组件。本文将深入探讨sjl06加密机的...

    加密机手册

    ### 加密机手册知识点概述 #### 一、三倍DES运算 **三倍DES运算**是一种基于DES(Data Encryption Standard)算法的安全加密方法,通过三次使用DES算法来增强加密的安全性。具体包括以下子节: - **1.3.1 密钥的...

    SJL金融数据加密机用户手册.pdf

    根据提供的文件内容,本文将详细说明关于金融数据加密机相关的知识点。 金融数据加密机是专为金融机构设计的硬件加密设备,用以保护金融交易数据的安全。加密机的作用是确保数据在传输或存储过程中的机密性、完整性...

    模拟主站加密机接口说明V1.1.0 .pdf

    【加密机】是一种用于保障信息安全的设备,通常用于数据加密、解密、数字签名和密钥管理等任务。在本文档中,它被用来模拟主站中的加密机功能,以便进行安全防护流程的测试和在线业务验证。对于终端制造商而言,通过...

    文件加密机(对文件加密)

    文件加密机是一种用于保护数据安全的重要工具,它利用特定的加密算法将明文文件转换成密文,确保信息在传输或存储时不被未经授权的人员访问。在这个案例中,提到的文件加密机支持3DES、Blowfish、MD5以及SHA等加密...

    DES.rar_DES 加密_des_visual c_加密机_计算机加密C++

    加密机通常是指硬件设备,它们可以快速地执行加密和解密操作,对于大量数据的处理来说比软件更有效率。在C++中实现的DES加密机可能是一个类或者库,提供加密和解密的接口,能够处理字节流或文件。 标签中的“计算机...

    2021年金融数据加密机行业生产触电事故现场处置方案.docx

    金融数据加密机行业生产触电事故现场处置方案是针对该行业内可能发生的触电事故而制定的一项重要安全管理措施。这份方案的目的是确保在突发性触电事故发生时,能够迅速、准确且有效地进行应对,以保护员工的生命安全...

    2021年金融数据加密机行业企业安全管理制度.pdf

    金融数据加密机行业企业安全管理制度是确保该领域内的企业能够遵循安全生产原则,保障信息安全和人员安全的重要文件。这份2020年1月10日颁布的制度详细规定了多个方面的内容,旨在构建一个系统化的安全管理框架。 1...

Global site tag (gtag.js) - Google Analytics