KR20070030712A - 암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터판독가능한 매체 - Google Patents

암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터판독가능한 매체 Download PDF

Info

Publication number
KR20070030712A
KR20070030712A KR1020060088689A KR20060088689A KR20070030712A KR 20070030712 A KR20070030712 A KR 20070030712A KR 1020060088689 A KR1020060088689 A KR 1020060088689A KR 20060088689 A KR20060088689 A KR 20060088689A KR 20070030712 A KR20070030712 A KR 20070030712A
Authority
KR
South Korea
Prior art keywords
key
strength
encryption
encryption key
restricted
Prior art date
Application number
KR1020060088689A
Other languages
English (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 KR1020060088689A priority Critical patent/KR20070030712A/ko
Publication of KR20070030712A publication Critical patent/KR20070030712A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Abstract

일 실시예에서, 통신 장치는 (i) 암호화 키 요청을 수신하고, (ii) 제한 식별자로부터 암호화 키 강도가 제한되는지 여부를 판단하며, (iii) 암호화 키가 제한되는 경우에는, 제 2 키 강도를 갖는 제 2 암호화 키를 사용하게 하고, (iv) 암호화 키가 제한되지 않는 경우에는, 제 1 키 강도를 갖는 제 1 암호화 키를 사용하게 하도록 동작하는 키 강도 제어 관리자(308)를 포함한다. 제 1 키 강도와 제 2 키 강도는 서로 다르다.

Description

암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터 판독가능한 매체{METHOD FOR UNDETECTABLY IMPEDING KEY STRENGTH OF ENCRYPTION USAGE FOR PRODUCTS EXPORTED TO OTHER COUNTRIES}
도 1은 종래 기술에 따른 VPN 통신의 블록도이다.
도 2는 종래 기술에 따른 암호화 및 해독화 프로세스의 블록도이다.
도 3은 본 발명의 실시예에 따른 통신 장치의 블록도이다.
도 4는 본 발명의 실시예에 따른 키 변경 아키텍처의 블록도이다.
도 5는 본 발명의 실시예에 따른 마스크를 도시한다.
도 6는 본 발명의 실시예에 따른 마스크를 도시한다.
도 7는 본 발명의 실시예에 따른 마스크를 도시한다.
도 8은 본 발명의 실시예에 따른 흐름도이다.
도면의 주요 부분에 대한 부호의 설명
100 : 제 1 통신 장치 104 : 제 2 통신 장치
108 : 비신뢰적 네트워크 200 : 키
204 : 랜덤 숫자 발생기 208 : 메시지(평문)
212 : 메시지의 암호문 216 : 암호화 알고리즘
본 발명은 일반적으로 암호화에 관한 것으로, 특히 암호화 강도를 약화시키는 것에 관한 것이다.
인터넷 사용이 증가하면서 보안은 인터넷 사용자의 주요 관심사가 되고 있다. 보안을 제공하기 위해, 가상 사설 네트워크(VPN:Virtual Private Network)가 개발되었다. VPN은 소스 및 목적지만 트래픽 패킷을 복호화할 수 있도록 페이로드 트래픽(payload traffic)이 암호화되는, 공중 IP 네트워크 위의 2개의 사이트 사이의 IP 접속부이다. VPN은 페이로드뿐만 아니라 프로토콜 스택 정보 아이템(protocol stack informational item)도 암호화하여, 기술 세션 개시 프로파일(technical session attack profile)에 고객 사이트를 절충하는 데 사용될 수 있다.
다수의 VPN 프로토콜이 개발되고 있다. 점-대-점 터널링 프로토콜(Point-to-Point Tunneling Protocol)은 원격 다이얼-업(dial-up) 및 랜-대-랜(LAN-to-LAN) 접속에 대한 암호화 및 인증을 제공하고, 제어 세션을 사용하여 발신자로부터 수신기까지 안전한 터널을 설정하고 유지하며, 데이터 세션을 사용하여 데이터 전송을 제공한다. L2F(Layer 2 Forward protocol)는 ISP(Internet Service Provider)의 다이얼-업 서버와 네트워크 사이에 터널링을 제공한다. 사용자는 ISP의 서버에 다이얼-업 점-대-점(PPP:Point-to-Point Protocol) 접속을 설정하고 이 어서 네트워크를 통해 라우팅하기 위해 L2F 프레임 내부에 PPP 프레임을 래핑한다(wrap). 계층 2 터널링 프로토콜(Layer 2 Tunneling Protocol)은 네트워크를 통해 PPP 세션을 터널링하는 방법을 정의한다. 이것은 PPTP와 L2F를 조합한다. IP 보안, 즉 IPSec는 인증 헤더(AH:Authentication Header), 보안 페이로드 캡슐화(ESP:encapsulating security payload) 및 인터넷 키 교환(IKE:Internet Key Exchange)을 포함하는 한 벌의 프로토콜이다. 계층 3에서 동작시에, IPSec는 AH를 통한 주소 인증, ESP를 통한 데이터 암호화 및 IKE를 사용하는 발신자 노드와 수신자 노드 간의 키 교환 자동화를 제공한다. 다른 VPN 프로토콜은 SRTP(Secure Real Time Protocol), TLS(Transport LAN Service) 및 Secure Socket Layer, 즉 SSL 프로토콜을 포함한다.
예시적인 IPSec 세션은 도 1 및 도 2를 참조하여 논의될 것이다. IP 하드폰(hardphone), 소프트폰(softphone), 개인용 컴퓨터(PC), 랩톱 및 PDA와 같은 제 1 및 제 2 통신 장치(100,104)는 비신뢰 또는 불안한 네트워크(108)(인터넷과 같은)를 통해 접속된다. 이 통신 장치는 보안 세션을 설정하려하며, 키 교환을 실행해야한다. 설명되는 바와 같이, 키(200)는 랜덤 숫자 발생기(204)에 의해 생성된다. 키(200)는 제 1 및 제 2 통신 장치 각각에 의해 사용되어 평문(plain text)과 암호문(cipher text)(208)을 각각 암호화하고 해독하며 인증한다. 대칭 암호화(symmetrical encryption)에서, 암호화 및 해독은 각 세션 노드에서 동일한 암호화 알고리즘(216) 내에 식별키(200)를 입력함으로써 실행된다.
키를 교환하기 위해, IKE 프로토콜은 키 생성을 위한 Diffie-Hellman 암호화 알고리즘을 사용하고, 3가지의 상이한 키 교환 방법, 즉 메인 모드(main mode), 어그레시브 모드(aggressive mode) 및 퀵 모드(quick mode)를 제공한다. 메인 모드에서, 6개의 메시지(3개의 앞뒤 교환)는 노드 사이에 전달된다. 첫 번째 2개의 메시지는 특정 보안 정책을 설정하고, 다음 2개의 메시지는 키 정보를 포함하며, 마지막 2개의 메시지는 인증 정보를 제공한다. 어그레시브 모드는 메인 모드와 유사하며 동일한 결과를 획득한다. 차이점은 3개 대신에 2개의 교환 메시지(발송자와 수신자 사이에 전달된 4개의 메시지)만 존재한다는 것이다. 퀵 모드는 모든 필요한 정보가 메인 모드 또는 어그레시브 모드를 통해 통신 노드 사이에서 교환된 후에 새로운 키를 생성하는 데 사용된다.
미국과 같은 다수의 국가는 국내 보안을 이유로 암호화 기술 및 제품에 엄격한 수출 규제를 둔다. 미국에서, 상용하는 암호화 제품에 대한 수출 규제는 수출 관리 규정, 즉 EAR에 의해 허가된 미국 상무성의 산업안보국 및 정보 기술 관리 규약, 즉 ITAR에 의해 허가된 국무성의 방위 무역 통제국에 의해 관리된다. 역사적으로, 엄격한 규제는 어떤 레벨보다도 강한 암호화 제품에 대해 수출 라이센스를 부여해 왔다. 다른 국가에도 유사한 규제가 있다.
암호화가 가능한 제품을 국제적으로 판매하는 회사들이 진행중인 개발은 암호화 제품의 강도를 효과적으로 제어하는 것이다. 미국에서 판매되는 이러한 제품의 암호화 강도는 다른 국가, 특히 이란, 쿠바 및 북한처럼 수출이 엄격하게 통제되는 국가에 판매되는 제품보다 상당히 느슨하게 제어된다.
암호화 강도를 제어하는 한 방안은 제품 목적지에 기반하여 암호화 알고리즘 을 다양화하는 것이다. 이는 라이센스 파일을 사용하여 처리된다. 예로서, 라이센스 파일 유틸리티는 장치가 강도가 다른 제 1 또는 제 2 암호화 알고리즘을 지원하는지 여부를 제어한다. 약한 암호화 알고리즘의 예는 데이터 암호화 표준-56(DES)을 포함하고, 강한 암호화 알고리즘은 3중, 즉 3 DES 및 강화된 암호화 표준, 즉 AES를 포함한다. 설명되는 바와 같이, DES는 3중 DES보다 상당히 약하다. 플래그는 장치가 강한 암호화 알고리즘을 지원하기 위한 것이 아닌 경우에 라이센스 파일에서 설정 또는 해제된다. 라이센스 체크 및/또는 세션 협상 동안에, 플래그가 장치가 강한 암호화 알고리즘을 지원하기 위한 것이 아님을 나타내면, 라이센스 유틸리티는 강한 암호화 알고리즘을 비활성화하고, 약한 암호화 알고리즘을 활성화할 것이며, 플래그가 장치가 강한 암호화 알고리즘을 지원하기 위한 것임을 나타내면, 라이센스 유틸리티는 강한 암호화 알고리즘을 활성화하고, 약한 암호화 알고리즘을 비활성화할 것이다.
웹 브라우저 및 서버 공급자(예컨대, Netscape™, Microsoft™ 등)에 의해 구현되었던 다른 방안에서, 웹 서버, 웹 브라우저 및 웹 브라우저 인증이 강한 암호 일행(cipher suite) 및 키 크기가 사용되게 하는 버전, 유형 및 강도가 아니면, 애플리케이션이 키 길이가 긴 강한 키 및 관련된 암호 일행(암호화 알고리즘)을 협상하는 것은 가능하지 않다. 오히려, 키 길이가 짧은 약한 키 및 관련된 암호 일행이 사용된다.
이들 방안의 문제점은 정교한 사용자에게 약한 암호화 알고리즘이 활성화되는지를 확인할 수 있는 투명성(transparency)을 포함한다. 이 사실에 기반하여, 정교한 사용자는 라이센스 파일을 변경하여 강한 암호화 알고리즘을 활성화하려고할 수 있다. 이 투명성은 특히 사용자가 인증을 자유롭게 확인할 수 있고 소프트웨어 버전으로 암호화가 제한되는지를 판단할 수 있는 문제이다.
다른 문제점은 소프트웨어 공급자가 제품이 수출되는지 혹은 제조국에 남아있는지의 여부에 따라서 2개의 패키지로 관리하는 것을 필요로 한다는 것이다. 그러므로 공급자는 암호화 강도가 높은 패키지가 제조국을 벗어나지 않음을 보장하여야 한다.
이들 및 다른 필요성이 본 발명의 다양한 실시예 및 구성에 의해 처리된다. 본 발명은 일반적으로 암호화 알고리즘 변경 외에 키 강도의 변경에 관한 것으로, 특히 수출되는 제품에 대한 암호화 강도를 낮추는 것에 관한 것이다.
제 1 실시예에서, 본 발명은,
(a) 암호화 요청을 수신하는 단계와,
(b) 제한 식별자로부터 암호화 키 강도가 제한되는지 여부를 판단하는 단계와,
(c) 암호화 키가 제한되는 경우에, 제 2 키 강도를 갖는 제 2 암호화 키를 사용하는 단계와,
(d) 암호화 키가 제한되지 않는 경우에, 제 1 키 강도를 갖는 제 1 암호화 키를 사용하는 단계를 포함하는 암호화 키를 제공하는 방법에 관한 것이다. 제 1 키 강도는 제 2 키 강도보다 높다.
제 2 키는 제 1 키로부터 파생되는 것이 바람직하다. 전형적으로, 제 1 키는 랜덤 숫자 발생기에 의해 생성된다. 제 2 키는 핸디캡이 있거나 절충된 제 1 키의 버전이다. 제 1 키 내의 비트 중 일부는 대응하는 제 2 키 내의 비트와 동일하지만, 나머지는 서로 다르다. 서로 다른 비트는 일반적으로 키-대-키로부터 일정하게 관리되고/관리되거나 마스크를 사용하여 생성된다.
제 2 키의 핸디캡화는 생성된 키의 비트 중 일부 또는 모두의 랜덤 정도를 감소시킴으로써도 실행될 수 있다. 바꾸어 말하면, 랜덤 숫자 발생기의 랜덤 정도가 제어되거나 핸디캡이 주어짐으로써, 주어진 키에 대한 가능한 변경의 개수가 이론적인 가능한 변경의 개수보다 적어진다. 그러므로, 16-비트 키에 대한 가능한 변경은 216보다 적으며, 가능한 변경의 수의 50%보다 적은 것이 바람직하다.
어느 경우에나, 특정 암호 일행이 사용되더라도, 약해진 키를 사용하는 것은 본질적으로 암호 일행의 암호화 강도를 약화시킨다. 이로써 수출에 관한 어려움이 상당히 제거된다. 보호된 라이센스 파일 내에 제한 식별자를 배치함으로써, 마지막 사용자는 특정 세션에 대한 키가 강한지 혹은 약한지를 알지 못한다. 라이센스 파일 내에 제한 식별자를 내장하면, 공급자가 다수의 소프트웨어 버전 및/또는 다른 유형의 인증을 관리하기 위해 필요로 하는 것들을 제거할 수 있다.
또한, 제 1 및 제 2 키가 동일한 키 크기(예컨대, 키 길이)를 갖는 것이 바람직하다. 짧아지거나 잘린 제 1 키의 버전이 되도록 제 2 키에서 또는 제 2 키에 대해 제 1 키의 일부분만을 사용하는 것이 바람직하지만, 간결성을 위해, 제 1 및 제 2 키의 효율적인 키 강도는 서로 다를 수 있지만, 이들의 비트 수는 동일해야한다.
하나의 구성에서, 제한 식별자는 통신 장치의 어딘가에 배치된 소프트웨어 플래그이다. 이 플래그는 암호화된 세션에 대해 생성된 키(제 1 키)의 마스킹을 발생시킴으로써, 세션 키(제 2 키)를 상대적으로 약화시킨다(예컨대, 40 비트). 알려진 고정된 키는 소프트웨어 플래그가 설정(또는 해제)되지 않는 경우에도 사용될 수 있다. 이 구성은 라이센스 파일이 플래그를 제어하게 하기 위해 확장되어, 서로 다른 키 마스킹 방법뿐만 아니라 서로 다른 강도 레벨(예컨대, 56-비트, 80-비트, 90-비트 등)도 제공된다.
종래 기술과는 달리, 제 1 및 제 2 키에 대해 동일한 암호 일행 또는 암호화 알고리즘이 사용되는 것이 바람직하다. 3중 DES처럼 상대적으로 강한 암호 일행도 제 2 키의 사용에 의해 실질적으로 약해질 수 있다.
본 발명은 정부가 제 2 키를 사용하여 암호화된 데이터에 액세스하는 것을 허용하는 한편 적절한 제품 수출 규제를 따르는 간단하고 효율적인 방법을 제공할 수 있다. 키를 "크래킹(cracking)"하고 사용된 암호 일행을 식별함으로써, 정부는 전자 메시지 내의 데이터를 쉽게 해독할 수 있다.
이들 및 다른 장점은 본 명세서에 포함된 본 발명(들)의 개시로부터 자명해질 것이다.
본 명세서에 사용된 바와 같이, "적어도 하나", "하나 이상" 및 "및/또는"은 사용할 때 연결 및 분리 모두를 나타내는 제한이 없는 표현이다. 예컨대, 각각은 "A, B 및 C 중 적어도 하나", "A, B 또는 C 중 적어도 하나", "A,B 및 C 중 하나 이상", "A, B 또는 C 중 하나 이상" 및 "A, B 및/또는 C"는 A만, B만, C만, A와 B 모두, A와 C 모두, B와 C 모두, 또는 A, B 및 C 모두를 표현한다.
상술한 실시예 및 구성은 완전하지도 과도하지도 않다. 설명되는 바와 같이, 본 발명의 다른 실시예는 이전에 설명되었거나 이하에 상세히 설명되는 하나 이상의 특징을 단독으로 또는 조합하여 이용할 수 있다.
본 발명의 제 1 실시예는 도 3 및 도 4를 참조하여 설명될 것이다. 본 발명에 따른 통신 장치(300)는 메모리(304)와 프로세서(310)를 포함한다. 이 통신 장치는 개인용 컴퓨터(PC), 랩톱, PDA, IP 하드폰, IP 소프트폰, 무선 전화기, 셀룰러 전화기, 인스턴트 메시징 소프트웨어 및 네트워킹 장비를 제한 없이 포함하는 다수의 패킷 교환 장치 중 임의의 것일 수 있다. 메모리(304)는 휘발성, 비휘발성 또는 이들의 조합일 수 있다. 어떠한 메모리 구조도 이용될 수 있지만, 바람직한 구조는 하드 디스크 드라이브이다. 프로세서(308)는 마이크로프로세서, 마이크로컨트롤러 또는 디지털 신호 프로세서인 것이 바람직하다.
키 강도 제어 관리자(308), 라이센스 파일(312), 키 변경자(316) 및 랜덤 숫자 발생기(320)는 메모리(304)에 포함된다. (라이센스가 유효한 이네이블 특성, 디스에이블 특성, 라이센스 기간, 하드웨어 식별자와 같은 라이센스 허가 및 제한 을 포함하는 등의) 라이센스 파일(312) 내의 데이터 구조에 응답하여, 키 강도 제어 관리자(312)는 키 변경자(316)를 호출(invoke)함으로써, 제 2 효율적인 키 강도를 갖는 제 2 키(404)를 제공한다. 데이터 구조에 응답하여 키 변경자(316)가 호출되지 않을 때, 제 1 키(400)는 랜덤 숫자 발생기(320)에 의해 출력되어 제 1 효율적인 키 강도를 갖는다. 제 2 효율적인 키 강도는 제 1 효율적인 키 강도보다 약하며, 약 50% 이하인 것이 보다 바람직하다. 바람직한 구성에서, 제 1 및 제 2 키의 실제 강도는 동일하지만, 이들의 효율적인 키 강도는 다르다.
설명되는 바와 같이, "키 강도"는 키 또는 가능한 조합의 개수를 지칭한다. 키 강도는 일반적으로 키 길이의 함수이다. 예컨대, 16-비트 키의 키 강도는 216이고, 32-비트 키의 키 강도는 232이며, 64-비트 키의 키 강도는 264이고, 128-비트 키의 키 강도는 2128이다. 약한 키 길이를 사용함으로써, 제 1 키를 사용하는 암호화의 효율적인 암호화 강도는 제 2 키를 사용하는 것보다 낮다. 예컨대, 수출 제한이 없는 제품에는 제 1 키가 사용되고, 수출 제한이 있는 제품에는 제 2 키가 사용된다.
제 1 키와 제 2 키 모두에 일반적으로 동일한 암호화 알고리즘이 사용된다. 대칭 키를 사용하거나 비대칭 키를 사용하는 임의의 암호화 알고리즘이 사용될 수 있다. 적절한 암호화 알고리즘의 예는 AES, 연방 정보 프로토콜 표준(Federal Information Protocol) 1997, DES, 3 DES, RC4, Rivest Shamir 및 Adelman(RSA), Diffie-Hellman, 디지털 신호 알고리즘, 즉 DSA, Lucifer, Madryga, NewDES, FEAL, REDOC, LOKI, Khufu 및 Khafre, RC2, IDEA, MMB, CA-1.1, Skipjack, GOST, CAST, Blowfish, SAFER, 3-way, Crab, SXAL8/MBAL, RC5, 넵색(knapsack) 알고리즘, Pohlig-Hellman, Rabin, ElGamal, 타원 곡선 암호화 방식(Elliptic Curve Cryptosystem), LUC, 한정된 자동 공개-키 암호화 방식, DSA 변형, 이산 알고리즘 신호 방식, Ong-Schnorr-Shamir, ESIGN, 셀룰러 자동화 등을 포함한다. 비대칭 키 애플리케이션에서, 공개키는 비밀키에서 파생되므로, 제 1 키 및 제 2 키는 일반적으로 일부분의 공개키가 아니라 비밀키로 지칭된다.
키 강도 제어 관리자(308)는 주기적인 라이센스 체크 중에 2개의 노드가 암호화 프로토콜 및 키를 포함하는 보안 세션 파라미터를 설정할 때 세션 협상 요청에 응답하여 라이센스 파일(312)을 체크한다.
데이터 구조는 전형적으로 정부 또는 다른 실체로부터 사용 제한 레벨을 식별하는 사용 제한 식별자 유형이다. 제한 식별자는 사용 제한 레벨을 하나만 또는 복수 개 식별할 수 있다. 각 사용 레벨 제한은 서로 다른 제 2 키 강도를 갖는 대응하는 제 2 키 강도를 가질 것이며, 즉, 가장 높거나 엄격한 제한 레벨은 가장 낮거나 관대한 제한 레벨보다 낮은 키 강도를 가질 것이다.
하나의 구성에서, 라이센스 파일(312) 내의 데이터 구조는 플래그와 같은 임의의 표지일 수 있다. 이것은 예컨대, 수출 제어가 적용될 때에는 1로 설정되고, 수출 제어가 적용되지 않는, 즉 이와 반대일 때에는 0으로 설정된다.
다른 구성에서, 데이터 구조는 제품이 수출되는 국가를 식별하는 국가 코드이다. 각 국가는 고유한 식별 코드를 갖는다. 이 구성은 수출 국가에 따라 키의 레벨 또는 타이어(tier)의 사용을 허용한다. 이 구성은 사후 판매(post-sale) 키 강도 변경에 관련된 수출법 및 규제의 변화가 반영되는 것을 더 허용한다. 예컨대, 이러한 변경은 국가가 가장 제한적인 수출 국가의 제어를 받는 국가 리스트에 추가되거나 삭제될 때 필요할 수 있다.
다른 구성에서, 데이터 구조는 제 2 키를 생성하기 위해 제 1 키를 변경하는 방법을 나타내는 의사(pseudo), 즉 머신 코드를 포함한다. 복수의 데이터 구조는 제 1 키를 조정하거나 변경하는 복수의 상이한 기술에 대응하는 것으로, 각 기술은 다른 기술에 의해 생성된 제 2 키 강도와 상이한 대응하는 제 2 키 강도를 생성한다.
일 구성에서, GPS(Global Positioning System) 모듈(도시 생략)은 키 강도 제어 관리자(308)에게 지리적 위치 정보(또는 GPS 신호 또는 GPS 좌표)를 제공한다. GPS 좌표는 장치(300)가 위치하는 국가를 결정하고/결정하거나 장치(300)가 현재 사용이 제한된 지리적 영역에 위치하는 지를 결정하기 위해 GPS 좌표의 테이블에 매핑될 수 있다. 장치가 제한된 국가 또는 지리적 영역으로 이동할 때, GPS 위치 신호는 키 강도 제어 관리자(308)가 효율적인 키 강도를 데이터 구조의 변화 없이 자동으로 변하게 한다. GSP 모듈은 장치 내에 또는 이 장치에 플러그를 끼우는 외부 동글(dongle) 또는 다른 장치 내에 위치할 수 있다. 후자의 구성에서, 모듈이 플러그되지 않으면 장치는 실행할 수 없다. 이 구성은 장치가 제한된 국가에 불법으로 사후 판매 운송되는 것을 막는다. 적절한 GPS 위치 아키텍처는 Walker가 2004년 3월 25일에 출원한 "GPS Hardware Key for Software Licensing"라는 명칭의 미국 특허 출원 제 10/811,412 호에 개시되었으며, 이는 본 명세서에 참조로서 인용된다.
바람직한 구성에서, 키 변경자(316)는 랜덤 숫자 발생기에 의해 출력된 제 1 키를 변경하여 제 2 키를 형성한다. 랜덤 숫자 발생기(320)는 랜덤 소스 또는 암호 보안 의사 랜덤 비트 발생기인 것이 바람직하다. 예시적인 발생기는 선형 합동(congruential) 발생기, 피드백 시프트 레지스터(예컨대, 선형 및 비선형 FSR, 피드백 수송 시프트 레지스터 등), A5 알고리즘, Hughes XPD/KPD 알고리즘, Nanoteq 알고리즘, Rambutan 알고리즘, 추가 발생기, Gifford 스트림 암호, 알고리즘 M, PDZIP 알고리즘, RC4 알고리즘, SEAL 알고리즘, WAKE 알고리즘, RAND 테이블 및 랜덤 노이즈 발생기를 포함한다.
이 변경은 복수의 상이한 방법으로 실행될 수 있다.
한 방법에서는, 제 1 키의 특정 문자만이 제 2 키에 사용될 수 있는데, 남아있는 문자는 동일한 값으로 집합적으로 설정되거나, 사전결정된 값 또는 일정한 값으로 개별적으로 설정된다. 예컨대, 랜덤 또는 의사 랜덤적으로 선택된 168-비트의 키에서, 처음 및 마지막 56 비트는 중간 56 비트가 랜덤하게 또는 의사 랜덤하게 선택되는 것과 동일하게 변경된다. 이 예에서, 제 1 키의 효율적인 키 강도는 2168인 한편, 제 2 키의 효율적인 키 강도는 2112이다. 다른 예에서, 랜덤하게 또는 의사 랜덤하게 선택된 64-비트 키의 마지막 20비트만이 랜덤하게 또는 의사 랜덤하게 선택된다. 제 2 키의 효율적인 키 강도는 220이다. 다른 예에서, 랜덤하게 또는 의사 랜덤하게 선택된 168-비트 키의 처음 100비트는 1 또는 0으로 설정된다. 제 2 키의 효율적인 키 강도는 268이다.
다른 방법에서는, 제 1 키에 마스크가 적용되어 선택된 시퀀스 또는 패턴으로 제 2 키의 값을 변경한다. 마스킹은 다수의 방법으로 실행된다. n-비트 키를 사용하는 제 1 마스킹 기술이 도 5에 도시된다. 제 1 키(400)는 비트(X0, X1, X2, X3,...Xn)를 포함한다. 모든 비트가 0과 함께 AND 연산으로 제어되거나 적용되는 로직(불(Boolean)) 연산이 사용된다. 예컨대, 불 로직 내의 X0과 대응하는 위치(500)가 모두 "1"일 때, 대응하는 제 2 키 내의 비트 위치(504)는 "1"이다. 불 로직 내의 X0과 대응하는 위치(500) 중 어느 하나 또는 모두가 "0"일 때(도시된 것처럼), 대응하는 제 2 키 내의 비트 위치(504)는 "0"이다. 도 5에서 볼 수 있는 것처럼, 대응하는 제 2 키 내의 비트 위치(504)는 항상 "0"일 것이다. 이 연산은 제 1 및 제 2 비트 위치(X0,X1)에는 적용되지만, 다른 비트 위치(X2, X3,...Xn)에는 적용되지 않는다. 그러므로 효율적인 제 2 키 강도는 2n-2이다. 다른 마스킹 기술은 도 6에 도시된다. 도 6에서 볼 수 있는 것처럼, 제 1 키(400) 내의 특정 비트, 즉 X0과 X1는 선택된 패턴으로 제 2 키(404) 내의 비트 위치로 대체된다. 그러므로, X0은 제 2 키 내의 제 1, 제 3 및 제 4 비트 위치로 대체되고, X1은 제 2 키 내의 제 2 및 제 5 비트 위치로 대체된다. 그러므로 제 2 키 강도는 2n-3이다. 다른 마스킹 기술은 도 7에 도시된다. 도 7에서 볼 수 있는 것처럼, X0, X1, X2, X3의 값은 AND 연산에 적용된다. 그러므로, 제 1 한 쌍의 키 비트(X0,X1) 중 어느 하나 또는 모두가 0일 때 및 제 2 한 쌍의 키 비트(X2,X3) 중 어느 하나 또는 모두가 0일 때, 적절한 쌍의 각 구성원의 값은 "0"이며, 제 1 한 쌍의 키 비트(X0,X1)의 모든 구성원이 1일 때 및 제 2 한 쌍의 키 비트(X2,X3)의 모든 구성원이 1일 때, 적절한 쌍의 각 구성원의 값은 "1"이다. 이 연산은 각 키 쌍에 대한 4개의 가능한 조합(즉, (0,0), (0,1), (1,0), (1,1))을 2개의 가능한 조합, 즉, (0,0)과 (1,1)로 효율적으로 변환한다. 설명되는 바와 같이, 당업자 중 누군가에 의해 다른 마스킹 연산이 계획될 수 있다.
도 8은 키 강도 제어 관리자(308)의 동작 실시예를 도시한다.
단계(800)에서, 관리자(308)는 장치(300)의 다른 구성 요소로부터 키 요청을 수신한다.
판단 다이아몬드(804)에서, 관리자(308)는 제 1 키의 키 변경이 필요한 지의 여부를 판단한다. 이 판단은 라이센스 파일(312) 내의 데이터 구조를 검토함으로써 이루어진다. 만일 키 변경이 필요하지 않다면, 관리자(308)는 아무 일도 하지 않고 제 1 키가 요청하는 구성 요소에 제공되는 것을 허용한다. 만일 키 변경이 필요하다면, 관리자(308)는 키 변경자(316)를 호출한다.
단계(808)에서, 키 변경자(316)는 제 2 키를 생성하기 위해 제 1 키를 변경 한다.
단계(812)에서, 관리자(308)는 제 1 키가 아니라 제 2 키를 요청하는 구성 요소에 출력한다.
본 발명에 대한 다수의 변경 및 수정이 사용될 수 있다. 다른 것을 제공하지 않으면서 본 발명의 일부 특성을 제공하는 것이 가능할 것이다.
예컨대 다른 실시예에서, 랜덤 숫자 발생기 자체가 변경되어, 제한이 적용될 때 출력에 변경이 거의 없다. 예컨대, 이 발생기는 키 내의 비트의 서브세트에 대해서만 랜덤 또는 의사 랜덤 숫자를 선택할 수 있다. 바꾸어 말하면, 숫자 발생기는 모든 비트의 변경 가능성이 동일하지 않도록 구성된다. 일부 비트는 다른 비트보다 더 변경되기 쉽다. 다른 예에서, 출력 자체는 의도적으로 랜덤하지 않거나 부분적으로만 랜덤하다. 바꾸어 말하면, 비트 변경 가능성이 랜덤한 정도의 가능성보다 적다.
또 다른 예에서, 관리자(308) 및/또는 변경자(316)는 소프트웨어, 하드웨어(예컨대, ASIC(Application Specific Integrated Circuit)과 같은 로직 회로) 또는 이들의 조합으로 구현된다.
다수의 실시예에서, 본 발명은 본 명세서에 설명되고 도시된 것처럼 구성 요소, 방법, 프로세스, 시스템 및/또는 장치를 실질적으로 포함하여, 다수의 실시예, 하위조합 및 이들의 서브세트를 포함한다. 당업자는 본 개시 내용을 이해한 후에야 본 발명을 개발하고 이용하는 방법을 이해할 것이다. 본 발명은 다수의 실시예에서 본 명세서에 도시 및/또는 설명되지 않은 항목이 없을 경우에 제공하는 장치 및 프로세스를 포함하거나, 다수의 실시예에서, 예컨대, 성능을 개선하며, 구현 비용을 줄이고/줄이거나 절감하는 이전의 장치 또는 프로세스에 사용되었던 것처럼, 이러한 항목이 없을 경우에 제공하는 장치 또는 프로세스를 포함한다.
본 발명에 대한 이전의 논의는 도시 및 설명을 위한 것이다. 상술한 내용은 본 명세서에 개시된 형태 및 형태들로 본 발명을 제한하려는 것이 아니다. 예컨대, 이전의 상세한 설명에서, 본 발명의 다양한 특징은 개시 내용을 합리화하기 위해 하나 이상의 실시예 내에 함께 그룹화된다. 개시의 방법은 청구된 본 발명이 각 청구항 내에 명백히 언급된 것보다 많은 특징을 요구하는 의도를 반영하는 것처럼 설명되는 것은 아니다. 오히려, 후속하는 청구항이 반영하는 것처럼, 발명의 측면은 이전에 개시된 실시예 하나의 모든 특징보다 적은 상태로 존재한다. 그러므로, 후속하는 청구항은 이 상세한 설명에 인용되며, 각 청구항은 개별적인 본 발명의 바람직한 실시예로서 존재한다.
또한, 본 발명의 설명이 하나 이상의 실시예와 특정 변경 및 수정에 대한 설명을 포함하지만, 예컨대, 당업자가 포함할 수 있는 것처럼, 본 개시 내용을 이해한 후에 본 발명의 범주 내에 다른 변경 및 수정이 존재한다. 이것은 대안적인, 상호교환가능한 및/또는 균등한 구조, 기능, 범위 또는 단계가 본 명세서에 개시되든 아니든, 그리고 임의의 특허를 받을만한 청구 대상을 공개하려하지 않으면서 이러한 대안적인, 상호교환가능한 및/또는 균등한 구조, 기능, 범위 또는 단계를 포함하는 허용되는 범위까지 다른 실시예를 포함하는 권리를 획득하기 위한 의도이다.
본 발명에 따르면, 암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터 판독가능한 매체를 제공할 수 있다.

Claims (11)

  1. (a) 암호화 키(a cryptographic key) 요청을 수신하는 단계와,
    (b) 제한 식별자로부터 상기 암호화 키 강도(strength)가 제한되는지 여부를 판단하는 단계와,
    (c) 상기 암호화 키가 제한될 때, 제 2 키 강도를 갖는 제 2 암호화 키를 사용하는 단계와,
    (d) 상기 암호화 키가 제한되지 않을 때, 제 1 키 강도를 갖는 제 1 암호화 키를 사용하는 단계를 포함하되,
    상기 제 1 키 강도는 상기 제 2 키 강도보다 높은
    암호화 키 제공 방법.
  2. 제 1 항에 있어서,
    상기 제한 식별자는 라이센스 파일 내에 존재하고 수출 국가를 식별하며,
    상기 제 2 키는 상기 제 1 키로부터 파생되는
    암호화 키 제공 방법.
  3. 제 1 항에 있어서,
    상기 제한 식별자는 지리적 위치 신호이고,
    상기 판단하는 단계는,
    (b1) 연관된 통신 장치의 공간적 위치를 나타내며 지리적 위치 좌표를 제공하는 상기 지리적 위치 신호를 수신하는 단계와,
    (b2) 상기 좌표를 매핑하여 암호화 키 강도가 제한되는 지의 여부를 판단하는 단계를 포함하는
    암호화 키 제공 방법.
  4. 제 1 항에 있어서,
    상기 제 1 및 제 2 키는 동일한 키 강도를 구비하고, 상기 제 1 및 제 2 키 내의 상기 비트 중 적어도 일부는 동일하며, 상기 암호화 키는 제한되되,
    상기 단계(c)는,
    (c1) 상기 제 1 키를 생성하는 단계와,
    (c2) 상기 제 1 키를 변경하여 상기 제 2 키를 생성하는 단계를 포함하며,
    상기 암호화 키 제공 방법은,
    (e) 메시지 암호화 및 해독화 중 적어도 하나는 상기 암호화 키가 제한되는 경우에는 상기 제 2 키를 사용하고, 상기 암호화 키가 제한되지 않는 경우에는 상기 제 1 키를 사용하는 단계를 더 포함하되,
    동일한 암호 일행(cipher suite)은 상기 제 1 및 제 2 키와 함께 사용되고, 상기 변경하는 단계(c2)는 상기 제 1 키의 상기 비트 중 적어도 일부를 설명되는 것처럼 사전결정된 패턴으로 변경하는
    암호화 키 제공 방법.
  5. 제 1 항의 단계를 수행하는 실행가능한 인스트럭션을 포함하는
    컴퓨터 판독가능한 매체.
  6. 키 강도 제어 수단을 포함하며, 상기 키 강도 제어 수단은,
    (i) 암호화 키 요청을 수신하고,
    (ii) 제한 식별자로부터 상기 암호화 키 강도가 제한되는지 여부를 판단하며,
    (iii) 상기 암호화 키가 제한될 때, 제 2 키 강도를 갖는 제 2 암호화 키를 사용하게 하고,
    (iv) 상기 암호화 키가 제한되지 않을 때, 제 1 키 강도를 갖는 제 1 암호화 키를 사용하게 하되,
    상기 제 1 키 강도는 상기 제 2 키 강도보다 높은
    통신 장치.
  7. 제 6 항에 있어서,
    상기 제한 식별자는 라이센스 파일 내에 존재하고 수출 국가를 식별하는
    통신 장치.
  8. 제 6 항에 있어서,
    상기 제한 식별자는 지리적 위치 신호이고,
    상기 관리자는 연관된 통신 장치의 공간적 위치를 나타내며 지리적 위치 좌표를 제공하는 상기 지리적 위치 신호를 수신하고, 상기 좌표를 매핑하여 암호화 키 강도가 제한되는 지의 여부를 판단하는
    통신 장치.
  9. 제 6 항에 있어서,
    상기 암호화 키는 제한되고,
    상기 제 2 키는 상기 제 1 키로부터 파생되는
    통신 장치.
  10. 제 9 항에 있어서,
    상기 제 1 및 제 2 키는 동일한 키 강도를 가지고,
    상기 제 1 및 제 2 키 내의 상기 비트 중 적어도 일부는 동일하며,
    암호 일행을 더 포함하여, 메시지 암호화 및 해독화 중 적어도 하나는 상기 암호화 키가 제한되는 경우에는 상기 제 2 키를 사용하고, 상기 암호화 키가 제한되지 않는 경우에는 상기 제 1 키를 사용하되,
    상기 동일한 암호 일행은 상기 제 1 및 제 2 키와 함께 사용되는
    통신 장치.
  11. 제 9 항에 있어서,
    상기 제 1 키는 제 1 및 제 2 비트 세트를 구비하고,
    상기 제 2 키는 제 3 및 제 4 비트 세트를 구비하되,
    상기 제 1 및 제 3 비트 세트는 동일하지만, 상기 제 2 및 제 4 비트 세트는 서로 다른
    통신 장치.
KR1020060088689A 2005-09-13 2006-09-13 암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터판독가능한 매체 KR20070030712A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060088689A KR20070030712A (ko) 2005-09-13 2006-09-13 암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터판독가능한 매체

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/226,122 2005-09-13
KR1020060088689A KR20070030712A (ko) 2005-09-13 2006-09-13 암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터판독가능한 매체

Publications (1)

Publication Number Publication Date
KR20070030712A true KR20070030712A (ko) 2007-03-16

Family

ID=43655246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060088689A KR20070030712A (ko) 2005-09-13 2006-09-13 암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터판독가능한 매체

Country Status (1)

Country Link
KR (1) KR20070030712A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130035633A (ko) * 2011-09-30 2013-04-09 한국전력공사 이종 기기간 암복호화 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130035633A (ko) * 2011-09-30 2013-04-09 한국전력공사 이종 기기간 암복호화 장치 및 방법

Similar Documents

Publication Publication Date Title
US7873166B2 (en) Method for undetectably impeding key strength of encryption usage for products exported outside the U.S
US20220141038A1 (en) Method of rsa signature or decryption protected using a homomorphic encryption
EP3157225B1 (en) Encrypted ccnx
KR101205109B1 (ko) 메시지 인증 방법
CN109428867B (zh) 一种报文加解密方法、网路设备及系统
JP2017063432A (ja) 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
US9762560B2 (en) Method for generating cryptographic “one-time pads” and keys for secure network communications
US20190074959A1 (en) Cryptographic device and an encoding device
Sarkar et al. Role of cryptography in network security
EP1841121A1 (en) Verifiable generation of weak symmetric keys for strong algorithms
Reyad et al. Key-based enhancement of data encryption standard for text security
Cheema et al. Improving the Secure Socket Layer by modifying the RSA algorithm
Daddala et al. Design and implementation of a customized encryption algorithm for authentication and secure communication between devices
US7436966B2 (en) Secure approach to send data from one system to another
Kumar et al. A novel framework for secure file transmission using modified AES and MD5 algorithms
KR20070030712A (ko) 암호화 키 제공 방법과 이를 수행하는 통신 장치 및 컴퓨터판독가능한 매체
Kumar et al. Exploration and Implementation of RSA-KEM Algorithm
Jain et al. Enhance Data Security in Cloud Computing with Digital Signature & Hybrid Cryptographic Algorithm
Mohamed et al. Cryptography concepts: Confidentiality
Rajululkahf Băhēm: A Symmetric Cipher with Provable 128-bit Security
Rajululkahf A Symmetric Cipher with Provable 128-bit Security
Oszywa et al. Combining message encryption and authentication
Roos Lecture Notes: Computer Networks CSE1405 Cryptography and Network Security
Archana et al. Data security and storage in cloud using hybrid algorithms

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080619

Effective date: 20090409