CN1658553B - A Strong Authentication Method Using Public Key Cryptography Algorithm Encryption Mode - Google Patents
A Strong Authentication Method Using Public Key Cryptography Algorithm Encryption Mode Download PDFInfo
- Publication number
- CN1658553B CN1658553B CN 200410021866 CN200410021866A CN1658553B CN 1658553 B CN1658553 B CN 1658553B CN 200410021866 CN200410021866 CN 200410021866 CN 200410021866 A CN200410021866 A CN 200410021866A CN 1658553 B CN1658553 B CN 1658553B
- Authority
- CN
- China
- Prior art keywords
- user
- authentication
- key
- rand
- authenticator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
技术领域technical field
本发明涉及在通信网络中,确保合法用户访问网络资源、避免其受到虚假服务器欺骗的一种验证用户与服务器双方合法身份的鉴别方法。 The invention relates to an authentication method for verifying the legal identities of both the user and the server to ensure that legal users access network resources and prevent them from being deceived by false servers in a communication network. the
背景技术Background technique
在网络通信领域,使用最普遍的是通过PPP协议实现点到点链接传送数据,采用CHAP协议(Challenge Handshake Authentication Protocol)完成对PPP链接的身份鉴别,这种CHAP协议为质询一握手鉴别协议。链接双方通过点到点可扩展的链路控制协议,简称PPPLCP协议协商,对PPP链接进行配置和测试。在PPP链接建立后,先要对连接者的身份进行鉴别,然后依据鉴别结果,决定是否允许链接进入网络控制协议NCP(Network Control Protocol)阶段的协商。CHAP通过在PPP链接的双方进行一次“三次握手”,完成对对方的身份鉴别。其鉴别是在PPPLCP协议进入开状态(opened)后,鉴别方发起对对端的CHAP鉴别,其过程大致如下: In the field of network communication, the most common use is to transmit data through point-to-point links through the PPP protocol, and use the CHAP protocol (Challenge Handshake Authentication Protocol) to complete the identity authentication of the PPP link. This CHAP protocol is a challenge-handshake authentication protocol. Both parties of the link configure and test the PPP link through negotiation of the point-to-point scalable link control protocol, PPPLCP for short. After the PPP link is established, the identity of the connecter must be authenticated first, and then based on the authentication result, it is decided whether to allow the link to enter the NCP (Network Control Protocol) stage of negotiation. CHAP conducts a "three-way handshake" between the two parties of the PPP link to complete the identification of the other party. The authentication is that after the PPPLCP protocol enters the open state (opened), the authenticator initiates CHAP authentication on the peer end, and the process is roughly as follows:
①鉴别方向被鉴别方发出CHAP质询,质询数据是一个随机数或伪随机数。 ① The authentication direction sends a CHAP challenge to the authenticated party, and the challenge data is a random number or a pseudo-random number. the
②被鉴别方收到CHAP质询后,将质询数据,共享密码等信息依据一定的计算规则,求出一个单向散列值作为对质询的应答发送给鉴别方。 ②After the authenticated party receives the CHAP challenge, it calculates a one-way hash value based on certain calculation rules based on the challenge data, shared password and other information as a response to the challenge and sends it to the authenticating party. the
③鉴别方收到应答后,在本地也依据相同的计算规则,利用共享密钥,质询数据等信息计算出一个期待的散列值,比较CHAP应答结果与期待的散列结果,若一致,则被鉴别方通过身份鉴别,否则为鉴别失败。 ③After receiving the response, the authenticator calculates an expected hash value locally based on the same calculation rules, using the shared key, challenge data and other information, and compares the CHAP response result with the expected hash result. If they are consistent, then The authenticated party passes the identity authentication, otherwise, the authentication fails. the
CHAP协议主要适用于网络访问服务器NAS(Network AccessServer)对来自公共交换电话网PSTN或综合业务数字网ISDN的电路交换连接,拨入连接或专有连接身份的鉴别。 The CHAP protocol is mainly applicable to the network access server NAS (Network Access Server) to identify the identity of the circuit switched connection, dial-in connection or private connection from the public switched telephone network PSTN or integrated services digital network ISDN. the
由于CHAP协议只是一个单向鉴别协议即只对用户鉴别,而不是对用户与服务器间的双向鉴别协议,因此不能防止重放攻击。而且,CHAP协议没有单独将身份鉴别提取出来,因而不能在漫游环境中使用。并且CHAP协议不支持会话密钥导出,不能用于随后的安全通信。 Because the CHAP protocol is only a one-way authentication protocol, that is, it only authenticates the user, rather than a two-way authentication protocol between the user and the server, so it cannot prevent replay attacks. Moreover, the CHAP protocol does not extract identity authentication separately, so it cannot be used in a roaming environment. And the CHAP protocol does not support session key derivation and cannot be used for subsequent secure communication. the
另一种网络通信领域中使用最多的通信传输协议是RADIUS协议。 Another most widely used communication transmission protocol in the field of network communication is the RADIUS protocol. the
由于网络访问服务器NAS,通过Moden池或其它接口与外界相连。用户通过这些接口进入网络分享信息和资源,就需要对通过这些接口进入网络的用户进行身份鉴别,完成对用户的授权访问。RADIUS(RemoteAuthentication Dial-up User Service)正是为这一需要而设计的。它是一种在网络访问服务器与一个共享的鉴别服务器之间通信的规范。按照这种通信规范,网络服务器通过共享鉴别服务器对访问它的用户实现鉴别。NAS和鉴别服务器依据规范交互它们的鉴别信息,授权信息和配置信息。RADIUS还给出了鉴别服务器和鉴别客户端(即NAS或认证器)对信息的处理规范,通过这些处理规范完成对访问NAS的客户的鉴别,授权和配置。 Due to the network access server NAS, it is connected to the outside world through the Moden pool or other interfaces. When users enter the network through these interfaces to share information and resources, it is necessary to authenticate the users who enter the network through these interfaces to complete the authorized access to users. RADIUS (Remote Authentication Dial-up User Service) is designed for this need. It is a specification for communicating between a network access server and a shared authentication server. According to this communication specification, the network server authenticates the users accessing it through the shared authentication server. NAS and authentication server exchange their authentication information, authorization information and configuration information according to the specifications. RADIUS also provides information processing specifications for the authentication server and authentication client (namely NAS or authenticator), through which the authentication, authorization and configuration of clients accessing the NAS are completed. the
概括地说,RADIUS鉴别协议有如下主要特征: In a nutshell, the RADIUS authentication protocol has the following main features:
1)、客户机/服务器模型 1), client/server model
RADIUS将NAS作为客户端。客户端的主要任务是完成与访问用户的交互(目的在于收集用户鉴别信息),向服务器发送收集到的鉴别信息以及对服务器发送回的鉴别结果进行应答。鉴别服务器端称为RADIUS鉴别服务器,它依据客户端发送的用户鉴别请求数据,对用户身份进行鉴别,并返回鉴别结果。 RADIUS uses the NAS as a client. The main task of the client is to complete the interaction with the visiting user (the purpose is to collect user authentication information), send the collected authentication information to the server and respond to the authentication result sent back by the server. The authentication server is called the RADIUS authentication server, which authenticates the user identity according to the user authentication request data sent by the client, and returns the authentication result. the
2)、网络安全性 2), network security
RADIUS服务器与NAS之间共享一对秘密密钥。它们之间的所有通信都受到这对密钥的鉴别保护,同时提供一定的完整性保护。在该服务器与NAS之间传递的敏感数据(如用户口令)还受到机密性保护。RADIUS协议还提供了状态属性以及鉴别器(Authenticator),以防止对客户端或服务器的拒绝攻击、欺骗攻击。RFC3162定义了RADIUS使用IPSEC即IP安全协议栈,但是对IPSEC的支持却不要求。 A pair of secret keys are shared between the RADIUS server and the NAS. All communication between them is protected by the authentication of this pair of keys, while providing some integrity protection. Sensitive data (such as user passwords) passed between the server and the NAS is also protected with confidentiality. The RADIUS protocol also provides state attributes and an authenticator (Authenticator) to prevent denial attacks and spoofing attacks on the client or server. RFC3162 defines that RADIUS uses IPSEC, that is, the IP security protocol stack, but the support for IPSEC is not required. the
3)、可扩展的协议设计 3), scalable protocol design
RADIUS数据包通过一个相对固定的消息头和一系列属性构成。属性采用《属性类型、长度、属性值》三元组组成,用户可以自行定义其它的属性,以扩展RADIUS鉴别协议。 A RADIUS data packet is composed of a relatively fixed message header and a series of attributes. Attributes are composed of "attribute type, length, attribute value" triplet, and users can define other attributes by themselves to extend the RADIUS authentication protocol. the
4)、灵活的鉴别机制 4), flexible identification mechanism
RADIUS协议支持不同的鉴别协议,以实现对需要进行鉴别的用户进行鉴别。鉴别的协议包括PAP、CHAP、MS-CHAP等,在RFC2869RADIUS Extensions中也定义了支持EAP鉴别协议。 The RADIUS protocol supports different authentication protocols to implement authentication on users who need to be authenticated. The authentication protocols include PAP, CHAP, MS-CHAP, etc., and the EAP authentication protocol is also defined in RFC2869RADIUS Extensions. the
RADIUS实现身份鉴别的流程: RADIUS implements the process of identity authentication:
当用户拨入NAS,NAS请求RADIUS服务器进行用户身份鉴别,在获得RADIUS准入回应后,用户得到希望的服务。其大致流程如下: When a user dials in to the NAS, the NAS requests the RADIUS server for user identity authentication, and after obtaining the RADIUS access response, the user obtains the desired service. The general process is as follows:
①拨入用户与NAS建立PPP(也可能为其它协议,如SLIP)连接,NAS要求用户出示鉴别信息。要求出示的方式可能是一个自定义的登陆通知,以及要求用户键入用户名及用户口令,或者是通过PPP协议的鉴别协议,如CHAP等链路成帧协议传送用户的名信息和口令信息。 ① The dial-in user establishes a PPP (or other protocol, such as SLIP) connection with the NAS, and the NAS requires the user to present authentication information. The mode required to be presented may be a self-defined login notification, and the user is required to key in the user name and password, or the authentication protocol of the PPP protocol, such as link framing protocols such as CHAP, to transmit the user's name information and password information. the
②拨入用户向NAS出示鉴别信息。 ② The dial-in user presents the identification information to the NAS. the
③NAS依据这些鉴别信息,构造了一个称为“Access-Request”(即访问请求)的RADIUS消息,发送给RADIUS服务器。Access-Request消息中应包含以下内容:用户名、用户口令、NAS名信息(用做RADIUS使用哪一共享密钥的依据)、用户访问的端口号等信息。其中用户口令应受到机密性保护。 ③ NAS constructs a RADIUS message called "Access-Request" (that is, access request) based on these identification information, and sends it to the RADIUS server. The Access-Request message should include the following content: user name, user password, NAS name information (used as the basis for which shared key is used by RADIUS), port number accessed by the user, and other information. The user password shall be protected by confidentiality. the
④对于一个NAS,往往配有一台主RADIUS服务器以及数台备用RADIUS服务器。如果NAS在发出Access-Request一定时间后仍不能收到回应,则NAS可认为该主服务器不可达。因此NAS可以选择与第二台备用服务器联系。选择规则没有在RADIUS协议中给出:协议实现可以在NAS重发请求一定次数失败后选择第二台服务器,也可以循环选择服务器。比如在等待主服务器应答失败后,立即选择第二台,在等待第二台应答失败后,立即选择第三台..... ④ For a NAS, it is often equipped with a main RADIUS server and several backup RADIUS servers. If the NAS still cannot receive a response after sending the Access-Request for a certain period of time, the NAS can consider the master server to be unreachable. So the NAS can choose to contact the second backup server. The selection rules are not given in the RADIUS protocol: the implementation of the protocol can select the second server after a certain number of failed NAS retransmission requests, and can also select the server in a loop. For example, after waiting for the failure of the main server to reply, immediately select the second one, and after waiting for the failure of the second response, immediately select the third one...
⑤在RADIUS服务器收到Access-Request之后,首先依据NAS的名信息找到本服务器与NAS之间的共享密钥。如果不能找到(例如NAS名不合法),则访问请求应被丢弃;如果能找到,则利用共享密钥验证数据的完整性、合法性等。然后依据请求中的用户名在RADIUS鉴别数据库中查找相应的用户条目。该条目中给出了用户可以访问的资源,以及为访问这些资源所必须满足的条件,如必须出示的口令信息等。RADIUS依据鉴别信息逐一地验证用户是否满足所有的鉴别条件。 ⑤ After the RADIUS server receives the Access-Request, it first finds the shared key between the server and the NAS based on the name information of the NAS. If it cannot be found (for example, the NAS name is invalid), the access request should be discarded; if it can be found, the integrity and legitimacy of the data will be verified using the shared key. Then look up the corresponding user entry in the RADIUS authentication database according to the user name in the request. This entry gives the resources that the user can access, and the conditions that must be met in order to access these resources, such as the password information that must be presented. RADIUS verifies whether the user meets all the authentication conditions one by one according to the authentication information. the
⑥如果用户不能通过所有的验证,则RADIUS给NAS发送回一条“Access-Reject”(访问拒绝)消息,表示用户不能通过验证。NAS依据此消息,拒绝为用户提供所需的服务。 ⑥If the user cannot pass all the verifications, RADIUS sends back an "Access-Reject" (access rejection) message to the NAS, indicating that the user cannot pass the verification. Based on this message, the NAS refuses to provide the required service to the user. the
⑦如果一切验证都通过,RADIUS向NAS发送一条“访问接受,(Access-Accept)消息或者对用户进行又一轮的质询。如果需要又一轮的质询。则RADIUS服务器向NAS发送一条“访问质询”(Access-Challenge)消息,这个消息中给出一组数据,要求用户对数据 进行相应密钥的加密。NAS在收到此质询后,将质询信息发送给拨入用户,用户进行相应加密,并将结果发送给NAS。NAS依据用户的返回结果构造新的一个“访问”请求,并发送给RADIUS服务器。服务器对这个质询应答进行验证,若验证通过,则给NAS发送一条“访问接受”消息。 ⑦If all verifications pass, RADIUS sends an "Access-Accept" message to the NAS or another round of queries to the user. If another round of queries is required, the RADIUS server sends an "Access-Accept" message to the NAS "(Access-Challenge) message, a set of data is given in this message, and the user is required to encrypt the data with the corresponding key. After receiving the challenge, the NAS sends the challenge information to the dial-in user, and the user encrypts the data accordingly. And send the result to NAS. NAS constructs a new "access" request according to the user's return result, and sends it to the RADIUS server. The server verifies the challenge response. If the verification is passed, it sends a "access acceptance" message to NAS .
⑧访问接受消息中应包含可为用户提供的服务(如PPP或Telnet服务)类型,相应的配置信息(如对PPP的IP地址,子网掩码等)。NAS接收到此消息后,对本地环境进行配置,并启动对拨入用户的相应服务。关于RADIUS鉴别协议的通信规范在这里就不进行具体介绍。可以参看RFC2856、RFC2866、RFC2867、RFC2868、RFC2869、RFC2809等标准。 ⑧ The access acceptance message should include the type of service (such as PPP or Telnet service) that can be provided to the user, and the corresponding configuration information (such as the IP address for PPP, subnet mask, etc.). After receiving this message, the NAS configures the local environment and starts corresponding services for dial-in users. The communication specifications of the RADIUS authentication protocol will not be specifically introduced here. You can refer to RFC2856, RFC2866, RFC2867, RFC2868, RFC2869, RFC2809 and other standards. the
RADIUS主要用于拨号PPP和终端服务器访问。随着时间的推移,不断增加的互联网和引入新的访问技术,包括无线、DSL、移动IP和以太网,路由器和网络服务器(NAS)使复杂度和密度增加。单纯的RADIUS协议已经不能满足AAA服务器在鉴别、授权、计费方面的新要求。 RADIUS is mainly used for dial-up PPP and terminal server access. Over time, the ever-growing Internet and the introduction of new access technologies, including wireless, DSL, mobile IP, and Ethernet, routers, and network servers (NAS) have increased complexity and density. The simple RADIUS protocol can no longer meet the new requirements of the AAA server in terms of authentication, authorization, and accounting. the
RADIUS协议存在的问题是: The problems with the RADIUS protocol are:
错误恢复问题:RADIUS协议不支持错误恢复failover机制,结果是不同的实现有不同的failover。 Error recovery problem: The RADIUS protocol does not support the error recovery failover mechanism. As a result, different implementations have different failovers. the
传输级安全问题:RADIUS定义了在响应分组中要求应用层鉴别和完整性的方案。而RADIUS扩展协议中定义了一个附加的鉴别和完整性机制,并且仅仅要求在扩展鉴别协议(EAP)会话中要求。虽然属性隐藏支持,RADIUS不提供每个分组的机密性。在计费时,RADIUS计费假设重放保护由后端的帐单服务器提供,而不是在协议自己中提供。 Transport-level security issues: RADIUS defines schemes that require application-layer authentication and integrity in response packets. An additional authentication and integrity mechanism is defined in the RADIUS extension protocol, and it is only required in the Extended Authentication Protocol (EAP) session. Although attribute hiding is supported, RADIUS does not provide per-packet confidentiality. When accounting, RADIUS accounting assumes that replay protection is provided by the billing server in the backend, not in the protocol itself. the
可靠的传输问题:RADIUS运行在UDP上,并且没有定义重传的行为;其结果是,可靠性随不同的实现而变化。这在计费的时候将是问题,分组的丢失将直接导致收入丢失。 Reliable transport issues: RADIUS runs over UDP and does not define retransmission behavior; as a result, reliability varies from implementation to implementation. This will be a problem when billing, and the loss of the group will directly lead to the loss of revenue. the
代理支持问题:RADIUS不提供对代理的明显支持,包括代理人、重定向和中继。因为期望的行为没有定义,不同的实现是不同的。 Proxy support issues: RADIUS does not provide explicit support for proxies, including proxies, redirects, and relays. Because the desired behavior is not defined and differs between implementations. the
服务器发起的消息问题:前面提到了RADIUS采用客户机/服务器模型,虽然在动态鉴别中定义了RADIUS服务器发起的消息,但是支持却是可选的。这在实现像非请求的连接断开或跨异质的网络中按需的重新鉴别/重新授权是很难实现的。 Messages initiated by the server: As mentioned above, RADIUS adopts the client/server model. Although the message initiated by the RADIUS server is defined in dynamic authentication, support is optional. This is difficult to achieve with things like unsolicited disconnection or on-demand re-authentication/re-authentication across heterogeneous networks. the
可审计性问题:RADIUS没有定义数据对象安全机制,其结果是不可信的代理可以修改属性或分组头而不被发现。连同对能力协商的支持,这在发生争执时很难确定。Auditability issues: RADIUS does not define data object security mechanisms, as a result, untrusted agents can modify attributes or packet headers without being discovered. Along with support for capacity negotiation, this can be difficult to determine in the event of a dispute.
能力协商问题:RADIUS不支持错误处理、能力协商、或为属性的必须的/非必须的标志。因为RADIUS客户和服务器不知道相互之间的能力,它们不能够成功的协商双方之间的可接受服务,或者在一些情况下,甚至不能知道哪些服务被实现。 Capability negotiation issues: RADIUS does not support error handling, capability negotiation, or required/not required flags for attributes. Because RADIUS clients and servers do not know each other's capabilities, they cannot successfully negotiate acceptable services between them, or in some cases, cannot even know which services are implemented. the
对方发现和配置问题:RADIUS实现典型的要求服务器或客户的名字和地址的手工配置,连同相应的共享秘密。这将导致大的管理负荷,并且创建模板来重新使用RADIUS共享秘密,这将导致安全脆弱。 Peer discovery and configuration issues: RADIUS implementations typically require manual configuration of server or client names and addresses, along with corresponding shared secrets. This would result in a large administrative load, and create templates to reuse RADIUS shared secrets, which would lead to security vulnerabilities. the
综上所述单纯使用CHAP协议进行身份认证,使用RADIUS协议进行信息传输,都不能解决移动通信中用户和网络之间的双向鉴别问题,不能有效防止物理层的窃听,重放攻击,字典攻击,存在用户和接入服务器NAS之间的通信安全隐患。 In summary, simply using the CHAP protocol for identity authentication and the RADIUS protocol for information transmission cannot solve the problem of two-way authentication between users and the network in mobile communications, and cannot effectively prevent physical layer eavesdropping, replay attacks, and dictionary attacks. There are communication security risks between users and the access server NAS. the
发明内容Contents of the invention
在现代的通信网络中,用户要访问网络资源,首先要进行用户入网认证,其鉴别的过程就是验证用户身份的合法性,鉴别完成后才能对用户访问网络资源进行授权,并对用户访问网络资源进行计费管理。一般来讲,鉴别过程由三个实体来完成:移动节点MN或称用户、认证器(Authenticator,在接入网络访问服务器NAS中实现)、AAA服务器(Authentication、Authorization和Accounting,鉴别、授权和计费服务器)。用户MN与认证器间为无线信道连接;认证器与AAA服务器间为有线信道连接,二者间的通信传输协议为RADIUS协议。 In a modern communication network, if a user wants to access network resources, he must first authenticate the user into the network. The authentication process is to verify the legitimacy of the user's identity. Manage billing. Generally speaking, the authentication process is completed by three entities: mobile node MN or user, authenticator (Authenticator, implemented in the access network access server NAS), AAA server (Authentication, Authorization and Accounting, authentication, authorization and accounting) fee server). The user MN and the authenticator are connected by a wireless channel; the authenticator and the AAA server are connected by a wired channel, and the communication transmission protocol between the two is the RADIUS protocol. the
本发明的目的在于:提供既有AAA服务器对用户MN入网身份合法性进行鉴别,防止物理层窃听、重放攻击、抵御字典攻击,也有用户MN对AAA服务器进行真实性鉴别,有效进行自我保护,实现第三代移动通信中用户和接入服务器或认证器之间安全通信的一种采用公开密钥密码算法加密模式的强鉴别方法。 The purpose of the present invention is to: provide the existing AAA server to identify the legality of the user MN's network access identity, prevent physical layer eavesdropping, replay attacks, and resist dictionary attacks, and also have the user MN to authenticate the AAA server for effective self-protection. A strong authentication method using the encryption mode of the public key cryptography algorithm to realize the secure communication between the user and the access server or authenticator in the third generation mobile communication. the
本发明的目的是通过实施下述技术鉴别过程来实现的: The purpose of the present invention is achieved by implementing the following technical identification process:
一种采用公开密钥密码算法加密模式的强鉴别方法,包括用户MN拥有公开密码密钥对,其中的秘密密钥由用户MN安全的保存,公开密钥保存在AAA服务器中,如果有中间AAA服务器,公开密钥保存在归属AAA服务器中,AAA服务器拥有公开密码密钥对,其中的秘密密钥由AAA服务器安全保存,而其公开密钥则需由用户MN拥有;用户 MN与AAA服务器共有进行消息完整性处理的消息完整性密钥,公开密码密钥对的产生和公开密钥的分配过程是一个带外过程;用户MN与认证器间的通信为无线信道;认证器和AAA服务器之间的通信协议采用RADIUS协议;其特征在于:鉴别过程依次按如下步骤进行: A strong authentication method using public key cryptographic algorithm encryption mode, including that the user MN has a public cryptographic key pair, the secret key is stored safely by the user MN, and the public key is stored in the AAA server. If there is an intermediate AAA The server, the public key is stored in the belonging AAA server, and the AAA server has a public cryptographic key pair, the secret key of which is safely stored by the AAA server, and the public key must be owned by the user MN; the user MN shares with the AAA server The message integrity key for message integrity processing, the generation of the public encryption key pair and the distribution process of the public key are an out-of-band process; the communication between the user MN and the authenticator is a wireless channel; the communication between the authenticator and the AAA server The communication protocol between adopts the RADIUS protocol; it is characterized in that: the authentication process is carried out according to the following steps in turn:
1、用户MN在某基站控制器的某扇区SC覆盖范围内开机,通过无线链路建立过程,获得无线传输通道资源; 1. The user MN starts up within the coverage of a sector SC of a base station controller, and obtains wireless transmission channel resources through the wireless link establishment process;
2、认证器向用户MN发送身份请求,请求用户MN返回它的身份信息; 2. The authenticator sends an identity request to the user MN, requesting the user MN to return its identity information;
3、用户MN向认证器返回自身的IMSI信息,并且建立鉴别会话; 3. The user MN returns its own IMSI information to the authenticator, and establishes an authentication session;
4、认证器根据用户MN的IMSI身份信息,向其对应的AAA服务器发送鉴别请求/IMSI; 4. The authenticator sends an authentication request/IMSI to the corresponding AAA server according to the IMSI identity information of the user MN;
5、AAA服务器收到鉴别请求/IMSI后,从相应的数据库中找到用户MN的公开密钥和消息完整性密钥,建立同MN的鉴别会话;AAA服务器产生一个随机数RandA,用用户MN的公开密钥加密,得到En(RandA),然后向认证器发送响应/En(RandA); 5. After receiving the authentication request/IMSI, the AAA server finds the public key and the message integrity key of the user MN from the corresponding database, and establishes an authentication session with the MN; the AAA server generates a random number RandA, and uses the user MN's Encrypt with the public key to get En(RandA), and then send a response/En(RandA) to the authenticator;
6、认证器收到从AAA服务器发送来的响应/En(RandA),然后向用户MN发送鉴别请求/En(RandA); 6. The authenticator receives the response/En(RandA) sent from the AAA server, and then sends an authentication request/En(RandA) to the user MN;
7、用户MN收到AAA服务器通过认证器发送来的鉴别请求/En(RandA),用自己的秘密密钥解密,获得了随机数RandA,并将RandA作T变换获得随机数响数Rand_A,同时产生一个随机数RandC,把RandC和Rand_A并置后用AAA服务器的公开密钥加密,得到En(RandC+Rand_A),然后向认证器发送响应/En(RandC+Rand_A); 7. The user MN receives the authentication request /En(RandA) sent by the AAA server through the authenticator, decrypts it with its own secret key, and obtains the random number RandA, and transforms RandA into T to obtain the random number Rand_A. Generate a random number RandC, concatenate RandC and Rand_A and encrypt with the public key of the AAA server to get En(RandC+Rand_A), and then send a response/En(RandC+Rand_A) to the authenticator;
8、认证器收到用户MN发送来的响应/En(RandC+Rand_A),然后向AAA服务器发送鉴别请求/En(RandC+Rand_A); 8. The authenticator receives the response /En(RandC+Rand_A) sent by the user MN, and then sends an authentication request /En(RandC+Rand_A) to the AAA server;
9、AAA服务器收到认证器发送来的鉴别请求/En(RandC+Rand_A),首先用自己的秘密密钥解密,获得随机数RandC和随机数响应Rand_A,比较RandA和Rand_A是否一致,如果不一致,鉴别失败;如果鉴别成功,AAA服务器由RandC通过T变换获得Rand_C,并用MN的公开密钥加密得到En(Rand_C),然后将用户的身份信息IMSI、随机数RandA、RandC通过K变换获得会话密钥SK;并且将IMSI、RandA、RandC和消息完整性密钥,通过MAC计算得到整个鉴别交换完整性值HASH(m),然后将响应/En(Rand_C)+SK+HASH(m)发送给认证器; 9. The AAA server receives the authentication request /En(RandC+Rand_A) sent by the authenticator, first decrypts it with its own secret key, obtains the random number RandC and the random number response Rand_A, compares whether RandA and Rand_A are consistent, if not, The authentication fails; if the authentication is successful, the AAA server obtains Rand_C from RandC through T transformation, and encrypts it with MN's public key to obtain En(Rand_C), and then obtains the session key through K transformation of the user's identity information IMSI, random number RandA, and RandC SK; and IMSI, RandA, RandC and the message integrity key are calculated by MAC to obtain the entire authentication exchange integrity value HASH(m), and then the response/En(Rand_C)+SK+HASH(m) is sent to the authenticator ;
10、认证器收到AAA服务器发送的响应/En(Rand_C)+SK+HASH(m),提取出会话密钥SK和HASH(m);将广播密钥BK用会话密钥SK加密,然后向用户MN发送鉴别请求/En(Rand_C)十En(BK); 10. The authenticator receives the response /En(Rand_C)+SK+HASH(m) sent by the AAA server, extracts the session key SK and HASH(m); encrypts the broadcast key BK with the session key SK, and sends User MN sends authentication request/En(Rand_C)+En(BK);
11、用户MN收到认证器发送来的鉴别请求/En(Rand_C)+En(BK)后,首先用自己的私有密钥解密En(Rand_C)获得Rand_C,比较RandC和Rand_C是否一致,如果一致,则鉴别成功;然后根据自己的身份信息IMSI、AAA服务器产生的随机数RandA、用户自己生成的随机数RandC通过K变换获得会话密钥SK,解密En(BK)获得广播密钥BK;然后根据ISMI、RandA、RandC和消息完整性密钥,通过MAC计算得出整个鉴别交换完整性值HASH(M),再将响应HASH(M)发送给认证器;认证器收到用户MN发来的响应HASH(M)后,比较HASH(M)和HASH(m),如果一致,则鉴别过程成功,可以进行后续的处理。 11. After receiving the authentication request /En(Rand_C)+En(BK) sent by the authenticator, the user MN first decrypts En(Rand_C) with its own private key to obtain Rand_C, and compares whether RandC and Rand_C are consistent. If they are consistent, Then the authentication is successful; then according to the identity information IMSI of oneself, the random number RandA generated by the AAA server, and the random number RandC generated by the user himself, the session key SK is obtained through K transformation, and the broadcast key BK is obtained by decrypting En(BK); then according to the ISMI , RandA, RandC and the message integrity key, calculate the entire authentication exchange integrity value HASH(M) through MAC, and then send the response HASH(M) to the authenticator; the authenticator receives the response HASH sent by the user MN After (M), compare HASH(M) and HASH(m). If they are consistent, the authentication process is successful, and subsequent processing can be performed. the
本发明的优点在于:实现了AAA认证体系的鉴别过程,可用于用户MN接入服务。虽然采用了公开密钥密码算法,但是由于AAA认证体系只需要进行用户和服务器之间进行鉴别,因而可以不用PKI的体系结构。系统甚至可以在AAA服务器中为每个用户的鉴别拥有一个专用的密钥对,只需要定义密钥对的标识符就可以了。在AAA认证体系中采用本方法,将使系统管理容易,其密钥管理复杂度为O(n)。本发明的鉴别方法是双向的鉴别,既有用户对AAA服务器的鉴别,也有AAA服务器对用户的鉴别,能够进行自我保护,能够防止物理层的窃听,防止重放攻击,能够抵御字典攻击,能够产生会话密钥或者分配会话密钥,用于用户和接入服务器NAS之间安全的通信。 The invention has the advantages of realizing the authentication process of the AAA authentication system, and can be used for user MN access services. Although the public key cryptographic algorithm is adopted, because the AAA authentication system only needs to authenticate between the user and the server, the PKI architecture can be omitted. The system can even have a dedicated key pair for each user's authentication in the AAA server, and only needs to define the identifier of the key pair. Adopting this method in the AAA authentication system will make system management easy, and its key management complexity is O(n). The identification method of the present invention is a two-way identification, which includes both the user's identification of the AAA server and the AAA server's identification of the user, which can protect itself, prevent physical layer eavesdropping, prevent replay attacks, and resist dictionary attacks. Generate session keys or distribute session keys for secure communication between users and the access server NAS. the
附图说明Description of drawings
图1为本发明双向身份鉴别过程图 Fig. 1 is the two-way identification process diagram of the present invention
图2为本发明通信过程流程图 Fig. 2 is a flow chart of the communication process of the present invention
图中标记死亡是指物理连接不存在状态;标记建立是表示链路建立状态;标记认证是表示鉴别过程或鉴别成功或鉴别失败,标记网络是表示可使用网络资源,标记终止是表示通信终止状态。 In the figure, the mark dead means that the physical connection does not exist; the mark established means the link establishment state; the mark authentication means the authentication process or authentication success or authentication failure; the mark network means that the network resources can be used; the mark end means the communication termination state . the
具体实施方式Detailed ways
本节中内容主要描述本发明鉴别方法在PPP协议中的具体应用。 The content in this section mainly describes the specific application of the authentication method of the present invention in the PPP protocol. the
为了通过点对点链路建立通信,PPP链路的每一端,必须首先发送 LCP分组以便来设定和测试数据链路。在链路建立好之后,对端才可以被鉴别。然后,PPP必须发送NCP分组以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据包就能在链路上发送了。链路将保持通信配置不变,直到直接的LCP和NCP分组关闭链路,或者是发生一些外部事件的时候(休止状态的定时器期满或者网络管理员干涉)。在设定、维持和终止点对点链路的过程里,PPP链路经过几个清楚的阶段,如图2所示。这张图并没有给出所有的状态转换。 In order to establish communication over a point-to-point link, each end of the PPP link must first send an LCP packet to set up and test the data link. After the link is established, the peer can be identified. PPP must then send NCP packets to select and configure one or more network layer protocols. Once each selected network layer protocol is configured, packets from each network layer protocol can be sent on the link. The link will remain in the communication configuration until direct LCP and NCP packets close the link, or when some external event occurs (inactivity timer expires or network administrator intervenes). In the process of setting up, maintaining and terminating a point-to-point link, a PPP link goes through several distinct stages, as shown in Figure 2. This diagram does not show all state transitions. the
链路死亡(物理连接不存在) Link dead (physical connection does not exist)
链路一定开始并结束于这个阶段。当一个外部事件(例如载波侦听或网络管理员设定)指出物理层已经准备就绪时,PPP将进入链路建立阶段。在这个阶段,LCP自动机器将处于初始状态,向链路建立阶段的转换将给LCP自动机器一个UP启动事件信号。注意:在与调制解调器断开之后,链路将自动返回这一阶段。在用硬件实现的链路里,这一阶段相当的短-仅够侦测设备的存在。 Links must start and end at this stage. When an external event (such as carrier sense or network administrator settings) indicates that the physical layer is ready, PPP will enter the link establishment phase. In this phase, the LCP automaton will be in the initial state, and the transition to the link establishment phase will signal the LCP automaton an UP start event. NOTE: After disconnecting from the modem, the link will automatically return to this stage. In a hardware-implemented link, this phase is rather short - just long enough to detect the presence of the device. the
链路建立阶段 link establishment phase
LCP用于交换配置信息分组(Configure packets),建立连接。一旦一个配置成功,信息分组(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。所有的配置选项都假定使用默认值,除非被配置交换所改变。有一点要注意:只有不依赖于特别网络层协议的配置选项才被LCP配置。在网络层协议阶段,独立的网络层协议的配置,由独立的网络控制协议(NCP)来处理。在这个阶段接收的任何非LCP分组必须被悄悄的丢弃。收到LCP Configure-Request(LCP配置要求)能使链路从网络层协议阶段或者认证阶段返回到链路建立阶段。 LCP is used to exchange configuration information packets (Configure packets) and establish connections. Once a configuration is successful, the information packet (Configure-Ack packet) is sent and received, the exchange is completed and the LCP is turned on. All configuration options assume default values unless changed by configuration exchanges. One thing to note: only configuration options that do not depend on a particular network layer protocol are configured by the LCP. In the network layer protocol stage, the configuration of the independent network layer protocol is handled by the independent network control protocol (NCP). Any non-LCP packets received during this phase MUST be silently discarded. Receiving an LCP Configure-Request (LCP configuration request) can make the link return from the network layer protocol phase or authentication phase to the link establishment phase. the
鉴别阶段 identification stage
在一些链路上,在允许网络层协议分组交换之前,链路的一端可能需要对端被鉴别。默认的鉴别是不需要强制执行的。如果一次执行希望对端根据某一特定的鉴别协议来鉴别,那么它必须在链路建立阶段,要求使用该鉴别协议。应该尽可能在链路建立后立即进行鉴别。而链路质量检查可以同时发生。在一次执行中,禁止因为交换链路质量检查分组,而不确定地将鉴别向后推迟这一做法。在鉴别完成之前,禁止从鉴别阶段前进到网络层协议阶段。如果鉴别失败,被鉴别方应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、鉴别协议,和链路质量监 视协议的分组是被允许的。在该阶段里接收到的其他的分组必须被悄悄的丢弃。注意:在实现中,仅仅是因为超时或者没有应答就造成鉴别的失败是不应该的。鉴别应该允许某种再传输,只有在若干次的鉴别尝试失败以后,不得已的时候才进入链路终止阶段。在鉴别中,哪一方拒绝了另一方的鉴别,哪一方就要负责开始链路终止阶段。本发明鉴别方法就在该阶段进行使用。 On some links, one end of the link may require the peer to be authenticated before network layer protocol packets are allowed to be exchanged. The default authentication is not enforced. If an implementation expects peers to authenticate according to a particular authentication protocol, it MUST require that authentication protocol be used during link establishment. Authentication should be performed as soon as possible after link establishment. And the link quality check can happen at the same time. In an implementation, the practice of postponing authentication indefinitely due to the exchange of link quality check packets is prohibited. Proceeding from the authentication phase to the network layer protocol phase is prohibited until authentication is complete. If the authentication fails, the authenticated party shall transition to the link termination phase. In this phase, only packets of link control protocol, authentication protocol, and link quality monitoring protocol are allowed. Other packets received during this phase MUST be silently discarded. NOTE: An implementation SHOULD NOT fail authentication simply because of a timeout or no response. Authentication should allow some kind of retransmission, and only enter the link termination phase as a last resort after several failed authentication attempts. In authentication, which party rejects the other party's authentication, which party will be responsible for starting the link termination phase. The identification method of the present invention is used at this stage. the
网络层协议阶段 Network Layer Protocol Phase
一旦PPP完成了前面的阶段,每一个网络层协议(例如IP,IPX,或AppleTalk)必须被适当的网络控制协议(NCP)分别设定。每个NCP可以随时被打开和关闭。注意:因为一次实现最初可能需要大量的时间用于链路质量检测,所以当等待peer设定NCP的时候,执行应该避免使用固定的超时。当一个NCP处于Opened状态时,PPP将携带相应的网络层协议分组。当相应的NCP不处于Opened状态时,任何接收到的被支持的网络层协议分组都将被悄悄的丢弃。注意:当LCP处于Opened状态时,任何不被该执行所支持的协议分组必须在Protocol-Reject里返回。只有支持的协议才被悄悄的丢弃。在这个阶段,链路通信量由LCP,NCP,和网络层协议分组的任意可能的联合组成。 Once PPP has completed the previous phases, each network layer protocol (such as IP, IPX, or AppleTalk) must be configured separately with the appropriate Network Control Protocol (NCP). Each NCP can be turned on and off at any time. Note: Because an implementation may initially take a significant amount of time for link quality checks, implementations SHOULD avoid using fixed timeouts while waiting for peers to set NCP. When an NCP is in the Opened state, PPP will carry the corresponding network layer protocol grouping. When the corresponding NCP is not in the Opened state, any supported network layer protocol packets received will be silently discarded. Note: When the LCP is in the Opened state, any protocol packets not supported by the implementation MUST be returned in Protocol-Reject. Only supported protocols are quietly dropped. At this stage, link traffic consists of any possible combination of LCP, NCP, and network layer protocol packets. the
链路终止阶段 link termination phase
PPP可以在任意时间终止链路。引起链路终止的原因很多:载波丢失、鉴别失败、链路质量失败、空闲周期定时器期满、或者管理员关闭链路。 PPP can terminate the link at any time. Link termination can occur for a number of reasons: carrier loss, authentication failure, link quality failure, idle period timer expiration, or administrator shutting down the link. the
LCP用交换Terminate(终止)分组的方法终止链路。当链路正被关闭时,PPP通知网络层协议,以便他们可以采取正确的行动。交换Terminate(终止)分组之后,执行应该通知物理层断开,以便强制链路终止,尤其当鉴别失败时。Terminate-Request(终止-要求)的发送者,在收到Terminate-Ack(终止-允许)后,或者在重启计数器期满后,应该断开连接。收到Terminate-Request的一方,应该等待对端去切断,在发出Terminate-Request后,至少也要经过一个Restart time(重启时间),才允许断开。PPP应该前进到链路死亡阶段。在该阶段收到的任何非LCP分组,必须被悄悄的丢弃。LCP关闭链路就足够了,不需要每一个NCP发送一个终止分组。相反,一个NCP关闭却不足以引起PPP链路的终止,即使那个NCP是当前唯一一个处于Opened状态的NCP。 The LCP terminates the link by exchanging Terminate (terminate) packets. PPP notifies the network layer protocols when the link is being closed so they can take the correct action. After exchanging Terminate packets, the implementation SHOULD notify the physical layer of disconnection in order to force link termination, especially if authentication fails. The sender of the Terminate-Request should disconnect after receiving the Terminate-Ack (terminate-allow), or after the restart counter expires. The party that receives the Terminate-Request should wait for the other end to cut it off. After sending the Terminate-Request, at least one Restart time (restart time) must pass before disconnection is allowed. PPP should proceed to link death phase. Any non-LCP packets received during this phase MUST be silently discarded. It is sufficient for the LCP to close the link, it is not necessary for each NCP to send a terminate packet. On the contrary, closing of an NCP is not enough to cause the termination of the PPP link, even if that NCP is currently the only one in the Opened state. the
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200410021866 CN1658553B (en) | 2004-02-20 | 2004-02-20 | A Strong Authentication Method Using Public Key Cryptography Algorithm Encryption Mode |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200410021866 CN1658553B (en) | 2004-02-20 | 2004-02-20 | A Strong Authentication Method Using Public Key Cryptography Algorithm Encryption Mode |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1658553A CN1658553A (en) | 2005-08-24 |
| CN1658553B true CN1658553B (en) | 2011-04-27 |
Family
ID=35007828
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 200410021866 Expired - Fee Related CN1658553B (en) | 2004-02-20 | 2004-02-20 | A Strong Authentication Method Using Public Key Cryptography Algorithm Encryption Mode |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1658553B (en) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2446199A (en) | 2006-12-01 | 2008-08-06 | David Irvine | Secure, decentralised and anonymous peer-to-peer network |
| CN101034979B (en) * | 2007-04-10 | 2011-05-11 | 中兴通讯股份有限公司 | Protection method for user identify |
| CN101325804B (en) * | 2007-06-11 | 2011-04-20 | 华为技术有限公司 | Method, device and system for acquiring cryptographic key |
| FR2949033B1 (en) * | 2009-08-07 | 2011-10-07 | Sagem Securite | METHOD OF SEARCHING AN ENTITY USING A VERIFIER DEVICE AND ASSOCIATED DEVICES |
| CN102244861B (en) * | 2011-08-14 | 2013-09-18 | 北京理工大学 | Method for generating symmetric keys based on random state of wireless channel |
| CN105138870B (en) * | 2015-10-08 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | A kind of chip validity discrimination method and device |
| CN105282168B (en) * | 2015-11-06 | 2019-02-05 | 盛趣信息技术(上海)有限公司 | Data interactive method and device based on CHAP agreement |
| CN107508847B (en) * | 2016-06-14 | 2021-06-08 | 斑马智行网络(香港)有限公司 | A connection establishment method, device and device |
| CN109586915A (en) * | 2017-09-29 | 2019-04-05 | 国民技术股份有限公司 | Automobile no-key controls authentication method, user terminal, car-mounted device and server |
| CN111132154B (en) * | 2019-12-26 | 2022-10-21 | 飞天诚信科技股份有限公司 | Method and system for negotiating session key |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1312998A (en) * | 1998-08-12 | 2001-09-12 | 凯博帕斯公司 | Access control using attributes contained in public key certificates |
| CN1349723A (en) * | 1999-02-26 | 2002-05-15 | 艾利森公司 | Authentication methods for cellular communicaltions systems |
-
2004
- 2004-02-20 CN CN 200410021866 patent/CN1658553B/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1312998A (en) * | 1998-08-12 | 2001-09-12 | 凯博帕斯公司 | Access control using attributes contained in public key certificates |
| CN1349723A (en) * | 1999-02-26 | 2002-05-15 | 艾利森公司 | Authentication methods for cellular communicaltions systems |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1658553A (en) | 2005-08-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Aboba et al. | RADIUS (remote authentication dial in user service) support for extensible authentication protocol (EAP) | |
| TWI293844B (en) | A system and method for performing application layer service authentication and providing secure access to an application server | |
| CN101496387B (en) | System and method for access authentication in a mobile wireless network | |
| US7624181B2 (en) | Techniques for authenticating a subscriber for an access network using DHCP | |
| US7069438B2 (en) | Establishing authenticated network connections | |
| US20110246770A1 (en) | Authentication method, authentication system, server terminal, client terminal and computer programs therefor | |
| CN1781278B (en) | System and method for providing end-to-end authentication in a network environment | |
| WO2014117525A1 (en) | Method and device for handling authentication of static user terminal | |
| Cheikhrouhou et al. | Security architecture in a multi-hop mesh network | |
| CN101471767B (en) | Method, equipment and system for distributing cipher key | |
| CN114614984B (en) | Time-sensitive network secure communication method based on cryptographic algorithm | |
| CN1658553B (en) | A Strong Authentication Method Using Public Key Cryptography Algorithm Encryption Mode | |
| CN101272379A (en) | An Improved Method Based on IEEE802.1x Security Authentication Protocol | |
| CN114386020B (en) | Quantum-safe fast secondary identity authentication method and system | |
| CN101150406B (en) | Network device authentication method and system and relay forward device based on 802.1x protocol | |
| CN100428667C (en) | A Strong Authentication Method Using Public Key Cryptography Algorithm Digital Signature Mode | |
| CN100490375C (en) | Strong authentication method based on symmetric encryption algorithm | |
| US7715562B2 (en) | System and method for access authentication in a mobile wireless network | |
| CN111416824A (en) | Network access authentication control system | |
| Manulis et al. | Authenticated wireless roaming via tunnels: Making mobile guests feel at home | |
| Aboba et al. | RFC3579: RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP) | |
| CN114070604B (en) | A New Network Authentication Method, Server and Storage Medium | |
| CN115348112B (en) | Method for local area network exchange equipment access authentication and trusted networking | |
| Baheti | Extensible Authentication Protocol Vulnerabilities and Improvements | |
| Pervaiz et al. | Security in wireless local area networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110427 Termination date: 20200220 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |