글타래: iPhone SDK 2.0
View Single Post
2008-03-24, 01:21 AM   #18
casaubon
Moderator
 
casaubon's Avatar
 
Registered: Sep 2001
My Mac: iMac 24" 3.06GHz
Posts: 2,401
오프라인
iPhone 2.0 SDK: 인증문제, 독자들이 답하다

iPhone 2.0 SDK: Readers Write on Certificate Signing

March 21st, 2008 | Journal, Markets, Mobiles, Software, Tech



Daniel Eran Dilger

"iPhone 2.0 SDK: 아이폰과 자바"와 "iPhone 2.0 SDK: 소프트웨어의 사인 인증(Signing Certificates)"에 대해, 사인받은 아이폰용 애플리케이션을 애플이 어떻게 통제하는지, 썬의 자바 ME 개발자들이 코드사인에 대해 어떤 문제를 제기하는지에 관한 글을 독자들이 보내 주었다.

Revocation and the Lovely Walled Garden.
Hoty Kesterson II의 글이다. "코드 사인에 대한 좋은 기사입니다. 이 시스템이 설치되기 이전에 애플이 써드파티 코드를 테스트하진 않으리라 생각했는데요. 아마 이런 식의 시스템이 나온 이유 중 하나가 비용 문제도 있을 듯 싶습니다. 어떤 애플리케이션이 시스템을 망치는지 알아보는 것도 있겠지만, 1) 애플리케이션을 구입한 이들에게 올바른 버전을 제공하거나, 2) 악성 소프트웨어, 혹은 현저히 불량인 소프트웨어를 발견하는 경우 승인을 취소시키기 위해서이기도 할 겁니다."

"그런데 취소의 경우 어떻게 할지가 궁금하군요. (전 X.509 인증시스템 디자이너 중 하나이고, 수 년동안 이 인증시스템의 국제회의를 주재해왔습니다.) 일단은 CRL 스토어를 휴대폰 안에 집어넣을 수 있겠습니다. 즉각적으로 인증 확인을 할 수 있죠. 취소해야 할 것이 그리 많지 않다면, CRL 크기도 별로 안 커질 겁니다. 게다가 무선이건, 싱크이건, 취소해야 할 건수가 생길 때마다 아이폰에 집어 넣을 수 있죠. (취소를 할 때 취소가 되도록 하는 기능이 추가될 수도 있습니다.)"

"다른 가능성은 당신이 언급한대로입니다. 애플리케이션이 새로 돌아갈 때마다 아이폰이 확인하는 것이죠. OCSP를 통한 확인도 가능하겠습니다만, 이 접근 방식은 별로입니다. 돌릴 때마다 확인을 할 테니까요. 이 경우는 1) 프로그램 활성화 속도를 떨어뜨리고, 2) 신호가 있는데에서만 애플리케이션을 돌릴 수 있으며, 3) 배터리에 영향을 끼칠 겁니다."

"코드사인이 가져올 규율은 마음에 듭니다. 소프트웨어 개방에 대해 반대하지도 않고, 그걸 원하는 분들 이해하기도 합니다만, 그런 소프트웨어는 전 쓰지 않을 거에요. 맥오에스 9 초창기 때, 맥에 그런 확장자를 많이 설치했었죠. 그랬더니 시스템이 너무 취약해졌습니다. 원래 시스템에 변화를 시키면 충돌을 일으키게 마련이죠. 고치려면 수고도 많이 들여야 합니다. 맥오에스텐 처음 버전이 나왔을 때는 아예 애플이 제공한 것만 돌렸죠. 올바르게 돌아가는 것으로요. 그랬더니 정말 안정적으로 변했습니다. 어떨 때는 몇 달이고 재부팅 안할 때도 있었죠."

"아이폰도 똑같이 다룰 겁니다. 정말 절실한 애플리케이션을 누군가 만들어서, 애플도 이를 받아들이고 업데이트시키기를 바랬던 적은 아직 없어요. 음성 다이얼링? 노트북에서 접근 가능하고 태그도 가능한 노트? 물론 있으면 좋겠죠. 하지만 애플이나, 다른 신뢰성 있는 곳에서 그런 기능을 제공하기 기다리겠어요. 휴대폰도 사무용으로 매일 씁니다. 갖고 놀 것이 아니죠. 그런데 감히 제3자가 갖고 놀게 하겠어요?"

Java Verified: Expensive.
독자, Elliot Long의 글이다. "당신이 좀 반-자바적이라는 점은 알지만, 적어도 코드사인의 어려움에 대해 논의하는 글이라면, J2ME 개발자들에게는 공포이 장벽이 하나 있음을 언급하는 편이 낫잖을까 싶습니다."

"블랙베리와 Symbian, 윈도 모바일과는 달리, J2ME 애플리케이션은 호환기기용으로 나오지 않기에, 실행 파일(executable)이 아주 많이 포함되어 있습니다. 하지만 각 실행 파일 처리 과정이야말로 자바 사업에서 제일 돈이 많이 드는 곳입니다. 이 인증을 해주는 유일한 곳이 Java Verified initiative인데요. 여기를 통과하려면, 회사로부터 인증을 구입해야할뿐만 아니라, 전문 코드 테스팅이 필요합니다. 테스트를 해 주는 곳도 다섯 곳에 불과하죠. 실행 팡리 하나당 200~400달러 듭니다."

"자, 화면 해상도에 따라 jar가 서 너개 될 수 있죠. 한 회사가 만들어도 이렇습니다. 그런데 다른 회사들까지 들어가면, 구현에도 버그가 있고, 여러 가지 JSR에도 맞춰야 하죠. 언어가 다를 수도 있습니다. 그러면 애플리케이션 단일 버전에만 테스트에 수 천만 달러가 들어갑니다. 물론 테스트를 한 번에 끝낼 경우죠. 그런 경우는 절대로 없습니다만."

"물론 이 이야기는 여기가 끝이 아닙니다. MNO 중 한 곳에 애플리케이션을 올려 놓으려면, JV에 덧붙여서 MNO 고유의 인증과정을 거쳐야 해요. 자바의 시장 점유율이 그렇게 크면서도, 자바 시장이 여전히 미성숙 시장인 이유가 다 이런 데에 있습니다. 제 생각입니다. 언제나처럼 훌륭한 글이더군요. 계속 정진해주세요."


More on the iPhone 2.0 SDK:

iPhone 2.0 SDK: 멀티태스킹 미신
iPhone 2.0 SDK: 아이폰과 자바
iPhone 2.0 SDK: 소프트웨어의 사인 인증(Signing Certificates)
iPhone 2.0 SDK: 비디오게임기로서의 iPhone

What do you think? I really like to hear from readers. Comment in the Forum or email me with your ideas.

Like reading RoughlyDrafted? Share articles with your friends, link from your blog, and subscribe to my podcast! Submit to Reddit or Slashdot, or consider making a small donation supporting this site. Thanks!


iPhone 2.0 SDK: Readers Write on Certificate Signing
__________________
  Reply With Quote