| [ WWW ] in KIDS 글 쓴 이(By): Camilo (긴일주일) 날 짜 (Date): 1995년12월22일(금) 20시08분19초 KST 제 목(Title): netscape 야그 이 보드의 이름이 WWW에서 WWWQ&A로 바뀌어야 될 정도로 Q/A가 많네요. 질문도 좋지만 web사용기나 기타 유용한 정보도 많이 나왔으면 하는 바람입니다. 아 이말할려고 글 쓴건 아니고. --- 오늘 DDJ(Dr. Dobb's Journal) 1월판을 보니깐 네트스케잎 security야그가 있길래 재밌게 봤습니다. Berkely에 Ian과 David라는 두 친구가 네트스케잎의 암호체계를 풀었다는 이야기였는데 그게 1.1때였으니깐 현재 2.0b3를 쓰시는 분들에게는 해당사항은 없어요. 암호화에는 key라는 것이 필요해서 원 문장 <------> 암호화 문장 key 가 되시는 것은 다 아시는 이야기일테고 따라서 암호화의 핵심은 이 key를 얼마나 알아내기 어렵게 만드는 것인가죠. DES라고 해서 많이 쓰이는 암호화 방법은 56bit을 key로 사용하고요 네트스케잎은 international version의 경우 40 bit, USA version일 경우 128bit을 사용합니다. 키길이가 길어질수록 이 암호를 깨는 건 힘들어집니다. 여기서 좀 황당한 게 왜 미국버젼과 국제 버젼의 키길이가 다른가인데 미국엔 황당한 해커가 많기 때문에 특별히 보안이 필요해서가 아니라 소프트웨어의 해외 수출시에는 strong cryptography를 쓰면 안된다는 규칙이 있다고 하네요. 다시 말해 길이가 긴건 수출용으로 안된다 이거죠. 음냐, 마치 미국의 첨단제품은 공산주의국가에 수출하면 안된다는 것과 동일한 선상에 있는 정책같습니다. 요 키를 만들어내기 위해 네트스케잎사에서는 다음의 세 패러미터를 사용했읍니다. key = f ( 시간, 프로세스 아이디, 아버지 프로세스 아이디 ) 이렇게 하면 pseudo random number를 만들어 낼 수 있게 됩니다. 두 친구가 한 일은 요 세 패러미터를 알아냄으로써 키를 손쉽게 구해낼수 있었읍니다. 25초만에 구했다나 어쨌다나. 그럼 이런 의문이 생기죠? 도대체 소스 코드를 어떻게 구했길래 요런 알고리즘을 알아낸거지? 네트스케잎사의 브라우져는 아시다시피 바이너리만 공개하고 소스는 절대 비밀시합니다. 이 두친구는 그걸 reverse-engineering으로 구했다고 하는 대목을 듣고서 놀랐어요. 음냐, 거의 1M에 달하는(?) 실행화일에서 역으로 원하는 부분의 소스를 얻는게 가능한 일인가? 아뭏튼 대단하다는 생각뿐. 앞으로 전자화페가 상용화될테고 인터넷을 이용한 비지니스가 크게 떠오를텐데 암호화의 중요성을 일깨워주는 하나의 일화로써 기억해 둘법한 거 같네요. |