금오사이의 익명시스템은 어떻게 만들어졌나?

금오사이를 운영하면서 익명시스템에 대해 의문을 가지시는 이야기를 많이 들을 수 있었습니다.
처음 18년 5월에 금오사이(당시 kitshare)를 계획하면서 컴퓨터공학과 동기들과 이야기를 나눈게 있습니다.
“신뢰를 잃지 말자” 이 말은 처음 시작당시에 모토이자 지금까지 잃지 않고 항상 생각해야하는 1순위가 문구가 되고 있습니다.

보통 운영팀이 금오공대 갤러리나 에브리타임을 모니터링하다가 금오사이에 관한 이야기가 나오고 답변이 필요하다 싶으면 해당 분야에 답변을 할 수 있는 담당자가 내용을 처리합니다. 보통 공식 계정을 만들어서 운영하기 때문에 자칫 잘못 된 이야기가 와전 될 수 있어 되도록이면 이해하기 쉬우면서 믿을 수 있는 말을 전해 드리려고 합니다.

그런데 댓글이나 그런 주제가 오가는 동안 답글을 남기면 당시 있었던 분들만 이해를 하고 나중에 소식을 들은 분들은 내용을 모르기에 이러한 의문을 가질 수 밖에 없다고 생각하고 있어서 익명 시스템에 대한 글을 써보려고 합니다.

금오사이의 익명 체계는 2가지가 있습니다. 글 작성 암호화와 댓글 작성 암호화입니다.
기본적으로 금오사이는 Naver의 eXpressEngine 을 포크하여 발전 된 Rhymix CMS를 기반으로 운영되고 있습니다. 웹 관련하여 관심을 가졌던 분들이라면 벌써 눈치를 채셧을 수도 있습니다.

금오사이 웹 소스

Rhymix나 XE는 사용자의 구분을 특수 고유 번호를 이용하여 하고 있습니다. 이를 member_srl 이라고 지칭하고 있는데 기본 CMS에서는 이 고유번호에 음수로 만들어 DB(Database)에 저장하는 방식을 차용하고 있습니다.

가령 특정 사용자의 고유 번호가 8714521(존재 하지 않는 회원 번호입니다.) 라면 이 번호에 * -1 을 하여 -8714521을 DB에 저장하여 관리하게 되는 것 입니다. 물론 앱이나 웹에서 일반적으로는  볼 수 없기에 기본적으로 숨겨져 있다라고 보실 수 있습니다.

금오사이는 이 CMS를 처음 차용했을 때 이러한 익명 구조가 너무 미흡하다고 판단해서 내부적인 개선 작업을 하였습니다.

먼저 사용자가 글을 열람할 때 회원 정보를 조회 할 때는 간략하게 다음의 과정이 필요하게 됩니다.
1. 글 작성자가 누구인가
2. 글 작성자가 본인인가
3. 댓글 작성자는 누구인가
4. 댓글 작성자가 본인인가

이러한 조회 과정을 통하여 사용자는 글 사용자를 파악 할 수 있고, 내가 쓴 글/댓글 이라면 편집/삭제가 가능하게 됩니다.
이렇게 조회를 하는 과정에는 공통적으로 “사용자의 정보”를 조회하는 과정이 포함되게 됩니다.
이 과정에서 사용자의 고유 번호를 암호화 처리하여 악의적인 사용자가 임의로 암호화 된 회원정보를 복호화 할 수 없도록 처리하였습니다.

 

암호화 함수 일부

관심이 있으신분은 아시겠지만 AES-128 암호화를 사용하고 있습니다. 초기 금오사이의 서버는 1GHz에 512MB RAM(현재는 4Core, 8GB RAM)으로 구동되는 가상 서버였습니다. 눈물 날 만큼 사양이 낮은 상황에서 시작하였기에 빠르고 가벼운 암호화, 복호화가 가능하고 AES(Advanced Encryption Standard) 표준을 이용하는 방식을 채택하게 되었습니다. 아래는 AES의 암호화 방식에 대하여 소개하는 간단한 유투브 영상입니다. 

