十年一梦,惊醒回头(十年安全职业生涯总结)
这是技术贴,之所以发到这里,是因为后面有一些个人的牢骚,请大家请耐下性子看完这篇文章,本着先给予后索取的原则,我先给大家说的是我这10年来IT信息安全的技术总结和个人看法。
适合对象:
文章适合对加解密技术感兴趣,了解一些基本技术(对称加密,非对称加密,散列,数字证书,数字签名,密钥,VPN),但又不深的技术人员。
也适合做公开密码应用安全产品,希望了解全貌的技术人员。
安全产品多如牛毛,密码被我们这些做密码应用产品的人称作是安全的核心,确实密码让数据武装到牙齿,是数据安全的{zh1}一道防线,我个人从以下角度划分安全产品:
? 以服务为保护对象,有以下主要产品:
防火墙,热备,负载均衡等,
? 以数据为核心,为保证数据的安全,需要:
1. 让数据使用的环境变的安全
对应防火墙,防病毒,入侵检测等产品
2. 控制访问数据的是合法的用户
对应身份认证和访问控制产品
3. 安全数据存储
对应存储备份和数据加密产品
4. 安全的数据传输
对应VPN/链路加密等安全传输产品
5. 审计
对应安全审计类产品
也有的产品跨几个门类,比如大部分防火墙现在都有IPSec VPN功能,在这些产品里面,公开密码在第二,三,四类产品中是技术基础。我这么多年做的产品也主要在这个范畴,因此我的经验在这个范畴,对其他产品只是从我的角度说的粗浅的看法。
从市场看,目前防火墙,存储备份类产品市场{zd0},成为必备产品,其次是访问控制产品。从趋势看,个人认为安全数据存储里面的数据加密是以后的趋势,说不定也会成为IT解决方案的必备。
下面对公开密码涉及比较多的中间三种产品做一个个人的总结:
身份认证和访问控制
身份认证在安全产品里面无处不在,在软件里面几乎是标配了,有两种身份认证:
1) 弱认证:也就是用户名/密码
2) 强认证:带设备的就是强认证,比如OTP令牌,USB Key,纸质口令卡,智能卡等
先说说实现技术,这些产品也可以分两类:
1) 共享密钥
就是认证的客户端和服务端共享一个密钥信息,这个共享密钥需要事先分配,比如对于用户名/密码,OTP令牌,一些低端的USB Key,纸质口令卡,某些智能卡等。
2) PKI证书
电子证书的应用非常多,比如我们现在很多的网银,社保,税务卡都是有电子证书在里面。
公开密码有三大类主要的加密算法对称算法,非对称算法,散列算法。在身份认证中的应用,前一类使用对称加散列,后一类使用非对称加散列算法。
对于用户名/口令,客户端和服务端共享的是口令,用户在登录一个系统的时候输入用户名/口令,口令当然不能明文传输,不然和不认证也没什么差别,一般是服务端发随机数,随机数和用户口令一起做散列,然后发到服务端验证,服务端由于也保存了用户的口令,因此能够算出同样的结果。为什么要随机数,这是防止重发攻击,虽然直接散列对用户的密码也是安全的,但是每次的结果如果一样,那也没什么意义了。攻击者只要截取密文就可以仿冒身份。
这里面对称加密应用主要用于服务端,就是如何保存用户的密码,密码保存的时候是需要加密的,不然明文放在数据库里面比较危险。
再举一个OTP的例子,每个OTP令牌中有一个对称密钥,这个密钥初始化的时候写进去,认证服务端也保存一份,认证的时候使用密钥和客户端/服务端共享的因子(可以是每次加1的整数,也可以是时间)做运算来进行认证。大家都知道OTP客户端是有硬件的,密钥保存在硬件里面比较安全,服务端是软件,密钥一般是保存在数据库里面的,也必须要加密保存。
数字证书认证就是数字签名和验证数字签名的过程,服务端会发一个随机数让客户端签名,服务端验证这个签名。
安全性来说这两种认证方式可以达到同样的安全级别,但由于数字证书密钥管理上有优势,所以使用的越来越多,个人认为以后也是趋势。OTP的强项在于它的易用性比较好。
身份认证完成后,访问控制也就好做了,注册用户一个角色,然后对资源分配角色访问权限就行,一般在数据库维护一些对应权限表。
存储加密类产品
由于我只做公开密码相关应用,对备份产品没有发言权,这里只讲加密类,实际上国际{zd0}的备份厂商ECM和以前{zd0}的加密厂商RSA已经合并,是ECM收购了RSA,有人认为单纯的加密类厂商以后没有出路,RSA被收购就是一个例子,个人觉得只要公开密码还在用,加密厂商就不会消亡。
以数据存在的形式分,这类产品分两类,文件加密类和数据库加密类。
文件加密就是将存储在硬盘的文件进行加密,目前市场上的产品也是非常多,大概有两种解决方案,一种是透明加密的全盘加密产品,一种是带文件管理的文件加密产品。实现技术这里也简单说说:
全盘加密产品一般用于个人/企业笔记本电脑,软件的方案需要安装软件在电脑上,在文件系统驱动层做透明加解密,对比VPN,我们可以把它理解成文件存储安全通道,在关机的状态下数据是安全存储的,开机状态下文件没有访问控制,是透明存储。主要功能是防丢失。目前也有硬盘厂商提供这类的安全硬盘,移动存储厂商提供安全移动存储。硬件厂家提供的方案由于有专门的处理芯片,加密/解密在更底层,所以速度肯定快些,但管理功能就较弱。
文件加密产品也有透明加/解密的技术,和硬盘加密类似,做在文件驱动层,可以做一些简单的访问控制,也有些文件阅读器本身带保护功能,比如PDF,但需要一个服务器来支撑。
媒体文件是特殊的一类,媒体文件加密有比较标准的DRM方案,DRM方案需要媒体播放器支持,DRM技术大概是这么实现的:
服务端给媒体加密,加密后发送到终端,终端播放器播放的时候,在线到服务端获取一个许可(许可里面包含解密的密钥),当然一般拿许可是需要收费的,DRM技术媒体商使用的动力也在于此。
DRM技术可以对比广电领域的CAS,CAS对电视广播信号加密,终端xx解密收费,CAS应用很多,这是由于广电领域里面发展的时间比较长,用户比较接受,而针对因特网媒体的DRM加密由于利益相关方比较多,而且发展时间端,应用比较少。
数据库数据加密
数据库加密就是要保证数据库存储的数据是加密的,解决方案大概有三种:
1)一种是数据库厂商本身提供的加密技术,目前市场上的数据库也就Oracle,Sql Server, DB2,My SQL几种,My SQL在Sun 并入Oracle后,前途未卜。目前Oracle和Sql Server都有他们的加密方案,具体的细节技术不了解,但肯定的是也是用公开密码。
2)另外一种是中间层加密方案,需要在数据库服务器上安装一个代理,所有数据库的存取通过这个代理进行,透明加解密,还可以做一些访问控制。
3)还有是应用系统直接加密的方案,应用系统在存入数据库前加密,访问到数据库数据后解密。
这几种方案首先中间一种我不看好,由于数据库系统的复杂性和关键性,中间方案虽然不影响应用,但可用性会降低,速度会降低。{dy}种方案看起来是{zh0}的选择,数据库厂商本身提供加密方案和数据库结合的肯定{zh0}。
第三种方案效率和灵活性肯定{zh0},缺点是需要应用开发,做起来比较复杂。
以银行核心系统为例,银行用户一般都有口令信息,这个口令涉及到资金安全,核心系统里面需要将用户的密码加密保存在数据库里面,由于银行用户密码都是6位数字,穷举也只需要100万次,计算机运算很容易,而且银行海量用户,肯定有很多用户密码会相同,因此在加密的时候一般把用户的账号也参与运算,这样基本可以保证在数据库里面的密码是安全的。但由于用户账号是很容易被获取到,银行内部人员如果能够拿到数据库里面的数据,得到运算的算法,也比较容易xx到用户的口令,而算法对于内部人员是比较容易拿到的。
传输类产品
数据要安全传输,有两种解决办法,一种是建立一个安全数据通道,另外一种是将数据加密后在传输,这两种方法由于在网络的不同层次,安全数据通道是在网络层/链路层,直接加密数据再传输的发生在应用层。网络层的就是VPN设备,链路层的是链路密码机。
VPN分为两种,SSL VPN和IPSec VPN这两种VPN技术上实际没有太大区别,只不过由于我们浏览器成为机器的标配,而浏览器天生支持SSL协议使得SSL VPN不需要安装客户端软件,因此SSL VPN比较受欢迎。
这类产品就是在应用的两端一边放置一个中间设备/软件,先建立一个安全通道,数据在这个通道里面进去前自动会加密,出来后自动会解密,由于不需要修改应用,因此比较方便。
而应用层加密是需要应用程序直接加密数据,这样应用程序需要嵌入加密/解密代码,比较麻烦,一般文件加密传输的产品比较多采用这个方法,因为文件本身已经有了数据管理,这样传输产品和文件管理产品不需要集成,只是需要共享一些目录就行。
横向说完了几类产品,下面纵向来说说个人对公开密码应用产品的理解:
密钥管理
密码能够保证安全,让数据武装到牙齿,但有一个问题就是密钥管理的问题,我们知道公开密码的算法是公开的,安全性靠密钥保证,如果数据加密了,密钥放在数据旁边,那么着就像我们锁了门忘了拔钥匙一样,没有太大意义,通常的密钥保护是使用两种手段:
{dy}种密码加密,密钥存储在硬盘上,用密码作为密钥来加密密钥,密码是不可靠的加密手段,而且对于服务性质的软件,启动时无人值守,密码就得记录在脚本程序里面,安全性是很低的。
第二种是专有的密码设备我们叫它 HSM,我一般把智能卡这类带安全运算芯片的也划分为HSM的一种。密钥保护是很麻烦的事情,因为你不能把密钥xx锁起来,加密,解密的时候都需要这个密钥,因此,HSM不能单纯是一个存储密钥的设备,如果单纯存储密钥,在运算的时候密钥必须拿出去,那么安全性就不能够保证了,HSM都具有密码运算的功能,能够加密/解密,签名/验证签名。要运算就需要和应用程序有接口,标准接口{zh0},集成起来比较简单,目前公开密码标准硬件接口有以下几种:
1) PKCS#11
2) MS CAPI
3) JCA/JCE
4) XML的加密标准应该还在制定中
标准硬件接口是一个中间层,硬件设备是下层的服务提供者,应用程序可以不对HSM硬件编程,只是看的标准接口。
由于应用的复杂性,很多应用需要的不只是一个密钥,而是需要很多个密钥,HSM的功能强弱根据其能够管理密钥的数量,管理的方法不同也有一些。
服务端HSM厂家并不多,国内基本上有30所,56所,数据所。而且国内的HSM一般只能够管理单个密钥,功能也只限于银行用来做用户口令验证。国外有厂家做通用的HSM产品,为普通企业应用提供HSM。服务端密钥很重要,一般不会只使用一个HSM,必须能够备份,所以一般是两个HSM一起服务,或者使用备份卡片。目前国内银行使用HSM的时候有一种方式就是把密钥分成几个成分,打印成纸质介质由银行高层人员保管,一种中国特色的方式,呵呵,理由是密钥很重要,不能丢失,机器不保险。
客户端HSM现在有这么几种,OTP令牌,智能卡,USB Key等,有的手机SIM卡也有密钥运算的功能。
个人看,HSM应用应该会很广,密钥保护的方式我知道的就两种,密码加密,HSM保护,多级密钥(就是一个密钥由另外一个密钥来加密)最终也会涉及到根密钥的保护问题。因此所有用到公开密码加密的系统里面都涉及到密钥保护的问题。比如前面几种应用里面,文件加密,磁盘加密,身份认证应用里面,服务端都会涉及到密钥保护的问题,
对于客户端,那更加是前景广阔,不过这不是软件能够解决的问题,需要高速度,低成本的密码芯片。未来消费电子设备都可能会需要密码芯片。
端到端安全
由于我们现在的系统和应用一般都是网络应用,数据要安全也不是某一个环节的事情,我们需要端到端的安全,比如说我们网银的密码保护。用户使用网银的时候密码会经过这么几个地方:
首先键盘输入后会在终端电脑上,
然后密码会通过网络传输到网银Web服务器
Web服务器会转到网银前置应用服务器
网银前置服务器可能会转到核心系统,核心会送密码到密码机里面认证。
有效的保护需要从用户输入密码到电脑的一刻起进行加密,然后送到密码机后才解密校验。
这样我们网银一般会下载一个密码控件,输入密码后由控件加密,之后再由浏览器和网银Web服务器建立的SSL安全通道传到网银Web服务器,出了安全通道后再由应用系统转到核心,转到密码机验证,可见要达到端到端安全光有安全通道是不够的,需要应用系统的参与。
再比如文件加密系统,文件加密存储后是安全的,传输到终端用户也是安全的,但一般用户必须要打开文件查看,这个时候由于文件阅读器需要打开明文文件,要做到阅读器一级的保护才能够做到端到端安全,这个是比较困难的,一般只有阅读器本身才可以,或者有统一的文档安全标准,可惜现在还没有,或许以后有统一的文件格式后才能够做到吧。
前景
这个行业前景我一点也不怀疑,未来会有越来越多的加密数据跑在网络上面,个人觉得密码应用公司有下面几个方向:
1, 客户端密钥管理解决方案,应该是硬件形式的集成在终端产品里面。
2, 面向应用软件开发商的服务端加密和密钥管理解决方案。
3, 面向软件开发商和最终用户的身份认证解决方案
由于密码在中国是国家管控产品,{dy},二类产品只能寄希望于国家垄断部门能够多努力了。第三种是普通安全厂商就可以做的。
如果此文能够让读者有所收获,甚慰我心。也欢迎大家讨论。
上面基本说完了我这10年的公开密码应用体会,下面发一些个人的牢骚,
先介绍一下自己:
99年参加工作,做PKI系统开发,一做好几年,02年想考研,没考上后,03年换了个公司,做了一年与安全无关的软件开发,之后到一个做文件加密软件的公司做了一年开发。
算算这就是6年拉,之后公司遇到问题,转到一个做硬件加密设备的公司做售前,又4年过去了,4年后部门销售不景气,被公司裁掉,又开始游荡,最近在一家做密码机的公司做了三个月售前忽然觉得好无聊,辞职后现在在家。
个人对我工作的意义看法:我觉得我工作还不如一个早上卖油条的,至少卖油条还给人们填饱了肚子,而我,帮助销售打单子,一般需要忽悠客户,卖一些垃圾产品,成功之后一点成就感也没有,因为成功往往不是因为产品对客户有多大帮助,而是销售和客户之间的另外一种协议,跟我有什么关系呢。
辞职只是想证明自己还是有点热血的,想实现一些自己的价值。但现实是我也需要吃饭,还有养家。我不知道我的想法能够坚持多久。
大家如果有合适的地方,给我推荐一下,我愿意和大家一起奋斗。或者:我愿意结交大家,如果大家想了解更加详细的一些技术,我可以提供技术培训,给一些辛苦费就行。我知无不言,言无不尽。
QQ:16328712
郑重声明:资讯 【十年一梦,惊醒回头(十年安全职业生涯总结)】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【
在线投诉
】,我们审核后将会尽快处理。
——
相关资讯
——
a型应急灯 蜂鸣器响是什么原因?
2022/8/16
涤纶针刺毡滤袋
2018/1/8
济南八里洼开锁换锁芯【0531-55555220】市中区附近开锁电话
2017/7/29
北京团队建设xxx的公司品——北京百动北京百动品专注于{dj1}
2017/1/30
云蜘蛛池平台 Q5738538 陈默外推
2017/1/15
去眼纹的什么眼霜xxx果
2015/2/14
大涌红木家具厂
2015/2/7
eee休闲鞋销售火爆,青年创业基金,创业板论坛_创业项目_创业网
2010/4/23
我司防静电PVC地板施工方法阿里巴巴hoxzh的博客BLOG
2010/3/8
太阳能背膜.太阳能电池背板膜.太阳能背板产品- 其他- 分类信息- 惠州 ...
2010/1/24
中老年服饰的穿衣搭配技巧阿里巴巴pmm2010的博客BLOG
2010/1/8
北京久久鸭加盟/久久鸭脖子加盟费/xx久久鸭加盟_妮儿_新浪博客
2010/1/18
汽车配件OEM编号查询软件
2010/1/19
2010年{zlx}的孕妇新焦点_Esther0809的空间_百度空间
2010/2/27
[转载]高价芦笋片事件——只要利益链条在 就有高药价在_白云飘飘_新浪博客
2010/5/21
超级大赢家综合版0611--沙漠绿洲--全免费股票投资专业博客(绝密
2010/6/12
两岸ECFA业务商谈完成大陆对台539项产品降税
2010/6/30
朗蒙衬衫怎么样?朗蒙是什么牌子
2014/12/15
怎样解决xx干涩问题ヘ
2015/3/21
哪里有开内蒙古餐饮费xxx
2015/4/23