영어 원문: http://blog.jgc.org/2015/11/the-secret-message-hidden-in-every.html

 

클라이언트가 http2를 사용하려면 우선 서버가 http2를 지원하는지 알아야겠죠?

그래서 일부러 이상한 문자열을 전송하여 서버의 응답을 살핍니다.

http2 스펙에 맞는 답변이 돌아오면 서버가 http2를 지원하는 것이고, 에러가 나면 지원하지 않는 거죠.

그런데 여기에 사용되는 문자열이 PRISM이라고 하네요.

 

PRI * HTTP/2.0\r\n

\r\n

SM\r\n

 

http2와 프리즘이 무슨 상관이 있을까요?

 

2013년 5월에 발표된 버전에서는 이 문자열이 START였다고 합니다.

그런데 2013년 7월 버전에서 PRISM으로 바뀌었고, 그 스펙이 최종 버전까지 그대로 이어져 왔어요.

그 사이에 무슨 일이 있었을까요?

 

2013년 6월에 에드워드 스노든이 폭로한

미국 국가안보국(NSA)의 광범위한 감청 작전명이 "프리즘"이었답니다.

http2를 만든 개발자들이 미국 정부의 무분별한 인터넷 감청에 항의하는 뜻으로

PRISM이라는 단어를 스펙에 집어넣은 거지요.

 

앞으로 수십 년간 전세계에서 사용해야 할 프로토콜이니,

서버 기술을 배우는 다음 세대의 개발자들은 이 비밀 메시지를 보면서

미국 정부의 인터넷 감청 스캔들을 기억할 것입니다.

개발자가 아닌 사람들은 다 잊어버렸더라도, 개발자들은 잊을 수 없는 것입니다.

자신이 만드는 기술이 이런 권력의 남용에 도움이 되지는 않을지 생각해 보는 계기가 되겠지요.

스펙을 뜯어고친 것이 별 것 아닌 장난처럼 보일 수도 있겠지만,

목숨을 걸고 비리를 폭로한 스노든의 바램을 너무나 잘 담아낸 것입니다.

 

게다가 http2 스펙 자체는 SSL 사용을 의무화하지 않았는데도

크롬과 파이어폭스 등 대부분의 브라우저들은 SSL 사용시에만 http2를 지원하기로 약속했습니다.

그것도 아무렇게나 쓰면 안 되고, 최신 기술로도 감청이 불가능하다고 알려진 TLS 1.2 버전 이상을 사용해야

http2의 성능을 제대로 발휘할 수 있도록 만든다고 합니다.

프리즘 작전으로 전세계 인터넷 사용자들을 감청한 미국 정부도

정작 http2 프로토콜에 포함된 PRISM이라는 문자열은 감청할 수 없도록 한다는 거죠 ^^

 

미국 개발자들은 이렇게 무섭습니다.

전부 그렇지는 않겠지만, 자신이 만드는 기술이 사람의 자유와 세상의 권력 구조에 어떤 영향을 미치는지

항상 생각하면서 새 기술을 만들어내고 있는 거죠.

 

거기에 비해 우리나라의 내노라하는 개발자들은

평소 어떤 생각을 하고 있는지 궁금합니다.

XE1과 XE3를 만드는 개발자들과 그들을 지원하는 네이버는

사람과 기술의 관계에 대해 어떤 생각을 갖고 있을까요?

 

기진곰