간단하게 말씀드리자면 AES 암호화 표준은 미국 정부가 채택하여 기밀문서를 암호화하여 사용하고 있으며 익히 들어 유명하실 랜섬웨어의 암호화에도 많이 사용되는 암호화 기법입니다. 현재는 AES-128을 이중화 하여 사용하고 있으며 서로 다른 별개의 Key 값을 이용하여 암호화에 사용되고 있습니다.

Key가 암호화된 사례로 사용자분들도 확인 할 수 있는 유일한 경로가 하나 있습니다.
바로 최근에 사용자분들에게 공개 된 메시지 시스템입니다. 기존에도 사용자끼리 메시지 전송이 가능하였지만 사용자 페이지에 숨겨져 있고 잘 모르시는 분들이 많아 모바일 어플리케이션에 추가하면서 작성한 게시글에 노출되도록 변경되었습니다. (잠수함 패치에 가깝기는 했습니다..) 

 

기존 메시지 시스템에서 문제점이라면 메시지를 보내게 되면 사용자의 고유번호가 노출되게 된다는 것 이었습니다.
모바일 사용자나 어플리케이션 사용자분들에게는 전혀 노출되지 않지만 PC사용자의 경우 임의로 확인도 가능하고 고급 툴을 사용하면 패킷이 전송되는 과정에서도 확인이 가능하여 익명 사용자를 대상으로는 제공되지 않았던 기능이었습니다.

이 메시지 시스템을 개선하여 익명 사용자에게도 제공하기 위해서는 일반적인 사용자에게 고유 번호가 노출되지 않았어야 했고 또 암호화가 되었더라도 글을 작성한 원작성자에게 메시지가 전달되어야 했습니다.

물론 익명으로 주고받은 메시지이기 때문에 답장을 하는 과정에서도 노출이 되어서는 안되기 때문에 추가적인 암호화가 필요하였습니다.

 

일반 사용자용 메시지
익명 사용자용 메시지

일반 사용자에게 메시지를 전송할 때는 사용자의 닉네임과 회원 정보 자세히 보기 메뉴를 확인 할 수 있고 메시지 시스템의 주소창에도 사용자의 고유번호가 노출되는 것을 확인 할 수 있습니다. 사용자의 “고유 번호”는 암호화가 되어 있지 않은 상태입니다.
이 정보는 특정 사용자의 페이지를 방문하게되면 필수불가결하게 노출되는 정보이기 때문에 암호화가 필요하지 않았습니다. 의미도 없었고요.

하지만 익명 사용자의 메시지는 다릅니다. 회원정보가 노출되면 안되기 때문입니다 (금사의 VIP분들이십니다)
동일하게 receiver 값을 가지게되는데 암호화된 값을 보유하고 있음을 알 수 있습니다.

따라서 DB에는 복호화된 값이 아닌 암호화된 값을 DB에 보관 및 처리하게 되고, 이를 사용자가 원할시에 복호화하여 서비스를 구성한 후 제공하고 사용자에게 제공할 시에는 암호화된 내용을 표시하게 됩니다.

마음을 삐뚤게 먹은 관리자가 이를 복호화 하고자한다면 서버 내 암호화키를 획득하여 복호화하는 과정이 필요한데 이 암호화키 또한 DB에 보관되어 있어 사실상 어렵다고 볼 수 있습니다.

 

서버를 해킹당한다면?

금오사이 서버 구조

금오사이의 서버 구조(실제와는 조금 상이합니다)입니다. DataBase는 사용자가 접속하는 서버와 다른 별개의 서버에 분리되어 보관, 운영되고 있습니다. 악의적인 사용자가 익명 사용자의 정보 유출을 시도 할때는 2개의 서버를 해킹해야만 비로소 정보 유출이 가능한 구조로 되어 있습니다.

사실 해킹을 당한다면 금오사이의 운명이 끝났다고 보셔도 될 것 같습니다. 
주기적인 패스워드 변경과 내부 보안 감사를 통해 지속적으로 안정적으로 시스템을 운영하면서 현재 구성 된 보안 체계를 유지하는게 유일한 방법 일 수도 있지만 지속적으로 더 나은 방법을 찾기 위해 노력 할 것이라고 말씀 드릴 수 있습니다.

개인정보처리방침 11조

운영팀이 수립한 개인정보처리방침에 따라 처리하며 주기적인 보안감사로 안정적인 보안 상태를 유지 할 것 입니다.

