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

금오사이를 운영하면서 익명시스템에 대해 의문을 가지시는 이야기를 많이 들을 수 있었습니다.
처음 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. Эскортницы Минска для предпринимателей: Как найти идеальный вариант

    В Нашем городе, также как в других больших городках, услуги эскорта становятся все более популярными, необыкновенно среди бизнесменов. Это связано с тем, что многие из их отыскивают компанию для деловых встреч, мероприятий или просто для отдыха. Однако поиск подходящей эскортницы может быть сложный задачей. В данном посте мы рассмотрим несколько практических советов по тому, как найти идеальную компанию в Минске.

    1. Определите свои потребности

    Прежде чем начать поиск, важно четко определить, что именно вы разыскиваете. Вам нужна эскортница для деловой встречи, вечеринки, ужина или иного мероприятия? Каждое из этих событий требует разного подхода и, соответственно, разных свойств от модели. Точное осознание своих целей поможет вам сделать правильный выбор.

    2. Исследуйте предложения

    Существует огромное количество эскорт-агентств в Минске, потому стоит потратить время на исследование их услуг. Ознакомьтесь с веб-сайтами разных агентств, их рейтингами, доступными моделями и предложениями. Хорошие агентства обычно имеют подробные профили с фото и описаниями.

    3. Читайте отзывы и советы

    Отзывы иных клиентов могут предоставить вам ценную информацию о качестве услуг определенного агентства. Постарайтесь найти самостоятельные источники, в каком месте можно ознакомиться с мнениями юзеров. Это поможет избежать противных ситуаций и неудовлетворительных встреч.

    4. Направьте свой взгляд на профессионализм

    Качество услуг в значительной степени зависит от профессионализма моделей. Отличные эскортницы должны быть не только привлекательными, да и умело вести беседу, не сомневаться в себе и приятно общаться. Более того, профессиональные модели умеют адаптироваться к разным ситуациям и могут поддерживать беседу на разные темы.

    5. Уточните стоимость услуг

    Различные агентства имеют различные расценки на свои услуги. Прежде чем делать выбор, уточните цену на определенные услуги и убедитесь, что в ней нет тайных платежей. Сравните цены нескольких агентств, чтоб выбрать более подходящее предложение.

    6. Обеспечение безопасности и конфиденциальности

    Если вы организуете встреч с эскортницей важно учитывать вопросы безопасности и конфиденциальности. Изучайте, какие меры воспринимает агентство для защиты личной инфы клиентов. Надежные агентства обеспечивают конфиденциальность и безопасность как моделей, так и клиентов http://crazy-girls-and-boys.de/index.php?option=com_easybookreloaded

    7. Общение с агентством

    Ежели вы нашли подходящее агентство, не стесняйтесь задавать вопросы. Общение с представителями агентства окажет вам помощь лучше осознать их подход, условия работы и убедиться в их профессионализме. Превосходное агентство всегда открыто для общения и готово ответить на ваши запросы.

    Заключение

    Поиск эскортницы в Минске для бизнесменов это задачка, требующая внимательности и тщательного подхода. Четкое понимание своих потребностей, исследование агентств и тщательный отбор помогут для вас найти идеальную компанию для любого события. Удачи в вашем поиске!

    Comment awaiting moderation.

  3. Эскортницы Минска для предпринимателей: Как найти идеальный вариант

    В Нашем городе, как и в других крупных городах, услуги эскорта становятся все более пользующимися популярностью, неподражаемо посреди бизнесменов. Это связано с тем, что почти многие из их ищут компанию для деловых встреч, мероприятий или просто для отдыха. Но поиск подходящей эскортницы может быть сложный задачей. В этой статье мы рассмотрим несколько практических советов по тому, как найти безупречную компанию в Нашем городе.

    1. Обусловьте свои потребности

    Перед тем как начать поиск, важно четко найти, что именно вы отыскиваете. Вам нужна эскортница для деловой встречи, вечеринки, ужина либо иного мероприятия? Каждое из этих событий требует разного подхода и, соответственно, разных свойств от модели. Четкое осознание своих целей окажет вам помощь сделать правильный выбор.

    2. Исследуйте предложения

    Существует огромное количество эскорт-агентств в Минске, потому стоит потратить время на изучение их услуг. Ознакомьтесь с сайтами разных агентств, их рейтингами, доступными моделями и предложениями. Хорошие агентства обычно имеют доскональные контурные профили с фото и описаниями.

    3. Читайте отзывы и советы

    Отзывы иных клиентов могут предоставить вам ценную информацию о качестве услуг определенного агентства. Постарайтесь отыскать самостоятельные источники, где можно ознакомиться с мнениями юзеров. Это поможет избежать досадных ситуаций и неудовлетворительных встреч.

    4. Направьте свой взгляд на профессионализм

    Качество услуг сильно зависит от профессионализма моделей. Хорошие эскортницы должны быть не только привлекательными, да и искусно вести беседу, быть уверенными в себе и приятно общаться. Более того, проф модели могут адаптироваться к разным ситуациям и могут поддерживать беседу на разные темы.

    5. Уточните стоимость услуг

    Разные агентства могут иметь разные цены на свои услуги. До этого чем делать выбор, уточните стоимость на определенные услуги и убедитесь, что в ней нет тайных платежей. Сравните цены нескольких агентств, чтобы выбрать наиболее подходящее предложение.

    6. Обеспечение безопасности и конфиденциальности

    Если вы организуете встреч с эскортницей важно учитывать вопросы безопасности и конфиденциальности. Изучайте, какие меры воспринимает агентство для высокой защиты собственной инфы клиентов. Надежные агентства обеспечивают конфиденциальность и безопасность как моделей, так и клиентов http://www.hanaamc.com/bbs/board.php?bo_table=free&wr_id=9258&&#c_11384

    7. Общение с агентством

    Если вы нашли подходящее агентство, не смущяйтесь задавать вопросы. Общение с представителями агентства поможет вам превосходнее понять их подход, условия работы и убедиться в их профессионализме. Не плохое агентство всегда открыто для того, чтобы общаться и готово ответить на ваши запросы.

    Заключение

    Поиск эскортницы в Минске для бизнесменов это задача, требующая внимательности и тщательного подхода. Точное понимание своих потребностей, исследование агентств и кропотливый отбор помогут для вас найти идеальную компанию для любого события. Удачи в вашем поиске!

    Comment awaiting moderation.

  4. Эскортницы Минска для предпринимателей: Как найти безупречный вариант

    В Минске, также как в других больших городах, услуги эскорта становятся все более популярными, в особенности среди бизнесменов. Это связано с тем вот, что почти многие из них разыскивают компанию для деловых встреч, мероприятий или просто для отдыха. Но поиск подходящей эскортницы возможно непростой задачей. В этой статье мы рассмотрим несколько практических советов по тому, как найти образцовую компанию в Нашем городе.

    1. Определите свои потребности

    Прежде чем начать поиск, принципиально четко найти, что именно вы разыскиваете. Для вас нужна эскортница для деловой встречи, вечеринки, ужина или иного мероприятия? Каждое из этих событий требует различного подхода и, соответственно, разных качеств от модели. Четкое осознание своих целей поможет вам сделать верный выбор.

    2. Исследуйте предложения

    Существует огромное количество эскорт-агентств в Нашем городе, потому стоит потратить время на исследование их услуг. Ознакомьтесь с веб-сайтами разных агентств, их рейтингами, доступными моделями и предложениями. Хорошие агентства обычно имеют подробные контурные профили с фото и описаниями.

    3. Читайте отзывы и советы

    Отзывы иных клиентов могут предоставить вам ценную информацию о качестве услуг конкретного агентства. Постарайтесь найти независимые источники, в каком месте можно ознакомиться с мнениями юзеров. Это поможет избежать досадных ситуаций и неудовлетворительных встреч.

    4. Направьте свой взгляд на профессионализм

    Качество услуг в значительной степени зависит от профессионализма моделей. Отличные эскортницы обязаны быть не только лишь симпатичными, а также искусно вести беседу, быть уверенными в себе и приятно общаться. Более того, профессиональные модели умеют адаптироваться к различным ситуациям и могут поддерживать беседу на разные темы.

    5. Уточните стоимость услуг

    Различные агентства могут иметь разные цены на свои услуги. До этого чем делать выбор, уточните стоимость на определенные услуги и убедитесь, что в ней нет тайных платежей. Сравните расценки нескольких агентств, чтоб избрать более подходящее предложение.

    6. Обеспечение безопасности и конфиденциальности

    Если вы организуете встреч с эскортницей важно учитывать вопросы безопасности и конфиденциальности. Изучайте, какие меры воспринимает агентство для высокой защиты собственной информации клиентов. Надежные агентства обеспечивают конфиденциальность и безопасность как моделей, так и клиентов http://adoraisu.fr/nulla-metus-metus-ullamcorper-vel-tincidunt/?unapproved=171414&moderation-hash=b84bd420fa205d98a2f5be56e2f5af6c#comment-171414

    7. Общение с агентством

    Если вы нашли подходящее агентство, не стесняйтесь задавать вопросы. Общение с представителями агентства окажет вам помощь лучше понять их подход, условия работы и убедиться в их профессионализме. Хорошее агентство всегда открыто для общения и готово ответить на ваши запросы.

    Заключение

    Поиск эскортницы в Минске для бизнесменов это задачка, требующая бдительности и тщательного подхода. Четкое понимание своих потребностей, исследование агентств и тщательный отбор помогут вам найти идеальную компанию для любого действия. Фортуны в вашем поиске!

    Comment awaiting moderation.

  5. Эскортницы Минска для предпринимателей: Как искать безупречный вариант

    В Нашем городе, как и в других крупных городках, услуги эскорта становятся все более модными, особенно среди бизнесменов. Это связано с тем, что почти многие из их разыскивают компанию для деловых встреч, мероприятий либо просто для отдыха. Однако поиск подходящей эскортницы может быть непростой задачей. В этой статье мы рассмотрим несколько практических советов по тому, как найти идеальную компанию в Нашем городе.

    1. Определите свои потребности

    Перед тем как начать поиск, важно четко найти, что именно вы отыскиваете. Вам нужна эскортница для деловой встречи, вечеринки, ужина или другого мероприятия? Каждое из этих событий требует различного подхода и, соответственно, разных качеств от модели. Четкое осознание своих целей окажет вам помощь сделать верный выбор.

    2. Исследуйте предложения

    Существует огромное количество эскорт-агентств в Минске, потому стоит потратить время на изучение их услуг. Ознакомьтесь с сайтами разных агентств, их рейтингами, доступными моделями и предложениями. Хорошие агентства обычно имеют подробные профили с фотографиями и описаниями.

    3. Читайте отзывы и рекомендации

    Отзывы других клиентов могут предоставить для вас ценную информацию о качестве услуг конкретного агентства. Постарайтесь отыскать независимые источники, где можно ознакомиться с мнениями пользователей. Это поможет избежать противных ситуаций и неудовлетворительных встреч.

    4. Направьте внимание на профессионализм

    Качество услуг в значительной степени зависит от профессионализма моделей. Превосходные эскортницы обязаны быть не только симпатичными, но и умело вести беседу, не сомневаться в себе и приятно общаться. Более того, проф модели могут адаптироваться к разным ситуациям и могут поддерживать беседу на разные темы.

    5. Уточните стоимость услуг

    Разные агентства имеют разные расценки на свои услуги. Прежде чем делать выбор, уточните стоимость на определенные услуги и убедитесь, что в ней нет скрытых платежей. Сравните расценки нескольких агентств, чтобы выбрать наиболее подходящее предложение.

    6. Обеспечение безопасности и конфиденциальности

    Если вы организуете встреч с эскортницей важно учесть вопросы безопасности и конфиденциальности. Изучайте, какие меры воспринимает агентство для высокой защиты личной информации клиентов. Надежные агентства дают обеспечение конфиденциальность и безопасность как моделей, так и клиентов https://eprmall.com/bbs/board.php?bo_table=free&wr_id=381

    7. Общение с агентством

    Если вы нашли подходящее агентство, не стесняйтесь задавать вопросы. Общение с представителями агентства поможет вам лучше понять их подход, условия работы и убедиться в их профессионализме. Превосходное агентство всегда открыто для того, чтобы общаться и готово ответить на ваши запросы.

    Заключение

    Поиск эскортницы в Минске для бизнесменов это задачка, требующая внимательности и тщательного подхода. Точное понимание своих потребностей, исследование агентств и тщательный отбор помогут для вас найти идеальную компанию для любого события. Фортуны в вашем поиске!

    Comment awaiting moderation.

댓글 남기기

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