profile
GitHub @kijin 사람을 위한 인터넷 생태계의 발전에 많은 관심을 갖고 있습니다.
우리가 만들어 가는 XE의 새 이름, 라이믹스(Rhymix) 프로젝트에 참여하고 있습니다.
오픈소스 도로명주소 검색서버 및 API Postcodify를 개발, 운영중입니다.
국내외 서버 및 클라우드서버 세팅, 이전, 튜닝해 드립니다.
  • profile

    본문과 좀 거리가 먼 댓글이라 죄송합니다만 http2 적용하고 싶지만 php2.4 아파치2.4라 수정을 하면서 적용해야해 어렵고 겁나서 못하고 있네요ㅋ

  • profile profile

    아파치 2.4겠죠 ㅎㅎ mod_spdy를 설치하면 SPDY는 쓸 수 있습니다. http2만큼은 아니지만 상당히 빨라요.

  • profile profile
    그게. 2.4에서는 그냥하면 안되고 뭔가 수정을 해야 하는거 같더라구요.. 설명중에 웹사이트가 먹통이된다면..... 뭐 이런 설명도 있고 후덜덜 해서 못해요 ㅋㅋ
  • ?
    일단 모르겠으니 가만히 있어야겠다.. ㅎㅎ
  • ?

    프리즘 프로젝트를 대하는 미국 국민들의 반응을 보고 전 충격을 받았습니다. 자신들의 모든 통신기록이 실시간 감청되는 나라에 살고 있음이 만천하에 드러났는데도 그들은 헌법에 보장된 자신의 권리를 찾기위한 그 어떠한 대항도 하지 않았지요. 존 매캐인 의원으로 기억하는데 내부고발자인 스노든의 일련의 행동에 대해서 '반역자'라고 일축해버리는 모습이 정말 가관이었습니다.

    민주당조차도 침묵으로 일관했어요. 아니, 애초에 오바마 정부가 들어서서도 patriot-act나 관타나모, CIA의 비인간적인 수사방식같은 미국의 인권 침해들이 국가 안전보장을 명목으로 강화되면 강화되었지 결코 약화되지 않았지요. 그 많은 총기사고가 나고 있음에도 NRA와 공화당의 '개개인의 정신적 문제이지 도구가 있음으로 인해서 촉발되는 사고가 아니'라는 희대의 뻘소리가 아직도 득세하는 형국이에요.

    제게 미국은 점점 부의 독점, 정치적 올바름, 정치적 쇼맨십이 팽배한 무늬만 민주주의인 경찰국가라고 보여집니다. 세계대전과 냉전을 거치며, 이제는 테러와의 전쟁을 현재진행중인 나라로서 미국 국민들이 근 100여년간 계속되어오고 있는 전쟁, 그리고 거기에 수반하는 개인 기본권의 희생, 전체주의적인 면모에 대해서 너무 익숙해져버린게 아닌가 생각할 뿐입니다. 그들에게는 독립선언문이 너무나도 멀게만 느껴질 뿐이겠죠.
     
    그에 반해 우리나라는 어떻습니까? 우리나라는 그래도 카카오톡 해킹 논란때에 문제의 본질에 비해 과하다 싶을 정도로 정보기관의 권력 남용에 대해 우려하고 질타하는 거센 목소리가 터져나왔습니다. 미국처럼 주류 정치권이 마냥 입다물고 있는 것도 아니죠. 지난번에는 이탈리아의 HT사 불법 해킹 프로그램을 구매했다는 이유만으로 전국민적 반발에 부딪히기도 했습니다. 미국은 시 경찰국까지 구매한 것으로 압니다만 '해킹범죄에 대한 연구목적'이라는 판에 박힌 변명으로 비난여론없이 넘어갔죠. FBI같은 상위 수사기관들은 노코멘트로 일관했습니다.

    그래서 기진곰님의 글을 항상 조용히 즐겁게 읽고있는 저이지만 마지막 줄에는 동의할 수 없네요. 프로그램 소스에 이스터에그처럼 단어 하나를 집어넣는 것으로 만족해야하는 저들의 신세보다는 차라리 개발자 신분보다도 이 나라 국민의 신분으로 자유롭게 정치적 발언을 할 수 있고 제 1 야당이 지원하는 집회에 참여해서 유효한 목소리를 낼 수 있는 우리나라 개발자들의 신세가 더 나아보입니다. 그리고 그걸 넘어서 자신의 전문성을 잘 살리는 분들도 계신 것 같습니다. HT사 불법 해킹프로그램 구입논란을 잇슈화 시켜서 국정원의 사과를 받아낸 것도 결국 한 개발자의 블로그 글 덕분이었다고 알고 있습니다. 카카오톡 측은 불법 감청 논란이 제기되자 더 이상 정부에 관행적으로 해오던 협조를 하지 않을 것이라고 공개 선언했죠. 미국의 트위터나 페이스북이 이런 선언을 하는 것이 가당키나 할까요?

     

    제가 정보당국의 계획입안자나 책임자라면 우리나라 개발자(국민)들이 훨씬 무서울 것 같네요.

  • ? ?
    다신 댓글에 대해서, 인상 깊게 읽었습니다.
    댓글 내용과 흐름이 유사한 기사를 발견했는데 한번 읽어보셔도 좋을 것 같습니다. http://m.biz.chosun.com/svc/article.html?contid=2015112000347

    하지만, 업데이트 해드릴 부분이 있는 것 같아서 댓글 답니다.
    카카오톡이 협조를 안하겠다고 선언했던 부분은 이미 폐기된 발언입니다. 다음 기사를 읽으시면 간략하게 인터뷰가 있습니다. http://mnews.joins.com/article/18809505

    카카오톡과 유사한 메시징 서비스를 운영하는 애플과 구글은 감청에 협조하지 않는다고 다시 한번 확인했습니다. IS 테러 이후에도 말이죠. 해당 기사 링크도 걸어드리겠습니다. http://m.yna.co.kr/kr/contents/?cid=AKR20151120043200009&mobile

    애플이나 구글의 선언이 말뿐이 아니라는건 이미 행동으로 증명하고 있습니다. 애플의 메시징 서비스인 아이메시지나 구글의 지메일에 어떤 일이 일어났는지는 다음 기사에 간략히 정리되어 있습니다. http://m.etnews.com/20151124000208?obj=Tzo4OiJzdGRDbGFzcyI6Mjp7czo3OiJyZWZlcmVyIjtzOjI1OiJodHRwczovL3d3dy5nb29nbGUuY28ua3IvIjtzOjc6ImZvcndhcmQiO3M6MTM6IndlYiB0byBtb2JpbGUiO30%3D
  • ? ?

    애플과 구글은 글로벌 서비스이고 NSA의 도감청 범위가 자국민뿐만 아니라 전 세계 네트워크였다는 정황이 포착되었기 때문에 그 비판을 무시하기 힘들었을 것입니다. 그러나 케이스 바이 케이스로 트위터와 페이스북은 미국 정부에게 아직도 협력하는 것으로 알고 있어요. 주요 통신사들도 마찬가지이구요.

    http://www.theguardian.com/technology/2015/nov/23/apple-google-microsoft-weakening-encryption-back-doors

    구글, 애플이 정보기관의 공개적인 압력에도 굴하지않고 더욱 강화된 암호화와 개인정보보호 정책을 고수해왔다는 것은 인정합니다만 파리 테러 이후에도 그럴지는 위의 기사처럼 장담하기 힘든 현실이 되었습니다.

    카카오톡 논란에 대해서 자세히 짚자면, 카카오톡은 엄밀히 말해 감청에 협조한 것이 아닙니다. 실제로 카카오톡 내부에 백도어 설비가 설치된 적이 없는 것으로 알고 있어요 (미국은 그렇게 합니다. 구글, 애플은 이것을 거부한 것이지요.). 카카오톡이 한 일은 감청 대상자의 채팅 로그를 일정 기간동안 모아서 수사기관에 전송한 것으로 실시간의 의미를 갖는 감청에 협조한게 아니라 긴밀한 압수수색에 협조했다고 봐야겠지요.

    카카오톡은 이마저도 대표이사가 직접 나서서 거부하겠다고 선언했고 설령 철회되었을 지언정 저는 이 발언에 대해 평가하는 것입니다. 당시 공약했던 단말기간 암호화, 채팅로그 보유기간 축소같은 정책은 아직 살아있는 것으로 알고 있구요.

  • ? ?
    카카오톡이 좋은 예로 쓰일 수 있는지는 확신이 안섭니다.. 말씀하신대로 압수수색에 협조하는 것이어야 하고 감청은 불가능한데도 불구하고 감청영장을 수사기관 입장에서 적극적으로 해석해서 협조하고 있는게 현실이죠.. http://m.chosun.com/svc/article.html?sname=news&contid=2015100700330&d=2015100700330

    좋은 글 감사합니다. ^^

    마침 링크주신 글 맨 첫 문장에 페이스북의 의견도 나와있군요.
    Apple, Microsoft, Google, Samsung, Twitter, Facebook and 56 other technology companies have joined together to reject calls for weakening encryption saying it would be “exploited by the bad guys”.
  • ? ?

    찾아보니 페이스북은 정보기관이 계정을 해킹하고 있다고 판단되면 그 사용자에게 알림을 보내주는 파격적인 정책을 발표했다고 하네요. 하지만 막대한 데이터를 긁어모으던 NSA가 손가락만 빨고 있지 않을 것은 분명하니 솔직히 신뢰는 잘 가지 않습니다. 당장 거기 리스트에 있는 MS, 트위터, 페이스북을 검색해보면 아직도 정보기관에 협조하고 있거나 외국인을 추적하다가 소송을 맞거나 하는 모순된 행태를 보여주고 있기 때문이죠 ㅎ

    카카오톡은 misol님 말씀대로 결과적으로는 완벽한 예가 되지 못했습니다. 얼마 전부터 감청 영장 협조를 재개했다고 하는군요. 그 달콤한 대가가 이번 인터넷은행사업자 허가라고 읽히네요. 덕분에 최신 뉴스를 검색하다보니 우리나라의 미래도 미국만큼이나 암울하다는 것을 깨닫습니다. 단 한가지 희망이 있다면 우리나라는 스노든같은 영웅이 없어도 꾸준히 정보기관에 대한 국민들의 감시가 이루어지고 있다는 것일 테죠. 사실 우려스러워 지는 것도 부정적인 사례 하나가 크게 뻥튀기되는 경향이 커서 그렇게 느껴질 뿐이지 휴대폰 감청을 안하는 나라가 선진국이라는 나라 치고 몇이나 될지... ㅎ

  • ? profile

    미국에서도 얼마든지 국민의 신분으로 자유롭게 정치적 발언과 집회를 할 수 있습니다. 우리나라에는 거의 보도되지 않았지만, 스노든의 폭로 이후 워싱턴에서 대규모 규탄 집회가 여러 차례 있었어요. 물론 들어쳐먹지 않는 것은 어느나라 국회의원이나 마찬가지이고... 미국 민주당이 지금은 자기네 대통령이 백악관에 앉아 있으니까 비판을 꺼리고 있지만, 만약 부시 시절에 똑같은 스캔들이 터졌다면? 님이 말씀하신 우리나라 야당처럼 적극 비판하고 나섰을지도 모르는 일입니다.

    우리나라에도 오픈 웹과 표현의 자유, 프라이버시를 위해 노력하는 개발자분들이 여럿 계시다는 것을 알고 있습니다. 이분들의 노력을 비하할 의도는 없지만... 말뿐인 사과를 이끌어내기보다는 실제로 변화를 이끌어내는 실행능력이 아쉽습니다. 문제의식은 많은데 왜 그것이 슬로건에 그치고, 기술적인 솔루션으로 나타나지 않을까요? 세계 어느 나라보다도 정치적 문제의식을 많이 갖고 있는 한국인들은 왜 PGP, Tor, Signal, 텔레그램과 같은 기술을 만들어내지 못하는 걸까요? 개개인의 인터넷 사용 패턴을 감시하기에 가장 적합한 도구인 "광고 네트워크"를 문제삼는 사람은 왜 그렇게 드물고, 프라이버시를 위한 광고차단을 죄악시하는 걸까요? 감청에 반대한다는 개발자 블로거가 왜 자기 블로그에는 SSL을 사용하지 않는 걸까요? 정부나 대기업이나 다른 누군가가 정책을 바꿔서 "그래, 감청 안할게"라고 약속해 주기만을 기다리고 있는 것일까요?

    인터넷상에서 이용자의 프라이버시를 지켜주는 방법에는 두 가지가 있다고 합니다. 하나는 개인정보취급방침이나 수사기관 협조 정책, 각종 법률 등 "정책"에 의존하는 것입니다. 이것을 privacy by policy라고 합니다. 정보는 갖고 있지만 수사기관과 공유하지 않겠다는 카카오의 선언은 여기에 해당합니다. CEO가 바뀌거나 수사 강도가 달라지면 얼마든지 정책도 바뀔 수 있죠.

     

    다른 하나는 애초에 프라이버시 침해가 불가능에 가깝도록 서비스를 설계하는 것입니다. 이것을 privacy by design이라고 합니다. 애플 본사에서도 뚫을 수 없는 알고리듬으로 아이폰의 데이터를 암호화해 버린다는 애플의 선언이 여기에 해당합니다. FBI에서 정보를 요청하더라도 공유하는 것이 기술적으로 불가능한 거죠. 스노든 이후에 정신을 차리고 있는 개발자들은 더이상 privacy by policy를 믿지 않습니다. 그래서 이용자 자신 외에는 아무도 복호화할 수 없는 종단간 암호화(end-to-end encryption) 기술이 각광받고 있습니다.

    미국 개발자들의 저력은 바로 여기에서 나오는 게 아닌가 싶습니다. 정부나 기업에서 정책을 바꿔주기를 기다리기보다는, 정부도 기업도 신뢰할 수 없다는 가정 하에 "그래도 내가 내 프라이버시를 지킬 수 있는 방법"을 직접 만들어내겠다는 사고방식이예요. 그러니까 들어주지도 않는 시위를 계속 할 필요를 느끼지 못하는 겁니다. 악법을 제거하는 가장 확실한 방법은 그 법을 너무나 쉽게 우회해 버리는 신기술을 개발하여, 거기에 적응하지 못하는 정치가들을 구시대의 유물로 전락시켜 버리는 것이라고 생각하니까요. "감청할 테면 해봐, 암호화해 버릴 테니!"

  • profile ?

    제 경험 상 미국에서 그런 시위에 참여하는 부류는 상당히 정해져있다고 생각되네요. 일본만큼은 아니지만... 반면 우리나라는 이런 잇슈에 대해 일반인이나 학생들까지도 자신들이 평소에 쓰던 메신저가 감청을 당하고 있었다는 것에 대해서 심각한 문제의식을 갖고 행동하는 편에 속하지요.
    그리고 미국 사회의 보수성, 안보관을 상기해본다면 민주당이 자기네들이 여당이라는 이유에서 침묵했던 것은 아닌 것 같습니다. 위에 적었다시피 민주당이나 공화당이나 인권탄압 부분에서 사실상 대동소이하고, 만약 민주당이 야당이었다고 하더라도 아마 공화당에서 랜드 폴이 했던 발언이 미치는 파급력 정도가 되지 않았을까 싶은데요.

    privacy by design에 대해서는 아무래도 계속 뚫고 뚤리는 창과 방패의 이야기가 연상되어서 그렇게 긍정적으로 보지 않습니다. 결국 설계하는 것도 사람이며 그것을 무력화하는 것도 사람입니다. 지금 인터넷 기업들이 설령 자신들이 광고하듯 철통보안을 실현하고 있다고 하더라도 언젠가 정보기관에서 또다른 방법을 찾아내는 날이 올 것임은 분명하지 않습니까? tls버전이 계속 올라가고 암호화 기법이 바뀌는 이유가 거기에 있으니까요. 그 때면 아마 제 2의 스노든이 나타나지 않는 이상 정보기관은 또다시 국민들의 정보를 긁어모아 법에 크게 저촉되지 않는 범위내에서 사유할 것이 뻔합니다.

    확실히 기진곰님 말씀처럼 우리나라에서 그러한 기술들을 개발했다는 이야기는 듣지 못했습니다.

    그러나 저는 국민들의 인식 수준에 더 무게를 둡니다. policy가 가변적이라고 이야기하셨지만 아이러니하게도 policy는 design보다 상위에 있습니다. 더 강화된 안보법안이 통과되거나 스타트업 시절부터 정부와 커넥션이 있는 기업의 고위직들에 의해 아예 메신저 앱 자체에 정보기관의 백도어가 삽입되어 종단간 암호화가 무력화된다면? 알고리듬을 정보기관에 사전에 제공하여 그들의 감청을 방조한다면?

    결국 근본적인 해결책은 국민들이 '감청할테면 해봐, 너희들을 불신임하겠어!!'라는 마인드를 갖는 것이라고 생각합니다. 그리고 영웅 하나가 더러운 비밀을 까발려주기를 기대하지 않고 많은 국민들이 직접 그들을 감시하고 견제하는 태도가 필요합니다.

    그리고 그런 면에서 우리나라는 확실히 미국보다 잘 돌아가고 있습니다.

     

    뱀발) 자꾸 기진곰님의 본래 의도와는 다르게 인문쪽에 치우친 이야기를 하는 것 같아 조금 민망하기도 합니다^^;;

  • ? profile

    네, 다들 문제의식은 투철합니다. 그러나 그것이 얼마나 효과적인 행동으로 이어지는지는 의문입니다. 예전에 카톡에서 텔레그램으로 단체망명을 떠난 사람들도 전체 사용자 수에 비하면 새발의 피에 불과하죠. 반면 미국의 SOPA 반대 운동이나 그 후에 개발자들 위주로 일어난 정치적 단체행동들을 살펴보면, 클릭 한 번으로 자신의 지역구 의원 사무실에 전화를 걸 수 있는 사이트까지 만들었습니다. (우리나라였다면 업무방해로 고소당했을 듯...) 현실 정치에서 인원수가 많은 쪽보다는 목소리가 큰 쪽이 이길 확률이 높다는 점을 고려하여, 소수의 집단이라도 자신들의 기술력을 이용해서 가장 효과적으로 압력을 행사할 방법을 찾아낸 거죠. 님의 주장대로 한국의 정치가 미국보다 그나마 잘 돌아가는 편이라고 하더라도, 미국 개발자들은 암울한 현실에 훨씬 더 적극적으로 대응하고 있습니다. 정권교체에 대한 막연한 기대나, 정작 들어야 할 사람은 아무도 들어주지 않는 시위에만 매달리고 있지는 않다는 거지요.

    암호화 기술이 창과 방패의 군비경쟁으로 끝없이 이어지는 것은 사실입니다. 한쪽이 기술을 개발하면 다른 쪽은 그 기술의 취약점을 찾으려고 혈안이 되죠. 그러나 무명의 학생 한 명이 일주일만에 만들어낸 알고리듬을 뚫기 위해 정보기관에서는 수개월에 걸쳐 수십~수백명의 인력을 동원해야 합니다. 새로운 암호화 기술을 만들어내는 쪽에 상당히 유리하다는 겁니다.

     

    TLS 버전이 계속 올라가는 것은 TLS를 믿을 수 없다는 뜻이 아니라 지금도 TLS의 보안을 한 단계 더 높이기 위해 수많은 개발자들이 노력하고 있다는 뜻입니다. 예를 들어 정부에서 가짜 인증서를 만들어 중간자 공격을 할 수 있다는 점이 지적되자, 아무리 널리 신뢰받는 발급업체에서 발급한 인증서라도 사이트 주인의 공개키와 일치하지 않으면 신뢰하지 않도록 하는 HPKP 표준이 개발되었죠. 조금 전에도 FBI의 지원을 받은 것으로 의심되는 카네기멜론대학 연구진이 발견한 tor 취약점을 어떻게 패치할 것인지에 대한 글을 읽었습니다. 일반 사용자들은 자동 업데이트만 켜두면 됩니다.

    policy가 design보다 항상 상위에 있는지는 의문입니다. design은 일개 기업이나 정부의 policy의 관할을 넘어서기 때문입니다. 메신저 앱에 백도어가 들어갔는지 확인하는 방법은 간단합니다. 메신저 앱을 오픈소스로 만들고, 세계 각국의 개발자들이 참여하여 서로의 코드를 체크하면 됩니다. 현대의 암호화 기술은 알고리듬이 만천하에 공개되어 있어도 각각의 기기에 저장되어 있는 개인키를 얻지 못하면 아무것도 복호화할 수 없습니다. (여기서 얻을 수 있는 또 하나의 결론은, 오픈소스가 아닌 앱은 절대 믿을 수 없다는 것입니다. 그래서 저는 불완전한 오픈소스인 텔레그램보다 완전한 오픈소스인 Signal을 더 신뢰합니다.)

    제가 생각하는 근본적인 해결책은 님이 지적하신 한국인의 문제의식과 제가 강조한 미국인의 자립정신을 함께 갖는 것입니다. "감청할 테면 해봐, 너희들을 불신임하겠어! 그뿐 아니라 너희가 아무리 발버둥쳐도 감청하기 아주 어렵도록 암호화해 버리겠어!" 이렇게 양 손에 쌍칼을 들고 싸운다면 정말 무섭겠죠? ㅎㅎ