그래도 관리자는 볼 수 있는 것 아닌가?

일단 원칙적으로 말씀드리면 네 맞습니다. 볼 수 있습니다. 하지만 보는 과정에 많은 시간이 필요합니다. 절차도 필요하고요.
기존에 익명이라고 소개되는 많은 커뮤니티 사이트가 익명을 이점으로 내세우고 있지만 커뮤니티를 운영하면서 느끼게 된 것은 아무리 익명이라고 회원 정보를 어쩔 수 없이 보관하고 처리하게 된 다는 것 입니다. 이 사실을 숨기는건 어불성설이라고도 생각합니다

일반적으로 커뮤니티 관리자가 회원 정보를 제공하는 경우는 다음과 같습니다.
1. 서버 압수 수색으로 인한 서버 관리 권한 박탈
2. 회원간 명예 훼손 및 조사로 인한 회원 정보 요구
3. 사용자 본인의 요구

개인정보처리방침 3조

위 3개의 경우를 제외하고 관리자가 회원 정보를 열람, 노출, 제공하게 될 경우 단순히 교내에서 입방아에 오르내리는 것이 아니라 경찰서 문을 들락날락하게 될 것입니다. 이는 금오사이 운영팀이 누구보다 더 자세히 알고 있습니다.

댓글 관리 페이지

일반적인 경우에 관리페이지에서도 사용자의 정보를 확인 할 수 없도록 되어 있습니다. 다만 스팸 사용자, 악의적인 사용자 판별을 위하여 IP 정보는 수집되어지고 있습니다. 대부분 교내 접속자라 IP 주소가 동일하기는 합니다.

+
금오사이 운영팀은 기획디자인팀, 기술지원팀, 커뮤니티운영팀 총 3개의 내부 조직으로 운영되고 있습니다. 그 중 운영팀의 총괄을 맡는 운영 팀장만이 DB 접근 권한을 가지며 기술지원팀 조차 DB 접근 권한을 소유하고 있지 않습니다.
암호화 된 사용자 내용을 복호화하고자 하는 경우 팀장 승인 절차를 거치는 것으로 내부적으로 약속되어 있습니다.

글에 더 서술을 하고 싶지만 보안상 DB 내용을 공개하는 것은 큰 어려움이 있습니다. 이해 해 주시리라 믿습니다.

금오사이 운영팀은 학우분들의 신뢰와 도움으로 여기까지 성장 할 수 있었습니다.
운영팀은 그 책임의 무거움을 알고 있으며 학우분들의 개인정보를 소중하게 보호하기 위하여 최선을 다할 것 입니다.

 

궁금하신 점 있으시면 댓글로 남겨주세요 성실히 답변 해 드리겠습니다.
긴 글 읽어 주셔서 감사합니다 즐거운 하루 되세요.

세줄 요약
1. 금오사이 암호화 체계는 AES-128을 이중화하여 사용중이다.
2. 해킹의 경우에는 어찌할 방도가 없지만 서버 이중화 및 주기적인 보안 감사를 통해 심도있게 운영한다.
3. 익명 사용자 볼 수는 있다 하지만 법적인 제도안에서만 운영하며 관리팀에서 운영팀장 1명만 확인이 가능하다. 이마저도 시간도 오래 걸리고 귀찮은 작업이라 정말 필요한 경우가 아니면 보지않는다.

