搞定滴滴出行双因素认证解决方案
搞定滴滴出行双因素认证解决方案
工作繁忙,好久没上博客了。最近刚刚交付了一个项目,很有成就感,赶紧上来给大家汇报一下,补补作业。
先介绍一下背景哈。滴滴出行是我们公司的客户,滴滴大名鼎鼎,就不用我多介绍了。2015年滴滴和快的合并后,就开始完善内网的信息化建设,到2016年,滴滴的信息化建设基本完成,开始重点关注信息化安全。为解决线上线下系统弱密码问题,滴滴希望增加一个双因素认证平台,从而增强帐号的安全性。
插播一条科普信息,所谓双因素认证指的是使用两种密码认证机制。普通的IT系统使用的大多是用户名+密码,单一的密码认证机制。如果遇到密码泄露,就会导致门户大开,信息丢失。双因素认证在单一密码之外增加了额外的验证机制,例如短信,指纹,随时间变化的动态码等。用户认证时,除了要答对密码,还要完成二重额外认证,这样才能完成验证。显然,有了双因素认证,信息泄露的危险性就大大降低了。
目标明确后,我们就要查找合适的解决方案了。顺便再介绍一句,之前我主要负责售中售后,现在变成主要负责售前和销售。主要是因为老了,干不动实施了…经过俺们耐心细致,严肃认真的查找,我把Gartner领导象限中的RAS,Safenet等著名产品都PASS了,没错,都PASS了。我最终选择的是国货精品,上海宁盾!
听到这里,不少吃瓜群众估计要扔来热情的板砖。“你还想不想混了?”一般IT系统解决方案选型时,Gartner那是相当的权威,新闻联播的地位啊。选择Gartner领导象限中的产品,领导基本不会挑战你。遇到这种项目机会,我按理应该立马去抱厂商大腿,申请项目报备,争取厂商支持才对,为啥我反其道而行之呢?
其实也不是我非要标新立异。列位看官有所不知,中国的互联网企业近年来发展太快。兄弟我这两年也做了不少互联网客户,接触多了呢,隐隐约约也能摸索出互联网企业的一些有共性的线索。互联网企业初创时,基本把90%的精力都放在线上业务,这个大家能理解,线上业务都是生产系统,忽悠投资商抢占市场吊打友商,线上业务是主力军。线下业务一般都是将就使用,只要群众能正常上网,一般就差不多了。安全问题此时不是重点,先生存下来再说吧。等到企业在残酷的市场竞争中活下来后,对照一下自己估值上百亿的身价,再睁开全球化的视野看看,就开始对线下系统怎么看怎么不顺眼了。反正也有钱了,短时间内把线下系统赶紧搞定。但是,由于时间短,由于任务重,由于没经过严格规划,线下系统会有不少技术上的大坑。这种大坑,被美其名曰“历史原因”。你如果遇到“历史原因”,往往意味着你有很多概率需要通过定制开发,填平这个大坑。再回到之前的产品选型问题,基于国内互联网公司的这个背景,为啥不用RAS,Safenet这些产品也就很简单了。这些解决方案都已经产品化了,不太可能为了个别客户去修改产品。你但凡提出个修改需求,就得反馈到国外的研发中心,然后告诉你在下一个版本中会认真考虑你的修改建议,感谢你的来电,你有三次抽奖机会…你想想,你拿着这款产品到互联网企业去打单会是什么下场?
宁盾的优点何在呢?一是产品过硬,不少金融客户在使用;二是成本低,这是意料中的;三是定制开发灵活方便,这点太重要了。宁盾是一家垂直领域专业公司,主做双因素产品。老板就是最早的产品经理,对产品相当熟悉。考虑到这些因素,我果断选择与宁盾合作,去角逐滴滴的双因素认证项目。
滴滴对这个项目相当重视,除了宁盾,RAS,Safenet这些大厂都来了,国内的飞天诚信等厂商也都受邀参加了。滴滴对这个项目主要还是技术主导,策略是是骡子是马拉出来遛遛。大家都别吹牛,搭好测试环境,制定测试计划,每家厂商轮流来测。按照计划,双因素认证平台需要和Exchange,堡垒机,用户统一管理平台及×××进行对接测试。过程公开透明,大家就比拼内力吧。
经过几个月的测试,结果如何呢?宁盾是唯一一家通过全部测试的,其他各家都折在了定制开发上,这是意料之中的。举个例子,滴滴希望Exchange OWA使用双因素认证时,可以单次验证,也可以二次验证。也就是说,用户登录时可以输入密码+动态码,也可以先输入密码,通过后按照提示再输入动态验证码。就这一个需求,厂商就可能需要修改认证模式,修改认证提示,修改OWA页面…各位兄弟,给互联网公司做项目时一定要预判到这些风险点哈!
中标后,实施起来还是很快的。下面把这个项目的几个技术点给大家简单介绍一下。滴滴的双因素认证平台使用的是动态验证码技术,验证码的发放可以通过手机短信,手机APP和硬件Token。手机APP目前是主流,APP并不需要连接互联网,只需要根据当前的手机时间及种子文件,计算出动态码即可。
方案拓扑:
认证流程
以Exchange用户为例,员工登录ExchangeOWA系统操作流程如下:
结尾再做一个广告,北京的哪位亲有双因素认证平台的建设需求,可以直接联系我哈,yuelei@ronglian.com。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
zabbix自定义脚本实现短信报警提醒
一 简介 通常,在zabbix的web界面配置好之后为了能够及时收到zabbix的报警信息,我们需要配置“报警媒介”来通知我们。其中常用的两种报警媒介分别是:Email和SMS,即:发邮件通知和发短信通知 关于邮件通知的配置很简单,只需要设置SMTP即可,因此这里不多说。但是zabbix默认的短信通知可就有点坑了,“SMS”这种报警媒介要想发送短信是需要硬件支持的。与此同时,现在开发中为了方便一般都是将短信发送的操作封装成接口的形式的,当需要发短信时只需要调用该接口同时传入收件人、短信详情等信息就可以完成一条短信的发送了 因此,为了简化zabbix短信通知的成本,我们可以考虑让zabbix调用外部的脚本请求短信接口来实现短信发送的功能 实现思路: 使用一个短信接口写一个发短信的脚本 在web界面中创建一个触发器,当问题严重性在“一般严重”及以上时执行上面的脚本,从而触发短信报警 二 具体实现步骤 (1)添加两个脚本(PS:发送短信脚本,并且是在zabbix_server上添加): [root@nmp01scripts]#cd/usr/local/zabbix [root@nmp01sc...
- 下一篇
微软云计算随笔1-批量为虚拟机添加IP地址描述
最近开始更新博客,废话不多说,博客才是硬道理。 九叔今天处理一个Hyper-V的需求,用户需要在Hyper-V管理面板显示虚拟机名称,同时还需要带上Hyper-V虚拟机的IP地址。 如果这个需求挨个登录虚拟机,然后一个一个修改,是绝对没有问题的,但是方法太LOW 用Hyper-V的原生命令可以解决。使用Get-VMNetworkAdapter来完成。这里用invoke或者get-vm都可以在远程的Hyper-V主机上执行命令,可以根据需要进行选择。 以下代码部分 $vmnames=invoke-command-computername此处写Hyper-V主机名-command{(Get-VM*|?{$_.name-like"*wweb*"}).name} $vmnames|%{ $x=Get-VM-ComputerName此处写Hyper-V主机名-Name$_ $ip=($x|Get-VMNetworkAdapter).ipaddresses $nname=$x.name+'-'+$ip#此处是新的计算机名也就是带带上了IP地址的形式 Rename-VM-ComputerName此处...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群