Security by Design in Shieldcure

Shieldcure
Shieldcure
Published in
5 min readSep 11, 2018

안녕하세요. 쉴드큐어 팀입니다.

오늘은 RBAC(Role-Based Access Control)과 함께 시스템 보안을 위해 Shieldcure Mainnet에 적용될 Security by Design에 대해 알아보도록 하겠습니다.

기존 제품이나 서비스의 경우, 보안상의 취약점 해결 프로세스는 프로토 타입 혹은 최소기능제품(Minimum Viable Product, MVP)을 먼저 출시하여 시장의 피드백을 받아 내부에서 기능을 수정, 보완해 나가는 것이 대부분이었습니다. 여러 블록체인 프로젝트에서 종종 개최하는 해커톤 행사가 바로 이와 같은 예라고 할 수 있습니다.

하지만, 이제 모든 기기들이 네트워크로 서로 연결되는 IoT 시대에서는 예상치 못한 보안 시스템의 문제점이 많아져, 사용자나 운영주체가 모든 보안 취약점을 발견하고 문제를 예측하기 매우 어려운 상황이 발생합니다.

날로 고도화되고 다양해지는 사이버 공격에 따라 그에 맞는 보안 솔루션을 구축하는 기본 시스템의 업그레이드도 중요하지만, 애초에 취약점이 노출되지 않도록 제품이나 서비스의 초기 구조 설계 및 구성단계부터 보안을 강화하는 개념이 나오게 되었고, 그것이 바로 Security by Design 입니다.

Security by Design이란 말 그대로 설계에 의한 보안, 즉 개발 계획 단계부터 보안을 고려한 보안 내재화 설계입니다. 기존의 선 개발 후 보완 방식이 아닌 제품이나 서비스의 설계부터 편의성, 안전성을 고려하는 방식으로, 발생 가능한 취약점을 미리 예측하고 대비하여 보안 문제의 발생 가능성을 최소화합니다. 이를 통해 보안에 대한 비용과 시간을 절약할 수 있게 됩니다.

Security by Design을 적용하려면 우선 어떤 보안 기술이 필요한지 판단해야 하고 이를 적용할 보안 전문가가 필요하며, 각 단계별로 적용한 보안 설계의 수학적 검증 또한 필수입니다.

이러한 Security by Design을 쉽게 설명하기 위해 한 가지 예시를 들면, 집을 짓는 것에 비유할 수 있습니다. 기존의 보안 설계 방식은 집을 완성한 뒤, 집의 비가 새는 위치를 파악하기 위해서는 비가 와 빗물이 새어들어와야만 위치를 파악할 수 있습니다. 그리고 그 후 그 틈을 메워 보완해나가는 방식이었습니다. 그러나 Security by Design을 적용하여 집을 짓는다면, 벽돌을 쌓기 전부터 모서리 부분이 취약할 것을 예상하여 그 지점에 방수 작업을 추가하는 등의 방법으로 사전에 사고를 대비하는 방식이라고 할 수 있습니다.

그렇다면 Shieldcure는 왜 Security by Design을 적용하려 할까요? 블록체인의 특성 상 한번 설계 후 구현된 블록은 변경 및 파기가 매우 어려우므로, 처음 분석 시 신뢰할 수 있는 블록의 설계 및 구현 방안이 무엇보다 중요합니다.

만약 해킹 사건이 발생한다면 블록체인 내에서 합의를 통하여 탈중앙화된 방식으로 수정, 보완을 진행해야 하는데 이는 매우 번거롭고 프로토콜의 신뢰도를 저하시키는 작업입니다. The DAO 해킹사건에서 우리는 하드포크를 통한 해결방식을 이미 경험했습니다. 따라서 이와 같은 블록체인의 보안상 문제점을 해결하기 위해서는 처음부터 다각적 보안 위험을 분석하여 예방하는 편이 합리적입니다.

또한 Shieldcure는 향후 플랫폼 상에서 개인정보와 같은 민감정보를 다루기 때문에 차별화된 보안성은 필수적인 요소이며, Security by Design이 바로 블록체인의 무결성과 투명성을 유지하며, 확장성 개선을 위해 선행되어야 하는 Shieldcure의 핵심 철학 중 하나입니다.

마지막으로, Security by Design이 어떻게 Shieldcure Mainnet에 적용되는지 살펴보도록 하겠습니다.

Mainnet 환경 내 위험 분석을 고려하여 꼭 필요한 기본적인 정책(예를 들어, AML, Double Spending 방지, DPoS의 Priority Node끼리 단합 방지 및 예방 정책 등)을 Governance Rule에서 제공하고, 이는 스마트 계약을 통하여 자연스러운 합의로 이루어지게 합니다. 또한 불필요한 기능을 최소화 함(Separation of Duty, Least of Privilege)으로써 발생할 수 있는 블록 정보 노출 위험 요소를 최소화하고, 추가로 발생될 수 있는 위험에 대해서는 역할 기반 접근 통제(Role-Based Access Control)을 적용할 예정입니다.

RBAC과 Security by Design에 대한 더욱 자세한 내용은 백서 혹은 추후 발행될 Tech Report를 참고하시기 바랍니다.

감사합니다.

“KEEP YOUR IDENTITY, SHIELDCURE”

--

--