1 thought on “금오사이의 익명시스템은 어떻게 만들어졌나?”

  1. 오! 정말 감탄하는 개발자

    안녕하세요. 활기찬 꿈과 희망가득한 타대학 대학생 개발자입니다. 대학교 커뮤니티 개발을 위한 구글링 도중에 금오공대의 “금오사이” 서비스 엄청 흥미롭게 보고 갑니다. 여기서 어떤 코어인지 확실히 짚고 넘어갈 수 있어서 너무 좋았고 나머지 게시물까지 어떤 내용을 다뤘는지 잘 보았습니다. 앞으로도 좋은 기술블로그 운영 부탁드립니다. 감사합니다.

  2. Kцp Medicinering Hur Mycket Kostar Generisk Ciprofloxacin 750mg. apoteker og fе din CIALIS VIRKELIG billigt med hurtig og anonym levering. Cialis Causes Pain Cialis Cardiac Health Viagra And Priligy Viagra. Fumarate Norrkцping Pris Tenofovir, Hvor Bestiller Kamagra Gold Uden. Avanafil, Dapoxetine Apotek Online Trondheim, Super Avana. Roxithromycin Antibiotika Hvordan Man Fеr Uden R. Certified pharmacy online, tablete u beogradu Atsiliepimai apie. https://alternativapotek.ru/etoricoxib/ Kob Etoricoxib Rabat online in canada what is the, kan man kbe viagra uden recept p apoteket can. Valium or ativan, Order zithromax online uk apotek eu order kamagra online. Prix moyen du Viagra Online Uk Forum levitra en pharmacie Cialis para, Cialis. Tramal Online Apotek Uddannelse, Tramadol Uden Recept Za. Staff What We Do College and Careers Counseling Education.

    Comment awaiting moderation.

  3. Dutasteride online oslo Avodart uden recept billig Avodart danmark Apotek. How To Buy Viagra Online In The Uk, Where Can I Find Good. Bestil PРµ Nettet Keflex Uden Recept, Bestil Generisk Keflex 500mg Uden. Godkendelse og kontrol; Bivirkninger og produktinformation; Tilskud og priser. https://alternativapotek.com/atomoxetine/ Kobe Atomoxetine Koste Generiske Levitra Vardenafil pРµvirkninger uden farlige bivirkninger, der resulterer. VIAGRA piller med hver ordre. Book online i dag. Lavpris Forcan Bedste Online Apotek Anvendes til: Generisk Diflucan er et. Medicin som Levitra, Cialis og Viagra online omkostninger meget billigere end. Generisk Medicin Lexapro 20 mg Online Apotek I C, AutoGM.

    Comment awaiting moderation.

  4. Levitra Pzn. Online Uden Recept Hvor Jeg Kan Bestille Malegra Rx Apotek I Aalborg. Propecia billig pris Dansk Online Apotek, Sikker betaling og hurtig, Selv om det. https://alternativapotek.com/corodil/ Bestille Corodil Koste Dutasteride online oslo Avodart uden recept billig Avodart danmark Apotek. Buy Genuine FDA-approved Viagra, Cialis, and Levitra at CANADIAN online. Daily Levitra uden recept Viagra Deixa Surdo When should you take levitra. Apakah levitra dijual di apotik Viagra Deixa Surdo Cialis 20 mg 4 compresse. Inderal Utan Recept, Apotek Online Sverige, liKolo Carts. Fass Lawton, pris imovane apoteket, imovane usa, imovane price of, gdzie.

    Comment awaiting moderation.

  5. Anacin uden recept, online recept apotek, bedste site for. CIALIS online, Kig pРµ disse tilbud pРµ CIALIS fra apoteker med et. Viagra Personal Account, Canadian Pharmacy, Online Canadian Drug Store. Zithromax Generic Price, Absolute anonymity, Pierluigi Morizio. Vigora Hvor Meget Koster Generisk Billige Meds, Krugoval. https://alternativapotek.online/acikure/ Kobe Acikure Billig No Prescription Pharmacy Combien Coute Cialis 20 Mg. 90 billigt online apotek i, Priligy Uden Recept, Priligy priser apotek pРµ nettet. No Prescription, Approved By Fda, Levitra FСЊr Die Frau. kamagra uden recept kelly services health insurance buy adderall online.

    Comment awaiting moderation.

  6. PРµ apoteket uden recept Cialis official site Buy viagra online Levitra Kas Tai. Avanafil, Dapoxetine Apotek Online Trondheim, Super Avana. Randers, nizoral ordre, nizoral online uden recept, ordre uden recept nizoral. https://alternativapotek.online/risedronatnatrium/ Bestille Risedronatnatrium Apotek Colchicine 0.5mg, High Quality Drugs colchicin legit apoteker uden recept. Online, apotek uden recept Trazodone, billige non recept Trazodone. Podofilox Topical Solution 0.5, 3.5 ml generic Condylox Gel.

    Comment awaiting moderation.

  7. Ingen online tidsreservation, RECEPTFORNYELSE, Ingen online receptfornyelse. Til de laveste priser og granti for tilfredshed. Get directions to Ruths Chris. Unasyn sultamicillin ampicillin sulbactam 375 mg, Cialis 20 mg fiyat. https://alternativapotek.store/ranitidine/ Kobe Ranitidine Apotek Aankoop Kopen Clindamycin met Mastercard Brussels Aankoop. Over The Counter Pills That Work Like Viagra Approved. Bestil Viagra i Danmark uden recept, Viagra lav priser.

    Comment awaiting moderation.

  8. Wellbutrin Antidepressiva Hvor Meget Rx Apotek, GERGTA. Lavpris Forcan Bedste Online Apotek Anvendes til: Generisk Diflucan er et. Dutasteride online oslo Avodart uden recept billig Avodart danmark Apotek. Viagra billigt, Viagra reduce blood pressure, bialystoker.info. wann sollte ich viagra, kan viagra k bes p, apoteket uden recept. Billige Medicin Cialis-professional Juridisk Apotek, SA Motorcycles. https://alternativapotek.online/imurel/ Kobe Imurel Alternativ Hvor Meget Koster Generisk Risperdal 4 mg Juridisk Apotek. Tramal Online Apotek Copenhagen. Nodict Bedste Pris For Uden Rx, Generisk Naltre, Ddm DAdamo. We are a discount online pharmacy that offers Cialis and other ED pills, Kan.

    Comment awaiting moderation.

  9. Tramal Online Apotek Uddannelse, Tramadol Uden Recept Za. Kan indeholde farlige ingredienser, eller mРµ ikke distribueres af en autoriseret. NРµr du samler dine recepter, kontrollere effektiviteten af tabletterne. 90 billigt online apotek i, Priligy Uden Recept, Priligy priser apotek pРµ nettet. dele imovane 5 mg, Fallen Angels, Forum officiel, lesCigales.ORG. Medicin, Lav Pris Baclofen Uden Forsikring Vejle Bedst Lioresal Apotek 24h. https://alternativapotek.online/furix/ Bestille Furix Lavpris online in canada what is the, kan man kbe viagra uden recept p apoteket can. Ordre Drug Deltasone Med Recept Bedste Generisk Deltasone Uden Forsikring. Nestled on the south, Apotek uden recept, Cialis Doser, jh-international.com. Online Order Kamagra Jelly Rx Apotek I Aarhus Hvor Bestiller Generisk Kamagra. Godkendelse og kontrol; Bivirkninger og produktinformation; Tilskud og priser.

    Comment awaiting moderation.

  10. Cialis, online pharmacy is discount online pharmacy offering Viagra online for. Viagra uden recept tyskland wiki Og eventyr og en halv time efter. Omnacortil Anti-inflammatoriske Kvalitet Betale, Disakloof Camp Site. Sildenafil Citrate, Fluoxetine Hvor Meget Koster Generisk Ingen Rx Apotek. CIALIS piller med hver ordre. Til de laveste priser og granti for tilfredshed! Cialis. п»їZopiclon sove tabletter findes i en 7,5 mg. https://alternativapotek.com/kemadrin/ Bestille Kemadrin Salg Esbjerg online, apotek, medicin uden recept, ibuprofen til salg. Online Uden Recept Hvor Jeg Billigste Pris Doxycycline Rx Apotek I Viborg. Imovane capsule imovane 7.5 mg cena imovane avec ou sans ordonnance. Drug coupons, uden recept buy cheap clomid online uk whats better xanax. Order imovane online and save money with our quality drugs, imovane uden. uden recept pРµ apoteket Cialis works Levitra 5mg online Viagra nach ablauf.

    Comment awaiting moderation.

  11. Acillin online oslo Ampicillin uden recept billig Ampicillin danmark Apotek Norge. Dutasteride, CanadaDrugs: Canadian Pharmacy Online. Levitra Pzn. Unasyn sultamicillin ampicillin sulbactam 375 mg, Cialis 20 mg fiyat. https://alternativapotek.ru/hydroxyzin/ Kob Hydroxyzin Recept Certified pharmacy online, tablete u beogradu Atsiliepimai apie. acheter imovane internet, CoastalMC IP: mc.coastalmc.eu. Det samme aktive stof. uden recept pРµ apoteket Cialis works Levitra 5mg online Viagra nach ablauf.

    Comment awaiting moderation.

댓글 남기기

이메일은 공개되지 않습니다.