天威产品那些年(二)用证书来进行身份认证

前一篇介绍了证书系统和与系统的接口,那么有了接口证书如何在不同系统中使用是过去几年公司重点在研究和探索的内容,证书的应用场景我之前也做过相应的介绍,在这里详细讲解下使用证书进行身份认证。

身份认证的一般流程

使用口令认证的流程是:用户注册,系统保存账户和密码,用户用注册的名称和密码登录,系统判断登录的账户和密码是否正确,在系统中有那些权限,用户登录成功进入首页。

使用证书认证接口:后客户端的步骤,浏览器加载插件,插件调取u盾接口获取证书信息,通过js展现在页面上,用户选择自己的证书点击登录输入u盾pin码,js将pin码以及待签名原文这里是服务的产生的随机数通过session传到前端,u盾通过pin码获取到密钥使用权限对随机数签名返回插件,插件通过js调用返回服务端,这样客户端调用证书登录过程完毕,接下来是服务端调用过程。

服务端验证过程,服务端加载了证书验证的接口包。在验证流程中获取从浏览器传来的签名结果,从session中获取到本次登录使用的随机数,然后进行证书签名验证,验证过程包括签名验证,证书颁发机构验证,证书有效期验证,证书是否吊销验证,验证没有问题后从签名结果中获取到证书,再解析证书主题得到存放在证书主题中的用户信息,之后就可以通过与保存在系统中的权限信息进行匹配,假如匹配成功则返回成功用户进入首页。

在实践中如何应用

集成方式

接口集成

这种方式是产品最初期的形态,也就是说每谈一次新客户,客户有新系统,就要与系统集成一次,然后收取一次集成费用以及接口费用,而且由于系统的语言以及开发人员的水平不同,实施难度不同。不像现在云平台的兴起,业务开发人员对api的理解越来越高。那时需要现场培训交流,甚至直接在业务系统里面嵌入代码,虽然接口已经封装的足够简单。所以后来的思路一方面是接口文档的规范化和demo的标准化,一方面是与流行业务系统的提前整合这样证书功能就变成业务系统的一个功能模块了。

接口预埋

与业务系统进行深度集成绑定是证书应用的最好的方式,但是后期维护的成本也比较高,只要业务系统版本升级就需要不断跟随测试。比如和某oa系统集成,oa系统采用比较规范的mvc架构,在使用外部接口的时候,它首先会封装出来一些接口出来,然后我们再去实现这些接口,如何调用这些接口,会参考我们的demo。这样弄下来双方都需要开发,不过耦合度就比较高,对于战略合作伙伴来说不失为一种好方式。

U盾集成

1.要检查u盾的插入拔出状态,这样可以防止u盾的拥有者不在电脑旁但u盾插入时被别人非法操作

2.u盾的管理,这里要能够管理u盾的pin码,当密码忘记时要安全的重置。

3.u盾的定制,定制主要看客户的需求,比如外观的选择,logo的印刷,驱动定制等。有种特殊的情况是厂商的key已经在机器上安装过驱动了,假如再插入一个新的设备那么就会出现识别不出来或者个别功能失效的问题,这时就需要对驱动进行唯一化定制。

配置模式

以上两种针对国内的软件是有效的因为都是自己开发的,针对国外的软件比如微软或者ibm的软件或者一些硬件设备,由于没法修改的,基本都是以配置为主。假如该软件没有证书认证功能那就基本没戏了,不过目前为止还没有软件是不支持的,下面介绍下通过配置方式来进行证书身份认证:

微软配置

微软的官方文档里面有讲解如何进行智能卡域登录的,它的后台认证协议采用自己的kebero协议,这里不对协议进行介绍,也不用它自己的ca进行配置,而是使用第三方ca来进行身份认证。简单说来只需要三步:

第一步导入ca的信任体系到域控制器的ca证书存储相应的位置,同时也要把信任体系产生的吊销列表也导入;

第二步将信任体系导入要采用智能卡认证的组策略中;

第三步打开组策略中的智能卡认证方式同时进行下发,之后刷新组策略注销重新登录就可以进行认证了。该步骤也是经过多次尝试后才可以使用。其中需要注意的是证书主题项dn值要与域控中的组信息和个人信息匹配,否则由于找不到该用户也会出现错误提示。

一般软硬件配置

按照经验来看ibm的软件、国外的设备如f5,web中间件如tomcat和apache,国内的设备如vpn等都是采用文件或者界面配置的方式。

第一步是启用ssl端口443或者8443,根据需要打开单向认证或双向认证,单向意思是客户端认证服务端身份而双向是客户端和服务端双方都要认证对方身份。身份的标识就是数字证书,下面就会配置服务器证书和客户端证书。

第二步制作jks文件或keystore文件,这里主要是把证书信任链导入以及正确产生和导入服务器证书。这里不再详述会在后续的文章中详述。在配置文件或者界面中指定正确的文件后就可以重启服务了。

第三步用户权限配置,这里不同的设备是不一样的,比如ibm的系统会有专门的服务将证书与个人账户信息绑定,而在国内的vpn中会事先建立权限组进行之后再进行绑定。一些服务就要配合目录服务来统一管理用户权限了。

第四步在客户端使用u盾重新登录进行测试。在浏览器的效果是会弹出对话框选择要登录的证书,假如能够弹出u盾中的个人证书选择后进入系统显示个人信息则整个部署过程就完成了。

结论

使用证书进行身份认证,是一个不断积累的过程,各软件厂商在证书认证这块还没有完全统一,各家在实现中也会多少有点差别,但是基本原理是一致的,只有不断实践和总结,对于ca厂商来说才会拥有更好的服务口碑。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容