KR100241214B1 - Authorization method in mobile telecommunication - Google Patents

Authorization method in mobile telecommunication Download PDF

Info

Publication number
KR100241214B1
KR100241214B1 KR1019970053751A KR19970053751A KR100241214B1 KR 100241214 B1 KR100241214 B1 KR 100241214B1 KR 1019970053751 A KR1019970053751 A KR 1019970053751A KR 19970053751 A KR19970053751 A KR 19970053751A KR 100241214 B1 KR100241214 B1 KR 100241214B1
Authority
KR
South Korea
Prior art keywords
authentication key
key
authentication
input
input value
Prior art date
Application number
KR1019970053751A
Other languages
Korean (ko)
Other versions
KR19990032656A (en
Inventor
김현욱
이원준
이성범
김성일
백지현
Original Assignee
서정욱
에스케이텔레콤주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 서정욱, 에스케이텔레콤주식회사 filed Critical 서정욱
Priority to KR1019970053751A priority Critical patent/KR100241214B1/en
Publication of KR19990032656A publication Critical patent/KR19990032656A/en
Application granted granted Critical
Publication of KR100241214B1 publication Critical patent/KR100241214B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 인증키 검증 방법 및 인증키 생성 방법에 관한 것임.The present invention relates to an authentication key verification method and an authentication key generation method.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 단말기 일련번호를 이용하여 인증키를 생성하는 인증키 생성 방법과, 입력된 인증키의 오류를 체크하여 인증키가 정확하게 입력되었는지를 검증하는 인증키 검증 방법을 제공하는데 그 목적이 있음.An object of the present invention is to provide an authentication key generation method for generating an authentication key using a terminal serial number and an authentication key verification method for verifying whether an authentication key is correctly input by checking an error of an input authentication key.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 가입자로부터 인증키 입력값을 수신한 이동통신 단말기는 상기 인증키 입력값중에서 인증키를 추출하는 제 1 단계; 추출한 인증키의 패리티 비트와 배타적 합과 체크섬을 계산한 후에 상기 인증키 입력값과 인증키 계산값을 비교하여 인증키가 정상적으로 입력되었는지를 판단하는 제 2 단계; 인증키가 정상적으로 입력되지 않았으면 재입력 메시지를 표시하여 상기 인증키 입력값을 재입력하도록 하는 제 3 단계; 및 인증키가 정상적으로 입력되었으면 인증키(A_Key)를 저장하고 인증키를 인증알고리즘의 입력값으로 설정하는 제 4 단계를 포함한다.The present invention provides a mobile communication terminal that receives an authentication key input value from a subscriber, comprising: a first step of extracting an authentication key from the authentication key input value; Calculating a parity bit, an exclusive sum and a checksum of the extracted authentication key, and then comparing the authentication key input value with the calculation value of the authentication key to determine whether the authentication key is normally input; A third step of re-entering the authentication key input value by displaying a re-entry message if the authentication key is not normally input; And a fourth step of storing the authentication key A_Key and setting the authentication key as an input value of the authentication algorithm when the authentication key is normally input.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 이동통신 시스템에서의 인증키 검증에 이용됨.The present invention is used to verify the authentication key in a mobile communication system.

Description

이동통신 단말기에서의 인증키 검증 방법 및 인증키 생성 장치에서의 인증키 생성 방법Authentication key verification method in mobile communication terminal and authentication key generation method in authentication key generation device

본 발명은 코드분할다중접속(CDMA) 방식에서 이동통신 단말기가 입력되는 인증키를 검증하는 인증키 검증 방법과 인증키 생성 장치가 이동통신 단말기에 입력하기 위한 인증키를 생성하는 인증키 생성 방법에 관한 것이다.The present invention provides an authentication key verification method for verifying an authentication key inputted by a mobile communication terminal in a code division multiple access (CDMA) method, and an authentication key generation method for generating an authentication key for an authentication key generation device to input into a mobile communication terminal. It is about.

먼저 본 발명에 사용되는 용어를 정의하면, 인증키(A_Key)는 이동통신 단말기의 고유일련번호인 ESN(Electronic Serial Number)과 연관되어 인증키 생성 장치에서 생성되어, 해당 이동통신 단말기에 입력되면 이동통신 단말기에서는 입력된 인증키의 오류를 체크하여 인증키가 정확하게 입력되었는지를 검증한다. 따라서, ESN이 다른 이동통신 단말기를 가진 가입자가 인증키(A_Key)를 불법으로 복제하여 통화하는 것을 막을 수 있다.First, when the terms used in the present invention are defined, an authentication key (A_Key) is generated in the authentication key generation device in association with an ESN (Electronic Serial Number), which is a unique serial number of the mobile communication terminal, and moves when inputted to the corresponding mobile communication terminal. The communication terminal verifies that the authentication key is correctly input by checking an error of the input authentication key. Accordingly, the ESN can prevent a subscriber having another mobile communication terminal from illegally copying an authentication key (A_Key) and making a call.

코드분할다중접속(CDMA : Code Division Multiple Access) 방식의 이동통신 시스템에서의 인증서비스는 기본적인 단말기 인식자인 단말기 일련번호(ESN)와 단말기 식별번호(MIN : Mobile Identification Number)와 인증키 등을 인증 파라미터로 이용하여 이동통신 시스템과 단말기의 합법성을 검증하게 된다. 인증 방식으로는 등록 인증, 발호 인증, 착호 인증 등이 있으며, 적법한 이동통신 단말기에 한하여 통화가 이루어진다.In the code division multiple access (CDMA) mobile communication system, the authentication service includes a terminal serial number (ESN), a mobile identification number (MIN) and an authentication key, which are basic terminal identifiers. The validity of the mobile communication system and the terminal is verified by using the. Authentication methods include registration authentication, call authentication, call authentication, and the like, and a call is made only to a legitimate mobile communication terminal.

이동통신 시스템에서는 불법가입자의 통화를 방지하기 위하여 인증 방식을 도입하고 있으며, 이러한 인증 방식에서 인증키 값은 핵심적인 파라미터이므로 오류가 없이 입력되어야 한다. 그러나, 현재까지는 인증키를 생성하여 정확하게 이동통신 단말기에 입력하기 위한 방법이 제시되어 있지 않다.In the mobile communication system, an authentication method is introduced to prevent illegal subscriber calls. In this authentication method, an authentication key value is a critical parameter and should be entered without error. However, until now, no method for generating an authentication key and inputting the authentication key correctly into a mobile communication terminal has been proposed.

따라서, 본 발명의 목적은 이동통신 단말기의 고유한 일련번호(ESN : Electronic Serial Number)를 이용하여 인증키 생성 장치에서 인증키를 생성하는 인증키 생성 방법을 제공하는데 있다.Accordingly, an object of the present invention is to provide an authentication key generation method for generating an authentication key in an authentication key generation device using a unique serial number (ESN) of a mobile communication terminal.

또한, 본 발명의 다른 목적은, 생성된 인증키가 이동통신 단말기에 입력되면 이동통신 단말기에서는 입력된 인증키의 오류를 체크하여 인증키가 정확하게 입력되었는지를 검증하여 입력 오류가 발생되었으면 해당 메시지를 표시하고 재입력을 요구하여 인증키를 정확하게 입력받기 위한 인증키 검증 방법을 제공하는데 있다.In addition, another object of the present invention, when the generated authentication key is input to the mobile communication terminal, the mobile communication terminal checks the error of the input authentication key to verify that the authentication key is entered correctly, if the input error occurs, the corresponding message is displayed. The present invention provides a method for verifying an authentication key for correctly inputting an authentication key by displaying and requesting re-entry.

도 1 은 인증서비스를 위한 이동통신 시스템의 구성도.1 is a configuration diagram of a mobile communication system for an authentication service.

도 2 는 본 발명이 적용되는 이동통신 단말기의 외부 구조도.2 is an external structural diagram of a mobile communication terminal to which the present invention is applied;

도 3 은 인증키 생성 장치에서 생성되어 이동통신 단말기에 주입되는 인증키(A_Key)의 구조도.3 is a structural diagram of an authentication key (A_Key) generated by the authentication key generation device and injected into the mobile communication terminal.

도 4 는 64비트로 구성된 인증키(A-Key)의 일예시도.4 is an exemplary view of an A-Key composed of 64-bits.

도 5 는 바이트 단위로 구성된 인증키(A_Key)의 일예시도.5 is an example of an authentication key (A_Key) configured in units of bytes.

도 6 은 8비트로 구성된 단말기 일련번호(ESN)의 구조도.6 is a structural diagram of an 8-bit terminal serial number (ESN).

도 7 은 본 발명에 따른 인증키 검증 방법에 대한 흐름도.7 is a flowchart illustrating an authentication key verification method according to the present invention.

도 8 은 본 발명에 따른 인증키 생성 방법에 대한 흐름도.8 is a flowchart illustrating a method for generating an authentication key according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

1 : 공중통신망 2 : 이동통신 교환기/방문자위치등록기1: public communication network 2: mobile communication exchange / visitor location register

3 : 홈위치등록기(HLR) 4 : 인증센터(AC)3: Home Location Register (HLR) 4: Authentication Center (AC)

5 : 기지국/기지국제어기 8 : 이동통신 단말기5: base station / base international controller 8: mobile communication terminal

9 : 안테나 10 : 표시부9 antenna 10 display unit

11 : 키패드11: keypad

상기 목적을 달성하기 위하여 본 발명은, 인증키 생성 장치는 사용자로부터 임의의 난수로 이루어진 인증키 값을 입력받으면 인증키를 제1 소정 단위로 분류하여 패리티 비트를 계산하는 제 1 단계; 인증키를 제2 소정 단위로 분류하여 배타적 합을 계산하는 제 2 단계; 상기 인증키의 배타적 합과 단말기의 일련번호(ESN)를 이용하여 체크섬을 계산하는 제 3 단계; 및 상기 인증키, 패리티 비트 및 체크섬 등을 인증키 입력값으로 설정하여 사용자에게 출력하는 제 4 단계를 포함한다.In order to achieve the above object, the present invention provides an authentication key generating apparatus comprising: a first step of calculating a parity bit by classifying an authentication key into a first predetermined unit when receiving an authentication key value consisting of random numbers from a user; Calculating an exclusive sum by classifying the authentication key into a second predetermined unit; A third step of calculating a checksum using an exclusive sum of the authentication key and a serial number (ESN) of the terminal; And setting the authentication key, the parity bit, the checksum, etc. as an authentication key input value and outputting the same to the user.

상기 다른 목적을 달성하기 위하여 본 발명은, 가입자로부터 인증키 입력값을 수신한 이동통신 단말기는 상기 인증키 입력값중에서 인증키(A_Key)를 추출하는 제 1 단계; 추출한 인증키의 패리티 비트와 배타적 합과 체크섬을 계산한 후에 상기 인증키 입력값과 인증키 계산값을 비교하여 인증키가 정상적으로 입력되었는지를 판단하는 제 2 단계; 상기 제 2 단계의 판단 결과, 인증키가 정상적으로 입력되지 않았으면 재입력 메시지를 표시하여 상기 인증키 입력값을 재입력하도록 하는 제 3 단계; 및 상기 제 2 단계의 판단 결과, 인증키가 정상적으로 입력되었으면 인증키(A_Key)를 저장하고 인증키를 인증알고리즘의 입력값으로 설정하는 제 4 단계를 포함한다.In order to achieve the above object, the present invention provides a mobile communication terminal that receives an authentication key input value from a subscriber, comprising: extracting an authentication key (A_Key) from the authentication key input value; Calculating a parity bit, an exclusive sum and a checksum of the extracted authentication key, and then comparing the authentication key input value with the calculation value of the authentication key to determine whether the authentication key is normally input; A third step of re-entering the authentication key input value by displaying a re-entry message if the authentication key is not normally input as a result of the determination of the second step; And a fourth step of storing the authentication key (A_Key) and setting the authentication key as an input value of the authentication algorithm when the authentication key is normally input as the determination result of the second step.

이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment according to the present invention;

도 1 은 인증서비스를 위한 이동통신 시스템의 구성도이다.1 is a configuration diagram of a mobile communication system for an authentication service.

인증서비스를 구현하기 위해서는 이동통신 시스템에 인증센터(AC : Authentication Center)(4)를 별도로 설치하여야 한다.In order to implement the authentication service, an authentication center (AC) 4 must be separately installed in the mobile communication system.

여기서, 착호 등록(이동가입자가 전화를 수신함)를 일예로 살펴보면, 발신자가 일반 공중통신망(PSTN : Public Switching Telephone Network)(1)을 이용하여 이동가입자와 통화를 원할 경우에 이동통신 교환기(MSC : Mobile Switching Center)(2)와 접속하게 되며, 이동통신 교환기(2)는 자신의 방문자위치등록기(VLR : Visit Location Register)를 읽어서 가입자의 위치 및 등록정보를 이용하게 되며, 더불어 인증센터(AC : Authentication Center)(4)로 인증을 요구하게 된다. 이때, 이동통신 교환기(2)는 새롭게 등록하는 가입자에 대해서는 가입 지역의 홈위치등록기(HLR : Home Location Register)(3)로부터 가입자 정보를 가져오게 된다.Here, the call registration (mobile subscriber receives a call) as an example, when the caller wants to talk to the mobile subscriber using a public switching telephone network (PSTN) (1) mobile communication switch (MSC: Mobile Switching Center (2), and the mobile communication switchboard 2 reads its Visitor Location Register (VLR) and uses the subscriber's location and registration information. Authentication Center (4) will require authentication. At this time, the mobile communication switch 2 obtains subscriber information from a Home Location Register (HLR) 3 of a subscription area for a newly registered subscriber.

이동통신 교환기(2)는 이러한 인증 과정을 통하여 합법적인 가입자일 경우에 통화를 허용하고, 불법가입자일 경우에는 호를 단절시켜서 통화를 중지시킨다.Through this authentication process, the mobile communication switch 2 permits a call in the case of a legitimate subscriber and, in the case of an illegal subscriber, disconnects the call and stops the call.

도 2 는 본 발명이 적용되는 이동통신 단말기의 외부 구조도이다.2 is an external structural diagram of a mobile communication terminal to which the present invention is applied.

이동통신 단말기(8)는 기지국(5)과 고주파를 송수신하는 안테나(9)와 접속 및 통화 상태를 표시하기 위하여 액정표시장치(LCD)를 이용하여 구성한 표시부(10)와 정보 입력 및 단말기 제어에 사용되는 키패드(11) 등을 구비한다.The mobile communication terminal 8 is connected to an antenna 9 which transmits and receives a high frequency to and from the base station 5, to the display unit 10 configured using a liquid crystal display (LCD), information input and terminal control. The keypad 11 etc. which are used are provided.

이하, 도 3 내지 6 을 참조하여 인증키 생성 방법 및 인증키 검증 방법의 원리를 상세히 살펴보면 다음과 같다.Hereinafter, the principles of the authentication key generation method and the authentication key verification method will be described in detail with reference to FIGS. 3 to 6.

먼저, 인증키(A_Key : Authentication Key)는 ″IS-95-A″에 정의된 코드분할다중접속(CDMA) 방식의 인증 수행을 위한 핵식점인 파라미터로서, 인증센터와 이동통신 단말기에 동일하게 등록되어 있어야 한다. 또한, 인증키(A_Key)는 이동통신 단말기가 이동통신 시스템에 접속하기 위한 중요한 값이므로 정확하게 이동통신 단말기에 주입되어야 한다. 이러한 인증키(A_Key)는 이진수 64비트로 구성되고, 십진수로는 20디지트로 구성된다.First, an authentication key (A_Key) is a parameter that is a key point for performing code division multiple access (CDMA) authentication defined in ″ IS-95-A ″ and is registered in the authentication center and the mobile terminal in the same way. Should be. In addition, the authentication key (A_Key) is an important value for accessing the mobile communication terminal to the mobile communication system, so it must be accurately injected into the mobile communication terminal. This authentication key (A_Key) is composed of 64 bits binary, 20 digits in decimal.

그리고, 인증키를 이동통신 단말기에 입력할 때, 인증키(64비트)외에 부가적으로 선형블록코드(Linear Block Code)(20비트)를 첨가하여 총 84비트(26디지트)를 입력한다. 일반적으로 인증키(A_Key)는 26 디지트가 되지않으므로 나머지 부분은 모두 ″0″으로 채운다. 상기와 같은 방법을 이용하기 위해서 이동통신 단말기 생산업체에서는 인증키를 고유의 지정값(Default Value)으로 셋팅하거나 모두 ″0″으로 셋팅한다.When the authentication key is input to the mobile communication terminal, a total of 84 bits (26 digits) are input by adding a linear block code (20 bits) in addition to the authentication key (64 bits). Normally, the authentication key (A_Key) is not 26 digits long, so fill the rest with ″ 0 ″. In order to use the method as described above, the mobile communication terminal manufacturer sets the authentication key to its own default value or set all to ″ 0 ″.

한편, 인증키 생성 장치에 임의(random)의 난수된 인증키를 입력하면, 입력된 난수가 이동통신 단말기의 일련번호(ESN)와 연산되어, 이동통신 단말기에 입력하기 위한 새로운 인증키(A_Key)가 생성된다.On the other hand, when a random random authentication key is input to the authentication key generation device, the input random number is calculated with the serial number (ESN) of the mobile communication terminal, and a new authentication key (A_Key) for input into the mobile communication terminal. Is generated.

즉, 인증키 생성 장치에서는 인증키(A_Key)와 패리티 비트(Parity bit) 및 체크섬(Checksum)을 생성하여 이동통신 단말기에 주입할 수 있도록 하고, 또한 인증센터에 입력하도록 한다. 이처럼 인증키(A_Key)는 인증키 생성 장치에서 생성 알고리즘(인증키 검증 알고리듬과 동일한 원리)에 의하여 생성되며, 인증센터는 이를 전달받아 저장하여 인증키로 사용한다.That is, the authentication key generating apparatus generates an authentication key A_Key, a parity bit, and a checksum so that the authentication key can be injected into the mobile communication terminal and inputted to the authentication center. In this way, the authentication key (A_Key) is generated by the generation algorithm (same principle as the authentication key verification algorithm) in the authentication key generating device, and the authentication center receives and stores it and uses it as the authentication key.

그리고, 인증키(A_Key)가 주어진 생성 알고리즘에 의해 생성되어 이동통신 단말기에 입력되면, 생성 알고리즘의 역순인 검증 알고리즘에서 인증키를 검증하여, 만약 잘못 주입되었을 경우에는 적절한 재입력 메시지를 이동통신 단말기의 표시부에 나타내어 재입력을 요구하며, 정확하게 입력되었을 경우에는 특정 버튼을 누르면 입력 상태를 표시한다.When the authentication key A_Key is generated by the given generation algorithm and input to the mobile communication terminal, the authentication key is verified by the verification algorithm in the reverse order of the generation algorithm. Re-input is indicated on the display, and if it is entered correctly, pressing a specific button displays the input status.

도 3 은 인증키 생성 장치에서 생성되어 이동통신 단말기에 주입되는 인증키(A_Key)의 구조도이다.3 is a structural diagram of an authentication key (A_Key) generated by the authentication key generation device and injected into the mobile communication terminal.

인증키의 주입을 위해서는 64비트의 인증키(A_Key)와 부가적인 4비트의 패리티 비트와 16비트의 체크섬 등으로 구성되는 84비트의 데이터(26디지트)를 입력한다. 이때, 인증키(A_Key)는 프로그램의 오버플로우(overflow)의 방지를 위하여 64비트를 두 개로 나눈 32비트(unsigned long integer)를 한 단위로 하여 처리된다.For injection of the authentication key, 84-bit data (26 digits) consisting of a 64-bit authentication key (A_Key), an additional 4-bit parity bit, and a 16-bit checksum are input. At this time, the authentication key (A_Key) is processed as a unit of 32 bits (unsigned long integer) divided into two 64 bits in order to prevent the overflow of the program.

도 4 는 64비트로 구성된 인증키(A-Key)의 일예시도이다.4 is an exemplary view of an A-Key composed of 64-bits.

도 4 를 참조하여 패리티 비트(Parity Bits : P3, P2, P1, P0)의 생성 방법을 살펴보면, 먼저 인증키(A_Key)를 2진수로 변환한다. 변환하는 방법은 우상단을 A0로 시작하여 16비트 단위로 A63까지 배치한다.Referring to FIG. 4, a method of generating parity bits P3, P2, P1, and P0 is described. First, an authentication key A_Key is converted into a binary number. The conversion method starts from the top right corner with A0 to A63 in 16-bit units.

이후, 패리티 비트 P0는 A0에서 A47까지의 우수(Even) 패리티를 사용하고, 패리티 비트 P1은 A16에서 A63까지의 우수(Even) 패리티를 사용하며, 패리티 비트 P2는 A32에서 A63까지와 A0에서 A15까지의 우수(Even) 패리티를 사용하고, 마지막으로, 패리티 비트 P3는 십진수로 바꿀 때 오버플로우(overflow)가 발생되지 않게 하기 위해 ″0″으로 고정한다. 즉, 패리티 비트를 모두 7이하로 생성하여 십진수와 16진수가 동일한 숫자가 되게 한다.Thereafter, parity bit P0 uses Even parity from A0 to A47, parity bit P1 uses Even parity from A16 to A63, and parity bit P2 is from A32 to A63 and A0 to A15. Even parity up to is used, and finally, parity bit P3 is fixed at ″ 0 ″ so that no overflow occurs when converting to decimal. That is, the parity bits are all created to be 7 or less so that decimal and hexadecimal numbers are the same number.

도 5 는 바이트 단위로 구성된 인증키(A_Key)의 일예시도이다.5 is an example of an authentication key A_Key configured in units of bytes.

먼저, 도 5 를 참조하여 체크섬 생성에 사용되는 인증키의 배타적(Exclusive) 합인 S0, S1를 산출하는 방법을 살펴보면, 인증키(A_Key)를 도 5 와 같이 바이트(8비트) 단위로 구성 분류한 다음에 각 열로 바이트 단위의 배타적(Exclusive) 합을 산출하면, 인증키의 바이트 단위의 배타적 합인 S0=A0+A2+A4+A6이고, 인증키의 바이트 단위의 배타적 합인 S1=A1+A3+A5+A7이 된다.First, referring to FIG. 5, a method of calculating S0 and S1, which are exclusive sums of authentication keys used to generate a checksum, is classified and configured in units of bytes (8 bits) as shown in FIG. 5. Next, when an exclusive sum of bytes in each column is calculated, S0 = A0 + A2 + A4 + A6, which is an exclusive sum of bytes of the authentication key, and S1 = A1 + A3 + A5, which is an exclusive sum of bytes of the authentication key. Becomes + A7.

도 6 은 8비트로 구성된 단말기 일련번호(ESN)의 구조도이다.6 is a structural diagram of an 8-bit terminal serial number (ESN).

체크섬(Checksum) C0, C1의 생성에는 단말기 고유의 일련번호(ESN)와 인증키(A_Key)를 동시에 이용한다. 이러한 이유는 인증키(A_Key)를 이동통신 단말기와 관련시키므로써, 임의의 이동통신 단말기로 인증키(A_Key)를 복제하여 사용할 수 없도록 하기 위함이다.To generate checksums C0 and C1, the terminal-specific serial number (ESN) and the authentication key (A_Key) are used simultaneously. This is because the authentication key (A_Key) is associated with the mobile communication terminal, so that the authentication key (A_Key) can not be duplicated and used by any mobile communication terminal.

체크섬 산출 방법을 살펴보면, 먼저 단말기의 일련번호(ESN)는 32비트로 구성되며, 이를 8비트(바이트) 단위로 구성하면 4바이트가 산출된다. 도 6 에서 보는 바와 같이 8비트 단위로 분류된 단말기의 일련번호(ESN)는 E3, E2, E1, E0가 된다. 여기에서 체크섬은 인증키(A_Key)의 배타적 합(S1, S0)과 단말기의 일련번호(ESN)중 E3, E0만을 이용하여 S1과 E3의 배타적 합(Exclusive OR)과 SO와 EO의 배타적 합으로 산출한다. 즉,

Figure kpo00000
가 되고,
Figure kpo00001
가 된다. 이때, C1=c15, c14,.....,c8의 8비트로 구성되고, C0=c7, c6,.....,c0의 8비트로 구성된다.Looking at the checksum calculation method, first, the serial number (ESN) of the terminal is composed of 32 bits, and when configured in units of 8 bits (bytes), 4 bytes are calculated. As shown in FIG. 6, the serial numbers (ESN) of terminals classified in 8 bit units are E3, E2, E1, and E0. Here, the checksum is an exclusive sum of S1 and E3 and an exclusive sum of SO and EO by using exclusive sum (S1, S0) of the authentication key (A_Key) and E3, E0 of the serial number (ESN) of the terminal. Calculate. In other words,
Figure kpo00000
Become,
Figure kpo00001
Becomes At this time, it consists of 8 bits of C1 = c15, c14, ....., c8, and consists of 8 bits of C0 = c7, c6, ....., c0.

다음으로, 인증키 생성 방법의 일예를 구체적으로 살펴보면 다음과 같다.Next, an example of an authentication key generation method will be described in detail.

인증키를 생성하기 위하여 인증키 생성 장치에 3445E26F B5A73533(십진수 876995183 3047634227)과 같은 난수를 입력하면, 64비트의 이진수로 변환되어 A0에서부터 8비트 단위로 16비트를 한 단위로 하여 분류된다. 즉, 우상단이 A0이고 좌상단은 A15이며, 우하단은 A48이고 좌하단은 A63이 된다.If a random number such as 3445E26F B5A73533 (decimal number 876995183 3047634227) is inputted to the authentication key generation device to generate the authentication key, it is converted to a 64-bit binary number and classified from A0 to 8-bit by 16-bit unit. That is, the upper right end is A0, the upper left end is A15, the lower right end is A48, and the lower left end is A63.

여기에서 패리티 비트 P0, P1, P2, P3를 산출하면, P0=0, P1=0, P2=0, P3=0가 되고, 인증키의 배타적 합인 S1과 S0를 산출하면, S1=01010110(HEX 56), S0=10111110(HEX BE)가 된다. 한편, 단말기의 일련번호(ESN)를 C900 7509라고 하면, 체크섬 C1=10011111(9F)이 되고, 체크섬 C0=10110111(B7)이 된다.If the parity bits P0, P1, P2, and P3 are calculated, P0 = 0, P1 = 0, P2 = 0, and P3 = 0. If S1 and S0, which are exclusive sums of the authentication keys, are calculated, S1 = 01010110 (HEX). 56), and S0 = 10111110 (HEX BE). On the other hand, if the serial number (ESN) of the terminal is C900 7509, the checksum C1 = 10011111 (9F), and the checksum C0 = 10110111 (B7).

따라서, 이동통신 단말기에 입력되는 키패드 값은 인증키(A_Key), 패리티 비트 및 체크섬 등의 순으로 구성되므로, 876995183 3047634227 0 40887이 된다.Accordingly, since the keypad value input to the mobile communication terminal is configured in the order of an authentication key (A_Key), a parity bit, and a checksum, the result is 876995183 3047634227 0 40887.

다음으로, 전술한 인증키 생성 방법과 역순으로 구성되는 인증키 검증 방법을 살펴보면 다음과 같다.Next, the authentication key verification method configured in the reverse order of the authentication key generation method described above will be described.

위에서 설명한 바와 같이 인증키 생성 장치에서 생성된 인증키를 10진수로 변환하여 이동통신 단말기에 입력하면, 이동통신 단말기의 인증키 검증 알고리즘이 인증키가 오류없이 정확하게 입력되었는지를 검증한다.As described above, when the authentication key generated by the authentication key generation device is converted into a decimal number and input to the mobile communication terminal, the authentication key verification algorithm of the mobile communication terminal verifies whether the authentication key is correctly input without error.

키패드 입력값이 876995183 3047634227 0 40887(십진수)이고, 단말기의 일련번호(ESN)가 C900 7509라고 하면, 먼저 인증키(A_Key)인 876995183 3047634227을 16진수 3445E26F B5A73533로 변환한 후에 8비트씩 인증키(A_Key)를 분류하면 우상단이 A0이고 좌상단은 A15이며, 우하단은 A48이고 좌하단은 A63이 된다.If the keypad input value is 876995183 3047634227 0 40887 (decimal) and the terminal serial number (ESN) is C900 7509, first convert 876995183 3047634227, the authentication key (A_Key), to hexadecimal 3445E26F B5A73533. If A_Key) is classified, the upper right is A0, the upper left is A15, the lower right is A48, and the lower left is A63.

