最新eapsim技术手册资料.docx

上传人:b****6 文档编号:6336478 上传时间:2023-01-05 格式:DOCX 页数:13 大小:899.08KB
下载 相关 举报
最新eapsim技术手册资料.docx_第1页
第1页 / 共13页
最新eapsim技术手册资料.docx_第2页
第2页 / 共13页
最新eapsim技术手册资料.docx_第3页
第3页 / 共13页
最新eapsim技术手册资料.docx_第4页
第4页 / 共13页
最新eapsim技术手册资料.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

最新eapsim技术手册资料.docx

《最新eapsim技术手册资料.docx》由会员分享,可在线阅读,更多相关《最新eapsim技术手册资料.docx(13页珍藏版)》请在冰豆网上搜索。

最新eapsim技术手册资料.docx

最新eapsim技术手册资料

EAP-SIM技术手册

一.基本概念

1.EAP-SIM的定义

EAP-SIM是采用GSM-SIM卡作为EAP认证和密匙分发的机制。

它是基于GSM,即全球移动通讯系统(GlobalSystemforMobileCommunication)认证的基础上产生的。

由于GSM认证缺少双向认证,只是服务器端认证了用户端;而且,会话密钥Kc只有64位,密钥长度太短,没有足够的强度抵抗暴力攻击。

所以,EAP-SIM才应运而生。

EAP-SIM提供了双向认证,即服务器端认证客户端,客户端也认证服务器端,只有双向认证通过之后,服务器端才发送EAP-Success消息至客户端,客户端才可以接入网络。

同时,EAP-SIM认证机制还通过多次挑战响应机制,生成更强的会话密钥。

2.EAP-SIM的协议包格式

Code

Identifier

Length

Type

Subtype

Reserved

AttributeField

在上表中表示EAP-SIM协议包的格式。

Code域占据一个字节,代表EAP包类型,其中1代表request类型,2代表response类型,3代表success类型,4代表failure类型。

Identifier域占据一个字节,指代数据包的标识域,方便request包与response包的匹配。

Length域占据两个字节,标识EAP包的总长度。

Type域占据一个字节,此处的值为18。

Subtype域占据一个字节,标识EAP-SIM子类型,其中10表示start类型,11表示challenge类型。

Reserved域占据两个字节,为协议将来的扩展,目前保留,值置为0。

数据包随后的字段为属性域,根据包的类型不同,属性域也有所不同。

3.EAP-SIM的工作原理

客户端可以是手机或是具有SIM卡读卡器的电脑。

首先,客户端通过安全隧道与支持802.1x的无线接入点(AP)取得联系,而后通过WLANAP连接到Radius服务器,Radius服务器支持EAP-SIM认证协议,并且具有GSM/MAP/SS7的数据通道,通过此通道与存储着用户信息的HLR(HomeLocationRegister,归属位置寄存器)进行连接。

从理论上讲,在EAP-SIM的服务器端,需要有Radius服务器和HLR(归属位置寄存器),二者通过GSM/MAP/SS7的数据通道进行连接。

但在本手册中,我们是将HLR和Radius服务器整合为一个整体,即HLR数据库仅仅是Hostapd服务器中的一个文件——hostapd.sim_db,在这个文件中存储着要接入的用户信息。

本实验用到的EAP-SIM认证结构如下图所示:

4.EAP-SIM的认证流程

整个EAP-SIM的认证流程如下所示:

(1).客户端发送EAPOL_Start帧,请求认证接入;

(2).WLANAP发出请求帧,请求客户端发送身份信息;

(3).客户端响应请求,将身份信息发送至AP;

(4).AP将客户端身份信息重新封装成RADIUSAccess-Request帧转发至服务器端;

(5).服务器验证客户端身份,验证合法之后向用户发送EAP-Request/SIM/Start帧,封装在RADIUSAccess-Challenge帧中;

(6).AP提取RADIUSAccess-Challenge帧中的EAP-Request/SIM/Start帧,转发至客户端;

(7).客户端响应请求,将EAP-Response/SIM/Start帧发送至AP;

(8).AP将EAP-Response/SIM/Start帧重新封装成RADIUSAccess-Request帧,转发至服务器端;

(9).服务器根据客户端响应结果,回送EAP-Request/SIM/Challenge帧至AP,此帧封装在RADIUSAccess-Challenge帧中;

(10).AP提取RADIUSAccess-Challenge帧中的EAP-Request/SIM/Challenge帧,转发至客户端;

(11).客户端响应请求,将EAP-Response/SIM/Challenge帧发送至AP;

(12).AP将EAP-Response/SIM/Challenge帧重新封装成RADIUSAccess-Request帧,转发至服务器端;

(13).服务器端认证成功,将EAP-Success帧封装在RADIUSAccess-Accept帧中,发送至AP;

(14).AP提取RADIUSAccess-Accept帧中的EAP-Success帧,转发至客户端.EAP-SIM双向认证结束,认证成功。

二.实验部分

1.搭建EAP-SIM测试环境的需求清单

1、一张sim卡。

无特殊要求,现在通用的sim卡即可。

2、一部支持EAP-SIM认证的手机用作客户端。

例如华为的安卓手机T8830。

