EAPSIM技术手册.docx

上传人:b****0 文档编号:9889845 上传时间:2023-05-21 格式:DOCX 页数:13 大小:868.66KB
下载 相关 举报
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_第6页
第6页 / 共13页
EAPSIM技术手册.docx_第7页
第7页 / 共13页
EAPSIM技术手册.docx_第8页
第8页 / 共13页
EAPSIM技术手册.docx_第9页
第9页 / 共13页
EAPSIM技术手册.docx_第10页
第10页 / 共13页
EAPSIM技术手册.docx_第11页
第11页 / 共13页
EAPSIM技术手册.docx_第12页
第12页 / 共13页
EAPSIM技术手册.docx_第13页
第13页 / 共13页
亲,该文档总共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=eth0eap_server=1eap_user_file=/home/yang/hostapd。

eap_usereap_sim_db=unix:

/tmp/hlr_auc_gw。

sockown_ip_addr=192。

168。

1.253#用于配置路由器的IPauth_server_addr=127.0。

0。

1#radius服务器的地址

auth_server_port=1812#radius服务器的端口

auth_server_shared_secret=secretradius_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连接,并监听客户端的请求.

3、启动另一个终端.输入命令:

sudohostapdhostapd.conf–dd

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

4、用手机搜寻测试用的路由器SSID.安全类型为802.1X。

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

5、连接的时候对手机进行设置,将验证类型改为EAP-SIM方式。

6、进行连接

监听端显示信息如下所示:

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

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

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2