여기에서 패리티 비트 P0, P1, P2, P3를 산출하면, P0=0, P1=0, P2=0, P3=0가 되고, 인증키의 배타적 합인 S1과 S0를 산출하면, S1=01010110(HEX 56), S0=10111110(HEX BE)가 된다. 그리고, 체크섬 C1=10011111(9F)이 되고, 체크섬 C0=10110111(B7)이 된다.If the parity bits P0, P1, P2, and P3 are calculated, P0 = 0, P1 = 0, P2 = 0, and P3 = 0. If S1 and S0, which are exclusive sums of the authentication keys, are calculated, S1 = 01010110 (HEX). 56), and S0 = 10111110 (HEX BE). Then, the checksum C1 = 10011111 (9F), and the checksum C0 = 10110111 (B7).

따라서, 이동통신 단말기에 입력되는 키패드 값은 인증키(A_Key), 패리티 비트 및 체크섬 등의 순으로 구성되므로, 876995183 3047634227 0 40887이 된다.Accordingly, since the keypad value input to the mobile communication terminal is configured in the order of an authentication key (A_Key), a parity bit, and a checksum, the result is 876995183 3047634227 0 40887.

그러므로, 입력된 키패드 값은 정확한 값이다.Therefore, the keypad value entered is the correct value.

