Sentinel圣天诺加密狗简单使用教程(Linux)

前言:帮学校的学长做了个Ubuntu的软件,需要给软件加密,用到了加密狗,在网上挑了很多,大都不支持Linux下ELF文件的加密,最后终于找到了Sentinel加密狗支持我们的需求,当然这个进口货也很贵,写一篇博客来记录一下使用方法。

环境配置

购买Sentinel的加密狗一般包括两个U盘,一个是主锁(Master key),一个是子锁。主锁只能用来加密,不能用来解密;子锁只能用来解密,不能用来加密。例如下图,我购买的产品,蓝色的是主锁,紫色的子锁。一般而言,主锁比较贵(例如我们购买的主锁400多RMB),子锁相对便宜一些(我们购买的子锁150多RMB)。并且,在一家供应商购买的主锁,对应的子锁也都只能在同一家供应商购买,这一点还是不太方便的。

有了主锁和子锁之后,我们还需要一个Linux下的SDK工具包,这个工具包可以问你的供应商索要。一般供应商会提供一个Windows下的工具包,在Windows电脑安装后,从其中可以提取出Linux工具包。工具包的名字一般叫Sentinel-LDK.tar.gz。有了这个工具包之后,我们需要把这个压缩包移动到Linux设备下并解压。我这里是拖动到了Ubuntu虚拟机里面。Linux工具包解压后,会得到一个叫Linux的文件夹,文件夹里面有这样一些文件:

其中最后的那个HTML是Linux的说明文档,可以把它用浏览器打开,看相关的使用说明。
解压好工具包之后,我们还需要在Ubuntu中安装这个工具包,安装工具可以使用apt,安装包在Linux/Redistribute/Runtime/文件夹下。

然后找到你对应的Linux发行版本和设备类型对应的rpm或deb包,安装即可。我这里的Ubuntu系统,amd64设备,所以我就使用命令sudo apt install ./aksusbd_8.11-1_amd64.deb来安装。

安装完成之后,请在浏览器中打开http://localhost:1947,检查是否安装成功。正常情况下,安装成功后应该会显示Sentinel的管理后台。

在管理后台的左下方可以选择语言中文。然后我们点击上方的Sentinel 锁,可以查看已连接的U盘狗。例如我这里的#2就是连接的主锁。注意这里的#1是保留的序号,正常情况下可以忽略。

在使用主锁加密之前,我们需要导出主锁的Vendor code。具体方法是,进入Linux/VendorTools/VendorSuite目录,注意到其中的masterhasp文件,这是一个可执行文件,可以用chmod a+x ./masterhasp添加执行权限。添加完执行权限之后,请使用sudo ./masterhasp运行这个程序(运行程序时需要保证主锁已经插在电脑上,如果是虚拟机的话,U盘必须连接到虚拟机而不是主机),之所以加sudo是因为这个程序需要读取连接的U盘,需要管理员权限才能进行。

执行程序后会弹出这样一个窗口

直接按默认选项,点击OK即可。然后看到下面这个窗口,我们选第一个(按他推荐的来)。

如果你的主锁正常连接到Linux的话,在新弹出的窗口中会自动读取到U盘狗的相关信息,直接点击next即可。然后,在下面的这个窗口,我们勾选所有的API选项,并点击next。

然后会进入漫长的下载过程。Sentinel的服务器在欧洲,并因为安全需求在国内没有镜像,但是下载速度还是可以接受的。

下载完成之后,直接点击Finish。
然后我们打开Linux的~/Documents目录,你会发现多了一个叫Gemalto/的文件夹。
~/Documents/Gemalto/Sentinel LDK 8.0/VendorCodes目录下,有一个以.hvc结尾的文件,它就是你的Vendor Code文件。你需要妥善的保管它。

加解密方法

在加密时,我们进入一开始的那个Sentinel Linux工具包文件夹,进入Linux/VendorTools/Envelope目录,会发现其中有一个文件叫linuxenv,这是一个可执行文件,我们通过chmod a+x ./linuxenv给他添加执行权限,然后运行./linuxenv -h可以看到这个程序的使用说明,这个程序就是专门给软件加密用的。

