搞定滴滴出行双因素认证解决方案

工作繁忙好久没上博客了最近刚刚交付了一个项目,很有成就感,赶紧上来给大家汇报一下,补补作业。

先介绍一下背景哈。滴滴出行是我们公司的客户,滴滴大名鼎鼎,就不用我多介绍了。2015年滴滴和快的合并后,就开始完善内网的信息化建设,到2016年,滴滴的信息化建设基本完成,开始重点关注信息化安全。为解决线上线下系统弱密码问题,滴滴希望增加一个双因素认证平台,从而增强帐号的安全性。

插播一条科普信息,所谓双因素认证指的是使用两种密码认证机制。普通的IT系统使用的大多是用户名+密码,单一的密码认证机制。如果遇到密码泄露,就会导致门户大开,信息丢失。双因素认证在单一密码之外增加了额外的验证机制,例如短信,指纹,随时间变化的动态码等。用户认证时,除了要答对密码,还要完成二重额外认证,这样才能完成验证。显然,有了双因素认证,信息泄露的危险性就大大降低了。

目标明确后,我们就要查找合适的解决方案了。顺便再介绍一句,之前我主要负责售中售后,现在变成主要负责售前和销售。主要是因为老了,干不动实施了…经过俺们耐心细致,严肃认真的查找,我把Gartner领导象限中的RASSafenet等著名产品都PASS了没错都PASS了我最终选择的是国货精品上海宁盾

听到这里,不少吃瓜群众估计要扔来热情的板砖。“你还想不想混了?”一般IT系统解决方案选型时,Gartner那是相当的权威,新闻联播的地位啊。选择Gartner领导象限中的产品,领导基本不会挑战你。遇到这种项目机会,我按理应该立马去抱厂商大腿,申请项目报备,争取厂商支持才对,为啥我反其道而行之呢?

其实也不是我非要标新立异。列位看官有所不知,中国的互联网企业近年来发展太快。兄弟我这两年也做了不少互联网客户,接触多了呢,隐隐约约也能摸索出互联网企业的一些有共性的线索。互联网企业初创时,基本把90%的精力都放在线上业务,这个大家能理解,线上业务都是生产系统,忽悠投资商抢占市场吊打友商,线上业务是主力军。线下业务一般都是将就使用,只要群众能正常上网,一般就差不多了。安全问题此时不是重点,先生存下来再说吧。等到企业在残酷的市场竞争中活下来后,对照一下自己估值上百亿的身价,再睁开全球化的视野看看,就开始对线下系统怎么看怎么不顺眼了。反正也有钱了,短时间内把线下系统赶紧搞定。但是,由于时间短,由于任务重,由于没经过严格规划,线下系统会有不少技术上的大坑。这种大坑,被美其名曰“历史原因”。你如果遇到“历史原因”,往往意味着你有很多概率需要通过定制开发,填平这个大坑。再回到之前的产品选型问题,基于国内互联网公司的这个背景,为啥不用RAS,Safenet这些产品也就很简单了。这些解决方案都已经产品化了,不太可能为了个别客户去修改产品。你但凡提出个修改需求,就得反馈到国外的研发中心,然后告诉你在下一个版本中会认真考虑你的修改建议,感谢你的来电,你有三次抽奖机会…你想想,你拿着这款产品到互联网企业去打单会是什么下场?

宁盾的优点何在呢?一是产品过硬,不少金融客户在使用;二是成本低,这是意料中的;三是定制开发灵活方便,这点太重要了。宁盾不是一家大公司,只有几十人,老板就是最早的产品经理,对产品相当熟悉。考虑到这些因素,我果断选择与宁盾合作,去角逐滴滴的双因素认证项目。

滴滴对这个项目相当重视,除了宁盾,RAS,Safenet这些大厂都来了国内的飞天诚信等厂商也都受邀参加了。滴滴对这个项目主要还是技术主导,策略是是骡子是马拉出来遛遛。大家都别吹牛,搭好测试环境,制定测试计划,每家厂商轮流来测。按照计划,双因素认证平台需要和Exchange,堡垒机,用户统一管理平台及×××进行对接测试。过程公开透明,大家就比拼内力吧。

经过几个月的测试,结果如何呢?宁盾是唯一一家通过全部测试的,其他各家都折在了定制开发上,这是意料之中的。举个例子,滴滴希望Exchange OWA使用双因素认证时,可以单次验证,也可以二次验证。也就是说,用户登录时可以输入密码+动态码,也可以先输入密码,通过后按照提示再输入动态验证码。就这一个需求,厂商就可能需要修改认证模式,修改认证提示,修改OWA页面各位兄弟,给互联网公司做项目时一定要预判到这些风险点哈!

中标后,实施起来还是很快的。下面把这个项目的几个技术点给大家简单介绍一下。滴滴的双因素认证平台使用的是动态验证码技术,验证码的发放可以通过手机短信,手机APP和硬件Token。手机APP目前是主流,APP并不需要连接互联网,只需要根据当前的手机时间及种子文件,计算出动态码即可。

方案拓扑:

搞定滴滴出行双因素认证解决方案_第1张图片·

认证流程

以Exchange用户为例员工登录ExchangeOWA系统操作流程如下:

 搞定滴滴出行双因素认证解决方案_第2张图片

结尾再做一个广告,北京的哪位亲有双因素认证平台的建设需求,可以直接联系我哈,[email protected]