도 7 은 본 발명에 따른 인증키 검증 방법에 대한 흐름도이다.7 is a flowchart illustrating an authentication key verification method according to the present invention.

먼저, 이동통신 단말기의 전원을 켠 후에(71) 인증키(A_Key) 입력모드로 들어간다(72). 이때, 입력모드로 들어가기 위해서는 **758353266##를 순서대로 누른다. 이후, 이동통신 단말기는 인증키(A_Key)를 입력하라는 메시지를 표시한 후에 입력 대기 상태로 천이한다(73). 가입자가 이동통신 단말기의 키패드를 이용하여 인증키(A_Key) 입력값을 차례대로 입력하면 이동통신 단말기는 26디지트의 인증키 입력값을 수신한 후에(74) 인증키 검증 알고리즘을 수행한다.First, after turning on the power of the mobile communication terminal (71) and enters the authentication key (A_Key) input mode (72). At this time, to enter the input mode, press ** 758353266 ## in order. Thereafter, the mobile communication terminal transitions to the input standby state after displaying a message to input the authentication key (A_Key) (73). When the subscriber inputs an authentication key (A_Key) input value in sequence by using the keypad of the mobile communication terminal, the mobile communication terminal performs an authentication key verification algorithm after receiving an authentication key input value of 26 digits (74).

