## **AAA**
* Authentication: 인증, 내가 누구인지 증명하는 것
* Authorization: 인가, 어떤 행동을 할 수 있는지 정하는 것
* Accounting: 기록과 수집
***
## **보안의 3대 요소**
* 기밀성(`C`): 암호 기술
* 무결성(`I`): HASH
* 가용성(`A`): DR 재해 대책
---
## **보안 아키텍처 & 설계 (Security Architecture and Design)**
#### 1. 최소 권한 원칙 (Least Privilege)
* 자신이 작업을 수행하는 데 필요한 최소한의 권한만 가져야 한다
#### 2. 안전한 기본값 (Fail-Safe Defaults)
* 기본 설정은 항상 보안에 유리한 상태여야 한다
* 기본적으로는 어떤 리소스에도 접근할 수 없고, 명시적으로 허용되기 전까지는 거부되어야 한다
* ACL의 기본은 "deny all"
#### 3. 완전한 중재 (Complete Mediation)
* 모든 접근 요청은 항상 검증되어야 한다
#### 4. 기법의 단순성 (Economy of Mechanism)
* 복잡한 보안 시스템은 취약점을 낳는다
#### 5. 개방된 설계 (Open Design)
* 보안은 알고리즘 공개 상태에서도 유지되어야 함
* 공개 알고리즘 + 비밀키 구조
#### 6. 심층 방어 (Defense in Depth)
#### 7. 최소 공유 (Least Common Mechanism)
* 여러 사용자 간 공유 매커니즘을 최소화 한다.
* 사용자별 환경 분리
#### 8. 심리적 수용성 (Psychological Acceptability)
* 보안 정책은 사용자가 쉽게 이해하고 사용할 수 있어야 함
#### 9. Separation of privilege
* 접근을 위해 둘 이상의 조건이 필요하도록 분리