AKA认证初探

       近期工作中遇到了有关SIP AKA认证的相应协议规范,目前在IMS中已得到应用支持,本文主要是希望探索一下AKA认证的具体机制,以及相应算法。为简便起见,暂时先抛开IMS内部架构,从参数着手分析AKA认证。

       AKA认证主要还是基于DIGEST认证方式,在此基础上加入了对称加密机制。先简单看一下AKA的流程图与信令:

    如图所示,AKA认证流程与DIGEST认证流程一致,参数MS新增了RAND和AUTN,加下来看一下具体的信令:

1) Initial request
   REGISTER sip:home.mobile.biz SIP/2.0
2)Response containing a challenge
   SIP/2.0 401 Unauthorized
   WWW-Authenticate: Digest
              realm="[email protected]",
              nonce="CjPk9mRqNuT25eRkajM09uTl9nM09uTl9nMz5OX25PZz==",
              qop="auth,auth-int",
              opaque="5ccc069c403ebaf9f0171e9517f40e41",
              algorithm=AKAv1-MD5
3)REGISTER sip:home.mobile.biz SIP/2.0
   Authorization: Digest
              username="[email protected]",
              realm="[email protected]",
              nonce="CjPk9mRqNuT25eRkajM09uTl9nM09uTl9nMz5OX25PZz==",
              uri="sip:home.mobile.biz",
              qop=auth-int,
              nc=00000001,
              cnonce="0a4f113b",
              response="6629fae49393a05397450978507c4ef1",
              opaque="5ccc069c403ebaf9f0171e9517f40e41"
4)SIP/2.0 200 OK
   Authentication-Info:
              qop=auth-int,
              rspauth="6629fae49393a05397450978507c4ef1",
              cnonce="0a4f113b",
              nc=00000001

       熟悉SIP DIGEST的会发现,参数表面上看,除了algorithm指定为AKAv1-MD5之外,没有什么区别,那RAND和AUTN参数跑哪儿去了呢?AKA认证耍了个花招,尽量兼容DIGEST,他将RAND(128位)和AUTN(128位)参数进行BASE64编码后放置在了nonce参数中进行传递,如下图所示:

     RAND为服务器端生成的128位随机值,AUTN的生成算法如下图所示:

      AUTN的解析算法如下:

      至于f1-f5算法通常采用Milenage算法,具体不在此赘述,此处解析之后,终端将会得到RES参数,然而此RES参数并非DIGEST认证中Authorization头域的response参数,而是使用RES作为DIGEST认证时的密钥,从而生成最终的response参数。

       至此,AKA认证流程基本完成,CK和IK参数是作为IPSec SA的加密密钥以及完整性密钥,有兴趣的可以翻阅相应的IMS文档。总的说来AKA认证较DIGEST认证更为安全可靠:

  1. 实现了双向认证:服务器对UE的认证是通过RES实现的:如果UE合法,它能够正确地计算出RES,且RES等于XRES;UE对服务器的认证是通过MAC实现的:UE计算期望的消息认证码(XMAC),如果MAC和XMAC一致,则认证成功;
  2. 每次使用的MAC是由不断递增的SQN作为输入变量之一,从而确保了密钥的新鲜性,有效地防止了重放攻击;
  3. 这种机制更利于将服务器分离成认证服务器与鉴权服务器,认证服务器收到请求后,请求鉴权服务器生成AUTN、RAND等健全信息从而进行认证,而鉴权服务器也无需将密码等信息透露给认证服务器。
发布了42 篇原创文章 · 获赞 9 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/jjxojm/article/details/81175503
今日推荐