먼저, 이동통신 단말기는 입력된 26디지트의 인증키 입력값중에서 인증키(A_Key)를 추출한다(75). 즉, 입력된 26디지트의 인증키 입력값중 뒤의 6디지트를 제외한 20디지트를 인증키로 추출하여 16비트 단위로 분류하여 패리티 비트를 계산하고(76), 인증키를 8비트 단위로 분류하여 배타적 합을 계산하며(77), 인증키의 배타적 합과 단말기의 일련번호(ESN)를 이용하여 체크섬을 계산한 후에(78) 인증키 입력값과 인증키 계산값을 비교하여 인증키가 정상적으로 입력되었는지를 판단하여(79) 인증키가 정상적으로 입력되지 않았을 경우에는 재입력 메시지를 표시하여 인증키 입력값을 재입력하도록 한 후에(80) 인증키 입력 메시지 표시 과정(73)부터 반복 수행한다.First, the mobile communication terminal extracts an authentication key A_Key from the inputted 26-digit authentication key input value (75). That is, 20 digits except for the last 6 digits of the inputted 26 digit authentication key are extracted as authentication keys, classified in 16 bit units to calculate parity bits (76), and the authentication keys are classified in 8 bit units for exclusive use. The sum is calculated (77), the checksum is calculated using the exclusive sum of the authentication key and the serial number (ESN) of the terminal (78), and the authentication key input value is compared with the calculation value of the authentication key. If it is determined that the authentication key has not been normally input (79), a re-entry message is displayed to re-enter the authentication key input value (80), and then the authentication key input message display process (73) is repeated.

