전자계산학과 대학원 그룹웨어 연구실 진 훈 jinun@kuic.kyonggi.ac.kr Code and RSA 전자계산학과 대학원 그룹웨어 연구실 진 훈 jinun@kuic.kyonggi.ac.kr
Contents 암호의 역사 암호기술 개요 암호 알고리즘 암호 프로토콜 정보보호와 암호기술 전자화폐 전자인증 전통적인 암호 - 보안 유지와 관련 현대 암호 - 많은 서비스를 제공 전자계산학과 대학원 그룹웨어연구실
암호의 역사 제 1단계 암호 : 고대 ~ 19세기 말 제 2단계 암호 : 20세기 초 ~ 1940년대 말 단순문자 대입 방법 시이저 암호, Vigenere cipher, Beaufort cipher 제 2단계 암호 : 20세기 초 ~ 1940년대 말 복잡한 기계를 이용 ENIGMA, M-209 제 3단계 암호 : 1940년대 말 ~ 현대암호 Shannon의 “암호학의 수학적 배경” 전자계산학과 대학원 그룹웨어연구실
암호기술 개요 전자계산학과 대학원 그룹웨어연구실 암호 : 비밀키, 공개키 암호의 두가지 구성요소 : 알고리즘(암호학적 방법론)과 키 암호 시스템 : 비밀키 시스템(대칭 시스템), 공개키 시스템(비대칭 시스템), 하이브리드 시스템 전자계산학과 대학원 그룹웨어연구실
암호알고리즘(Encryption) 전자계산학과 대학원 그룹웨어연구실
암호알고리즘의 분류 전자계산학과 대학원 그룹웨어연구실
비밀키(대칭키) 암호알고리즘의 형태 전자계산학과 대학원 그룹웨어연구실 두 개체는 같은 키를 공유. 키를 이용하여 자료를 암호하고 복호한다. 비밀키 암호는 수세기동안 사용되어 왔으며 초기에는 단순히 문자의 자리를 바꿈으로서 메시지의 내용을 숨겼다. DES(Data Encryption Standard) : 가장 잘 알려진 비밀키 시스템. 미국 국립 표준 기술연구소(NIST: National Institute of Standards and Technologies)가 연방정보처리 표준(FIPS: Federal Information Processing Standard) 46-2로 발표한 Data Encryption Standard. 미국 국가 표준 기구(ANSI)는 DES를 암호, 무결성, 접근 통제, 키 관리 표준의 기본으로 채택 전자계산학과 대학원 그룹웨어연구실
비밀키 암호시스템의 원리 전자계산학과 대학원 그룹웨어연구실
키분배 문제(공개키 암호알고리즘의 태동) 전자계산학과 대학원 그룹웨어연구실 공개키 암호는 하나의 객체에 대해 키쌍을 사용한다. 키쌍 중의 하나를 공개하고 다른 하나는 비밀리 간직한다. 두 개의 키 모두 보고되어야 한다. 공개키 암호는 통신하고자 하는 개체가 상대방을 신뢰할 수 없거나 공통키를 공유할 수 없을 때 매우 유용하다. 여러 개의 공개키 암호 시스템이 존재하며 최초의 공개키 시스템 중의 하나가 RSA이다. 참고: 하이브리드 시스템 : 비밀키 시스템은 크기가 큰 자료를 암호화 하는데 사용되고 공개키 시스템은 자동화된 분배에 이용된다. (비밀키 암호시스템 1000~10000 > 공개키 암호시스템 1) 전자계산학과 대학원 그룹웨어연구실
공개키 암호시스템의 개념 전자계산학과 대학원 그룹웨어연구실
공개키 암호시스템의 원리 전자계산학과 대학원 그룹웨어연구실
공개키 암호시스템 전자계산학과 대학원 그룹웨어연구실
RSA 공개키 암호시스템 1976년 Merkle-Hellman의 Knapsack 암호시스템이 제안 1977년 Rivest, Shamir, Adleman에 의해 개발, 1978년 공개(세 사람의 첫글자) RSA는 암호화와 전자서명 모두를 제공가능하며 소인수분해의 어려움에 안전도의 근거를 두고 있다. RSA 암호시스템은 모듈러 지수 연산이 주를 이룬다. 실제 연산에 있어, 작은 암호화 지수를 사용하여 복호화보다는 암호화를 더 빠르게 수행하도록 설계되고 있으며, 서명보다는 검증을 더 빠르게 수행하도록 설계하고 있다. RSA 암호시스템은 대칭키 암호시스템과 함께 사용된다. 일반적으로 DES보다 S/W로 구현했을 때 100배 정도, H/W로 구현했을 때 1000배에서 10000배정도 느리기에 현재 암호화에서는 대칭키 암호화 알고리즘, 암호화에 사용된 세션키의 암호화에 RSA암호시스템을 사용하는 Hybrid 암호시스템이 주로 사용되고 있다. 전자계산학과 대학원 그룹웨어연구실
RSA 공개키 암호알고리즘 전자계산학과 대학원 그룹웨어연구실 가. 키생성 1. 두 개의(서로 다른) 큰 소수 p와 q를 임으로 생성한다. 2. N=pq와 =(p-1)(q-1)를 계산한다. 3. Gcd(e, ) = 1인 정수 e(1<e< )를 임으로 선택한다. 4. 확장된 유클리드 알고리즘을 사용하여 ed1(mod )인 유일한 정수 d(1<d< )를 계산한다. 5. A의 공개키: (n, e), A의 비밀키 : a 참고) 키생성에서 정수 e와 a는 각각 암호화 지수, 복호화 지수라 하고, n은 모듈러스라 한다. 나. RSA [요약] B는 메시지 m을 암호화하여 A에게 보내고, A는 복호화한다. 1) 암호화(B가 수행) 1. A의 인증된 공개키 (n, e)를 얻는다. 2. 메시지 m을 [0, n-1]사이의 정수로 표현한다. 3. c m**e mod n를 계산한다. 4. 암호문 c를 A에게 보낸다. 2) 복호화 1. 비밀키 a를 이용하여, m c**d mod n를 계산한다. 전자계산학과 대학원 그룹웨어연구실
RSA 공개키 암호알고리즘(예제) (1) 키 생성 (2) 암호화 (3) 복호화 1. A는 소수 p=2357, q=2551를 선택하고, n=pq=6012707와 =(p-1)(q-1)=6007800을 계산한다. 2. A는 e=3674911을 선택하고, 확장된 유클리드 알고리즘을 이용하여, ed 1(mod )인 d=422191을 찾는다. 3. A의 공개키는 (n=6012707, e=3674911)이고, 비밀키는 d=422191이다. (2) 암호화 암호화할 메시지가 m=5234673이라 하자. B는 c m**e(mod n)=5234573**3674911(mod 6012707) 3650502를 계산하여 A에게 보낸다. (3) 복호화 A는 c**d(mod n)=3650505422191(mod 6012507) 5234673을 계산한다. 전자계산학과 대학원 그룹웨어연구실
RSA 공개키 암호알고리즘 -C 전자계산학과 대학원 그룹웨어연구실
공개키 획득 방법 전자계산학과 대학원 그룹웨어연구실
관용키 시스템과 공개키 시스템의 비교 전자계산학과 대학원 그룹웨어연구실
암호 프로토콜 전자계산학과 대학원 그룹웨어연구실 새로운 공개키 방법이 오래된 비밀키 방법보다 더 많은 융통성을 제공하지만, 비밀키 무결성 검증 시스템은 많은 응용에 활용되어 왔다. 비밀키 암호가 사용될 경우 메시지 인증 코드(MAC: Message Authentication Code)가 계산되어 자료에 첨부 -> 자료가 변경되지 않았음을 검증하기 위해 비밀키를 보유하고 있는 개체는 MAC을 재계산 -> 임의의 개체가 계산한 새로운 MAC은 원래의 MAC와 비교 후 자료의 무결성을 확신(FIP 113, Computer Data Authentication은 무결성 검증을 위해 MAC을 계산하는 표준 기술을 명시0 공개키 암호는 공개키 서명과 안전한 해쉬를 이용해 무결성을 검증한다. 메시지 다이제스트를 위해 해쉬 알고리즘 이용 -> 해쉬가 비밀키로 서명 -> 해쉬를 재계산, 서명에 이용된 비밀키에 대응하는 공개키를 이용하여 메시지의 무결성을 검증 전자계산학과 대학원 그룹웨어연구실
공개키 전자서명의 원리 전자계산학과 대학원 그룹웨어연구실
암호 프로토콜(계속) 전자계산학과 대학원 그룹웨어연구실
암호 프로토콜(계속) 전자계산학과 대학원 그룹웨어연구실
정보보호와 암호기술 전자계산학과 대학원 그룹웨어연구실
정보보호와 암호기술(계속) 전자계산학과 대학원 그룹웨어연구실
정보보호와 암호기술(계속) 전자계산학과 대학원 그룹웨어연구실
전자서명 전자계산학과 대학원 그룹웨어연구실 전자서명 : 수기서명과 비슷한 기능을 수행하는 암호 메커니즘이다. 이는 메시지의 출처와 내용을 검증하는데 사용된다. 예로 자료(예: 전자메일 메시지)의 수신자는 누가 자료를 서명했고 그 이후 자료가 변경되었는지를 검증할 수 있다. 전자서명은 비밀키 암호나 공개키 암호를 모두 이용가능하나 공개키 방법이 일반적으로 사용하기 쉽다. 암호서명은 메시지가 수정되지 않았고 특정한 키로 서명되었다는 사실에 대해 강한 증거를 제공한다. 전자계산학과 대학원 그룹웨어연구실
정보보호와 암호기술 전자계산학과 대학원 그룹웨어연구실
초고속 인증망(PKI) 전자계산학과 대학원 그룹웨어연구실
References Alexander, M., ed. “Protecting Data With Secret Codes,” Infosecurity News. 4(6), 1993. Pp. 72-78. Amerian Bankers Association. American National Standard for Financial Institution Key Management (Wholesale). ANSI X9. 17-1985. Washington, DC., 1985. Denning P., and D.Denning, “The Clipper and Capstone and Capstone Encryption Systems.” Ameirican Scientist. 81(4), 1993. Pp.319-323. Diffie, W., and M. Hellman. “New Directions in Cryptography. “IEEE Transactions on Information Theory. Vol. IT-22, No. 6, November 1976. Pp. 644-654. Duncan, R. “Encryption ABCs.” Infosecurity News. 5(2), 1994. Pp. 36-41. International Organization for Standardization. Information Processing Systems Open Systems Interconnetion Reference Model - Part 2: Security Architecture. ISO 7498/2. 1988. Meyer, C.H., and S. M. Matyas. Cryptography: A New Dimension in Computer Data Security. New York, NY: John Wiley & Sons, 1982. 전자계산학과 대학원 그룹웨어연구실
References Nechvatal, James. Public-Key Crytography. Special Publication 800-2. Gaithersburg, MD: National Institute of Standards and Technology, April 1991. National Institute of Standards and Technology. “Advanced Authentication Technology. “Computer Systems Laboratory Bulletin. November 1991. National Institute of Standards and Technology. Computer Data Authentication. Federal Information Processing Standard Publication 113. May 30, 1985. National Institute of Standards and Technology. Data Encryption Standard. Federal Information Processing Standard Publication 46-2. December 30, 1993. National Institute of Standards and Technology. "Digital Signature Standard." Computer Systems Laboratory Bulletin. January 1993. National Institute of Standards and Technology. Digital Signature Standard. Federal Information Processing Standard Publication 186. May 1994. 전자계산학과 대학원 그룹웨어연구실
References National Institute of Standards and Technology. Escrowed Encryption Standard. Federal Information Processing Standard Publication 185. 1994. National Institute of Standards and Technology. Key Management Using ANSI X9.17. Federal Information Processing Standard Publication 171. April 27, 1992. National Institute of Standards and Technology. Secure Hash Standard. Federal Information Processing Standard Publication 180. May 11, 1993. National Institute of Standards and Technology. Security Requirements for Cryptographic Modules. Federal Information Processing Standard Publication 140-1. January 11, 1994. Rivest, R., A. Shamir, and L. Adleman. "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems." Communications of the ACM., Vol. 21, No. 2, 1978. pp. 120-126. Saltman, Roy G., ed. Good Security Practices for Electronic Commerce, Including Electronic Data interchange. Special Publication 800-9. Gaithersburg, MD: National Institute of Standards and Technology. December 1993. 전자계산학과 대학원 그룹웨어연구실
References Schneier, B. "A Taxonomy of Encryption Algorithms." Computer Security Journal. 9(1), 1193. pp. 39-60. Schneier, B. "Four Crypto Standards." Infosecurity News. 4(2), 1993. pp. 38-39. Schneier, B. Applied Cryptography: Protocols, Algorithms, and Source Code in C. New York, NY: John Wiley & Sons, Inc., 1994. U.S. Congress, Office of Technology Assessment. "Security Safeguards and Practices." Defending Secrets, Sharing Data: New Locks and Keys for Electronic Information. Washington, DC: 1987, pp. 54-72. A.J.Menezes, P.C. van Oorschot, S.A. Vanstone, “Handbook of Applied Crytography”, pp283~291. CRC. B.S.Kaliski JR, M.Robshaw, “The seeure use of RSA”, CryptoBytes, 1(Autumn 1995), pp7-13 RSA Data Security, “Answer to Frequently Asked Questions About Today’s Cryptography Ver. 3.0” 전자계산학과 대학원 그룹웨어연구실
References Bruce Schneier, “Applied Cryptography”, pp466~474, John Wiely & Sons, Inc. D.R.Stinson, “Cryptography Theory & Practice”, pp124~145, CRC. Atro Salomaa, “Public-Key Cryptography”, pp125~157, Splinger-Verlag. http://hsjeon.etri.re.kr/NetDP/NetDP.html “RSA 공개키 암호시스템 현황”, 1998년 5월, 한국정보보호센터 기술본부/기술연구팀 http://www.kisa.or.kr/edu/nist/nist19.htm http://www.kisa.or.kr/edu/edu99/정보보호입문/김홍근/index.htm http://www.kisa.or.kr/edu/edu99/정보보호입문/김병천/index.htm 전자계산학과 대학원 그룹웨어연구실