KR20060103289A - Integrity authenticator device - Google Patents
Integrity authenticator device Download PDFInfo
- Publication number
- KR20060103289A KR20060103289A KR1020067018334A KR20067018334A KR20060103289A KR 20060103289 A KR20060103289 A KR 20060103289A KR 1020067018334 A KR1020067018334 A KR 1020067018334A KR 20067018334 A KR20067018334 A KR 20067018334A KR 20060103289 A KR20060103289 A KR 20060103289A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- integrity
- unit
- wireless communication
- 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.)
- Ceased
Links
- 238000012545 processing Methods 0.000 claims description 213
- 238000004891 communication Methods 0.000 claims description 114
- 238000000034 method Methods 0.000 claims description 78
- 230000008569 process Effects 0.000 claims description 57
- 238000013500 data storage Methods 0.000 claims description 35
- 238000012795 verification Methods 0.000 claims description 13
- 230000004075 alteration Effects 0.000 claims description 8
- 239000000872 buffer Substances 0.000 abstract description 59
- 238000010586 diagram Methods 0.000 description 46
- 230000006870 function Effects 0.000 description 40
- 230000005540 biological transmission Effects 0.000 description 39
- 238000004364 calculation method Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 241000209507 Camellia Species 0.000 description 2
- 235000018597 common camellia Nutrition 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
난수 열을 생성하는 데이터 은닉용 함수 f8에 의해 미리 난수 열을 생성하고, 난수 열 기억부(버퍼)에 기억해 둔다. 데이터(메시지)가 입력된 경우에 난수 열 기억부에 기억한 난수 열을 획득하고, 배타적 논리합 연산 회로에서 데이터(메시지)를 암호화하여 암호문을 작성한다. 데이터를 복호하는 경우에도, 데이터 은닉용 함수 f8에서, 미리 난수 열을 발생하여 난수 열 기억부(버퍼)에 기억해 둔다. 암호문이 입력된 경우에, 배타적 논리합 연산 회로에서 난수 열 기억부(버퍼)로부터 난수 열을 판독하여 데이터(메시지)로 복호화한다. The random number string is generated in advance by the data concealment function f8 that generates the random number string, and stored in the random number column storage unit (buffer). When data (message) is input, a random number string stored in the random number column storage unit is obtained, and the data (message) is encrypted by an exclusive OR circuit to create a cipher text. Even when the data is decoded, a random number string is generated in advance in the data concealment function f8 and stored in the random number column storage unit (buffer). When the cipher text is input, the exclusive logical OR operation circuit reads the random number string from the random number column storage unit (buffer) and decodes it into data (message).
Description
도 1은 이동체 통신 시스템의 구성도. 1 is a block diagram of a mobile communication system.
도 2는 무선 제어국(RNC)(120)의 구성도. 2 is a block diagram of a radio control station (RNC) 120;
도 3은 제1 실시 형태의 무선 단말(MS)(100)의 구성도. 3 is a configuration diagram of a wireless terminal (MS) 100 according to the first embodiment.
도 4는 제1 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. 4 is a configuration diagram of the concealment and integrity
도 5는 제1 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. 5 is a configuration diagram of the concealment and integrity
도 6은 제1 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. 6 is a configuration diagram of the concealment and integrity
도 7은 제1 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. 7 is a configuration diagram of the concealment and integrity
도 8은 제1 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. 8 is a configuration diagram of the concealment and integrity
도 9는 제2 실시 형태의 무선 단말(MS)(100)의 구성도. 9 is a configuration diagram of a wireless terminal (MS) 100 according to the second embodiment.
도 10은 제2 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. 10 is a configuration diagram of the concealment and integrity
도 11은 제2 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. 11 is a configuration diagram of the concealment and integrity
도 12는 암호화 방식 및 복호화 방식의 일례를 나타내는 도면. 12 shows an example of an encryption method and a decryption method.
도 13은 제2 실시 형태의 은닉·완전성 보증 처리부(40)의 구성도. Fig. 13 is a configuration diagram of the concealment and integrity
도 14는 ARIB STD-T63 33. 102, 3G Security ; Security Architecture, Section 6.3.에 나타낸 도면. 14 shows ARIB STD-T63 33. 102, 3G Security; Figure shown in Security Architecture, Section 6.3.
도 15는 ARIB STD-T63 33. 102, 3G Security ; Security Architecture, Figure 16b에 나타낸 도면. 15 shows ARIB STD-T63 33. 102, 3G Security; Security Architecture, shown in Figure 16b.
도 16은 ARIB STD-T63 33. 102, 3G Security ; Security Architecture, Figure 16에 나타낸 도면. 16 shows ARIB STD-T63 33. 102, 3G Security; Security Architecture, shown in Figure 16.
도 17은 암호화/복호화부(421)의 중에서 이용되는 암호화 모듈(51)(또는 복호화 모듈(71))의 구성도. 17 is a configuration diagram of an encryption module 51 (or decryption module 71) used among the encryption /
도 18은 은닉·완전성 보증 처리부(40)의 실장 형식을 나타내는 도면. 18 is a diagram illustrating a mounting format of the concealment and integrity
도 19는 은닉·완전성 보증 처리부(40)를 소프트웨어에 의해 실현하는 경우를 나타내는 도면. Fig. 19 shows a case where the concealment and integrity
도 20은 무선 통신 제어부(20)에 의해 동작하는 어플리케이션 프로그램(46)이 암호화 프로그램(47)을 호출하는 메카니즘을 나타내는 도면. 20 is a diagram showing a mechanism in which an
도 21은 RLC 비투과 모드일 때의 데이터(92, 93)의 구체예를 나타내는 도면. Fig. 21 shows a specific example of the
도 22는 투과 데이터(95, 96)의 일례로서 음성 데이터의 구체예를 나타내는 도면. Fig. 22 is a diagram showing a specific example of audio data as an example of transmission data (95, 96).
도 23은 투과 데이터(95, 96)의 일례로서 비제한 디지털 데이터의 구체예를 나타내는 도면. Fig. 23 is a diagram showing a specific example of non-limiting digital data as an example of the transmission data (95, 96).
도 24는 종래의 휴대 전화기(500)를 나타내는 도면. 24 is a diagram showing a conventional
도 25는 제3 실시 형태의 은닉 처리의 암호화 방식 및 복호화 방식을 나타내는 도면. Fig. 25 is a diagram showing an encryption method and a decryption method of the concealment processing of the third embodiment.
도 26은 제3 실시 형태의 완전성 보증 처리부의 완전성 인증 방식을 나타내는 도면. Fig. 26 is a diagram showing the integrity authentication method of the integrity guarantee processing unit according to the third embodiment.
도 27은 제3 실시 형태의 무선 통신 제어부(20)와 은닉·완전성 보증 처리부(40)의 구성도. 27 is a configuration diagram of the wireless
도 28은 제3 실시 형태의 은닉 처리부(420)의 구성도. 28 is a configuration diagram of a
도 29는 제3 실시 형태의 은닉 처리부(420)의 구성도. 29 is a configuration diagram of the
도 30은 제3 실시 형태의 은닉 처리부(460)의 구성도. 30 is a configuration diagram of the
도 31은 제3 실시 형태의 완전성 보증 처리부(430)의 구성도. 31 is a configuration diagram of the integrity
도 32는 제3 실시 형태의 완전성 보증 처리부(430)의 구성도. 32 is a configuration diagram of an integrity
도 33은 제3 실시 형태의 암호화부(422)가 복수의 버퍼를 갖는 구성도. Fig. 33 is a configuration diagram in which the
도 34는 제3 실시 형태의 암호화부(422)가 복수의 버퍼를 갖는 구성도. Fig. 34 is a configuration diagram in which the
도 35는 제3 실시 형태의 암호화부(422)가 복수의 버퍼를 갖는 구성도. Fig. 35 is a configuration diagram in which the
본 발명은 휴대 전화기 등의 암호화 장치, 복호화 장치, 완전성 인증자 생성 장치, 완전성 인증자 부가 장치, 완전성 확인 장치 및 무선 통신 장치에 관한 것이다. 특히, 데이터의 은닉 처리와 완전성 보증 처리에 관한 것이다. The present invention relates to an encryption device such as a cellular phone, a decryption device, an integrity authenticator generating device, an integrity authenticator addition device, a integrity verification device, and a wireless communication device. In particular, it relates to the concealment processing and integrity guarantee processing of data.
도 24는 종래의 휴대 전화기(500)를 나타내는 도면이다. 24 is a diagram illustrating a conventional
종래의 휴대 전화기(500)에는 단말 IF(인터페이스)부(510)와 무선 통신 제어부(520)와 무선 통신부(530)가 구비되어 있다. 단말 IF부(510)는 휴대 전화기(500)의 사용자와의 인터페이스를 행하는 부분이다. 무선 통신 제어부(520)는 휴대 전화기(500) 전체의 통신 제어와 프로토콜에 기초한 데이터의 변환과 데이터 처리를 행하는 부분이다. 무선 통신부(530)는 데이터를 변조 복조하여, 무선 통신을 가능하게 하는 부분이다. 무선 통신부(530)는 OSI(Open Systems Interconnection)에 의해 정의되어 있는 7계층의 층 중, 최하층인 물리층(층 1)를 서포트하고 있는 부분이다. 무선 통신부(530)에는 은닉 처리부(540)가 제공되어 있다. 은닉 처리부(540)는 무선 통신부(530)에 의해 취급되는 물리층의 데이터에 대하여 암호화 처리, 혹은 복호화 처리를 행하는 부분이다. 은닉 처리부(540)를 제공함으로써 안테나(541)에 의해 송수신되는 데이터를 도청하여도 암호화되어 있으므로, 해독되지 않는 한은 도청자가 유의한 정보를 얻는 것은 불가능하게 된다. The conventional
종래의 휴대 전화기(500)는 은닉 처리부(540)를 무선 통신부(530)의 내부에 갖고 있다. 이 때문에, 은닉 처리부(540)가 은닉 대상으로 하는 데이터는 물리층(층 1)의 데이터이다. 물리층에서는, 그 데이터가 사용자 데이터인지 제어 데이터인지를 특정할 수 없다. 휴대 전화기에 의해 송수신되는 데이터 중에는 각종 사용자 데이터 및 시그널링 데이터 등 여러 종류가 있으며, 그 데이터 종류에 따라 은닉 처리를 행하거나, 혹은 그 데이터의 중요성에 따라 데이터의 완전성을 보증할 필요가 있다. 종래의 구성과 같이, 은닉 처리부(540)가 층 1에 제공되어 있는 것으로는, 층 1에서는 데이터의 종별을 구별할 수 없기 때문에, 데이터의 종별에 따라 은닉 처리나 완전성의 보증을 한다고 할 수 없었다. The conventional
또한, 종래의 은닉 처리는 데이터의 입력에 동기시켜 난수 열을 발생시키고, 데이터의 입력에 동기시켜 데이터와 난수 열과의 배타적 논리합 연산을 행하고 있 었다. In addition, the conventional concealment process generates a random number string in synchronization with the input of data, and performs an exclusive OR operation between the data and the random number string in synchronization with the data input.
또한, 종래의 완전성 보증 처리는 각 데이터마다 완전성 인증자를 생성하거나, 각 데이터마다 데이터의 완전성을 체크하고 있었다. In the conventional integrity guarantee process, integrity authenticators are generated for each data or data integrity is checked for each data.
본 발명의 바람직한 실시 형태에서는 은닉 처리와 완전성 보증 처리를 고속으로 행할 수 있도록 하는 것을 목적으로 한다. In a preferred embodiment of the present invention, an object thereof is to enable a concealment process and a integrity guarantee process to be performed at high speed.
또한, 본 발명의 바람직한 실시 형태에서는 OSI의 7개의 계층 중, 층 2(데이터 링크층) 이상의 상위 층에서 은닉 처리와 완전성 보증 처리를 행할 수 있도록 하는 것을 목적으로 한다. In addition, a preferred embodiment of the present invention aims to enable concealment processing and integrity guarantee processing in layers higher than layer 2 (data link layer) among the seven layers of OSI.
또한, 본 발명의 바람직한 실시 형태에서는 은닉 처리와 완전성 보증 처리가 중앙 처리 장치와 버스에 부하를 주지 않고 행할 수 있도록 하는 것을 목적으로 한다. In addition, in a preferred embodiment of the present invention, an object of the present invention is to enable the concealment process and the integrity guarantee process to be performed without load on the central processing unit and the bus.
본 발명에 따른 암호화 장치는 난수 열을 생성하는 암호화기와, An encryption apparatus according to the present invention includes an encryptor for generating a random number string;
상기 암호화기에 의해 생성된 난수 열을 기억하는 난수 열 기억부와, A random number row storage unit for storing a random number row generated by the encryptor;
평문을 입력하고, 입력한 평문과 상기 난수 열 기억부에 기억된 난수 열을 연산하여 암호문을 출력하는 연산부를 포함하며, A plain text input unit, and an arithmetic unit configured to output a cipher text by calculating the plain text and the random number string stored in the random number column storage unit,
상기 난수 열 기억부에 의해 난수 열을 미리 기억함으로써, 상기 암호화기에 의한 난수 열의 생성과, 상기 연산부에 의한 평문과 난수 열과의 연산을 비동기로 행하는 것을 특징으로 한다. By storing the random number string in advance by the random number column storage section, generation of the random number string by the encryption unit and arithmetic operations between the plain text and the random number string by the calculation section are performed asynchronously.
*상기 암호화기는 상기 연산부의 평문의 입력 전에 난수 열의 생성을 개시하는 것을 특징으로 한다. The encryptor is characterized in that the generation of the random number string before the plain text input of the operation unit.
상기 암호화기는 적어도 암호키와 평문의 길이를 입력하고, 암호키를 이용하여 평문 길이의 난수 열을 생성하여 생성한 난수 열을 상기 난수 열 기억부에 기억시키고, The encryptor inputs at least an encryption key and a length of the plain text, and generates a random number string having a plain text length using the encryption key to store the random number string generated in the random number storage unit,
상기 난수 열 기억부는 연산부에 평문이 입력된 경우에, 기억한 난수 열을 출력하는 버퍼를 갖는 것을 특징으로 한다. The random number row storage unit has a buffer for outputting the stored random number row when the plain text is input to the calculation unit.
상기 연산부는 복수의 채널에 대응하여, 평문을 입력하고, The operation unit inputs a plain text corresponding to a plurality of channels,
상기 암호화기는 채널을 식별하는 채널 식별 정보를 입력하여, 채널마다 난수 열을 생성하며, The encryptor inputs channel identification information for identifying a channel to generate a random number string for each channel.
상기 난수 열 기억부는 상기 암호화기가 채널마다 생성한 난수 열을 기억하고, The random number storage unit stores a random number sequence generated by the encryptor for each channel,
상기 연산부는 평문을 입력한 채널에 대응하는 난수 열을 상기 난수 열 기억부로부터 입력하여, 평문을 암호화하는 것을 특징으로 한다. The operation unit may encrypt a plain text by inputting a random string corresponding to a channel into which plain text is input, from the random number storage unit.
본 발명에 따른 복호화 장치는 난수 열을 생성하는 복호화기와, The decoding apparatus according to the present invention includes a decoder for generating a random number string;
상기 복호화기에 의해 생성된 난수 열을 기억하는 난수 열 기억부와, A random number column storage unit for storing a random number column generated by the decoder;
암호문을 입력하며, 입력한 암호문과 상기 난수 열 기억부에 기억된 난수 열을 연산하여 평문을 출력하는 연산부를 포함하며, Inputting a cipher text, and calculating a cipher text and a random number string stored in the random number string storage unit to output a plain text,
상기 난수 열 기억부에 의해 난수 열을 미리 기억함으로써, 상기 복호화기에 의한 난수 열의 생성과, 상기 연산부에 의한 암호문과 난수 열과의 연산을 비동기 로 행하는 것을 특징으로 한다. By storing the random number string in advance by the random number column storage section, generation of the random number string by the decoder and calculation of the ciphertext and the random number string by the calculation section are performed asynchronously.
상기 복호화기는 상기 연산부의 암호문의 입력 전에 난수 열의 생성을 개시하는 것을 특징으로 한다. The decoder may start generating a random string before inputting an encryption text of the operation unit.
상기 복호화기는 적어도 복호키와 암호문의 길이를 입력하고, 복호키를 이용하여 암호문의 길이의 난수 열을 생성하여 생성한 난수 열을 상기 난수 열 기억부에 기억시키며, The decoder inputs at least the length of the decryption key and the cipher text, and generates a random number string having the length of the cipher text using the decryption key to store the random number string generated in the random number storage unit,
상기 난수 열 기억부는 연산부에 암호문이 입력된 경우에, 기억한 난수 열을 출력하는 버퍼를 갖는 것을 특징으로 한다. The random number row storage unit has a buffer for outputting the stored random number row when a cipher text is input to the calculation unit.
상기 연산부는 복수의 채널에 대응하여, 암호문을 입력하며, The operation unit inputs a cipher text corresponding to a plurality of channels,
상기 복호화기는 채널을 식별하는 채널 식별 정보를 입력하여, 채널마다 난수 열을 생성하고, The decoder inputs channel identification information identifying a channel to generate a random number string for each channel,
상기 난수 열 기억부는 상기 복호화기가 채널마다 생성한 난수 열을 기억하며, The random number storage unit stores a random number column generated by the decoder for each channel,
상기 연산부는 암호문을 입력한 채널에 대응하는 난수 열을 상기 난수 열 기억부로부터 입력하여, 암호문을 복호화하는 것을 특징으로 한다. The operation unit may input a random string corresponding to a channel into which a cipher text is input, from the random number string storage unit to decrypt the cipher text.
본 발명에 따른 완전성 인증자 생성 장치는 X(X≥2)개의 데이터와 X개의 제어 신호 데이터를 입력하여 기억하는 데이터 기억부와,The integrity authenticator generating device according to the present invention comprises a data storage unit for inputting and storing X (X≥2) data and X control signal data;
상기 데이터 기억부가 기억한 X개의 데이터와 X개의 제어 신호 데이터를 입력하여, X개의 데이터에 대한 X개의 완전성 인증자를 생성하며, X개의 완전성 인증자를 통합하여 출력하는 완전성 인증자 생성기를 포함하는 것을 특징으로 한다. And a integrity authenticator generator for inputting X data stored in the data storage unit and X control signal data to generate X integrity authenticators for X data, and integrating and outputting X integrity authenticators. It is done.
상기 완전성 인증자 생성 장치는 버스를 통해, 중앙 처리 장치와 접속되며, The integrity authenticator generating device is connected to the central processing unit via a bus,
상기 데이터 기억부는 X개의 데이터와 X개의 제어 신호 데이터를 버스를 통해 중앙 처리 장치로부터 통합하여 입력하고, The data storage unit integrates and inputs the X data and the X control signal data from the central processing unit via a bus,
상기 완전성 인증자 생성기는 생성한 X개의 완전성 인증자를 버스를 통해 중앙 처리 장치로 통합하여 출력하는 것을 특징으로 한다. The integrity authenticator generator is configured to output the generated X integrity authenticators through the bus to the central processing unit.
본 발명에 따른 완전성 인증자 부가 장치는 X(X≥2)개의 데이터와 X개의 제어 신호 데이터를 입력하여 기억하는 데이터 기억부와, The integrity authenticator addition apparatus according to the present invention includes a data storage unit for inputting and storing X (X≥2) data and X control signal data;
상기 데이터 기억부가 기억한 X개의 데이터와 X개의 제어 신호 데이터를 입력하여, X개의 데이터에 대한 X개의 완전성 인증자를 생성하며, X개의 완전성 인증자를 통합하여 출력하는 완전성 인증자 생성기와, An integrity authenticator generator for inputting X data stored in the data storage unit and X control signal data, generating X integrity authenticators for X data, and integrating and outputting X integrity authenticators;
상기 완전성 인증자 생성기가 통합하여 출력한 X개의 완전성 인증자를 입력하여, X개의 완전성 인증자를 X개의 데이터에 부가하고, X개의 완전성 인증자가 부가된 X개의 데이터를 출력하는 완전성 인증자 부가기The integrity authenticator adder which inputs the X integrity authenticators integrated and outputted by the integrity authenticator generator, adds X integrity authenticators to X data, and outputs X data added with X integrity authenticators.
를 포함하는 것을 특징으로 한다. Characterized in that it comprises a.
본 발명에 따른 완전성 확인 장치는 X(X≥2)개의 완전성 인증자가 부가된 X개의 데이터와 X개의 제어 신호 데이터를 입력하여 기억하는 데이터 기억부와, The integrity checking apparatus according to the present invention includes a data storage unit for inputting and storing X data and X control signal data to which X (X≥2) integrity authenticators are added;
상기 데이터 기억부가 기억한 X개의 데이터와 X개의 제어 신호 데이터를 입력하여, X개의 데이터에 대한 X개의 완전성 인증자를 생성하며, X개의 완전성 인증자를 통합하여 출력하는 완전성 인증자 생성기와, An integrity authenticator generator for inputting X data stored in the data storage unit and X control signal data, generating X integrity authenticators for X data, and integrating and outputting X integrity authenticators;
상기 완전성 인증자 생성기가 통합하여 출력한 X개의 완전성 인증자를 입력 하고, 입력한 X개의 완전성 인증자와 상기 X개의 데이터에 부가된 X개의 완전성 인증자를 각각 비교하여, X개의 데이터의 완전성을 확인하는 완전성 확인기Inputting the X integrity authenticators integrated and outputted by the integrity authenticator generator, and comparing the input X integrity authenticators with the X integrity authenticators added to the X data, respectively, to confirm the integrity of the X data. Integrity checker
를 포함하는 것을 특징으로 한다. Characterized in that it comprises a.
본 발명에 따른 무선 통신 장치는 데이터를 입력하는 단말 인터페이스부와, According to an aspect of the present invention, there is provided a wireless communication device including: a terminal interface unit for inputting data;
단말 인터페이스부가 입력한 데이터를 입력하며, 프로토콜에 기초하여 데이터를 처리하여 출력하는 무선 통신 제어부와, A wireless communication controller which inputs data input by the terminal interface unit and processes and outputs data based on a protocol;
무선 통신 제어부로부터 제어 신호와 데이터를 입력하며, 입력한 제어 신호에 기초하여, 입력한 데이터에 대하여 데이터를 암호화하는 은닉 처리를 행하고, 처리한 데이터를 무선 통신 제어부에 출력하는 은닉 처리부와, A concealment processing unit for inputting control signals and data from the wireless communication control unit, performing a concealment process for encrypting data on the input data based on the input control signal, and outputting the processed data to the wireless communication control unit;
무선 통신 제어부로부터 출력된 데이터를 입력하고 변조하여 송신하는 무선 통신부Wireless communication unit for inputting, modulating and transmitting data output from the wireless communication control unit
를 포함하며, Including;
상기 은닉 처리부는 The concealment processing unit
데이터를 암호화하는 난수 열의 생성을 데이터의 입력 전에 개시하여 생성한 난수 열을 출력하는 암호화기와, An encryptor for outputting a random number string generated by initiating generation of a random number string to encrypt data before input of data;
암호화기로부터 출력되는 난수 열을 데이터의 입력 전에 일시적으로 저장하는 난수 열 기억부와, A random number row storage unit for temporarily storing a random number string output from the encryptor before inputting data;
데이터를 입력하고, 입력한 데이터와 상기 난수 열 기억부에 기억된 난수 열을 연산하여 데이터를 암호화하는 연산부An operation unit for inputting data and encrypting the data by calculating the input data and a random number column stored in the random number column storage unit;
를 포함하는 것을 특징으로 한다. Characterized in that it comprises a.
본 발명에 따른 무선 통신 장치는 데이터를 입력하는 단말 인터페이스부와, According to an aspect of the present invention, there is provided a wireless communication device including: a terminal interface unit for inputting data;
단말 인터페이스부가 입력한 데이터를 입력하며, 프로토콜에 기초하여 데이터를 처리하여 출력하는 무선 통신 제어부와, A wireless communication controller which inputs data input by the terminal interface unit and processes and outputs data based on a protocol;
무선 통신 제어부로부터 제어 신호와 데이터를 입력하며, 입력한 제어 신호에 기초하여, 입력한 데이터에 대하여 데이터의 개찬(改竄)을 검출하기 위한 완전성 인증자를 생성하는 완전성 보증 처리를 행하고, 처리한 데이터를 무선 통신 제어부에 출력하는 완전성 보증 처리부와,A control signal and data are input from the wireless communication control unit, and based on the input control signal, a completeness assurance process of generating a completeness authenticator for detecting alteration of data is performed on the input data, and the processed data is processed. Integrity guarantee processing part which outputs to a wireless communication control part,
무선 통신 제어부로부터 출력된 데이터를 입력하고 변조하여 송신하는 무선 통신부Wireless communication unit for inputting, modulating and transmitting data output from the wireless communication control unit
를 포함하며, Including;
상기 완전성 보증 처리부는,The integrity guarantee processing unit,
무선 통신 제어부로부터 제어 신호와 데이터를 복수 통합하여 입력하고, 일시적으로 저장하는 데이터 기억부와, A data storage unit which integrates a plurality of control signals and data from the wireless communication control unit and temporarily stores the data;
데이터 기억부가 기억한 복수의 데이터에 대하여 제어 신호를 이용하여 완전성 인증자를 생성하여 복수의 완전성 인증자를 통합하여 출력하는 완전성 인증자 생성기를 갖는 것을 특징으로 한다. And a integrity authenticator generator for generating a integrity authenticator using a control signal for a plurality of data stored in the data storage unit and integrating and outputting the plurality of integrity authenticators.
본 발명에 따른 무선 통신 장치는 데이터를 수신하여 복조하는 무선 통신부와, The wireless communication apparatus according to the present invention includes a wireless communication unit for receiving and demodulating data;
무선 통신부에 의해 복조된 데이터를 입력하여, 프로토콜에 기초하여 데이터를 처리하여 출력하는 무선 통신 제어부와, A wireless communication control unit which inputs data demodulated by the wireless communication unit, processes and outputs data based on a protocol;
무선 통신 제어부로부터 제어 신호와 데이터를 입력하고, 입력한 제어 신호에 기초하여, 입력한 데이터에 대하여 데이터를 복호화하는 은닉 처리를 행하며, 처리한 데이터를 무선 통신 제어부에 출력하는 은닉 처리부와, A concealment processing unit which inputs a control signal and data from the wireless communication control unit, performs a concealment process of decoding data on the input data based on the input control signal, and outputs the processed data to the wireless communication control unit;
무선 통신 제어부에 의해 처리된 데이터를 입력하여 출력하는 단말 인터페이스부Terminal interface unit for inputting and outputting data processed by the wireless communication control unit
를 포함하며, Including;
상기 은닉 처리부는 The concealment processing unit
입력한 데이터를 복호화하는 난수 열을 데이터의 입력 전에 생성하여 출력하는 복호화기와, A decoder for generating and outputting a random number string for decoding the input data before inputting the data;
복호화기로부터 출력되는 난수 열을 데이터의 입력 전에 일시적으로 저장하는 난수 열 기억부와, A random number column storage unit for temporarily storing a random number column output from the decoder before inputting data;
데이터를 입력하고, 입력한 데이터와 상기 난수 열 기억부에 기억된 난수 열을 연산하여 평문을 출력하는 연산부An operation unit for inputting data and calculating plain text by calculating the input data and a random number column stored in the random number column storage unit;
를 갖는 것을 특징으로 한다. Characterized in having a.
본 발명에 따른 무선 통신 장치는 데이터를 수신하여 복조하는 무선 통신부와, The wireless communication apparatus according to the present invention includes a wireless communication unit for receiving and demodulating data;
무선 통신부에 의해 복조된 데이터를 입력하고, 프로토콜에 기초하여 데이터를 처리하여 출력하는 무선 통신 제어부와, A wireless communication control unit which inputs data demodulated by the wireless communication unit, processes and outputs data based on a protocol;
무선 통신 제어부로부터 제어 신호와 데이터를 입력하며, 입력한 제어 신호에 기초하여, 입력한 데이터에 대하여 데이터의 개찬을 검증하는 완전성 보증 처리 를 행하고, 처리한 데이터를 무선 통신 제어부에 출력하는 완전성 보증 처리부와, A control signal and data are inputted from the wireless communication control unit, and based on the input control signal, a completeness assurance process for verifying alteration of data is performed on the input data, and the integrity guarantee processing unit outputs the processed data to the wireless communication control unit. Wow,
무선 통신 제어부에 의해 처리된 데이터를 입력하여 출력하는 단말 인터페이스부Terminal interface unit for inputting and outputting data processed by the wireless communication control unit
를 포함하며, Including;
상기 완전성 보증 처리부는 The integrity guarantee processing unit
무선 통신 제어부로부터 제어 신호와 데이터를 복수 통합하여 입력하고, 일시적으로 저장하는 데이터 기억부와, A data storage unit which integrates a plurality of control signals and data from the wireless communication control unit and temporarily stores the data;
데이터 기억부가 기억한 복수의 데이터에 대하여 제어 신호를 이용하여 완전성 인증자를 생성하여 복수의 완전성 인증자를 통합하여 출력하는 완전성 인증자 생성기를 갖는 것을 특징으로 한다. And a integrity authenticator generator for generating a integrity authenticator using a control signal for a plurality of data stored in the data storage unit and integrating and outputting the plurality of integrity authenticators.
본 발명에 따른 암호화 방법은 평문을 입력하기 전에 난수 열의 생성을 개시하고, 생성한 난수 열을 미리 난수 열 기억부에 기억하며, The encryption method according to the present invention starts the generation of the random number string before inputting the plain text, and stores the generated random number string in the random number storage in advance,
난수 열 생성의 개시 후에 평문을 입력하고, 입력한 평문과 상기 난수 열 기억부에 미리 기억한 난수 열을 연산하여 암호문을 출력하는 것을 특징으로 한다. After the generation of the random number string generation, the plain text is input, and the encrypted text is output by calculating the input plain text and the random number string previously stored in the random number column storage unit.
본 발명에 따른 복호화 방법은 암호문을 입력하기 전에 난수 열의 생성을 개시하고, 생성한 난수 열을 미리 난수 열 기억부에 기억하며, The decryption method according to the present invention starts generating a random number string before inputting a cipher text, and stores the generated random number string in a random number storage in advance.
난수 열 생성의 개시 후에 암호문을 입력하고, 입력한 암호문과 상기 난수 열 기억부에 미리 기억한 난수 열을 연산하여 평문을 출력하는 것을 특징으로 한다. A ciphertext is input after the generation of the random number string generation, and the plaintext is output by calculating the input ciphertext and the random number string previously stored in the random number column storage unit.
본 발명에 따른 완전성 인증자 생성 방법은 X(X≥2)개의 데이터와 X개의 제 어 신호 데이터를 입력하여 데이터 기억부에 기억하며, The integrity authenticator generation method according to the present invention inputs X (X≥2) data and X control signal data and stores them in a data storage unit.
상기 데이터 기억부가 기억한 X개의 데이터와 X개의 제어 신호 데이터를 입력하여, X개의 데이터에 대한 X개의 완전성 인증자를 생성하고, X개의 완전성 인증자를 통합하여 출력하는 것을 특징으로 한다. The data storage unit inputs the X data stored and the X control signal data, generates X integrity authenticators for the X data, and outputs the combined X integrity authenticators.
<제1 실시 형태><First Embodiment>
도 1은 이 실시 형태의 이동체 통신 시스템의 전체 구성도이다. 1 is an overall configuration diagram of a mobile communication system of this embodiment.
무선 단말(MS)(100)은 본 발명의 무선 통신 장치의 일례이다. 무선 단말(MS)(100)은 예를 들면, 휴대 전화기이다. 무선 단말(MS)(100)은 무선으로 무선 기지국(BTS)(110)과 접속된다. 무선 기지국(BTS)(110)은 무선 제어국(RNC)(120)과 접속된다. 무선 제어국(RNC)(120)은 다른 무선 제어국(RNC)(120)과 접속된다. 또한, 무선 제어국(RNC)(120)은 코어 네트워크(CN)(130)에 접속되며, 코어 네트워크(CN)(130)를 통해 다른 무선 제어국(RNC)(120)과 접속된다. 무선 기지국(BTS)(110)과 무선 제어국(RNC)(120) 중 어느 하나 또는 양쪽 모두를 무선국이라고도 한다. The wireless terminal (MS) 100 is an example of a wireless communication device of the present invention. The wireless terminal (MS) 100 is, for example, a mobile phone. The wireless terminal (MS) 100 is wirelessly connected to a wireless base station (BTS) 110. A radio base station (BTS) 110 is connected to a radio control station (RNC) 120. The radio control station (RNC) 120 is connected to another radio control station (RNC) 120. In addition, the radio control station (RNC) 120 is connected to the core network (CN) 130 and is connected to another radio control station (RNC) 120 via the core network (CN) 130. Either or both of the radio base station (BTS) 110 and the radio control station (RNC) 120 are also referred to as radio stations.
도 2는 도 1과 동일한 이동체 통신 시스템의 구성도이다. 특히, 무선 제어국(RNC)(120)의 내부 구성을 나타내고 있다. FIG. 2 is a configuration diagram of the same mobile communication system as in FIG. 1. In particular, the internal structure of the radio control station (RNC) 120 is shown.
BTS IF부(121)는 무선 기지국(BTS)(110)을 접속한다. 핸드 오버 제어부(122)는 무선 기지국(BTS)(110) 사이를 무선 단말(MS)(100)이 이동하는 경우의 핸드 오버를 제어한다. The BTS IF
대(對) MS 신호 제어부(123)는 무선 단말(MS)(100)과의 사이에서의 무선 통신 제어 및 데이터의 은닉 처리 및 완전성 보증 처리를 행한다. 이하에 설명하는 무선 단말기(MS)(100)의 은닉 처리 및 완전성 보증 처리는 대 MS 신호 제어부(123)의 은닉 처리 및 완전성 보증 처리에 대응하여 행해지는 것이다. 즉, 무선 단말(MS)(100)에서 암호화된 데이터는 대 MS 신호 제어부(123)에서 복호화된다. 반대로, 대 MS 신호 제어부(123)에서 암호화된 데이터는 무선 단말(MS)(100)에서 복호화된다. 또한, 무선 단말(MS)(100)에서 데이터의 완전성을 보증하기 위해 부가된 인증자는 대 MS 신호 제어부(123)에서 검증된다. 반대로, 대 MS 신호 제어부(123)에서 데이터의 완전성을 보증하기 위해 부가된 인증자는 무선 단말(MS)(100)에서 검증된다. 이 무선 단말(MS)(100)과 대 MS 신호 제어부(123)에서의 데이터의 은닉 처리 및 데이터의 완전성 보증 처리는 OSI의 7개의 계층 중 2번째의 층, 즉, 층 2(데이터 링크층)에서 행해진다. CN IF부(124)는 코어 네트워크(CN)(130)와의 인터페이스를 취한다. The large MS
RNC IF부(125)는 다른 무선 제어국(RNC)(120)과의 인터페이스를 취한다. 대 CN 신호 제어부(126)는 코어 네트워크(CN)(130)와의 사이에서의 제어를 행한다. 대 RNC 신호 제어부(127)는 다른 무선 제어국(RNC)(120)과의 사이에서 제어를 행한다. 제어부(128)는 무선 제어국(RNC)(120) 전체를 제어한다. 스위치(129)는 제어부(128)의 제어에 기초하여, 무선 기지국(BTS)(110)과 무선 제어국(RNC)(120)과 코어 네트워크(CN)(130)와의 사이에서 제어 신호 및 패킷 데이터를 스위칭한다. 즉, 스위치(129)는 패킷 데이터뿐만 아니라, 음성 등을 포함하는 모든 데이터를 스위칭 함과 함께, 제어 신호도 스위칭한다. The RNC IF
도 3은 무선 단말(MS)(100)의 구성도이다. 3 is a configuration diagram of a wireless terminal (MS) 100.
무선 단말(MS)(100)은 단말 IF부(10)와 무선 통신 제어부(20)와 무선 통신부(30)와 은닉·완전성 보증 처리부(40)를 갖고 있다. 단말 IF부(10)는 카메라(1)와 비디오(2)와 B/T(Blue Tooth)(3)와 LCD(4)와 KEY(5)와 LED(6)와 USIM(Universal Subscriber Identity Module)(7)과 RECEIVER(8)와 MIC(9)와 HSJ(Head Set Jack)(0)를 접속하고 있다. 이들 카메라(1)로부터 HSJ(0)는 사용자(사람) 혹은 접속 대상이 되는 기기와의 인터페이스를 위한 처리를 행하여, 사용자(사람) 혹은 접속 대상이 되는 기기가 인식할 수 있는 정보를 입력 또는 출력하는 것이다. The radio terminal (MS) 100 has a terminal IF
단말 IF부(10)는 내부에 각 모듈 IF부(11)와 데이터 포맷 변환부(12)와 단말 IF 제어부(13)와 음성 부호화/복호화부(14)를 갖고 있다. 각 모듈 IF부(11)는 카메라(1)로부터 HSJ(0)와의 각 인터페이스를 취한다. 데이터 포맷 변환부(12)는 카메라(1) 내지 HSJ(0)에서 취급하는 각 데이터 포맷과 무선 단말(MS)(100) 내부에서 취급하는 각 데이터 포맷과의 사이에서의 변환을 행한다. 단말 IF 제어부(13)는 단말 IF부(10)의 동작을 제어한다. 음성 부호화/복호화부(14)는 MIC(9)로부터 입력된 음성 전기 신호를 음성 부호화한다. 또한, 음성 부호화/복호화부(14)는 음성 부호화된 신호를 복호하여 RECEIVER(8)에 대하여 음성 전기 신호를 출력한다. The terminal IF
무선 통신 제어부(20)는 무선 단말(MS)(100)의 전체 제어를 행한다. 무선 통신 제어부(20)에는 CPU, ROM, RAM, 펌웨어 등으로 이루어지는 하드웨어 회로, 혹은 소프트웨어 모듈이 포함되어 있다. 무선 통신 제어부(20)는 단말 IF부(10)와 무선 통신부(30)와의 사이에서 데이터를 처리하는 것이며, 규격 혹은 프로토콜에 의해 정해진 규칙에 기초하여 데이터의 변환 처리를 행한다. 특히, 층 2 이상의 처리를 행한다. 예를 들면, 데이터의 패킷화나 데이터의 연결 등을 행한다. 무선 통신 제어부(20)는 층 2 이상의 데이터를 취급하기 때문에, 데이터의 종별을 판단할 수 있다. 그리고, 데이터의 종별에 따라, 그 데이터가 은닉 처리되어야 할 데이터인지, 또는 완전성 보증 처리되어야 할 데이터인지를 판단할 수 있다. 층 1의 데이터에서는 데이터의 종별을 판단할 수 없기 때문에, 그 데이터가 은닉 처리되어야 할 데이터인지, 또는 완전성 보증 처리되어야 할 데이터인지를 판단할 수 없다. The radio
무선 통신부(30)는 통신로 부호화부(310)와 기저 대역 변복조부(320)와 무선부(330)와 안테나(34)를 포함하고 있다. 통신로 부호화부(310)는 각 통신로용의 부호화부와 복호화부를 갖고 있다. 부호화부로서, 에러 검출 부호화부(311)와 에러 정정 부호화부(312)와 물리 포맷 변환부(313)를 갖고 있다. 또한, 복호화부로서 물리 포맷 변환부(314), 에러 정정 복호화부(315), 에러 검출부(316)를 갖고 있다. 기저 대역 변복조부(320)는 대역의 변조 및 복조를 행한다. 기저 대역 변복조부(320)는 기저 대역 변조부(321)와 기저 대역 복조부(322)를 갖고 있다. 무선부(330)는 기저 대역의 신호를 전송 대역으로 변환 혹은 전송 대역의 신호를 기저 대역으로 변환한다. 무선부(330)는 업 컨버터(331)와 다운 컨버터(332)를 갖고 있다. The
은닉·완전성 보증 처리부(40)는 무선 통신 제어부(20)에 접속되어 있다. 은닉·완전성 보증 처리부(40)는 무선 통신 제어부(20)로부터 데이터를 수취하여, 은닉 처리를 행한다. 또한, 데이터의 완전성 보증 처리를 행한다. 은닉·완전성 보증 처리부(40)는 무선 통신 제어부(20)로부터 은닉 및 완전성 보증 처리를 위한 제어 신호(91)를 입력한다. 또한, 은닉·완전성 보증 처리부(40)는 무선 통신 제어부(20)로부터 층 2 이상의 임의의 계층에서의 은닉 처리의 대상이 되는 데이터 및/또는 완전성 보증 처리의 대상이 되는 데이터(92)를 입력한다. 은닉·완전성 보증 처리부(40)는 입력한 제어 신호(91)에 기초하여 데이터(92)에 대하여 은닉 처리 및/또는 완전성 보증 처리를 행하고, 무선 통신 제어부(20)에 출력한다. 제어 신호(91) 중에는 키나 초기값이나 은닉 처리와 완전성 보증 처리와의 선택 등의 파라미터가 포함되어 있다. The concealment and integrity
도 4는 은닉·완전성 보증 처리부(40)의 구성도이다. 4 is a configuration diagram of the concealment and integrity
은닉·완전성 보증 처리부(40)는 IF부(410)와 1개의 모듈(411)을 갖고 있다. 모듈(411)은 은닉 처리와 완전성 보증 처리를 1개의 동일한 회로 또는 1개의 동일한 알고리즘으로 행하는 것이다. 은닉 처리를 행할지, 완전성 보증 처리를 행할지는 제어 신호(91)에 의해 결정된다. The concealment and integrity
여기서, 은닉 처리란 데이터를 암호화, 혹은 복호화하는 것을 말한다. 또한, 완전성 보증 처리란 데이터의 개찬 유무를 검증하기 위해, 데이터에 대하여 인증자를 부가하는 처리, 혹은 인증자를 재생하여 비교함으로써 데이터의 개찬 유무를 판정하는 처리를 의미한다. Here, concealment processing means encrypting or decrypting data. In addition, the integrity guarantee process means a process of adding an authenticator to the data or a process of determining whether the data has been altered by reproducing and comparing the authenticator to verify whether the data has been altered.
은닉 처리와 완전성 보증 처리는 동일한 회로 또는 동일한 알고리즘, 혹은 유사한 회로 또는 유사한 알고리즘을 이용하여 행할 수 있기 때문에, 도 4에 도시 한 바와 같이, 은닉 처리와 완전성 보증 처리를 1개의 모듈(411)로 행하는 것이 가능하다. 도 4에 도시한 경우에는, 하드웨어 자원 및 소프트웨어 자원의 삭감이 가능하다. 이하, 모듈이란 하드웨어만으로 실현되는 것, 소프트웨어만으로 실현되는 것, 하드웨어와 소프트웨어와의 조합에 의해 실현되는 것 중 어느 하나를 말한다. Since the concealment process and the integrity guarantee process can be performed using the same circuit or the same algorithm, or similar circuits or similar algorithms, as shown in FIG. 4, the concealment process and the integrity guarantee process are performed by one
여기서, 휴대 전화기에 이용되는 은닉 처리와 완전성 보증 처리의 구체예에 대하여 설명한다. Here, specific examples of the concealment processing and the integrity guarantee processing used for the mobile telephone will be described.
도 14는 ARIB STD-T63 33. 102, 3G Security ; Security Architecture, Section 6.3.에 나타낸 도면이다. 14 shows ARIB STD-T63 33. 102, 3G Security; This figure is shown in Security Architecture, Section 6.3.
도 15는 ARIB STD-T63 33.102,3G Security ; Security Architecture, Figure 16b에 나타낸 도면이다. 15 shows ARIB STD-T63 33.102,3G Security; Security Architecture, shown in Figure 16b.
도 16은 ARIB STD-T63 33. 102, 3G Security ; Security Architecture, Figure 16에 나타낸 도면이다. 16 shows ARIB STD-T63 33. 102, 3G Security; Security Architecture, shown in Figure 16.
도 14는 무선 회선 상에서의 암호화 방법을 나타내고 있다. 도 14에서, 기호의 의미는 이하와 같다. 14 shows an encryption method on a wireless line. In Fig. 14, the meanings of symbols are as follows.
CK : cipher key(암호키) CK: cipher key
F8: 데이터 은닉용 함수 F8: Functions for data hiding
IK : integrity key(메시지 인증키) IK: Integrity key
F9: 데이터 완전성용 함수F9: Data Integrity Function
휴대 전화 사업자는 f1∼f5라는 함수를 사용하여, 인증 처리를 실현하고 있다. 이 처리 중에서 생성된 CK와 IK라 부르는 128 비트의 암호키를 데이터 은닉용 함수 f8과 데이터 완전성용 함수 f9로 전송하고 있다. The cellular phone service provider implements the authentication process by using the functions f1 to f5. A 128-bit encryption key called CK and IK generated in this process is transferred to the data concealment function f8 and the data integrity function f9.
*도 15는 무선 회선 상에서의 암호화 방법을 나타내고 있다. 도 15에서 기호의 의미는 이하와 같다. Fig. 15 shows an encryption method on a wireless line. The meanings of symbols in FIG. 15 are as follows.
f8 : 데이터 은닉용 함수 f8: Functions for data hiding
CK : cipher key(암호키) CK: cipher key
MESSAGE : 사용자 데이터 및 신호 정보 등 송신자가 수신자에게 보내고자 하는 암호화 이전의 평문 MESSAGE: Plain text before encryption that the sender wants to send to the receiver such as user data and signal information
COUNT-C : 송수신의 통산 횟수를 나타내는 수치 데이터. 송수신 시마다 1을 가산한다. COUNT-C: Numerical data indicating the total number of transmission and reception. Add 1 for each transmission and reception.
BEARER : 논리 채널을 식별하기 위한 비트 BEARER: Bit to identify logical channel
DIRECTION : 암호문의 송신 방향을 구별하기 위한 비트 DIRECTION: Bit to distinguish the transmission direction of ciphertext.
LENGTH : MESSAGE 혹은 암호문의 비트 길이LENGTH: Bit length of MESSAGE or ciphertext
도 15에 도시한 바와 같이, 데이터 은닉용 함수 f8에 의해 작성된 난수 열을 기초로 데이터 암호화/복호화를 행한다. As shown in Fig. 15, data encryption / decryption is performed based on the random number column created by the data concealment function f8.
도 16은 메시지 인증자 생성 방법을 나타내고 있다. 도 16에서 기호의 의미는 이하와 같다. 16 illustrates a message authenticator generation method. The meanings of symbols in FIG. 16 are as follows.
f9 : 데이터 완전성용 함수f9: data integrity function
IK : integrity key(메시지 인증키) IK: Integrity key
COUNT-I : 송수신의 통산 횟수를 나타내는 수치 데이터. 송수신 시마다 1을 가산한다. COUNT-I: Numerical data indicating the total number of transmission and reception. Add 1 for each transmission and reception.
MESSAGE : 사용자 데이터 및 신호 정보 등 송신자가 수신자에게 보내고자 하는 암호화 이전의 평문 MESSAGE: Plain text before encryption that the sender wants to send to the receiver such as user data and signal information
DIRECTION : 암호문의 송신 방향을 구별하기 위한 비트 DIRECTION: Bit to distinguish the transmission direction of ciphertext.
FRESH : 사용자마다 생성하는 난수 FRESH: Random number generated per user
MAC-I : message authentication code for integrity(송신자가 계산하는 메시지 인증자)MAC-I: message authentication code for integrity
XMAC-I : expected message authentication code for integrity(수신자가 계산하는 메시지 인증자)XMAC-I: expected message authentication code for integrity
도 16에 도시한 바와 같이, 수신자측에서 2개의 메시지 인증자를 비교함으로써 데이터의 완전성을 체크할 수 있다. As shown in Fig. 16, the integrity of data can be checked by comparing two message authenticators at the receiver side.
다음으로, 동작에 대하여 설명한다. Next, the operation will be described.
무선 네트워크 내에서 단말과 네트워크 간의 암호화 통신을 행하기 위해서는 데이터를 교환하기 전에 양자 간에서 한쪽이 상대를 정당하거나, 혹은 쌍방이 통신 상대로서 정당하다고 확인하는 인증(authentication) 등의 처리가 필요해진다. In order to perform encrypted communication between the terminal and the network in a wireless network, processing such as authentication is required before either data is exchanged to verify that one party is the other party or that both parties are the party.
도 14에 도시한 바와 같이, 일련의 인증 처리에서 단말과 네트워크의 쌍방은 함수 f1∼f5라 하는 5개의 함수를 사용한다. 이 함수는 인증과 병행하여 단말과 네트워크의 양방에, 각각 128 비트의 암호키(CK=cipher key)와 메시지 인증키(IK=integrity key)를 생성한다. As shown in Fig. 14, in the series of authentication processes, both the terminal and the network use five functions called functions f1 to f5. This function generates a 128-bit encryption key (CK = cipher key) and a message authentication key (IK = integrity key) in both the terminal and the network in parallel with authentication.
이들 2개의 키는 서로 인증한 단말과 네트워크만이 동일한 것을 가질 수 있 어서, 후술하는 f8과 f9와의 2개의 함수 내에서 사용된다. 이들 2개의 키는 통신마다 다르며, 더구나 이들 사이의 규칙성은 없다. 그리고, 통신이 종료된 시점에서 폐기된다. These two keys can only have the same terminal and network authenticated with each other, so they are used in two functions of f8 and f9 described later. These two keys are communication specific and there is no regularity between them. Then, it is discarded when the communication ends.
또, 이 인증에 필요한 처리의 메카니즘(프로토콜)은 표준화되어 있지만, 인증 처리에서 이용되는 f1∼f5의 함수는 표준화되어 있지 않으며, 오퍼레이터가 독자적으로 정하는 것으로 되어 있다. In addition, although the mechanism (protocol) of the processing required for this authentication is standardized, the functions of f1 to f5 used in the authentication process are not standardized, and are determined by the operator independently.
인증 처리가 완료한 후에는 은닉 처리에 이용되는 데이터 은닉(data confidentiality) 기술과 완전성 보증 처리에 이용되는 데이터 완전성 (data integrity) 기술에 의해, 데이터의 시큐러티를 유지하고 있다. After the authentication process is completed, data security is maintained by the data confidentiality technique used for the concealment process and the data integrity technique used for the integrity guarantee process.
첫번째의 데이터 은닉 기술은, 무선 네트워크 상에서 음성을 포함하는 사용자 데이터나 신호 정보를 암호화하여, 도청을 방지하는 기술이다. 이 데이터 은닉을 실현하기 위해, 데이터 은닉용 함수(이하, f8이라 함) 등의 함수를 사용한다. The first data concealment technique is a technique for preventing eavesdropping by encrypting user data or signal information including voice over a wireless network. In order to realize this data concealment, a function such as a data concealment function (hereinafter referred to as f8) is used.
도 15에 도시한 데이터를 은닉하여 교환하는 경우, 송신자는 인증 시에 생성한 암호키(CK)를 사용한다. 또한, f8에는 CK 외에, 암호화/복호화 대상 데이터의 비트 길이(LENGTH), 업/다운 링크(DIRECTION), 카운터(COUNT-C), 논리 채널 식별자(BEARER)를 입력함으로써 난수 열이 생성된다. In the case of hiding and exchanging the data shown in Fig. 15, the sender uses the encryption key CK generated at the time of authentication. In addition, at f8, a random number string is generated by inputting a bit length LENGTH, an up / down link DIRECTION, a counter COUNT-C, and a logical channel identifier BEARER in addition to CK.
여기서, 업/다운 링크란 암호문이 단말로부터 기지국으로 송신되는 것인지, 혹은 기지국으로부터 단말로 송신되는 것인지를 구별하는 비트를 말한다. 또한, 카운터란 송수신의 통산 횟수를 나타내는 데이터이다. 카운터에는 송수신 시마다 정해진 값을 가산한다. 카운터는 과거에 보내진 암호문을 후에 보내버리는 공 격(attack)을 방지하기 위해 이용된다. 또한, 논리 채널의 식별자란 암호화를 행하는 논리 채널을 식별하는 비트이다. Here, the up / down link refers to a bit for distinguishing whether the cipher text is transmitted from the terminal to the base station or from the base station to the terminal. The counter is data indicating the number of times of transmission and reception. The counter adds a fixed value for each transmission and reception. Counters are used to prevent attacks that later send ciphertexts sent in the past. In addition, the identifier of a logical channel is a bit which identifies the logical channel which encrypts.
생성된 난수 열과 암호화하고자 하는 데이터/신호 정보와의 배타적 논리합을 취하여 암호문을 생성하고, 수신자에게 송신한다. An exclusive logical OR is generated between the generated random number string and the data / signal information to be encrypted, and the cipher text is generated and transmitted to the receiver.
CK 이외의 파라미터는 송신자로부터 암호화하지 않고 수신자에게 송부한다. 단, CK만은 인증 처리의 과정에서 수신자측에서도 동일한 것이 생성되어 있기 때문에, 송신할 필요가 없다. Parameters other than CK are sent to the receiver without encryption from the sender. However, since only the CK is generated on the receiver side in the course of the authentication process, it is not necessary to transmit.
CK 이외의 파라미터가 제삼자에 전송되었다고 하여도, CK가 비밀이면 암호문을 해독하기 위한 난수 열을 생성할 수 없기 때문에, 원래의 메시지의 안전성은 유지된다. Even if a parameter other than CK is transmitted to a third party, since the random number string for decrypting the cipher text cannot be generated if the CK is a secret, the original message is kept safe.
수신자측은 전송된 파라미터와 미리 가지고 있었던 CK를 사용하여 난수 열을 생성하고, 전송된 암호문과 배타적 논리합을 취하여 원래의 메시지를 복호한다. The receiver generates a random string using the transmitted parameters and the CK that it had previously, and takes an exclusive OR with the transmitted cipher text and decrypts the original message.
이것은 ISO/IEC10116에 의해 정의된 블록 암호의 이용 모드의 하나인 OFB(output feedback) 모드의 변형이다. OFB 모드는 암호문에 전송로 상에서 발생한 노이즈가 혼입되어도, 복호 시점에서 그 노이즈 부분을 확대하지 않기 때문에, 특히 무선 음성 통신에서 채용되는 경우가 많다. This is a variant of the OFB (output feedback) mode, which is one of the usage modes of block ciphers as defined by ISO / IEC10116. In the OFB mode, even if noise generated on the transmission path is mixed in the cipher text, the noise portion is not enlarged at the time of decoding, and therefore is often employed in wireless voice communication.
2번째의 데이터 완전성 기술은, 무선 회선 상의 신호 정보에 메시지 인증자(완전성 인증자)를 부가함으로써 신호의 정보의 개찬 유무를 검출하는 기술이다. 메시지 인증 기술이라고도 한다. 이러한 데이터 완전성을 실현하기 위해, 데이터 완전성용 함수(이하, f9라 함)를 이용한다. 이 f9의 코어 부분에도 f8과 동일한 암호 알고리즘이 이용되고 있다. The second data integrity technique is a technique for detecting the presence or absence of alteration of signal information by adding a message authenticator (completeness authenticator) to signal information on a wireless line. Also known as message authentication technology. In order to realize such data integrity, a function for data integrity (hereinafter referred to as f9) is used. The same encryption algorithm as f8 is used in the core portion of f9.
먼저, 인증 시에 메시지 인증키 생성 함수 f4를 사용하여 메시지 인증키(lK)를 생성하고, f9로 넘어간다. 도 16에 도시한 바와 같이, f9에 메시지 인증키 이외의, 데이터(MESSAGE), 업/다운 링크(DIRECTION), 카운터(COUNT-C), 사용자마다 생성하는 난수(FRESH)를 입력하면, 메시지 인증자(MAC-I 또는 XMAC-I)가 생성된다. First, a message authentication key lK is generated using the message authentication key generation function f4 during authentication, and the process proceeds to f9. As shown in Fig. 16, when f9 is inputted with data MESSAGE, up / down link DIRECTION, counter COUNT-C, and random number FRESH generated for each user, message authentication is performed. A ruler (MAC-I or XMAC-I) is generated.
이들 파라미터도 송신자로부터 암호화되지 않은 데이터 포맷 에리어를 사용하여 수신자에게 전송된다. 이들 파라미터가 제삼자에게 획득되더라도, 메시지 인증키(IK)가 비밀이면, 안전성이 유지되는 것은 데이터의 은닉인 경우와 동일하다 These parameters are also sent from the sender to the receiver using an unencrypted data format area. Even if these parameters are obtained from a third party, if the message authentication key (IK) is secret, then the security is kept the same as the case of data concealment.
송신자는 이 메시지 인증자(MAC-I)를 데이터에 부가하여, 수신자에게 송신한다. 수신자는 마찬가지로, f9를 사용하여 메시지 인증자(XMAC-I)를 계산한다. MAC-I와 XMAC-I를 비교하여, 동일하면 개찬이 없었던 것을 확인할 수 있다. The sender adds this message authenticator (MAC-I) to the data and sends it to the receiver. The receiver likewise calculates the message authenticator (XMAC-I) using f9. Comparing MAC-I and XMAC-I, it can be confirmed that there was no alteration if they were identical.
또, 개찬이 있었다고 검출된 경우의 처리의 일례로서, Moreover, as an example of the process in the case where it was detected that there was alteration,
(1) 상대에게 재송신을 요구하여, 재차 수신된 메시지 인증자가 정당한지를 확인한다. (1) Ask the other party to resend to check whether the received message authenticator is valid.
(2) 계속해서 여러번 개찬이 있었다고 검출된 경우에는 접속을 절단하는 등의 대응을 취한다. (2) If it is detected that there have been alterations several times, take measures such as disconnecting the connection.
3Gpp 사양(상세는 http://www.3gpp.org/About_3GPP/3gpp.htm을 참조할 것)에 의하면, 암호화/복호화 모듈은 도 15와 같이, 입력된 평문(암호화되는 데이터)을 암호문(암호화된 데이터)으로 암호화하여 출력하는 기능, 또한, 암호문을 평문으로 복호화하여 출력하는 기능을 갖는다. 3Gpp 사양에 기초한다고 하면, 도 3의 제어 신호(91)의 구체예는 상기 COUNT/BERARER/DIRECTION/CK/LENGTH가 해당된다.According to the 3Gpp specification (see http://www.3gpp.org/About_3GPP/3gpp.htm for details), the encryption / decryption module encrypts the input plaintext (encrypted data) as shown in FIG. Encrypted data) and output a decrypted cipher text in plain text. Based on the 3Gpp specification, a specific example of the
또한, 도 3의 데이터(92, 93)의 구체예로서는 예를 들면, 도 21에 도시한 바와 같이, 「MACSDU」또는「RLCPDU(data part)」로 된다. 여기서, 「RLCPDU(data part)」란 RLCPDU의 상위 1 Oct 혹은 2 Oct(1 바이트 혹은 2 바이트)를 삭제한 부분(도 21의「DATA FOR CIPHERING」의 부분)으로 된다. 「MACSDU」또는「RLCPDU(data part)」는 도 15의 MESSAGE의 일례이다. 또한, MACSDU는 Media Access Control Service Data Unit을 말한다. RLCPDU는 Radio Link Control Protocol Data Unit을 말한다. 메시지 흐름의 각 메시지는 RLC 헤더 삭제 이후, 층 3에서 RLCPDU로부터 조립된 것으로 된다. In addition, as a specific example of the
RLCPDU에서, 1 Oct 혹은 2 Oct의 은닉 대상 이외의 부분이 존재하지만, RLCPDU 모두를 은닉·완전성 보증 처리부(40)에 입력하여, 은닉·완전성 보증 처리부(40)에서, 1 Oct 혹은 2 Oct 은닉을 행하지 않도록 하고 있다. 그 이유는 은닉 처리를 행하는 모든 데이터 단위(RLCPDU)로부터 1 Oct 혹은 2 Oct의 은닉 대상 이외의 부분을 제거하기 위해, 1 Oct 혹은 2 Oct의 시프트 처리를 무선 통신 제어부(20)에서 실행시킴으로써 발생하는 무선 통신 제어부(20)의 부하를 저감하기 위해서이다. In the RLCPDU, there are portions other than the object of concealment of 1 Oct or 2 Oct, but all of the RLCPDUs are input to the concealment and integrity
도 5는 은닉·완전성 보증 처리부(40)의 다른 예를 나타내는 도면이다. 5 is a diagram illustrating another example of the concealment and integrity
도 5에서 특징이 되는 점은 은닉 처리부(420)와 완전성 보증 처리부(430)를 개별적으로 제공한 점이다. 은닉 처리부(420)의 내부에는 암호화/복호화부(421)가 제공되어 있다. 완전성 보증 처리부(430)의 내부에는 완전성 인증자 부가/완전성 확인부(431)가 제공되어 있다. 암호화/복호화부(421)는 암호화와 복호화를 1개의 동일한 모듈을 이용하여 행하는 경우를 나타내고 있다. 완전성 인증자 부가/완전성 확인부(431)는 완전성 인증자의 부가와 완전성의 확인을 1개의 동일한 모듈로 행하는 경우를 나타내고 있다. 도 5에 도시한 경우에는, 암호화와 복호화가 동일한 함수이었던 경우 및 완전성 인증자 부가와 완전성 확인이 동일한 함수이었던 경우에 취할 수 있는 구성이다. 도 5에 도시한 경우에는, 도 6에 도시한 경우에 비해, 하드웨어 자원 및 소프트웨어 자원의 삭감이 가능하다. 5, the hidden
도 6은 은닉·완전성 보증 처리부(40)의 다른 구성을 나타내는 도면이다. 6 is a diagram illustrating another configuration of the concealment and integrity
도 6의 특징은 은닉 처리부(420)에서, 암호화부(422)와 복호화부(423)를 개별적으로 제공한 점이다. 또한, 완전성 보증 처리부(430)에서, 완전성 인증자 부가부(432)와 완전성 확인부(433)를 개별적으로 제공한 점이다. 도 6에 도시한 경우에는, 암호화와 복호화가 동일하거나 또는 다른 함수이었던 경우 및 완전성 인증자 부가와 완전성 확인이 동일하거나 또는 다른 함수이었던 경우에 취하는 구성이다. 도 6의 경우에는, 암호화, 복호화, 완전성 인증자, 부가 완전성 확인을 개별적으로 실행할 수 있어서, 송수신되는 데이터가 동시에 병렬로 은닉 처리, 혹은 완전성 보증 처리되기 때문에, 처리의 고속화가 가능하다. The characteristic of FIG. 6 is that the
도 7은 은닉 처리부(420)에서, 복수의 암호화부(422)와 복수의 복호화부(423)를 제공한 경우를 나타내고 있다. 또한, 완전성 보증 처리부(430)에서, 복수의 완전성 인증자 부가부(432)와 복수의 완전성 확인부(433)를 제공한 경우를 나타내고 있다. 무선 단말(MS)(100)이 동작하고 있는 경우에, 복수의 채널이 동시에 처리되지 않으면 안되는 경우가 있다. 예를 들면, 음성과 팩시밀리 데이터의 2 종류의 데이터가 동시에 전송되도록 한 경우에는, 적어도 2 채널의 데이터가 동시에 처리될 필요가 있다. 이러한 경우에는, 음성 데이터를 암호화부(1)에서 암호화하여, 팩시밀리 데이터를 암호화부(2)에서 암호화할 수 있다. FIG. 7 shows a case where the
또한, 복호하는 경우에도, 동시에 복수 채널의 데이터를 복호화할 수 있다. 암호화부(422)와 복호화부(423)와 완전성 인증자 부가부(432)와 완전성 확인부(433)의 수(도 7에서는 n개)는 전부 동일할 필요는 없으며, 무선 단말(MS)(100)에서 동시에 처리해야 할 채널 수에 따라 각 부분의 수를 결정하면 된다. 혹은, 각 채널에 대응하는 것은 아니라, 임의의 1개의 채널에 대량 데이터의 고속 처리를 행할 필요가 있게 되는 경우에, 그 1개의 채널에 할당된 대량 데이터를 2개의 암호화부에 의해 처리하도록 하여도 상관없다. 즉, 암호화부(422)와 복호화부(423)와 완전성 인증자 부가부(432)와 완전성 확인부(433)의 각부의 수는 동시에 처리해야 할 채널의 수 및/또는 데이터량에 의해 결정하면 된다. In addition, even when decoding, data of a plurality of channels can be decoded at the same time. The number of
또한, 암호화부(422)의 최대수와 복호화부(423)의 최대수는 달라도 된다. The maximum number of
또한, 완전성 인증자 부가부(432)의 최대수와 완전성 확인부(433)의 최대수는 달라도 된다. In addition, the maximum number of the integrity
도 8은 은닉 처리부(420)에 복수의 암호화/복호화부(421)를 제공한 경우를 나타내고 있다. 또한, 완전성 보증 처리부(430)에 복수의 완전성 인증자 부가/완전성 확인부(431)를 제공한 경우를 나타내고 있다. 8 illustrates a case where a plurality of encryption /
도 8은 도 5에 도시한 암호화/복호화부(421)와 완전성 인증자 부가/완전성 확인부(431)를 복수로 한 것이다. 도 8에 도시한 경우에는, 암호화와 복호화가 동일한 함수이었던 경우에, 복수의 채널에 대응하여 복수의 암호화/복호화부(421)를 제공한 경우를 나타내고 있다. 마찬가지로, 완전성 인증자 부가와 완전성 확인이 동일한 함수이었던 경우에, 복수의 채널에 대응하여 완전성 인증자 부가/완전성 확인부(431)를 복수 제공한 경우를 나타내고 있다. 도 8의 경우에는, 도 7의 경우에 비해 하드웨어 자원 및 소프트웨어 자원의 삭감을 행하는 것이 가능하다. FIG. 8 shows a plurality of encryption /
도 4 내지 도 8에서는 은닉·완전성 보증 처리부(40)가 은닉 처리부(420)와 완전성 보증 처리부(430)를 양쪽 다 포함하고 있는 경우를 나타내었지만, 은닉·완전성 보증 처리부(40)가 은닉 처리부(420) 또는 완전성 보증 처리부(430) 중 어느 한 쪽만 포함하고 있는 경우이어도 된다. 은닉·완전성 보증 처리부(40)가 은닉 처리부(420) 또는 완전성 보증 처리부(430) 중 한쪽만 포함하고 있는 경우에는 다른 쪽의 처리는 무선 통신 제어부(20)가 행하면 된다. 4 to 8 show the case where the concealment and integrity
<제2 실시 형태><2nd embodiment>
도 9는 무선 단말(MS)(100)의 다른 예를 나타내는 구성도이다. 9 is a configuration diagram showing another example of the wireless terminal (MS) 100.
도 9가 도 3과 다른 점은 단말 IF부(10)와 은닉·완전성 보증 처리부(40)와의 사이에서 데이터의 입출력이 행해지는 점이다. 또한, 무선 통신부(30)와 은닉·완전성 보증 처리부(40)와의 사이에서 데이터의 입출력이 행해지는 점이다. 도 9에서, 비투과 데이터(97)는 패킷 데이터 등의 비투과 데이터이다. 또한, 투과 데이터(95, 96)는 음성 데이터나 비제한 디지털 데이터 등의 투과 데이터이다. 투과 데이터란, OSI에 의해 정의되어 있는 있는 층, 혹은 임의의 층의 서브 층에서 입력 부터 출력까지 그 데이터가 일체 변경되지 않는 데이터를 말한다. 한편, 비투과 데이터란, 임의의 층, 혹은 임의의 층의 서브 층에서 입력부터 출력까지 그 데이터의 포맷 변환 처리 등의 어떠한 데이터 처리가 필요한 데이터를 의미한다. 예를 들면, 층 2의 RLC(Radio Link Control) 서브 층에서, SDU(Service Data Unit)와 PDU(ProtocoI Data Unit)가 다른 경우에는 그 데이터는 비투과 데이터이며, 층 2의 MAC(Media Access Control) 서브 층에서 SDU와 PDU가 동일한 경우, 그 데이터는 투과 데이터이다. 도 9에 도시한 경우에는, 무선 통신부(30)와의 사이에서 입출력되는 층 1의 데이터에 대하여 어떠한 처리를 행하지 않고 단말 IF부(10)에 보낼 수 있는 데이터, 예를 들면, 음성 데이터를 투과 데이터로 하고 있다. 한편, 무선 통신부(30)로부터 출력되는 층 1의 데이터에 대하여 어떠한 처리를 행해야만 하는 데이터, 예를 들면, 패킷 데이터를 비투과 데이터로 하고 있다. 9 differs from FIG. 3 in that data input and output is performed between the terminal IF
도 9의 투과 데이터(95, 96)의 구체예는 상술된 바와 같이, 음성 데이터나 비제한 디지털 데이터이지만, 각각의 데이터는 층 1과 층 2 사이에 정의되는 단위(Transport Block)로 분할된 것이며, 이들 Transport Block으로 분할된 데이터는 투과 데이터이기 때문에, 상술한 바와 같이 MACPDU(또한, MACSDU)와 등가이기 때문에, Transport Block으로 분할된 데이터 각각이 은닉 단위와 동일해진다. Specific examples of the
또한, 음성 데이터 등은 사용자 데이터이며, 사용자 데이터는 RLC 서브 층에서도 투과 데이터이기 때문에, 이 전송 형태를 직렬 인터페이스로 하여, ARIB 규정의 MT(Mobile Terminal)-TA(Terminal Adaptor) I/F(도 22, 도 23)로 하면, MT-TA I/F의 직렬 포맷에 대하여 그대로, 은닉을 실시하는 것이 가능한 전송 형태로 된 다. In addition, since the voice data and the like are user data, and the user data is transparent data in the RLC sublayer, the transmission form is a serial interface, and the MT (Mobile Terminal) -TA (Term Adaptor) I / F (ARB) of the ARIB standard is shown. 22 and FIG. 23), a transmission form that can conceal the MT-TA I / F serial format as it is is possible.
또한, 도 9의 비투과 데이터(97)의 구체예는 상술한 바와 같이, 패킷 데이터나 시그널링을 위한 데이터이지만, 각 데이터는 층 1과 층 2와의 사이에 정의되는 단위(Transport Block)로 분할된 것이다. In addition, although the specific example of the
도 9에 도시한 은닉·완전성 보증 처리부(40)는 무선 통신 제어부(20)와의 사이에서 비투과 데이터에 대하여 은닉 처리와 완전성 보증 처리를 선택적으로 행함과 함께, 단말 IF부(10)와 무선 통신부(30)와의 사이에서 입출력되는 투과 데이터에 대하여, 예를 들면, 은닉 처리를 반드시 행하는 것이다. 은닉·완전성 보증 처리부(40)는 투과 데이터에 대해서는 완전성 보증 처리를 행하지 않는다. 만일, 투과 데이터 내에 은닉 처리를 행하지 않고자 하는 것이 있는 경우에는 무선 통신 제어부(20)는 그 은닉 처리를 행하지 않고자 하는 투과 데이터를 은닉·완전성 보증 처리부(40)에 입력시키지 않고 무선 통신 제어부(20)에 입력시키면 된다. 혹은, 그 은닉 처리를 행하지 않고자 하는 투과 데이터를 은닉·완전성 보증 처리부(40)에 입력시키지만, 무선 통신 제어부(20)로부터의 제어 신호를 이용하여 그 투과 데이터에 은닉 처리를 행하게 하지 않도록 하여도 된다. The concealment and integrity
도 10은 은닉·완전성 보증 처리부(40)의 구성도이다. 10 is a configuration diagram of the concealment and integrity
도 10에서, 도 5와 다른 점은 새롭게 은닉 처리부(460)가 제공된 점이다. 은닉 처리부(460)에는 암호화부(462)와 복호화부(463)가 제공되어 있다. 암호화부(462)는 단말 IF부(10)로부터의 투과 데이터(95)를 입력하고, 입력한 데이터를 암호화하여, 투과 데이터(96)로서 무선 통신부(30)에 출력한다. 한편, 복호화 부(463)는 무선 통신부(30)로부터 투과 데이터(96)를 입력하고 복호화하여, 투과 데이터(95)로서 단말 IF부(10)에 출력한다. 은닉 처리부(460)의 이들 처리는 IF부(410)로부터의 제어 신호(99)에 기초하여 행해진다. 제어 신호(99)는 제어 신호(91)로부터 생성된 제어 신호이다. 따라서, 은닉 처리부(460)는 무선 통신 제어부(20)로부터의 제어 신호에 기초하여 은닉 처리를 행하는 것으로 된다. 도 10에서, 데이터(92)는 버스를 통한 병렬 인터페이스를 이용하여 입출력된다. 한편, 투과 데이터(95, 96)는 직렬 인터페이스를 통해 은닉 처리부(460)에 대하여 입출력된다. 이와 같이, 도 10은 은닉·완전성 보증 처리부(40)가 병렬 인터페이스와 직렬 인터페이스의 2계통의 입출력 인터페이스를 포함하고 있는 경우를 나타내고 있다. In FIG. 10, the difference from FIG. 5 is that the
도 11은 도 7에 도시한 은닉·완전성 보증 처리부(40)의 구성에 은닉 처리부(460)를 부가한 경우를 나타내고 있다. 도 11에 도시한 바와 같은 은닉 처리부(460)의 구성은 도 12에 도시한 바와 같이, 암호화부 또는 복호화부가 키 스트림을 발생시켜서, 직렬 데이터와 배타적 논리합을 취한 경우에 유효한 구성이다. FIG. 11 shows a case where the
도 11은 투과 데이터(95, 96)가 직렬 인터페이스를 통해 은닉 처리부(460)에 입출력되는 경우로서, 또한, 그 직렬 인터페이스를 통해 입출력되는 직렬 데이터에, 복수 채널의 데이터가 다중화되어 있는 경우를 나타내고 있다. 예를 들면, 채널 1의 데이터 다음에 채널 2의 데이터가 직렬 데이터로서 입력된 경우, 채널 1에 대응하는 암호화부(1)로부터 키 스트림을 발생시켜 데이터 다중부(481)에 출력하고, 채널 2에 대응하는 암호화부(2)로부터 키 스트림을 발생시켜서 데이터 다중부(481)에 출력하며, 데이터 다중부(481)에서, 이들 키 스트림을 입력하는 데이 터(95)의 데이터 계열과 동일한 포맷으로 다중한다. 이 다중된 키 스트림과 입력되는 데이터(95)의 데이터 계열과의 배타적 논리합을 배타적 논리합 회로(483)에 의해 연산한다. 은닉 처리부(460)의 이들 동작은 제어 신호(99)에 기초하여, 즉, 무선 통신 제어부(20)로부터 전송되어 온 제어 신호(91)에 기초하여 행해진다. 도 11의 구성에 따르면, 직렬 데이터의 지연이 배타적 논리합 회로(483)의 연산만으로도, 고속 처리를 행하는 것이 가능하다. FIG. 11 shows a case where the transmitted
도 13은 도 10의 은닉 처리부(420)와 은닉 처리부(460)를 합쳐 1개의 은닉 처리부(470)로 한 경우를 나타내고 있다. FIG. 13 shows a case where the
은닉 처리부(470)는 병렬 인터페이스로부터 입출력되는 데이터(92)와 직렬 인터페이스로부터 입출력되는 데이터(95, 96) 양방을 처리한다. 은닉 처리부(470)는, 은닉 처리부(420)와 은닉 처리부(460)를 1개로 통합한 것이기 때문에, 하드웨어 자원의 삭감이 가능하다. 은닉 처리부(470)에서의 투과 데이터와 비투과 데이터의 처리 동작의 스위칭은 제어 신호(99), 즉, 무선 통신 제어부(20)로부터 출력된 제어 신호(91)에 기초하여 행해진다. The
<제3 실시 형태>Third Embodiment
도 25는 제3 실시 형태의 은닉 처리부의 암호화 방식 및 복호화 방식을 나타내는 도면이다. 도 25의 좌측은 송신측의 암호화 장치를 나타내고 있다. 도 25의 우측은 수신측의 복호화 장치를 나타내고 있다. FIG. 25 is a diagram illustrating an encryption method and a decryption method of a concealment processing unit of a third embodiment. FIG. The left side of Fig. 25 shows the encryption apparatus on the transmission side. The right side of Fig. 25 shows a decoding apparatus on the receiving side.
도 25가 도 15와 다른 점은 데이터 은닉용 함수 f8에 의해 작성한 난수 열을 일시 기억하는 난수 열 기억부(버퍼)를 구비하고 있는 점이다. 난수 열 기억부는 데이터 은닉용 함수 f8에 의해 작성된 난수 열을 미리 기억해 두는 것이다. 즉, 데이터 은닉용 함수 f8은 난수 열을 생성하기 위한 정보가 획득된 후, 난수 열의 생성을 개시하여 난수 열 기억부에 난수 열을 출력한다. 난수 열 기억부는 메시지(평문)가 도착할 때까지 난수 열을 일시적으로 보존해 두고, 메시지(평문)의 입력에 동기시켜서 기억한 난수 열을 출력한다. FIG. 25 differs from FIG. 15 in that a random number column storage unit (buffer) temporarily stores a random number column created by the data concealment function f8. The random number storage unit stores in advance the random number column created by the data hiding function f8. That is, after the information for generating the random number string is acquired, the data concealment function f8 starts generating the random number string and outputs the random number string to the random number column storage unit. The random number storage unit temporarily stores the random number string until the message (plain text) arrives, and outputs the stored random number string in synchronization with the input of the message (plain text).
한편, 복호할 경우에는 데이터 은닉용 함수 f8은 난수 열을 생성하기 위한 정보를 정리한 후, 난수 열의 생성을 개시하여, 난수 열 기억부에 난수 열을 출력한다. 난수 열 기억부는 암호문이 도착할 때까지 난수 열을 일시적으로 보존해 두고, 암호문의 입력에 동기시켜 난수 열 기억부에 기억한 난수 열을 출력한다. On the other hand, when decoding, the data concealment function f8 arranges the information for generating the random number string, then starts generating the random number string, and outputs the random number string to the random number column storage unit. The random number row storage unit temporarily stores the random number row until the ciphertext arrives, and outputs the random number row stored in the random number row storage unit in synchronization with the input of the ciphertext.
이와 같이, 도 25의 좌측에 도시한 암호화 장치의 특징은 데이터 은닉용 함수 f8에 의한 난수 열의 생성과, 메시지와 난수 열의 연산을 비동기로 행하는 것을 특징으로 한다. 즉, 데이터 은닉용 함수 f8은 평문과 난수 열과의 연산보다 전에 난수 열을 생성하여, 난수 열 기억부에 미리 보존해 두는 것이 특징이다. As described above, the encryption device shown in the left side of FIG. 25 is characterized in that the generation of the random number string by the data hiding function f8 and the operation of the message and the random number string are performed asynchronously. In other words, the function f8 for data concealment is characterized by generating a random number column prior to the operation between the plain text and the random number column, and storing it in the random number column storage in advance.
또한, 도 25의 우측에 도시한 복호화 장치는 데이터 은닉용 함수 f8에 의한 난수 열의 생성과, 암호문과 난수 열과의 연산을 비동기로 행하는 것을 특징으로 한다. 즉, 데이터 은닉용 함수 f8은 암호문의 입력 전에 난수 열의 생성을 개시하여, 생성한 난수 열을 난수 열 기억부에 미리 보존해 두는 것을 특징으로 한다. Further, the decryption apparatus shown in the right side of Fig. 25 is characterized in that the generation of the random number string by the function f8 for data concealment and the operation of the ciphertext and the random number string are performed asynchronously. That is, the data hiding function f8 starts generating a random number string before inputting the cipher text, and stores the generated random number string in the random number column storage in advance.
도 25의 암호화 장치와 복호화 장치는 예를 들면, ISO/IEC10116에 의해 정의된 블록 암호의 이용 모드 중 하나인 OFB(output feedback) 모드의 암호화·복호화를 행하는 것이다. 혹은, 그 변형 모드를 이용하는 경우이어도 된다. 혹은, 평문 혹은 암호문 없이 난수 열을 생성할 수 있는 모드를 이용하는 경우이면 된다. 그러나, 도 25의 암호화 장치와 복호화 장치는 평문 혹은 암호문 없이 먼저 난수 열을 생성하는 것이기 때문에, 평문 혹은 암호문을 입력하여 난수 열을 생성하는 모드를 이용할 수는 없다. The encryption apparatus and decryption apparatus in FIG. 25 perform encryption and decryption of, for example, an output feedback (OFB) mode, which is one of the use modes of block ciphers defined by ISO / IEC10116. Alternatively, the modified mode may be used. Alternatively, the mode may be used to generate a random string without plain text or cipher text. However, since the encryption apparatus and the decryption apparatus of FIG. 25 generate the random number string first without the plain text or the cipher text, the mode for generating the random number string by inputting the plain text or the cipher text cannot be used.
또, 평문이란 암호화하는 데이터를 의미하며, 반드시 사람이 기입 및 판독할 수 있는 것에 한하지 않는다. 예를 들면, 텍스트 데이터, 문자 데이터는 평문이다. 또한, 음성 데이터, 화상 데이터, 부호화 데이터, 압축 데이터 등도 암호화되는 데이터이면 평문이다. In addition, plain text means the data to encrypt, and it is not necessarily a thing which a human can write and read. For example, text data and character data are plain text. Further, audio data, image data, encoded data, compressed data, and the like are also plain text as long as they are encrypted data.
또한, 암호문이란 암호화된 데이터를 의미한다. 텍스트 데이터, 문자 데이터, 음성 데이터, 화상 데이터, 부호화 데이터, 압축 데이터 등의 암호화되기 전의 평문 데이터 형식은 묻지 않는다. In addition, the ciphertext means encrypted data. The plain text data format before encryption of text data, character data, audio data, image data, encoded data, compressed data, etc. is not asked.
도 26은 제3 실시 형태의 완전성 보증 처리부의 완전성 보증 방식을 나타내는 도면이다. It is a figure which shows the completeness guarantee system of the integrity guarantee processing part of 3rd Embodiment.
도 26이 도 16과 다른 점은 데이터 완전성용 함수 f9의 전단에 데이터 기억부(버퍼)가 제공되어 있다는 점이다. 데이터 기억부는 X(X≥2)개의 데이터와 X개의 제어 신호 데이터를 입력하여 기억하는 것이다. 데이터 완전성용 함수 f9는 데이터 기억부에 기억된 X개의 데이터와 X개의 제어 신호 데이터를 입력하여 X개의 데이터에 대한 X개의 완전성 인증자를 생성하고, X개의 완전성 인증자를 통합하여 출력하는 것이다. 26 differs from FIG. 16 in that a data storage unit (buffer) is provided in front of the data integrity function f9. The data storage section stores and stores X (X≥2) data and X control signal data. The data integrity function f9 inputs the X data stored in the data storage unit and the X control signal data to generate X integrity authenticators for the X data, and outputs the combined X integrity authenticators.
메시지 인증키(IK)가 X개의 데이터에 대하여 공통인 경우, 도 26에 도시한 바와 같이, 메시지 인증키(IK)를 데이터 기억부에 기억시키지 않고 데이터 완전성용 함수 f9에 직접 입력시키도록 하여도 된다. 메시지 인증키(IK)가 각 데이터에 대하여 상이할 때에는 다른 제어 신호 데이터와 함께 데이터 기억부에 기억시키도록 하면 된다. If the message authentication key IK is common to the X pieces of data, as shown in Fig. 26, the message authentication key IK is directly entered into the data integrity function f9 without storing the message authentication key IK in the data storage. do. When the message authentication key IK is different for each data, it may be stored in the data storage unit together with other control signal data.
이하, 도 25에 도시한 은닉 처리부와 완전성 보증 처리부의 구체예에 대하여 도면을 참조하여 설명한다. Hereinafter, specific examples of the concealment processing section and the integrity guarantee processing section shown in FIG. 25 will be described with reference to the drawings.
도 27은 제3 실시 형태의 무선 통신 제어부(20)와 은닉·완전성 보증 처리부(40)를 나타내는 도면이다. FIG. 27 is a diagram illustrating the wireless
그 밖의 구성은 제2 실시 형태의 도 9에 도시한 무선 단말(100)과 동일하기 때문에, 이하, 도 27을 중심으로 제2 실시 형태와 다른 점에 대하여 설명한다. Since the other structure is the same as that of the
무선 통신 제어부(20)의 내부에는 CPU(29)가 제공되어 있다. 또한, 은닉·완전성 보증 처리부(40)의 내부에는 병렬 인터페이스를 갖는 은닉 처리부(420)와, 직렬 인터페이스를 갖는 은닉 처리부(460)와, 완전성 보증 처리부(430)가 제공되어 있다. 은닉 처리부(420)에는 암호화부(422)와 복호화부(423)가 제공되어 있다. 은닉 처리부(460)에는 암호화부(462)와 복호화부(463)가 제공되어 있다. 완전성 보증 처리부(430)에는 완전성 인증자 부가부(432)와 완전성 확인부(433)가 제공되어 있다. 무선 통신 제어부(20)와 은닉·완전성 보증 처리부(40)는 버스(90)에 의해 접속되어 있다. 버스(90)는 무선 통신 제어부(20) 내부의 CPU(29)와, 은닉·완전성 보증 처리부(40) 내부의 은닉 처리부(420)와, 은닉 처리부(460)와, 완전성 보증 처리부(430)를 접속하고 있으며, 제어 신호(91) 및 데이터(92) 및 그 밖의 데이 터를 전송하는 것이다. CPU(29)는 ROM(Read Only Memory) 등의 기록 매체에 기억된 프로그램을 판독 프로그램의 실행에 의해 무선 통신 제어부(20)의 전체 처리를 담당하는 것이다. 버스(90)는 무선 통신 제어부(20)와 은닉·완전성 보증 처리부(40)와 내부 혹은 외부에 있는 다른 처리부(도시 생략)를 접속하는 범용의 버스이다. The
도 28은 은닉 처리부(420)의 암호화부(422)와 복호화부(423)의 상세도이다. 28 is a detailed view of the
암호화부(422)는 암호화기(610)와 버퍼(620)와 배타적 논리합 연산부(630)에 의해 구성되어 있다. 복호화부(423)는 복호화기(611)와 버퍼(621)와 배타적 논리합 연산부(631)에 의해 구성되어 있다. 암호화기(610)는 도 25의 송신측의 데이터 은닉용 함수 f8에 상당하는 것이다. 버퍼(620)는 도 25의 송신측의 난수 열 기억부에 상당하는 것이다. 여기서, 버퍼(620)는 선입 선출 메모리를 이용하고 있다. 배타적 논리합 연산부(630)는 예를 들면, 64 비트의 병렬 데이터의 배타적 논리합 연산을 동시에 행하는 것이다. 복호화기(611)는 도 25의 수신측의 데이터 은닉용 함수 f8에 상당하는 것이다. 버퍼(621)는 도 25의 수신측의 난수 열 기억부에 상당하는 것이다. 배타적 논리합 연산부(631)는 예를 들면, 64 비트의 병렬 데이터의 배타적 논리합 연산을 동시에 행하는 것이다. The
은닉 처리부(420)는 버스(90)를 통해 CPU(29)로부터 제어 신호(91)를 입력한다. 이 시점에서는, 아직 평문(950)은 입력되지 않는다. CPU(29)는 미리 제어 신호(91)를 알 수 있어서, 평문(950)보다도 전에 제어 신호(91)를 CPU(29)로부터 은닉 처리부(420)에 대하여 전송하는 것이 가능하다. 제어 신호(91)는 적어도 암호 키(CK)를 포함하며, 또한, 이 예에서는 CK 이외에, 암호화/복호화 대상 데이터의 비트 길이(LENGTH, 도 28에서는 비트 길이=256 비트의 경우를 나타내고 있음), 업/다운 링크(DIRECTION), 카운터(COUNT-C), 논리 채널 식별자(BEARER)를 포함하고 있다. 암호키(CK), 암호화/복호화 대상 데이터의 비트 길이(LENGTH), 업/다운 링크(DIRECTION), 카운터(COUNT-C), 논리 채널 식별자(BEARER)는 제어 신호(600) 또는 제어 신호(601)로서 암호화부(422) 또는 복호화부(423)에 입력된다. 암호화기(610)에서는 제어 신호(600)가 입력되면, 난수 열의 생성을 개시하여, 난수 열을 버퍼(620)에 출력한다. 여기서, 암호화기(610)가 64 비트 단위로 난수 열을 발생하는 것으로 한다. 이 경우에는, 암호화기(610)로부터는 64 비트 단위의 난수 열이 출력되어, 버퍼(620)에 일시적으로 기억된다. 상술한 바와 같이, 암호화 대상 데이터의 비트 길이(LENGTH)가 256 비트인 경우에는 암호화기(610)는 64 비트의 난수 열을 4개 발생시켜서, 암호화 대상 데이터의 비트 길이(256 비트)에 충분한 길이의 난수 열(64 비트×4)을 생성한다. The
도 28에서는 버퍼(620)에 4개의 64 비트 길이의 난수 열이 보존되어 있는 경우를 나타내고 있다. FIG. 28 illustrates a case where four 64-bit long random number strings are stored in the buffer 620.
그 후, CPU(29)는 256 비트의 비트 길이의 평문(950)을 64 비트 단위로 버스(90)를 통해 암호화부(422)에 전송한다. 배타적 논리합 연산부(630)가 64 비트 단위로 평문(950)을 입력하면, 버퍼(620)는 64 비트의 난수 열(650)을 순차 출력한다. 배타적 논리합 연산부(630)는 64 비트 단위로 평문(950)과 난수 열(650)의 배타적 논리합 연산을 동시에 행하여, 64 비트 단위의 암호문(960)을 생성한다. 암 호문(960)은 CPU(29)에 반송된다. Thereafter, the
복호화부(423)의 동작은 배타적 논리합 연산부(631)로의 입력이 암호문(960)이고, 출력이 평문(950)인 점을 제외하고는, 암호화부(422)의 동작과 동일하기 때문에 설명을 생략한다. The operation of the
또, 배타적 논리합 연산부(630)가 평문(950)을 입력하는 것은 버퍼(620)에 4개의(256 비트의) 난수 열을 생성한 후가 아니어도 되며, 버퍼(620)에 64 비트의 난수 열이 1개 이상 저장된 경우에, 배타적 논리합 연산부(630)에 의한 배타적 논리합 연산을 개시하여도 상관없다. 이 경우에는 암호화기(610)에 의한 난수 열의 생성과, 배타적 논리합 연산부(630)에 의한 배타적 논리합 연산이 병렬로 동시에 행해지게 된다. 암호화기(610)는 배타적 논리합 연산부(630)에서, 평문(950)의 배타적 논리합 연산을 행하고 있는 동안에, 다음 제어 신호(600)를 입력하며, 다음에 입력되는 평문(950)에 대한 난수 열을 생성하여 버퍼(620)에 대하여 미리 다음의 평문에 대한 난수 열을 기억시킨다. In addition, the exclusive OR
이와 같이, 암호화부(422)는 CPU(29)로부터 평문(950)을 입력하기에 앞서서, 미리 버퍼(620)에 난수 열을 저장해 두기 때문에, 배타적 논리합 연산부(630)에서의 연산의 대기 시간이 생기지 않아서, 암호화를 고속으로 행할 수 있다. 마찬가지의 이유에 의해, 복호화부(423)에서도 복호화를 고속으로 행할 수 있다. As described above, since the
또, 버퍼(620, 621)의 사이즈는 암호화기(610), 복호화기(611)가 출력하는 난수 열의 단위 사이즈 이상 있으면 되지만, 이 시스템 내에서 지정될 수 있는 암호화/복호화 대상 데이터의 비트 길이(LENGTH)의 최대값 이상인 것이 바람직하다. 예를 들면, 암호화기(610), 복호화기(611)가 출력하는 난수 열의 단위 사이즈가 64 비트이고, 암호화/복호화 대상 데이터의 비트 길이(LENGTH)의 최대값이 5114 비트이면, 버퍼(620, 621)의 사이즈는 5120(64×80) 비트 이상 있는 것이 바람직하다. In addition, the size of the buffers 620 and 621 may be equal to or larger than the unit size of the random number column output by the
또한, 배타적 논리합 연산부(631)는 예를 들면, 64 비트의 배타적 논리합 연산을 행하는 것으로 하였지만, 32 비트, 128 비트 등의 다른 비트 사이즈의 병렬 데이터 처리를 하여도 된다. In addition, the exclusive OR
또한, 암호화기(610), 복호화기(611)가 출력하는 난수 열의 단위 사이즈가 64 비트인 경우를 설명하였지만, 32 비트, 128 비트 등의 다른 비트 단위 사이즈의 난수 열을 출력하여도 된다. In addition, although the case where the unit size of the random number string which the
또한, 암호화기(610), 복호화기(611)가 출력하는 난수 열의 단위 사이즈와 버퍼(620, 621)의 판독 및 기입 사이즈와 배타적 논리합 연산부(631)의 병렬 데이터의 비트 사이즈는 동일하지 않아도 된다. In addition, the unit sizes of the random number columns output by the
도 29는 무선 통신 제어부(20)와 은닉 처리부(420)의 다른 예를 나타내는 도면이다. 29 is a diagram illustrating another example of the wireless
도 29가 도 28과 다른 점은 배타적 논리합 연산부(630)와 배타적 논리합 연산부(631)가 은닉 처리부(420)가 아니라, 무선 통신 제어부(20)에 제공되어 있는 점이다. FIG. 29 differs from FIG. 28 in that the exclusive OR
CPU(29)는 버스(90)를 통해, 평문(950)에 대한 난수 열을 (가능한 한 통합하여) 버퍼(620)로부터 판독하여, 배타적 논리합 연산부(630)에 공급한다. 배타적 논리합 연산부(630)에서는 평문(950)과 난수 열(650)의 배타적 논리합 연산을 행하 여, 암호문(960)을 생성한다. The
마찬가지로, 배타적 논리합 연산부(631)에서도, CPU(29)에 의해 버스(90)를 통해 버퍼(621)로부터 난수 열(65l)이 판독되고, 암호문(960)과의 배타적 논리합 연산이 행해져서, 평문(950)이 출력된다. Similarly, in the exclusive OR
도 29의 경우에는, CPU(29)가 난수 열을 버퍼(620)로부터 판독할 뿐이며, 평문(950)과 암호문(960)이 버스(90)를 왕복할 필요가 없어지기 때문에, 버스(90)에 흐르는 데이터량을 도 28의 구성에 비해 1/2 이하로 할 수 있다. 또한, 버스(90)를 사용하기 위한 대기 시간을 줄일 수 있다. 또한, 버스(90)의 경합을 줄일 수 있다. In the case of FIG. 29, since the
또, 도 28과 도 29 중 어느 하나의 경우에서도, 배타적 논리합 연산부(630)와 배타적 논리합 연산부(631)는 하드웨어로 실현하여도 되며, 소프트웨어로 실현하여도 되고, 하드웨어와 소프트웨어와의 조합에 의해 실현하여도 된다. Also, in either case of FIGS. 28 and 29, the exclusive OR
도 30은 직렬 인터페이스를 갖는 은닉 처리부(460)의 암호화부(462)와 복호화부(463)의 상세도이다. 30 is a detailed view of the
도 30이 도 28과 다른 점은 병렬 데이터의 배타적 논리합 연산부(630) 대신에, 1 비트의 직렬 데이터의 배타적 논리합 연산을 행하는 배타적 논리합 연산부(632)를 포함하고 있다는 점이다. 또한, 병렬 데이터의 배타적 논리합 연산부(631) 대신에, 1 비트의 직렬 데이터의 배타적 논리합 연산을 행하는 배타적 논리합 연산부(633)를 포함하고 있는 점이다. 배타적 논리합 연산부(632)에서는 투과 데이터(95)가 입력되며, 난수 열(650)과 1 비트씩 직렬로 배타적 논리합 연산이 행해져서, 암호화된 투과 데이터(96)가 출력된다. 한편, 배타적 논리합 연산부(633)에서는 투과 데이터(96)가 입력되고, 난수 열(651)과 1 비트씩 직렬로 배타적 논리합 연산이 행해져서, 복호화된 투과 데이터(95)가 출력된다. FIG. 30 differs from FIG. 28 in that instead of the exclusive OR
도 30에 도시한 경우에서도, 미리 버퍼(620)와 버퍼(621)에 난수 열이 생성되어 있기 때문에, 배타적 논리합 연산부(632)와 배타적 논리합 연산부(633)에서는 대기 시간이 생기지 않아서 고속의 배타적 논리합 연산을 행할 수 있다. Even in the case shown in Fig. 30, since the random number string is generated in the buffer 620 and the buffer 621 in advance, the exclusive OR
또, 도 30의 경우에서도, 배타적 논리합 연산부(632)와 배타적 논리합 연산부(633)는 하드웨어로 실현하여도 되며, 소프트웨어로 실현해도 되고, 하드웨어와 소프트웨어와의 조합에 의해 실현하여도 된다. Also in the case of FIG. 30, the exclusive OR
또한, 배타적 논리합 연산부(632)와 배타적 논리합 연산부(633)는 은닉 처리부(460)의 외부에 있어도 무방하다. In addition, the exclusive OR
도 31은 완전성 보증 처리부(430)의 완전성 인증자 부가부(432)와 완전성 확인부(433)의 상세를 나타내는 도면이다. 31 is a diagram illustrating details of the integrity
완전성 인증자 부가부(432)에는 버퍼(660)와 완전성 인증자 생성기(670)와 완전성 인증자 부가기(680)가 구비되어 있다. 완전성 확인부(433)에는 버퍼(661)와 완전성 인증자 생성기(671)와 완전성 확인기(681)가 포함되어 있다. 버퍼(660)와 버퍼(661)는 선출 선입 메모리이다. 버퍼(660)와 버퍼(661)는 도 26의 데이터 기억부에 상당한다. 완전성 인증자 생성기(670)와 완전성 인증자 생성기(671)는 도 26의 데이터 완전성용 함수 f9에 상당한다. 완전성 인증자 부가기(680)는 완전성 인증자를 데이터에 부가하는 것이다. 완전성 확인기(681)는 송신측으로부터 수 취한 완전성 인증자와 수신측에서 생성한 완전성 인증자와의 비교를 행하여, 일치한 경우에 데이터의 완전성을 확인하는 것이다. The
도 31에서, CPU(29)는 완전성 인증자 부가부(432)에 대하여 완전성을 보증하고자 하는 4개의 데이터(92)를 통합하여 송신하고 있다. 또한, CPU(29)는 완전성 을 보증하고자 하는 4개의 데이터(92)에 대응하는 4개의 제어 신호(91)를 통합하여 송신하고 있다. 제어 신호(91)는 적어도 메시지 인증키(IK)를 포함하며, 또한, 업/다운 링크(DIRECTION), 카운터(COUNT-C), 사용자마다 생성하는 난수(FRESH)를 갖고 있다. CPU(29)는 4개의 데이터에 대응하여, 각각 적어도 업/다운 링크(DIRECTION), 카운터(COUNT-C), 사용자마다 생성하는 난수(FRESH)를 제어 신호(91)로서 버퍼(660)에 전송한다. 또, 메시지 인증키(IK)에 대해서는 4개의 데이터에 대응한 개별적인 4개의 메시지 인증키(IK)를 버퍼(660)에 전송하여도 되며, 메시지 인증키(IK)가 4개의 데이터에 공통의 고정값인 경우에는 메시지 인증키(IK)를 버퍼(660)에 기억하지 않으며, 완전성 인증자 생성기(670)에 직접 입력하도록 하여도 된다. In Fig. 31, the
제어 신호(91)는 제어 신호로서 버스(90)의 제어 신호 라인을 통해 전송하여도 되며, 데이터로서 버스(90)의 데이터 신호 라인을 통해 전송하여도 된다. 4개의 제어 신호(91)는 4개의 데이터와 함께 송신되어도 되며, 별도로 송신되어도 상관없다. 버퍼(660)는 4개의 데이터와 4개의 제어 신호를 통합하여 입력하여 기억한다. 여기서, CPU(29)가 4개의 데이터 혹은 4개의 제어 신호를 통합하여 전송한다는 의미는 1회의 전송 명령에 의해 4개의 데이터 혹은 4개의 제어 신호가 전송되 는 것을 의미하고 있다. 이하, 「통합」이란, 「하나의 명령에 의해」 혹은 「복수의 것을 개별적이 아니라 한 그룹으로 하여」와 같은 것을 의미하는 것으로 한다. 「하나의 명령에 의해」 실행함으로써, CPU(29) 또는 각 처리기의 부하가 감소한다. 또한, 「복수의 것을 개별적이 아니라 한 그룹으로 하여」 전송 또는 입출력함으로써, 버스(90) 또는 각 전송선(도시 생략)의 전송 횟수가 감소한다. The
버퍼(660)는 데이터와 제어 신호를 대응시켜, 대응 데이터로서 기억하고 있다. 완전성 인증자 생성기(670)는 대응 데이터를 입력하고, 제어 신호에 기초하여 데이터의 완전성 인증자를 생성한다. 완전성 인증자 생성기(670)는 소정의 알고리즘을 이용하여 4개의 대응 데이터로부터 4개의 완전성 인증자를 각각 생성하며, 완전성 인증자 부가기(680)에 통합하여 출력한다. 완전성 인증자 생성기(670)는 여기서는, 32 비트 길이의 완전성 인증자를 4개 생성하는 것으로 한다. 완전성 인증자 부가기(680)는 4개의 완전성 인증자를 각각 데이터에 부가하여, CPU(29)에 1개의 전송 명령에 기초하여 전송한다. The buffer 660 associates data with control signals and stores them as corresponding data.
완전성 인증자 부가부(432)가 256 비트 길이의 데이터를 4개 입력한 경우에는 완전성 인증자 부가부(432)는 (256+32)×4 비트의 데이터를 CPU(29)에 반송하게 된다. When the integrity
한편, 완전성 확인부(433)에서는 완전성 인증자가 부가된 데이터를 4개 통합하여 입력한다. 또한, 제어 신호(91)도 4개 통합하여 입력한다. 상술한 바와 같이, 메시지 인증키(IK)는 버퍼(661)에 기억되어도 되며, 완전성 인증자 생성기(671)에 직접 입력되어도 된다. On the other hand, the
버퍼(661)는 이들 4개의 데이터를 대응시켜서, 대응 데이터로서 기억한다. 완전성 인증자 생성기(671)는 버퍼(661)에 기억된 4개의 대응 데이터를 판독하고, 송신측의 완전성 인증자 생성기(670)와 동일한 알고리즘을 이용하여 4개의 완전성 인증자를 생성한다. 완전성 확인기(681)는 4개의 데이터에 부가되어 입력된 4개의 완전성 인증자와 완전성 인증자 생성기(671)가 생성한 4개의 완전성 인증자를 각각 비교하여, 일치하고 있는 경우에 완전성을 확인할 수 있었던 것으로 하여 정상이라는 취지의 응답을 전송한다. The buffer 661 associates these four pieces of data and stores them as corresponding data. The
완전성 확인부(433)가 256 비트 길이의 데이터와 32 비트 길이의 완전성 인증자를 4개씩 ((256+32) 비트×4)의 데이터를 입력한 경우, 완전성 확인기(681)는, 1 비트×4의 응답을 CPU(29)에 전송한다. When the
종래에는 각 데이터마다 CPU(29)로부터 완전성 보증 처리부(430)에 데이터 전송이 행해지고 있는 반면에, 도 31에 도시한 경우에는, 4개의 데이터가 통합되어 한번에 전송되기 때문에 버스(90)의 사용 효율이 좋아진다. 즉, 버스(90)의 대기 시간을 적게 할 수 있다. 또한, 버스(90)의 경합을 적게 할 수 있다. Conventionally, data transfer is performed from the
도 31에 도시한 경우에는, 4개의 데이터가 통합되어 한번에 전송되는 경우를 나타내었지만, 그 개수는 4개에 한정되지 않는다. 또한, 버퍼의 데이터 유지 개수도 4개에 한하지 않는다. In the case shown in FIG. 31, the case where four data are integrated and transmitted at once is shown, but the number is not limited to four. In addition, the number of data held in the buffer is not limited to four.
또한, 데이터의 비트 길이는 256 비트에 한하지 않는다. 예를 들면, 512 비트이어도 되며, 5114 비트이어도 된다. 또한, 버퍼(660, 661)의 사이즈는 데이터의 비트 길이와 제어 신호의 비트 길이를 가산한 합계 비트 길이의 2배 이상이면 된다. 즉, 대응 데이터를 2개 이상 기억할 수 있는 것이면 된다. 예를 들면, 이 시스템 내에서 지정될 수 있는 데이터의 비트 길이의 최대값이 5114 비트인 경우, 버퍼(660, 661)의 사이즈는 각각 (5114 비트+제어 신호의 비트 길이)×2 이상인 것이 바람직하다. In addition, the bit length of data is not limited to 256 bits. For example, 512 bits may be sufficient and 5114 bits may be sufficient. In addition, the sizes of the buffers 660 and 661 may be at least twice the sum of the total bit lengths obtained by adding the bit lengths of the data and the bit lengths of the control signal. That is, what is necessary is just to be able to store two or more correspondence data. For example, when the maximum value of the bit length of data that can be specified in this system is 5114 bits, the sizes of the buffers 660 and 661 are preferably (5114 bits + bit length of the control signal) x 2 or more, respectively. Do.
도 32는 무선 통신 제어부(20)와 완전성 보증 처리부(430)의 다른 예를 나타내는 도면이다. 도 32에 도시한 완전성 보증 처리부(430)는 완전성 인증자 생성부(434, 435)를 갖고 있다. 32 is a diagram illustrating another example of the wireless
도 32가 도 31과 다른 점은 완전성 인증자 부가기(680)와 완전성 확인기(681)가 완전성 보증 처리부(430)에는 없으며, 무선 통신 제어부(20)에 제공되어 있다는 점이다. 도 32의 경우에는 CPU(29)로부터의 한번의 전송 명령에 의해 완전성 인증자 생성기(670)가 4개의 완전성 인증자를 완전성 인증자 부가기(680)에 대하여 전송한다. 한편, 완전성 인증자 생성기(671)는 CPU(29)로부터의 한번의 전송 명령에 의해 4개의 완전성 인증자를 완전성 확인기(681)에 전송한다. 32 differs from FIG. 31 in that the
도 32의 경우에는, 완전성 인증자 생성기(670)로부터 완전성 인증자 부가기(680)로의 버스(90)의 데이터 전송량은 32 비트×4로 된다. 또한, 완전성 인증자 생성기(671)의 버스(90)의 데이터 전송량도 32 비트×4로 된다. In the case of FIG. 32, the data transfer amount of the bus 90 from the
도 32의 완전성 보증 처리부(430)로부터 무선 통신 제어부(20)로의 데이터 전송량은 도 31과 같이, 완전성 인증자 생성기(670)로부터 완전성 인증자 부가기(680)에 대하여 데이터를 반송할 필요가 없기 때문에, 도 31의 반송 데이터 전송량에 비해 대폭 삭감되게 된다. The data transmission amount from the integrity
또, 도 32에 도시한 완전성 보증 처리부(430)의 완전성 인증자 생성부(434)와 완전성 인증자 생성부(435)는 동일한 구성이기 때문에 하나로 통합하여도 된다. In addition, since the integrity
또한, 도 31 및 도 32의 경우에는 버스(90)의 데이터 전송 처리와, 버퍼(660, 661)의 입출력 처리와, 완전성 인증자 생성기(670, 671)의 인증자 생성 처리와, 완전성 인증자 부가기(680)의 인증자 부가 처리와, 완전성 확인기(681)의 확인 처리가 복수의 데이터를 「통합하여」 처리하는 경우를 나타내었지만, CPU(29)와 버스(90)와의 사용 효율로부터 보았을 때, 버스(90)의 데이터 송신 처리 또는 데이터 수신 처리 중 적어도 한쪽을, 「하나의 명령에 의해」 혹은「복수의 데이터를 개별적이 아니라 한 그룹으로 하여」행하는 것이 바람직하다. 31 and 32, the data transfer processing of the bus 90, the input / output processing of the buffers 660 and 661, the authenticator generating processing of the
또한, 도 31 및 도 32 중 어느 하나의 경우에서도, 완전성 인증자 생성기(670)와 완전성 인증자 생성기(671)와 완전성 인증자 부가기(680)와 완전성 확인기(681)는 하드웨어로 실현하여도 되며, 소프트웨어로 실현하여도 되고, 하드웨어와 소프트웨어의 조합에 의해 실현하여도 된다. 31 or 32, the
도 33은 암호화부(422)의 다른 구성을 나타내는 도면이다. 33 is a diagram illustrating another configuration of the
도 33은 복수의 버퍼를 제공하여 스위치 SW에 의해 전환하는 경우를 나타내고 있다. 스위치 SW는 예를 들면, 논리 채널 식별자에 의해 전환할 수 있다. 즉, 논리 채널이 n개 있는 경우에, 버퍼를 n개 제공함으로써, 각 논리 채널마다 난수 열을 미리 준비해 둘 수 있다. Fig. 33 shows a case where a plurality of buffers are provided to be switched by the switch SW. The switch SW can be switched by, for example, a logical channel identifier. That is, when there are n logical channels, by providing n buffers, a random number string can be prepared in advance for each logical channel.
도 34는 버퍼를 n개 제공하고, 배타적 논리합 연산 회로를 n개 제공한 경우를 나타내고 있다. Fig. 34 shows a case where n buffers are provided and n exclusive logical sum calculation circuits are provided.
도 35의 경우는 버퍼를 n개 제공하고, 암호기를 복수개 제공한 경우를 나타내고 있다. In the case of Fig. 35, n buffers are provided and a plurality of encryptors are provided.
이와 같이, 논리 채널마다 버퍼 등을 복수개 준비해 둠으로써, 채널마다의 은닉 처리를 고속으로 행하는 것이 가능해진다. In this way, by providing a plurality of buffers and the like for each logical channel, it is possible to perform the concealment process for each channel at high speed.
또, 도시하지 않지만, 복호화부도 도 33, 도 34, 도 35와 같이 채널마다 복수의 버퍼 등을 포함하도록 하여도 상관없다. 또한, 완전성 인증자 부가부(432), 완전성 확인부(433)에서도 도 33, 도 34, 도 35와 같이 채널마다 복수의 버퍼를 제공하도록 하여도 상관없다. Although not shown, the decoder may also include a plurality of buffers and the like for each channel as shown in FIGS. 33, 34, and 35. Also, the integrity
제3 실시 형태에서의 구성은 도 27에 도시한 것에 한정되는 것이 아니라, 예를 들면, 도 4, 도 5, 도 6, 도 7, 도 8, 도 10, 및 도 11 등에 도시한 바와 같은 구성을 취하도록 하여도 상관없다. 예를 들면, 도 4에 도시한 바와 같이, 은닉 처리와 완전성 보증 처리를 1개의 모듈로 행하여도 상관없다. 또한, 암호화와 복호화를 1개의 모듈로 행하여도 상관없다. 또한, 완전성 인증 부가와 완전성 확인을 1개의 모듈로 행하여도 상관없다. 또한, 각 모듈을 복수개 포함하도록 하여도 상관없다. The structure in 3rd Embodiment is not limited to what was shown in FIG. 27, For example, as shown in FIG. 4, 5, 6, 7, 8, 10, 11, etc. You may also take. For example, as shown in Fig. 4, the concealment process and the integrity guarantee process may be performed in one module. Further, encryption and decryption may be performed in one module. In addition, you may perform completeness authentication addition and completeness verification in one module. It is also possible to include a plurality of modules.
또, 버퍼(620, 621, 660, 661)는 선입 선출 메모리가 아니어도 되며, 시프트 메모리, 어드레스 맵드 메모리, 캐쉬 메모리, 및 레지스터이어도 된다. The buffers 620, 621, 660, and 661 may not be first-in, first-out memory but may also be a shift memory, an address mapped memory, a cache memory, and a register.
또한, 버퍼(620, 621, 660, 661)가 CPU(29)로부터 액세스되는 경우에는, 메모리 어드레스에 의해 액세스되어도 되며, 입출력 어드레스에 의해 액세스되어도 된다. When the buffers 620, 621, 660, and 661 are accessed from the
또한, 제3 실시 형태에서 설명한 암호화 장치, 복호화 장치, 완전성 인증자 부가부(장치), 완전성 확인부(장치), 및 완전성 인증자 생성부(장치)는 무선 통신 장치에 이용되는 것에 한하지 않으며, 유선 통신 장치, 컴퓨터, 그 밖의 전자 기기에도 이용할 수 있다. Incidentally, the encryption apparatus, decryption apparatus, integrity authenticator addition unit (device), integrity verification unit (device), and integrity authenticator generator (device) described in the third embodiment are not limited to being used in a wireless communication device. It can also be used for wired communication devices, computers, and other electronic devices.
상술한 은닉·완전성 보증 처리부(40)는 하드웨어로 구성할 수 있다. 예를 들면, FPGA나 커스텀 LSI로 실현할 수 있다. 또, 은닉·완전성 보증 처리부(40)는 소프트웨어 프로그램으로 실현할 수도 있다. 은닉·완전성 보증 처리부(40)가 소프트웨어 프로그램으로 실현되는 경우, 소프트웨어 프로그램은 무선 통신 제어부(20)에 있는 CPU에 의해 실행되게 된다. The concealment and integrity
또한, 은닉·완전성 보증 처리부(40)는 하드웨어와 소프트웨어의 조합에 의해 실현할 수 있다. 예를 들면, DSP(Digital Signal Processor)와 그 DSP에 의해 실행되는 마이크로 프로그램이나 펌웨어 프로그램에 의해 실현할 수 있다. The concealment and integrity
이하, 도 17 내지 도 20을 참조하여 구체예를 설명한다. Hereinafter, specific examples will be described with reference to FIGS. 17 to 20.
도 17은 암호화/복호화부(421) 중에서 이용되는 암호화 모듈(51)(또는, 복호화 모듈(71))의 구성도이다. 17 is a configuration diagram of an encryption module 51 (or decryption module 71) used in the encryption /
암호화 모듈(51)은 키 스케쥴러(511)와 데이터 랜덤화 유닛(512)을 갖고 있다. 키 스케쥴러(511)는 1개의 키 K를 입력하여 n개의 확대 키 ExtK1∼ExtKn을 생성한다. 데이터 랜덤화 유닛(512)은 함수 F와 XOR 회로에 의해 난수를 발생시킨다. 함수 F는 확대 키를 입력하여 비선형 데이터 변환을 행한다. The
암호 모듈(51)에서는 예를 들면, In the
(1) DES(Data Encryption Standard), 또는 (1) DES (Data Encryption Standard), or
(2) 국제 공개 번호 WO97/9705(미국 특허 출원 번호 08/83640)에 개시된 블록 암호 알고리즘인 MISTY, 또는 (2) MISTY, which is a block cipher algorithm disclosed in International Publication No. WO97 / 9705 (US Patent Application No. 08/83640), or
(3) 상기 블록 암호 알고리즘 MISTY를 베이스로 한 64 비트 블록 암호이며, 차세대 휴대 전화용 국제 표준 암호(IMT2000)로서 채용되는 것이 결정된 블록 암호 알고리즘인 KASUMI, 또는 (3) KASUMI, which is a 64-bit block cipher based on the block cipher algorithm MISTY, and is a block cipher algorithm determined to be employed as an international standard cipher for the next generation mobile phone (IMT2000), or
(4) 일본 특허 출원 번호 2000-64614(출원일 2000년 3월 9일)에 기재된 블록 암호 알고리즘인 Camellia 등의 블록 암호 알고리즘을 이용할 수 있다. 또한, 복호 모듈(71)에서도, DES, MISTY, KASUMI 또는 Camellia 등의 블록 암호 알고리즘을 이용할 수 있다. (4) A block cipher algorithm such as Camellia, which is the block cipher algorithm described in Japanese Patent Application No. 2000-64614 (filed March 9, 2000), can be used. In the
도 18은 상술한 은닉·완전성 보증 처리부(40)의 실장 형식을 나타내는 도면이다. 18 is a diagram illustrating a mounting format of the concealment and integrity
도 18은 FPGA 또는 IC 또는 LSI 중에 상술한 은닉·완전성 보증 처리부(40)가 실현되어 있는 경우를 나타내고 있다. 즉, 상술한 은닉·완전성 보증 처리부(40)는 하드웨어로 실현할 수 있다. 또, 프린트 서킷 보드(도시 생략)에 의해 실현하는 것도 가능하다. FIG. 18 shows a case where the concealment and integrity
도 19는 상술한 은닉·완전성 보증 처리부(40)를 소프트웨어로 실현하는 경우를 나타내고 있다. 19 illustrates a case where the above-described concealment and integrity
상술한 은닉·완전성 보증 처리부(40)는 암호화 프로그램(47)에 의해 실현할 수 있다. 암호화 프로그램(47)은 ROM(Read Only Memory)(42)(기록 매체의 일례)에 기억되어 있다. 암호화 프로그램(47)은 RAM(Random Access Memory) 또는 플렉시블 디스크 또는 고정 디스크 등의 다른 기록 매체에 기록되어 있더라도 된다. 또한, 암호화 프로그램(47)은 서버 컴퓨터로부터 다운로드되어도 된다. 암호화 프로그램(47)은 서브 루틴으로서 기능한다. 암호화 프로그램(47)은 RAM(45)에 기억된 어플리케이션 프로그램(46)으로부터 서브 루틴 콜에 의해 호출되어 실행된다. 혹은, 암호화 프로그램(47)은 인터럽트 제어부(43)에서 접수하는 인터럽트의 발생에 의해 기동되도록 하여도 상관없다. 메모리(55)는 RAM(45)의 일부이어도 상관없다. 어플리케이션 프로그램(46), 암호화 프로그램(47)은 CPU(41)에 의해 실행되는 프로그램이다. The concealment and integrity
도 20은 무선 통신 제어부(20)에 의해 동작하는 어플리케이션 프로그램(46)이 암호화 프로그램(47)을 호출하는 메카니즘을 나타내고 있다. 20 shows a mechanism in which the
어플리케이션 프로그램(46)은 키 K와 이니셜 밸류 IV와 평문 M과 암호문 C를 파라미터로 하여 암호화 프로그램(47)을 호출한다. 암호화 프로그램(47)은 키 K와 이니셜 밸류 IV와 평문 M을 입력하여, 암호문 C를 반환하는 것이다. 암호화 프로그램(47)과 복호 프로그램이 동일할 때에는 키 K와 이니셜 밸류 IV와 암호문 C와 평문 M을 파라미터로 하여 암호화 프로그램(47)을 호출한다. The
또한, 도시하지 않지만, 암호화 프로그램(47)은 디지털 시그널 프로세서와, 그 디지털 시그널 프로세서에 의해 판독되어 실행되는 프로그램에 의해 실현하여도 상관없다. 즉, 하드웨어와 소프트웨어의 조합에 의해 암호화 프로그램(47)을 실현 하여도 상관없다. Although not shown, the
도 18, 도 19, 및 도 20은 주로, 암호화의 경우를 설명하였지만, 복호화에서도 마찬가지의 방식으로 실현할 수 있다. 18, 19, and 20 mainly describe the case of encryption, but the decryption can be realized in the same manner.
도 18 및 도 19에 도시한 바와 같은 암호화 형태 및 복호화 형태는 전자 기기에 대하여 인스톨할 수 있다. 예를 들면, 퍼스널 컴퓨터나 팩시밀리 장치나 휴대 전화나 비디오 카메라나 디지털 카메라나 텔레비전 카메라 등의 모든 전자 기기에 인스톨할 수 있다. 특히, 이 실시 형태에서의 특징을 발휘할 수 있는 것은 복수의 채널로부터의 데이터를 암호화 복호화하는 경우에 유효하다. 혹은, 복수의 사용자로부터의 데이터가 랜덤하게 도착하여 복호화하는 경우에, 혹은 복수의 사용자에 대한 데이터가 랜덤하게 발생하여, 각각의 데이터를 리얼 타임으로 암호화하는 경우에 유효하다. 즉, 암호화 복호화하는 데이터의 수에 비해 암호화 복호화하는 장치 수가 적은 경우에, 상술한 실시 형태의 암호화, 복호화가 매우 유효하다. 예를 들면, 많은 클라이언트 컴퓨터를 서포트해야만 하는 서버 컴퓨터나 많은 휴대 전화기로부터의 데이터를 집배해야만 하는 기지국이나 회선 컨트롤러 등에, 상술한 암호화 방식이나 복호화 방식이 매우 유효하다. The encryption and decryption forms as shown in Figs. 18 and 19 can be installed for the electronic device. For example, it can be installed in all electronic devices, such as a personal computer, a facsimile apparatus, a mobile telephone, a video camera, a digital camera, and a television camera. In particular, the feature of this embodiment is effective when encrypting and decrypting data from a plurality of channels. Alternatively, it is effective when data from a plurality of users arrives at random and is decrypted, or when data for a plurality of users is randomly generated and each data is encrypted in real time. That is, when the number of devices to encrypt and decrypt is small compared to the number of data to encrypt and decrypt, the encryption and decryption of the above-described embodiment are very effective. For example, the above-described encryption method and decryption method are very effective for a server computer that must support many client computers, a base station or a line controller that must collect data from many mobile phones, and the like.
또한, 상술한 예에서는 무선 통신 제어부(20)와 은닉·완전성 보증 처리부(40)가 버스를 통한 병렬 인터페이스로 연결되어 있는 경우를 나타내었지만, 직렬 인터페이스를 이용하여도 상관없다. 또한, 단말 IF부(10)와 은닉·완전성 보증 처리부(40) 및 무선 통신부(30)와 은닉·완전성 보증 처리부(40)가 직렬 인터페이스로 접속되는 경우를 나타내었지만, 보다 고속 처리를 행하기 위해서는 직렬 인터 페이스가 아니고, 병렬 인터페이스를 이용하여도 상관없다. In addition, in the above-mentioned example, although the radio
또한, 도 9 및 도 10에서는 은닉 처리부(460)를 은닉·완전성 보증 처리부(40)의 내부에 제공하는 경우를 도시하였지만, 은닉 처리부(460)를 은닉·완전성 보증 처리부(40)로부터 외부로 독립시켜서, 은닉 처리부(460)를 단말 IF부(10)와 무선 통신부(30)와의 사이에 제공하여도 된다. In addition, although FIG. 9 and FIG. 10 show the case where the
이상과 같이, 상술한 실시 형태에 따르면, 버퍼를 이용하여 복수 데이터를 미리 보존하도록 하였기 때문에, 은닉 처리와 완전성 보증 처리를 고속으로 실행하는 것이 가능해진다. As described above, according to the embodiment described above, since a plurality of pieces of data are stored in advance by using the buffer, it is possible to execute the concealment process and the integrity guarantee process at high speed.
또한, 은닉 처리와 완전성 보증 처리를 위한 데이터 전송 횟수가 적어져서, CPU와 버스의 부하를 경감시킬 수 있다. In addition, the number of data transfers for the concealment process and the integrity guarantee process is reduced, so that the load on the CPU and the bus can be reduced.
또한, 상기 실시 형태에 따르면, 은닉·완전성 보증 처리부의 내부에 채널 수나 데이터량에 따라 복수의 은닉 처리부와 복수의 완전성 보증 처리부를 제공하고 있기 때문에, 동시 병렬 처리에 의한 고속 데이터 처리가 가능해진다. Further, according to the above embodiment, a plurality of concealment processing units and a plurality of integrity guarantee processing units are provided in the concealment and integrity guarantee processing unit in accordance with the number of channels and the data amount, so that high-speed data processing by simultaneous parallel processing is possible.
Claims (5)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020067018334A KR20060103289A (en) | 2006-09-08 | 2001-04-03 | Integrity authenticator device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020067018334A KR20060103289A (en) | 2006-09-08 | 2001-04-03 | Integrity authenticator device |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR10-2003-7013024A Division KR20030085094A (en) | 2001-04-03 | 2001-04-03 | Encrypting device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20060103289A true KR20060103289A (en) | 2006-09-28 |
Family
ID=37623348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020067018334A Ceased KR20060103289A (en) | 2006-09-08 | 2001-04-03 | Integrity authenticator device |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20060103289A (en) |
-
2001
- 2001-04-03 KR KR1020067018334A patent/KR20060103289A/en not_active Ceased
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4464046B2 (en) | ENCRYPTION DEVICE, DECRYPTION DEVICE, AND RADIO COMMUNICATION DEVICE | |
| KR100430358B1 (en) | Radio communication device and radio communication method | |
| JP4094216B2 (en) | Automatic resynchronization of cryptographic synchronization information | |
| KR101387799B1 (en) | Encryption method for message authentication | |
| CN1323507C (en) | The Processing Method of Short Packet in Block Encryption Algorithm | |
| Borsc et al. | Wireless security & privacy | |
| KR100551992B1 (en) | Application data encryption and decryption method | |
| JP4856380B2 (en) | Method for generating cryptosync | |
| KR20060103289A (en) | Integrity authenticator device | |
| AU2005201858B2 (en) | Authentication apparatus | |
| TWI287767B (en) | Encryption device and method, decryption device and method, integrity authentication code generation device and method, integrity authentication code auxiliary device, integrity recognition device, and wireless communication device | |
| JPWO2001049058A1 (en) | Wireless communication device and wireless communication method | |
| CN120151831A (en) | Data processing method, device, electronic device and storage medium | |
| MXPA01008590A (en) | Radio communication device and radio communication method | |
| JP2003143127A (en) | Security maintaining method, its implementation system and its processing process |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A107 | Divisional application of patent | ||
| A201 | Request for examination | ||
| PA0104 | Divisional application for international application |
Comment text: Divisional Application for International Patent Patent event code: PA01041R01D Patent event date: 20060908 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20061010 Patent event code: PE09021S01D |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20070323 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20061010 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |
|
| J201 | Request for trial against refusal decision | ||
| PJ0201 | Trial against decision of rejection |
Patent event date: 20070425 Comment text: Request for Trial against Decision on Refusal Patent event code: PJ02012R01D Patent event date: 20070323 Comment text: Decision to Refuse Application Patent event code: PJ02011S01I Appeal kind category: Appeal against decision to decline refusal Decision date: 20080213 Appeal identifier: 2007101004374 Request date: 20070425 |
|
| J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070425 Effective date: 20080213 |
|
| PJ1301 | Trial decision |
Patent event code: PJ13011S01D Patent event date: 20080213 Comment text: Trial Decision on Objection to Decision on Refusal Appeal kind category: Appeal against decision to decline refusal Request date: 20070425 Decision date: 20080213 Appeal identifier: 2007101004374 |