한편, 인증키가 정상적으로 입력된 경우에 이동통신 단말기는 인증키(A_Key)를 비휘발성 메모리에 저장하고(81), 이동통신 단말기의 인증알고리즘 입력값으로 설정하여(82) 인증 요구시마다 이 값을 이용할 수 있도록 한다. 이후, 이동통신 단말기는 정상 수신 대기 상태가 되며 인증키 검증이 종료된다.On the other hand, when the authentication key is normally input, the mobile communication terminal stores the authentication key (A_Key) in the nonvolatile memory (81), sets the authentication algorithm input value of the mobile communication terminal (82), and sets this value at every authentication request. Make it available. Thereafter, the mobile communication terminal enters a normal reception standby state, and the authentication key verification ends.

한편, 인증키 생성 장치에서 인증키를 생성한 후에 인증센터로 전달하는 방법 대신에, 상기와 같은 인증키 검증 알고리즘을 수행한 후에 인증키를 이동통신 단말기에서 인증센터로 바로 전송하는 방법을 사용할 수도 있다.Instead of transmitting the authentication key to the authentication center after generating the authentication key in the authentication key generating device, the authentication key may be directly transmitted from the mobile communication terminal to the authentication center after performing the authentication key verification algorithm. have.

도 8 은 본 발명에 따른 인증키 생성 방법에 대한 흐름도이다.8 is a flowchart illustrating a method for generating an authentication key according to the present invention.