售价在800元左右。

或者华为的安卓手机AscendG305T,已通过四川现网测试,具备真正EAP-SIM商用能力。

售价大概在600元左右。

3、一款支持802.1X协议的无线路由器。

目前市面上大部分TP-LINK的路由器均支持。

4、认证服务器。

Linux系统下的hostapd或者freeradius服务器均可。

Hostapd配置比较简单,容易上手。

Freeradius服务器配置难度大,但是功能更强。

2.配置路由器

进入路由器的设置界面。

配置如下:

认证类型使用WPA2。

因为EAP-SIM认证类型是WPA2认证类型的其中一种。

加密算法采用AES。

Radius服务器IP:

设置成radius服务器所在电脑的IP。

Radius端口:

设置成1812。

Radius密码:

这是radius服务器和路由器之间进行通信的密码。

3.radius服务器的安装

使用开源软件hostapd来搭建radius服务器。

1、在hostapd的官方网站http:

//w1.fi/hostapd/获取hostapd的压缩包。

2、将获取到的包解压,进入hostapd。

在终端输入命令:

tarxzvfhostapd-x.y.z.tar.gz 

cdhostapd-x.y.z/hostapd 

3、复制配置文件

在终端输入命令:

cpdefconfig.config

4、配置.config文件

选取以下配置:

CONFIG_DRIVER_WIRED=y

CONFIG_DRIVER_NONE=y

CONFIG_EAP=y

CONFIG_EAP_MD5=y

CONFIG_EAP_TLS=y

CONFIG_EAP_MSCHAPV2=y

CONFIG_EAP_PEAP=y

CONFIG_EAP_GTC=y

CONFIG_EAP_TTLS=y

CONFIG_EAP_SIM=y

CONFIG_EAP_AKA=y

CONFIG_EAP_PAX=y

CONFIG_EAP_PSK=y

CONFIG_EAP_SAKE=y

CONFIG_EAP_GPSK=y

CONFIG_EAP_GPSK_SHA256=y

CONFIG_EAP_IKEV2=y

CONFIG_EAP_TNC=y

CONFIG_PKCS12=y

CONFIG_RADIUS_SERVER=y

这里需要注意几点:

1)这里我仅仅把hostapd作为一个radiusserver使用,因此.config文件的其它部分都注释掉。

2)编译过程中可能会出现缺乏openssl文件等错误,需要下载编译安装openssl。

5、在终端输入命令make、makeinstall,hostapd安装成功。

4.radius服务器的配置

1、启动radius服务器前需要先对配置文件hostapd.conf进行配置。

在安装目录下找到hostapd.conf文件,进行配置。

主要配置以下内容:

interface=eth0

eap_server=1

eap_user_file=/home/yang/hostapd.eap_user

eap_sim_db=unix:

/tmp/hlr_auc_gw.sock

own_ip_addr=192.168.1.253#用于配置路由器的IP

auth_server_addr=127.0.0.1#radius服务器的地址

auth_server_port=1812#radius服务器的端口

auth_server_shared_secret=secret

radius_server_clients=/home/yang/hostapd.radius_clients#配置客户端的文件路径

radius_server_auth_port=1812

2、配置hostapd.eap_user

将安装目录下的范例文件hostapd.eap_user直接拷来用即可。

3、配置hostapd.radius_clients

允许IP为192.168.1.253的无线路由器使用这个radius服务器,共享密码为yangrenjie:

192.168.1.253yangrenjie

5.编译安装hlr_auc_gw程序

hlr_auc_gw程序用于radius认证服务器和hlr的连接。

同时可以监听客户端发来的请求。

在安装目录下找到hlr_auc_gw.c文件,在终端输入make、makeinstall,编译并安装。

6.模拟测试

1、在手机端用hellosim.apk这个软件读出sim卡的IMIS、Kc、SRES、Rand这个四个值。

将这四个值以一定的格式写入到hostapd安装目录下的hostapd.sim_db这个文件中。

此文件相当于HLR。

2、在hostapd安装目录下,启动终端。

输入命令:

sudo./hlr_auc_gw–ghostapd.sim_db

该命令用于服务器和hlr连接,并监听客户端的请求。

Doesthe鏇savethe鎬ф帶鍒?

3、启动另一个终端。

输入命令:

sudohostapdhostapd.conf–dd

本命令用于启动radius服务器。

The鍦version澘Lu熻嵎鐜?

4、用手机搜寻测试用的路由器SSID。

安全类型为802.1X。

TheXid粯Luт笟鍔?

Gansentencethe細鐗╂祦

图中SSID为fengfengfeng的路由器,就是我们测试用的路由器。

The鍓嶇Jiang鏈?

The鏃犳澘Luтjoys5、连接的时候对手机进行设置,将验证类型改为EAP-SIM方式。

TheYue夌JiangChenュ姪Lu?

Doesthe鍒mixtoclench鐐?

TheLiao€?

崟鏃ユ?

6、进行连接

The鑽夊師Wanacrossesthe敤鏉冭瘉监听端显示信息如下所示:

服务器端显示信息如下所示:

最后,实验结果说明,手机无需输入用户名和密码,只要利用SIM卡的信息即可通过认证,与服务器连接。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1