免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
PAP CHAP

PAP和CHAP協(xié)議介紹2009-09-25 18:40

2009-04-14 23:06  PAP和CHAP協(xié)議介紹

本文檔的Copyleft歸yfydz所有,使用GPL發(fā)布,可以自由拷貝,轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)保持文檔的完整性,嚴(yán)禁用于任何商業(yè)用途。
msn: yfydz_no1@hotmail.com


1. 前言
PAP和CHAP協(xié)議是目前的在PPP(MODEM或ADSL撥號(hào))中普遍使用的認(rèn)證協(xié)議,CHAP在RFC1994中定義,是一種挑戰(zhàn)響應(yīng)式協(xié)議,雙方共享的口令信息不用在通信中傳輸;PAP在RFC1334中定義,是一種簡(jiǎn)單的明文用戶名/口令認(rèn)證方式。

2. PAP
PAP全稱(chēng)為:Password Authentication Protocol(口令認(rèn)證協(xié)議),是PPP中的基本認(rèn)證協(xié)議。PAP就是普通的口令認(rèn)證,要求將密鑰信息在通信信道中明文傳輸,因此容易被sniffer監(jiān)聽(tīng)而泄漏。

PAP協(xié)商選項(xiàng)格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type    | Length    |    Authentication-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

對(duì)于PAP,參數(shù)為:
Type = 3,Length = 4,Authentication-Protocol = 0xc023(PAP)

PAP數(shù)據(jù)包格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+

Code:1字節(jié),表示PAP包的類(lèi)型
      1    認(rèn)證請(qǐng)求
      2    認(rèn)證確認(rèn)
      3    認(rèn)證失敗
Identifier:ID號(hào),1字節(jié),輔助匹配請(qǐng)求和回應(yīng)
Length:2字節(jié),表示整個(gè)PAP數(shù)據(jù)的長(zhǎng)度,包括Code, Identifier, Length和
          Data字段。
Data:可能是0字節(jié)或多個(gè)字節(jié),具體格式由Code字段決定,成功或失敗類(lèi)型包中長(zhǎng)
      度可能為0。

對(duì)于認(rèn)證請(qǐng)求(Code = 1)類(lèi)型,PAP包格式為:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peer-ID Length|  Peer-Id ...
+-+-+-+-+-+-+-+-+-+-+-+-+
| Passwd-Length |  Password  ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+

Code(Code = 1),Identifier和Length字段含義如前面所述,響應(yīng)包的Identifier字段值和挑戰(zhàn)包中的相同,Identifier字段必須每次認(rèn)證時(shí)改變。

Peer-ID-Length:長(zhǎng)度1個(gè)字節(jié),表示Peer-ID域的長(zhǎng)度

Peer-ID:可為0到多個(gè)字節(jié)長(zhǎng),表示認(rèn)證對(duì)方的名稱(chēng)。

Passwd-Length:長(zhǎng)度1個(gè)字節(jié),表示Password域的長(zhǎng)度

Password:可為0到多個(gè)字節(jié)長(zhǎng),表示認(rèn)證的口令,明文

對(duì)于認(rèn)證確認(rèn)(Code = 2)和認(rèn)證失?。–ode = 3)類(lèi)型,PAP包格式為:

0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Msg-Length |  Message  ...
+-+-+-+-+-+-+-+-+-+-+-+-+-

其中:
Code,Identifier和Length字段含義如前面所述,響應(yīng)包的Identifier字段值和認(rèn)證請(qǐng)求包中的相同。

Msg-Length:長(zhǎng)度1個(gè)字節(jié),表示Message域的長(zhǎng)度

Message:可為0到多個(gè)字節(jié)長(zhǎng),具體內(nèi)容由應(yīng)用實(shí)際實(shí)現(xiàn)時(shí)確定,RFC中沒(méi)有限制其
  內(nèi)容,推薦使用可讀的ASCII字符表示信息內(nèi)容。

3. CHAP

CHAP全稱(chēng)為:Challenge Handshake Authentication Protocol(挑戰(zhàn)握手認(rèn)證協(xié)議),主要就是針對(duì)PPP的,除了在撥號(hào)開(kāi)始時(shí)使用外,還可以在連接建立后的任何時(shí)刻使用。

CHAP 協(xié)議基本過(guò)程是認(rèn)證者先發(fā)送一個(gè)隨機(jī)挑戰(zhàn)信息給對(duì)方,接收方根據(jù)此挑戰(zhàn)信息和共享的密鑰信息,使用單向HASH函數(shù)計(jì)算出響應(yīng)值,然后發(fā)送給認(rèn)證者,認(rèn)證 者也進(jìn)行相同的計(jì)算,驗(yàn)證自己的計(jì)算結(jié)果和接收到的結(jié)果是否一致,一致則認(rèn)證通過(guò),否則認(rèn)證失敗。這種認(rèn)證方法的優(yōu)點(diǎn)即在于密鑰信息不需要在通信信道中發(fā) 送,而且每次認(rèn)證所交換的信息都不一樣,可以很有效地避免監(jiān)聽(tīng)攻擊。

CHAP缺點(diǎn):密鑰必須是明文信息進(jìn)行保存,而且不能防止中間人攻擊。

使用CHAP的安全性除了本地密鑰的安全性外,網(wǎng)絡(luò)上的安全性在于挑戰(zhàn)信息的長(zhǎng)度、隨機(jī)性和單向HASH算法的可靠性。

CHAP選項(xiàng)格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type    | Length    |    Authentication-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Algorithm |
+-+-+-+-+-+-+-+-+

對(duì)于CHAP,參數(shù)固定為:

Type = 3,Length = 5,Authentication-Protocol = 0xc223(CHAP),Algorithm = 5 (MD5)

CHAP數(shù)據(jù)包格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+

Code:1字節(jié),表示CHAP包的類(lèi)型
      1    挑戰(zhàn)
      2    響應(yīng)
      3    成功
      4    失敗

Identifier:ID號(hào),1字節(jié),輔助匹配挑戰(zhàn)、響應(yīng)和回答,每次使用CHAP時(shí)必須改變

Length:2字節(jié),表示整個(gè)CHAP數(shù)據(jù)的長(zhǎng)度,包括Code, Identifier, Length和
          Data字段。

Data:可能是0字節(jié)或多個(gè)字節(jié),具體格式由Code字段決定,成功或失敗類(lèi)型包中長(zhǎng)度
      可能為0

對(duì)于挑戰(zhàn)(Code = 1)和響應(yīng)(Code = 2)類(lèi)型,CHAP包格式為
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Value-Size |  Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Name ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

其中:
Code,Identifier和Length字段含義如前面所述,響應(yīng)包的Identifier字段值和挑戰(zhàn)包中的相同。

Value-Size:此字段1字節(jié)表示Value的長(zhǎng)度

Value:至少是一個(gè)字節(jié),可變長(zhǎng),按網(wǎng)絡(luò)序傳輸,挑戰(zhàn)/響應(yīng)信息在此字段中說(shuō)明,
      挑戰(zhàn)信息必須是隨機(jī)的,在每次認(rèn)證時(shí)改變,挑戰(zhàn)信息是由應(yīng)用在實(shí)際實(shí)現(xiàn)
      中自己定義的,RFC中并沒(méi)有規(guī)定挑戰(zhàn)信息的具體格式;

響應(yīng)值按下面的公式進(jìn)行計(jì)算:
  Response=HASH(Identifier+secret+Challenge)

其中“+”號(hào)表示將各數(shù)據(jù)在內(nèi)存中串起來(lái),其中HASH算法可以使用MD5,所以計(jì)算出來(lái)的HASH值是固定的,16字節(jié)長(zhǎng)。

  Name:至少一個(gè)字節(jié),用來(lái)標(biāo)志所傳的這個(gè)包,必須是以'\0'或“
”結(jié)束,
      Name字段的長(zhǎng)度可根據(jù)Length和Value-Size計(jì)算出來(lái)。

對(duì)于成功(Code = 3)或失?。–ode = 4)類(lèi)型
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Message  ...
+-+-+-+-+-+-+-+-+-+-+-+-+-

Code,Identifier和Length字段含義如前面所述,Identifier字段和挑戰(zhàn)/響應(yīng)信息一致。

Message可以是0字節(jié),也可以是多個(gè)字節(jié),內(nèi)容可以根據(jù)實(shí)際應(yīng)用自己確定。

4. 結(jié)語(yǔ)

PAP和CHAP在目前的PPP應(yīng)用中都在使用,CHAP相對(duì)要復(fù)雜一些,但安全性也高一些。在PPP具體實(shí)現(xiàn)中通常是同時(shí)使用,在Linux下PPP的實(shí)現(xiàn)中,如果服務(wù)器要求的PAP認(rèn)證失敗,會(huì)再次要求用CHAP認(rèn)證。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
什么是PPP?PPP的認(rèn)證方式又有哪些?
PPP協(xié)議
PPP的基本含義及實(shí)現(xiàn)方法
class文件說(shuō)明
Java文件編譯與反編譯(二):class文件解析
使用虛擬機(jī)搭建基于ROS的PPPOE服務(wù)器進(jìn)行認(rèn)證攔截
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服