먼저, 인증키 생성 장치는 사용자로부터 임의의 난수로 구성된 인증키값을 입력받으면(91) 인증키를 16비트 단위로 분류하여 패리티 비트를 계산하고(92), 인증키를 8비트 단위로 분류하여 배타적 합을 계산하며(93), 인증키의 배타적 합과 단말기의 일련번호(ESN)를 이용하여 체크섬을 계산한 후에(94) 인증키, 패리티 비트 및 체크섬 등의 순서로 인증키 입력값을 설정한 다음에(95) 인증키 입력값을 사용자에게 출력한다(96). 이때, 인증키 입력값의 배치 순서는 인증키, 패리티 비트 및 체크섬 등을 정해진 규칙에 따라서만 배치하면 되므로 그 순서는 바뀌어도 무방하다.First, when the authentication key generation device receives an authentication key value consisting of random numbers from the user (91), the authentication key is classified into 16-bit units to calculate parity bits (92), and the authentication key is classified into 8-bit units to be exclusive. Calculate the sum (93), calculate the checksum using the exclusive sum of the authentication key and the serial number (ESN) of the terminal (94), and then set the authentication key input values in the order of authentication key, parity bit, and checksum. Next, the authentication key input value is output to the user (95). In this case, the order of the authentication key input values may be changed only because the authentication key, the parity bit, the checksum, and the like need to be arranged according to a predetermined rule.

