更新时间:2023-11-08 05:00
鉴权(authentication)是指验证用户是否拥有访问系统的权利。传统的鉴权是通过密码来验证的。这种方式的前提是,每个获得密码的用户都已经被授权。在建立用户时,就为此用户分配一个密码,用户的密码可以由管理员指定,也可以由用户自行申请。这种方式的弱点十分明显:一旦密码被偷或用户遗失密码,情况就会十分麻烦,需要管理员对用户密码进行重新修改,而修改密码之前还要人工验证用户的合法身份。
要解释什么是鉴权之前,我们先看看如果没有鉴权会怎么样?
如果没有鉴权功能,移动用户可随意接入和使用任一无线网络,运营商的利益得不到保障,同时,用户的安全也会受到威胁。移动通讯网络发展之初,就考虑并解决了这个问题:采取用户鉴权的方式来识别出非法用户。用户鉴权,是对试图接入网络的用户进行鉴权,审核其是否有权访问网络。通过用户鉴权可以保护网络,防止非法盗用;同时通过拒绝假冒合法客户的“入侵”而保护该网络中的客户。
然而,道高一尺魔高一丈。相信大家听过或者亲身经历这样的事件吧。某人的手机上收到“恭喜你获得一等奖,请预付税费”、“公司出售各类发票”之类的非法诈骗、推销短信,因而上当受骗,损失了钱财。有的甚至显示是110发来的。这种情况,可能是用户接入了假冒的网络,所以,用户也需要对网络进行鉴权。
鉴权包括两个方面:
这种双向的认证机制,就是AKA(Authentication and Key Agreement,鉴权和密钥协商)鉴权。
除了AKA鉴权,也可以使用其它鉴权方式。在IMS AKA鉴权广泛实施之前,或在特定的条件下(例如通过固定网络ADSL连接方式接入IMS),可以使用HTTP摘要鉴权等其他鉴权方式。
3G UMTS(Universal Mobile Telecommunication System,通用移动通讯系统)、EPS(Evolved Packet System,演进的分组系统)、IMS(IP Multimedia Subsystem,IP多媒体子系统)网络都采用了AKA双向鉴权机制,鉴权原理也大致相同。而2G网络,只有用户鉴权,无网络鉴权。
我们以3G UMTS网络鉴权为例,看看网络和用户分别是怎么鉴权的。
移动网络对鉴权时机的要求为:
我们常用的鉴权有四种:
1、HTTP Basic Authentication
2、session-cookie
3、Token 验证
4、OAuth(开放授权)