我们用一个示例程序来进行加解密演示,这个程序的文件名叫test_program,它位于Linux/VendorTools/Envelope目录下。

在加密前,请把之前得到的Vendor Code文件复制到Linux/VendorTools/Envelope目录下,即上一步得到的在~/Documents/Gemalto/Sentinel LDK 8.0/VendorCodes目录下的那个以.hvc结尾的文件,复制到Linux/VendorTools/Envelope目录下,我们假设您的Vendor code文件名叫DEMO.hvc(实际上,这个Vendor code文件名应该每个用户都不同)。

然后请您确认在Linux/VendorTools/Envelope目录下是否有这几个文件:

  • linuxenv (加密程序)
  • DEMO.hvc (Vendor code文件,每个人的文件名都不同)
  • test_program (要加密的软件程序,以你自己需要加密的程序名为准)

有了上面这些文件之后,我们可以直接开始加密。
我们使用命令./linuxenv -v:DEMO.hvc test_program test_program_protected来对test_program进行加密。
这个命令中,-v的意思是指定Vendor code文件,test_program是要加密的程序,test_program_protected是加密后输出的程序名。(特别提醒:在执行这个命令时,需要保证您的主锁正常连接在了电脑上,可通过http://localhost:1947查看主锁连接情况)。

加密后,我们执行./test_program_protected,会发现弹出下面的提示窗口:

这是因为我们没有插上子锁进行解密,主锁只能用来加密不能用来解密。我们插上子锁后,重新执行./test_program_protected,会发现程序可以正常执行了,说明我们的保护是有效的。

并且,可以用readelf -a test_program_protected查看test_program_protected文件的elf头部信息,会发现读取错误,说明Sentinel对软件代码进行了混淆处理,这大大增加了软件逆向的难度,说明我们的加密方案强度是很大的。

圣天狗是一个强大的软件保护设备,它实现了 163 位椭圆曲线非对称算法和 AES 对称 算法,提供了很多具有创新性的功能 , 并且首次把安全通道的概念引入到基于硬件的软件保护中,彻底解决了被保护软件和安全硬件的安全通信的问题,同时基于许可证的设计,具有更大的灵活性和易用性,给软件开发商提供了一个崭新和强大的软件保护平台。 圣天狗的产品优势: 安全的通讯方式 圣天狗是高安全性的世界级圣天狗。圣天狗与应用程序之间的通讯,采用公钥加密及 128-bit AES 加密机制。每次应用程序和硬件锁间的通讯,都会使用一个独立的加密密钥,让黑客无法暴力破解。此外,圣天狗也包括了内部验证的功能,可以有效地预防圣天狗被复制。 快速设置 —商用级API 通过圣天狗商用级 API,您可以达到超高级别安全,并且不需花额外的编写程序时间,即可有效的控制授权。简单的编程程序可以加强设置的质量及安全性。 简单化的软件升级及启用 圣天狗API也提供逻辑地址,让开发商可以随意增加或更改内存设置而无须担心地址冲突。圣天狗特有的技术可以让开发商在安全控制状态下发送更新数据到远程圣天狗。采用高级的安全传输方式,更新数据的传输更加安全。 快速增加保护 —快速外壳 快速外壳提供快速的方式为您的应用程序增加额外保护,不需更改源代码。与API相互整合,通过增加多层保护,快速外壳可以加强整体的安全性。 设置具有时效功能的授权 —圣天狗 V-Clock 圣天狗的V-Clock可以让您提供具有时效功能的授权模块,例如试用、软件演示等。圣天狗 V-Clock是圣天狗内的基础设置,所以不需额外的电池支持,可以有效的预防时间篡改。 保护您的销售渠道 —圣天狗经销商锁 圣天狗让您可以安全的控制及规范您的经销渠道,通过使用经销商锁的方式可以限制授权的最多使用数量或限制只能产生试用授权。圣天狗提供您的经销网络安全的连接。 保护多个应用程序 圣天狗可以让你用单一圣天狗保护多个应用程序。通过圣天狗multi-tasking技术,您还可以在开发后,针对额外的应用程序增加保护,不需要更改现存的安全架构,降低开发时间及成本。 先进的内存管理 圣天狗的 V-Cell技术可以优化内存的存储,开发商可以简单且弹性的存储每个圣天狗上可存取的内存,储存数据及保护应用程序。 支持多种开发环境和平台 圣天狗提供您在不同开发环境保护应用程序的能力。我们提供您基于市场上经常使用的开发语言。圣天狗可以让您的应用程序在不同的操作系统运作,只需一次的开发,大大的降低开发时间及成本。 在网络环境发布授权 圣天狗硬件锁的网络版本可以保护 client-server型式的应用程序,提供服务器监测功能来追踪网络上的授权使用状况。圣天狗可以让网络管理员将网络上未处于使用状态的授权取消或将转移给其它使用者。管理员可以有效的控制企业内授权的使用。 美 国 圣 天 诺 软 件 保 护 锁 关于圣天诺加密锁 圣天诺系列产品是一种智能型的软件加密系统,它包含一个安装在计算机并行口或 USB 口上的硬件,及有一套相应的接口软件和加密工具。 圣天诺加密锁是全球销量第一的软件加密锁。截止到 2002 年底,圣天诺加密锁的总销量到三千万只,占同类市场的 55% ,超过所有竞争者销量的总和。 圣天诺品牌下拥有以下产品,能够提供您最适合的加密方案 奥强锁( UltraPro ) —— 新一代的高强度软件加密锁 超强锁( SuperPro )系列 —— 带有 28 个独立算法单元的超强度加密方案 富饶锁( Pro ) —— 简便易用的经济型加密方案 网络锁系列( SuperproNet ) —— 适用于网络环境的高强度加密方案 美国圣天诺加密锁的 5 个世界之最 最强的研发实力 SafeNet 公司拥有软件保护领域 16 项核心专利技术,使圣天诺加密锁遥遥领先于竞争对手, SafeNet 公司每年将收入的 20% 投入研发,确保产品不断改良,始终领先 最好的质量保证 圣天诺加密锁保持行业内最高的可靠性,硬件故障率低于万分之一 圣天诺加密锁承诺非人为、非机械的硬件损坏, 2 年内免费更换 最高的安全性 并口产品独有 ASIC 芯片由 Rainbow 公司自主设计,保证硬件不可复制,拥有最高安全级别 全新推出应用于 USB 加密锁上的 MCU 芯片技术,支持 3-DES 和 128 位 AES 加密算法,加密强度极高 最大的灵活度和易用性 一只加密锁可以同时保护 28 个软件,对软件实行分模块的分发与控制 以易用性为使命,圣天诺开发工具具有革命性的意义,使复杂的加密过程轻松完成 最多的支持平台和语言 支持操作系统 Dos , Windows3x , Windows9x , Windows NT , Windows2000 , WindowXP , Windows2003 , Mac , SCO UNIX , LINUX , AIX UNIX , SOLARIS UNIX 等 支持 190 多种开发语言 圣天诺产品的优势 绝对的行业领导地位 拥有 18 项独特的核心专利技术,使圣天诺产品领先于竞争对手,成为市场的领跑者。 值得信赖的可靠性 圣天诺软件保护锁保持同行业产品中最高的可靠性,故障率低于万分之一。 方便快速的实现 圣天诺开发工具包是具有革新意义的工具,使复杂的加密过程轻松上手,简单易用。 最高的质量保证 SafeNet 公司是行业内第一家通过 ISO9001 质量认证的软件保护产品供应商。 对研发大量投入 每年将收入的 20% 投入研究开发,以确保产品不断改良,始终处于领先地位。 真正透明的保护 优良的设计使得加密锁对最终用户完全透明,加密锁的存在不会对软件的运行效率带来任何影响。 高度的安全性和灵活性 特有的专用芯片由芯片厂商专为 SafeNet 设计,其他厂商无法使用,保证加密锁硬件不可复制。 一个软件保护锁中多个算法以及其它优越性能,使圣天诺成为最灵活、最安全的产品。 管理网络授权 圣天诺加密锁是经过严格测试并得到 Novell 认证的加密产品 与各种操作平台兼容 SafeNet 的商业伙伴包括: Apple 、 Microsoft 、 IBM 等,保证你无论今天还是未来,在任何平台上皆可安全地运行软件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值