한편, 인증키 입력값을 획득한 사용자는 인증키 입력값을 이동통신 단말기에 입력하고, 인증센터에도 전달한다.Meanwhile, the user who obtained the authentication key input value inputs the authentication key input value to the mobile communication terminal and transmits the authentication key input value to the authentication center.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기와 같은 본 발명은, 생성된 인증키가 이동통신 단말기의 키패드를 통하여 입력되면 이동통신 단말기에서 입력 인증키의 오류를 체크하여 입력 오류가 발생되었으면 해당 메시지를 표시하고 재입력을 요구하므로써, 간단한 방법으로 정확하게 인증키를 입력할 수 있는 효과가 있다.The present invention as described above, when the generated authentication key is input through the keypad of the mobile communication terminal by checking the error of the input authentication key in the mobile communication terminal, if the input error occurs, by displaying the corresponding message and requesting re-entry, This method has the effect of accurately entering the authentication key.

Claims (6)

가입자로부터 인증키 입력값을 수신한 이동통신 단말기는 상기 인증키 입력값중에서 인증키(A_Key)를 추출하는 제 1 단계;A first step of extracting an authentication key (A_Key) from the authentication key input value, the mobile terminal receiving the authentication key input value from the subscriber; 추출한 인증키의 패리티 비트와 배타적 합과 체크섬을 계산한 후에 상기 인증키 입력값과 인증키 계산값을 비교하여 인증키가 정상적으로 입력되었는지를 판단하는 제 2 단계;Calculating a parity bit, an exclusive sum and a checksum of the extracted authentication key, and then comparing the authentication key input value with the calculation value of the authentication key to determine whether the authentication key is normally input; 상기 제 2 단계의 판단 결과, 인증키가 정상적으로 입력되지 않았으면 재입력 메시지를 표시하여 상기 인증키 입력값을 재입력하도록 하는 제 3 단계; 및A third step of re-entering the authentication key input value by displaying a re-entry message if the authentication key is not normally input as a result of the determination of the second step; And 상기 제 2 단계의 판단 결과, 인증키가 정상적으로 입력되었으면 인증키(A_Key)를 저장하고 인증키를 인증알고리즘의 입력값으로 설정하는 제 4 단계A fourth step of storing the authentication key (A_Key) and setting the authentication key as an input value of the authentication algorithm when the authentication key is normally input as a result of the determination of the second step; 를 포함하여 이루어진 인증키 검증 방법.Authentication key verification method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 이동통신 단말기가 인증키 검증을 수행한 후에 인증키를 인증센터로 전송하는 제 5 단계A fifth step of transmitting the authentication key to the authentication center after the mobile terminal performs verification of the authentication key; 를 더 포함하여 이루어진 인증키 검증 방법.Authentication key verification method further comprises. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 제 1 단계는,The first step is, 가입자가 상기 이동통신 단말기의 전원을 켠 후에 인증키(A_Key) 입력모드를 선택하면 상기 이동통신 단말기는 인증키(A_Key)를 입력하라는 메시지를 표시한 후에 입력 대기 상태로 천이하는 제 6 단계; 및A sixth step of, when the subscriber selects an authentication key (A_Key) input mode after turning on the mobile terminal, the mobile communication terminal transitions to an input standby state after displaying a message for inputting an authentication key (A_Key); And 가입자가 상기 이동통신 단말기의 키패드를 이용하여 상기 인증키 입력값을 입력하면 상기 이동통신 단말기는 상기 인증키 입력값을 수신한 후에 상기 인증키 입력값중에서 인증키(A_Key)를 추출하는 제 7 단계A seventh step of extracting an authentication key (A_Key) from the authentication key input value after receiving the authentication key input value when the subscriber inputs the authentication key input value using the keypad of the mobile communication terminal; 를 포함하여 이루어진 인증키 검증 방법.Authentication key verification method comprising a. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 제 2 단계는,The second step, 추출한 인증키를 제1 소정 단위로 분류하여 패리티 비트를 계산하는 제 6 단계;Calculating a parity bit by classifying the extracted authentication key into a first predetermined unit; 추출한 인증키를 제2 소정 단위로 분류하여 배타적 합을 계산하는 제 7 단계; 및A seventh step of classifying the extracted authentication key into a second predetermined unit and calculating an exclusive sum; And 상기 인증키의 배타적 합과 단말기의 일련번호(ESN)를 이용하여 체크섬을 계산한 후에 인증키 입력값과 인증키 계산값을 비교하여 인증키가 정상적으로 입력되었는지를 판단하는 제 8 단계An eighth step of calculating a checksum using the exclusive fit of the authentication key and the serial number (ESN) of the terminal; 를 포함하여 이루어진 인증키 검증 방법.Authentication key verification method comprising a. 제 4 항에 있어서,The method of claim 4, wherein 상기 제 4 단계의 인증키(A_Key) 저장 과정은,The storing of the authentication key (A_Key) of the fourth step, 인증키(A_Key)를 비휘발성 메모리에 저장하는 것을 특징으로 하는 인증키 검증 방법.Authentication key verification method, characterized in that for storing the authentication key (A_Key) in a nonvolatile memory. 인증키 생성 장치는 사용자로부터 임의의 난수로 이루어진 인증키 값을 입력받으면 인증키를 제1 소정 단위로 분류하여 패리티 비트를 계산하는 제 1 단계;The apparatus for generating an authentication key includes: a first step of classifying an authentication key into a first predetermined unit and calculating a parity bit when receiving an authentication key value consisting of random numbers from a user; 인증키를 제2 소정 단위로 분류하여 배타적 합을 계산하는 제 2 단계;Calculating an exclusive sum by classifying the authentication key into a second predetermined unit; 상기 인증키의 배타적 합과 단말기의 일련번호(ESN)를 이용하여 체크섬을 계산하는 제 3 단계; 및A third step of calculating a checksum using an exclusive sum of the authentication key and a serial number (ESN) of the terminal; And 상기 인증키, 패리티 비트 및 체크섬 등을 인증키 입력값으로 설정하여 사용자에게 출력하는 제 4 단계A fourth step of setting the authentication key, parity bit, checksum, etc. as an authentication key input value and outputting the same to the user; 를 포함하여 이루어진 인증키 생성 방법.Authentication key generation method comprising a.
KR1019970053751A 1997-10-20 1997-10-20 Authorization method in mobile telecommunication KR100241214B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970053751A KR100241214B1 (en) 1997-10-20 1997-10-20 Authorization method in mobile telecommunication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970053751A KR100241214B1 (en) 1997-10-20 1997-10-20 Authorization method in mobile telecommunication

