소프트웨어 품질 속성과 품질 시나리오, 그리고 기능적 적합성(Functional Suitability), 성능 효율성(Performance Efficiency), 호환성(Compatibility), 사용성(Usability), 신뢰성(Reliability)에 대해 앞선 글에서 알아보았습니다.
이번에는 소프트웨어 품질 속성 중 하나인 보안(Security)에 대해 조금 더 자세히 알아보고, 품질 시나리오 예를 알아보고자 합니다.
목차
보안(Security)
보안(Security)은 정보 기술 시스템에서 중요한 품질 속성 중 하나입니다. 정보와 데이터를 보호하는 것은 비즈니스 운영, 사용자 프라이버시 보호, 그리고 법적 요구사항 준수 측면에서 중요합니다. 각 하위 특성은 다음과 같이 설명될 수 있습니다.
기밀성(Confidentiality)
기밀성(Confidentiality)은 데이터나 정보가 권한이 있는 사람에게만 접근 가능하도록 보장하는 속성입니다.
중요성
개인 정보, 금융 데이터, 기업 비밀 등 민감한 정보를 보호하여 무단 액세스로부터 사용자와 기업을 보호하는 데 핵심적입니다.
QAS 예시
- Category: 보안
- Source: 고객
- Stimulus: 개인 정보에 액세스 시도
- Environment: 온라인 쇼핑몰에서의 로그인 상태
- Artifacts: 사용자 데이터베이스, 인증 및 암호화 시스템
- Response: 시스템은 요청된 정보에 액세스하기 위해 사용자 인증을 확인하고, 액세스 권한이 있는 사용자에게만 정보를 제공한다.
- Response Measure: 모든 개인 정보 액세스 시도에 대해 시스템은 99.99%의 정확도로 사용자 인증을 수행하며, 비인가 사용자에 의한 데이터 노출 사례는 0%이다.
온라인 쇼핑몰 시스템에 로그인 상태에서, 고객이 자신의 개인 정보에 액세스하려 할 때, 사용자 데이터베이스, 인증 및 암화화 시스템을 통해 요청된 정보에 액세스하기 위해 사용자 인증을 확인하고, 액세스 권한이 있는 사용자에게만 정보를 제공한다. 이때 모든 개인 정보 액세스 시도에 대해 시스템은 99.99%의 정확도로 사용자 인증을 수행하며, 비인가 사용자에 의한 데이터 노출 사례는 0%이다.
무결성(Integrity)
무결성(Integrity)은 데이터가 무단 변경으로부터 보호되어 정확성과 완전성을 유지하는 속성입니다.
중요성
데이터의 신뢰성을 보장하며, 결정 메이킹 과정에서 정확한 정보에 의존할 수 있도록 합니다. 또한, 시스템 오류나 해킹 공격으로부터 데이터를 보호합니다.
QAS 예시
- Category: 보안
- Source: 외부 해커
- Stimulus: 데이터 수정 시도
- Environment: 온라인 쇼핑몰 시스템 운영 중
- Artifacts: 데이터베이스, 액세스 관리 시스템, 변경 관리 프로토콜
- Response: 시스템은 모든 데이터 변경 시도를 검증하고, 오직 권한이 부여된 사용자나 프로세스에 의한 변경만을 허용한다.
- Response Measure: 시스템은 100%의 데이터 변경 시도를 감지하며, 무단 변경 시도는 0%로 유지된다.
온라인 쇼핑몰 시스템 운영 중, 외부 해커가 데이터 수정 시도를 시도할 때, 데이터베이스, 액세스 관리 시스템, 변경 관리 프로토콜을 통해 시스템은 모든 데이터 변경 시도를 검증하고, 오직 권한이 부여된 사용자나 프로세스에 의한 변경만을 허용한다. 이때, 시스템은 100%의 데이터 변경 시도를 감지하며, 무단 변경 시도는 0%로 유지된다.
부인 방지(Non-repudiation)
부인 방지(Non-repudiation)는 행위나 사건을 증명할 수 있어, 나중에 해당 행위나 사건을 부인할 수 없게 하는 속성입니다.
중요성
거래의 유효성을 입증하고, 법적 분쟁에서 중요한 역할을 합니다. 예를 들어, 전자 서명은 문서나 거래에 대한 당사자의 동의를 입증하는 데 사용됩니다.
QAS 예시
- Category: 보안
- Source: 고객
- Stimulus: 구매 확정
- Environment: 온라인 쇼핑 시스템에서 구매 확정 중
- Artifacts: 거래 로그 시스템, 디지털 서명, 사용자 인증 메커니즘
- Response: 시스템은 고객의 구매 확정 행위에 대해 디지털 서명을 적용하여, 해당 사건을 나중에 부인할 수 없도록 기록을 보존한다.
- Response Measure: 모든 구매 확정에 대한 기록은 100% 검증 가능한 디지털 서명으로 보호되며, 해당 기록의 변경 또는 조작은 0%로 유지된다.
온라인 쇼핑몰 시스템에서 구매 확정 중, 고객이 구매 확정을 할 때, 거래 로그 시스템, 디지털 서명, 사용자 인증 메커니즘을 통해 시스템은 고객의 구매 확정 행위에 대해 디지털 서명을 적용하여, 해당 사건을 나중에 부인할 수 없도록 기록을 보존한다. 이때 모든 구매 확정에 대한 기록은 100% 검증 가능한 디지털 서명으로 보호되며, 해당 기록의 변경 또는 조작은 0%로 유지된다.
책임성(Accountability)
책임성(Accountability)은 행위나 사건을 특정 엔터티에 고유하게 추적할 수 있게 하는 속성입니다.
중요성
시스템 내에서 사용자의 활동을 추적할 수 있게 함으로써, 잘못된 행위나 보안 사고 발생 시 책임 소재를 명확히 할 수 있습니다.
QAS 예시
- Category: 보안
- Source: 고객
- Stimulus: 리뷰 작성
- Environment: 온라인 쇼핑몰에서 리뷰 작성 시
- Artifacts: 사용자 활동 로그 시스템, 리뷰 관리 시스템
- Response: 시스템은 고객이 작성한 리뷰를 해당 고객의 계정에 고유하게 기록하며, 리뷰 작성과 수정 활동을 모두 추적할 수 있도록 한다.
- Response Measure: 시스템은 고객에 의한 모든 리뷰 작성 및 수정 활동을 100% 정확하게 기록하고, 해당 기록을 최소 5년 동안 보관한다.
온라인 쇼핑몰 시스템에서 리뷰 작성 시, 고객이 리뷰를 작성할 때, 사용자 활동 로그 시스템, 리뷰 관리 시스템을 통해 고객이 작성한 리뷰를 해당 고객의 계정에 고유하게 기록하며, 리뷰 작성과 수정 활동을 모두 추적할 수 있도록 한다.이때 고객에 의한 모든 리뷰 작성 및 수정 활동을 100% 정확하게 기록하고, 해당 기록을 최소 5년 동안 보관한다.
진정성(Authenticity)
진정성(Authenticity)은 개인이나 시스템이 주장하는 정체성이 실제 그것임을 확인할 수 있는 속성입니다.
중요성
사용자나 시스템의 정체성을 정확히 인증함으로써, 사기 행위를 방지하고, 보안 거래나 커뮤니케이션의 신뢰성을 높입니다.
QAS 예시
- Category: 보안
- Source: 사용자
- Stimulus: 로그인 시도
- Environment: 온라인 쇼핑몰 로그인 페이지
- Artifacts: 사용자 데이터베이스, 인증 시스템
- Response: 시스템은 사용자의 인증 정보를 검증하여 사용자의 신원을 확인하고, 인증된 사용자에게만 액세스를 허용한다.
- Response Measure: 시스템은 99.9%의 인증 시도에서 사용자의 정체성을 정확하게 검증하며, 비인가 사용자에 의한 접근 시도는 0.01% 미만으로 유지된다.
온라인 쇼핑몰 로그인 페이지에서 사용자가 로그인을 시도할 때, 사용자 데이터베이스, 인증 시스템을 통해 사용자의 인증 정보를 검증하여 사용자의 신원을 확인하고, 인증된 사용자에게만 액세스를 허용한다. 이때 99.9%의 인증 시도에서 사용자의 정체성을 정확하게 검증하며, 비인가 사용자에 의한 접근 시도는 0.01%미만으로 유지된다.
'개발 > 요구공학' 카테고리의 다른 글
[요구공학] [소프트웨어 품질 속성] Portability (7) | 2024.04.14 |
---|---|
[요구공학] [소프트웨어 품질 속성] Maintainability (3) | 2024.04.13 |
[요구공학] [소프트웨어 품질 속성] Reliability (6) | 2024.04.06 |
[요구공학] [소프트웨어 품질 속성] Usability (42) | 2024.03.31 |
[요구공학] [소프트웨어 품질 속성] Compatibility (60) | 2024.03.30 |