Publications (2)

Publication Number Publication Date
KR19990032656A KR19990032656A (en) 1999-05-15
KR100241214B1 true KR100241214B1 (en) 2000-02-01

Family

ID=19523054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970053751A KR100241214B1 (en) 1997-10-20 1997-10-20 Authorization method in mobile telecommunication

Country Status (1)

Country Link
KR (1) KR100241214B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040028086A (en) * 2002-09-28 2004-04-03 주식회사 케이티 Contents copyright management system and the method in wireless terminal
KR100757456B1 (en) * 2004-01-20 2007-09-11 삼성전자주식회사 Printer capable of securing printing job and method thereof
KR101276886B1 (en) * 2006-04-13 2013-06-19 엘지전자 주식회사 controlling method of SIM lock and mobile terminal

Also Published As

Publication number Publication date
KR19990032656A (en) 1999-05-15

Similar Documents

Publication Publication Date Title
CN101432980B (en) Time sync-type otp generation device and method for mobile phones
US5390252A (en) Authentication method and communication terminal and communication processing unit using the method
JPH07115413A (en) Mobile communication terminal authentication system
CN103218740A (en) Trading system, method and device using two-dimension codes
FI109507B (en) Procedure for checking the compatibility of a mobile station and a functional unit, a mobile station and a functional unit
JP2001331258A (en) Information service terminal
WO2018043951A1 (en) Pos device and system for performing payment authentication using biometric information, and control method therefor
KR100241214B1 (en) Authorization method in mobile telecommunication
WO2003036867A1 (en) System and method for performing mutual authentication between mobile terminal and server
KR20040083272A (en) Method and System for Authentication of User on Web and/or Wireless Network by Using Mobile Terminal Loaded a Challenge/Response Based Mobile One-Time Password Module
KR101747234B1 (en) Authentication method using two channels and the system for it
CN110798836B (en) eSIM card terminal equipment switching method and device
KR101359035B1 (en) Method and apparatus for providing user authentication function in portable communication system
KR0160354B1 (en) Apparatus for and method of generating code to identify user in digital mobile communication system
CN112347458A (en) Password resetting method and device, terminal equipment and server
KR100637996B1 (en) System for providing dialing authorization
US20020015058A1 (en) Authentication system and its authentication method, and authentication program
KR101891733B1 (en) User authentication method and system performing the same
CN109246105B (en) Communication method and system for preventing information leakage
KR101107191B1 (en) Mobile communication terminal having an register function of the attestation certificate and controlling method therefore
CN113626837A (en) Parameter management method, equipment and computer readable storage medium
AU758726B2 (en) Call origination in a mobile telephone apparatus
US7570764B2 (en) Sequence number calculation and authentication in a communications system
JP5432735B2 (en) Information processing system
KR100380661B1 (en) Authentication system and method for user identification

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20021021

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee