디지털 I&C 시스템의 신뢰성·안전성 확보 기술
1. 핵심 개념
디지털 I&C(Instrumentation and Control)는 센서 입력을 PLC, DCS, 안전 PLC 또는 컴퓨터 기반 보호계통이 처리하여 감시·제어·보호 기능을 수행하는 시스템이다.
[
\text{Digital I&C Risk}
\text{Random HW Failure}
+
\text{Systematic SW Failure}
+
\text{CCF}
+
\text{Cyber Threat}
]
따라서 디지털 I&C의 신뢰성과 안전성은 다음 네 가지 축을 통합하여 확보해야 한다.
V모델 기반 V&V → 형상관리 → 다양성·독립성 → 심층방어형 OT 보안
2. 주요 국제표준
| 분야 | 주요 표준 | 핵심 내용 |
|---|---|---|
| 일반 기능안전 | IEC 61508 | E/E/PE 안전관련 시스템의 기능안전 생명주기 |
| 프로세스 플랜트 | IEC 61511 | SIS와 SIF의 명세, 설계, 운전, 유지보수 |
| 원자력 I&C | IEC 61513 | 안전 중요 I&C의 전체 아키텍처와 생명주기 |
| 원자력 소프트웨어 | IEC 60880 | Category A 기능 수행 소프트웨어의 개발 및 V&V |
| 원자력 CCF | IEC 62340 | Category A I&C의 공통원인고장 대응 |
| 철도 소프트웨어 | IEC 62279 | 철도 제어·보호 소프트웨어 개발 |
| 철도 RAMS | IEC 62278 | 신뢰성·가용성·유지보수성·안전성 생명주기 |
| 산업제어 보안 | IEC 62443 | IACS 보안관리, 위험평가, 시스템·제품 보안 |
3. V모델 기반 개발과 V&V
3.1 V모델
V모델은 개발단계와 시험단계를 대응시켜 요구사항부터 구현, 시험 및 운용 적합성까지 추적하는 생명주기 모델이다.
사용자 요구사항 ---------------------- 운용 적합성 확인
| ^
시스템 요구사항 ---------------------- 시스템 Validation
| ^
시스템 아키텍처 ---------------------- 시스템 통합시험
| ^
SW/HW 요구사항 ---------------------- SW/HW 통합시험
| ^
상세설계 ----------------------------- 단위시험
\----------- 구현·코딩 -----------/
- Verification: 제품을 명세에 맞게 올바르게 만들었는가?
- Validation: 사용 목적에 적합한 올바른 제품을 만들었는가?
3.2 요구사항 추적성 매트릭스
요구사항 추적성 매트릭스(Requirements Traceability Matrix, RTM)는 위험원, 안전요구사항, 설계, 구현, 시험결과를 양방향으로 연결한다.
- Forward Traceability
모든 요구사항이 설계, 코드 및 시험으로 구현되었는지 확인한다. - Backward Traceability
모든 설계와 코드가 승인된 요구사항에서 유래했는지 확인한다.
답안 핵심문장
RTM은 요구사항 누락, 과잉 구현, 변경 영향 및 시험 누락을 통제하는 V&V의 핵심 관리수단이다.
3.3 MC/DC
MC/DC(Modified Condition/Decision Coverage)는 복합 결정문을 구성하는 각 조건이 다른 조건의 영향을 고정한 상태에서 결정 결과에 독립적으로 영향을 주는지를 확인하는 구조적 커버리지 기준이다.
예를 들어 다음과 같은 보호논리가 있다고 가정한다.
[
Y=(A\land B)\lor C
]
A, B, C 각각이 단독으로 (Y)의 참과 거짓을 변경하는 시험쌍을 확보해야 한다.
MC/DC의 주요 특징은 다음과 같다.
- 단순 문장 커버리지보다 논리 검증력이 높다.
- 분기 커버리지보다 개별 조건의 영향을 명확히 확인할 수 있다.
- AND·OR 결합 오류를 검출하는 데 유리하다.
- 반전조건 오류와 Masking된 조건을 찾는 데 효과적이다.
- 요구사항 오류와 인터페이스 오류까지 보장하지는 않는다.
- 실시간 타이밍 오류는 별도 시험이 필요하다.
주의사항
MC/DC의 의무 수준은 산업별 표준과 안전등급에 따라 구분해야 한다. 항공 Level A의 요구를 원자력 Category A나 철도 SIL 4에 그대로 등치해서는 안 된다.
4. 형상관리와 기준선
형상관리(Configuration Management)는 형상항목을 식별하고 변경을 통제하며, 상태를 기록하고 실제 제품과 기준선의 일치 여부를 감사하는 활동이다.
4.1 3대 기준선
| 기준선 | 핵심 개념 |
|---|---|
| Functional Baseline | 시스템이 수행해야 할 기능, 성능 및 인터페이스 정의 |
| Allocated Baseline | 상위 기능을 HW, SW, 센서, 네트워크 등 하위 구성품에 할당 |
| Product Baseline | 실제 제작·배포될 코드, 도면, 설정, 시험절차 및 매뉴얼 확정 |
Functional Baseline
시스템이 수행해야 할 기능과 성능을 정의한다.
주요 내용은 다음과 같다.
- 안전기능
- 운전기능
- 성능 요구사항
- 인터페이스 요구사항
- 응답시간
- 허용오차
- 안전상태
Allocated Baseline
상위 기능을 하위 구성품에 할당한다.
주요 대상은 다음과 같다.
- 센서
- PLC
- 소프트웨어 모듈
- 네트워크
- HMI
- 구동기
- 통신 인터페이스
Product Baseline
실제 제작·설치·운영할 제품의 상세 형상을 확정한다.
주요 내용은 다음과 같다.
- 승인된 PLC 프로그램
- 실행파일
- HMI 화면
- 방화벽 정책
- 통신 설정
- 입출력 데이터베이스
- 시험절차
- 운전 및 유지보수 매뉴얼
4.2 CCB 승인 절차
형상통제위원회(Configuration Control Board, CCB)는 승인된 기준선의 변경을 심의하고 승인·보류·거부하는 조직이다.
변경요청
↓
영향분석
↓
CCB 심의
↓
변경 구현
↓
단위·통합·회귀시험
↓
형상감사
↓
기준선 갱신
CCB는 다음 항목을 검토한다.
- 기능 영향
- 안전 영향
- 보안 영향
- 비용 영향
- 일정 영향
- 시험범위
- 운전 영향
- 복구 가능성
- Rollback 방안
답안 핵심문장
CCB는 변경 자체보다 변경으로 인한 안전성·보안성·검증범위·복구가능성을 통제하여 기준선의 무결성을 보호한다.
5. 공통원인고장과 다양성 설계
5.1 공통원인고장
공통원인고장(Common Cause Failure, CCF)은 하나의 원인 또는 상호 연관된 원인으로 둘 이상의 채널이나 계통이 동시에 기능을 상실하는 고장이다.
주요 원인은 다음과 같다.
- 동일 요구사항 오류
- 동일 소프트웨어 결함
- 동일 운영체제
- 동일 컴파일러
- 동일 하드웨어
- 공통 전원
- 공통 통신망
- 공통 냉각설비
- 동일 유지보수 절차
- 동일 설정값 오류
5.2 2oo3 구조
2oo3(2-out-of-3)는 세 개 채널 중 두 개 이상이 동일한 판단을 내리면 최종 출력을 발생시키는 투표구조이다.
Channel A ─┐
Channel B ─┼── 2oo3 Voter ── Final Trip
Channel C ─┘
각 채널의 독립 실패확률을 (q)라고 하면 2oo3 시스템의 실패확률은 다음과 같다.
[
Q_{2oo3}
3q^2(1-q)+q^3
3q^2-2q^3
]
(q)가 매우 작으면 다음과 같이 근사할 수 있다.
[
Q_{2oo3}\approx3q^2
]
따라서 2oo3 구조는 독립적인 우발고장에 대해서는 높은 신뢰성을 제공한다.
그러나 동일 소프트웨어, 공통 전원, 공통 네트워크 또는 공통 환경을 공유하면 독립성 가정이 깨진다.
Redundancy는 우발고장 내성을 높인다.
Diversity와 Independence는 CCF 위험을 줄인다.
5.3 다양성 설계
다양성(Diversity)은 동일 안전목표를 서로 다른 원리, 기술, 구현 또는 조직을 통해 달성하는 설계원칙이다.
| 다양성 유형 | 적용 예 |
|---|---|
| 기능적 다양성 | 서로 다른 물리량으로 동일 안전목표 달성 |
| 신호 다양성 | 서로 다른 센서와 측정원리 사용 |
| 설계 다양성 | 서로 다른 알고리즘과 아키텍처 적용 |
| 소프트웨어 다양성 | 다른 언어, OS, 개발도구 및 개발팀 적용 |
| 하드웨어 다양성 | 다른 CPU, I/O, 제조사 및 기술 적용 |
| 통신 다양성 | 다른 통신경로와 프로토콜 사용 |
| 관리적 다양성 | 독립 개발·검증·형상관리 조직 운영 |
다양성은 단순히 제조사를 다르게 선택하는 것이 아니다.
공통 실패경로를 분석하고 이를 의도적으로 차단해야 한다.
다양성 설계의 주요 한계는 다음과 같다.
- 설계비 증가
- 시험비 증가
- 인터페이스 복잡도 증가
- 유지보수 부담 증가
- 예비품 종류 증가
- 진단정보 해석 어려움
- 공통 요구사항 오류는 제거하지 못할 수 있음
6. IEC 62443 기반 OT 보안
6.1 심층방어
심층방어(Defense in Depth)는 하나의 보안통제가 실패해도 다음 방어계층이 공격 확산을 제한하도록 조직, 물리, 네트워크, 호스트 및 복구수단을 다층화하는 개념이다.
조직·보안정책
↓
물리적 출입통제
↓
IT/OT 네트워크 분리
↓
Zone·Conduit 분할
↓
방화벽·DMZ
↓
호스트 강화
↓
사용자 인증·권한통제
↓
이상징후 탐지
↓
백업·복구·사고대응
6.2 Zone과 Conduit
- Zone
위험도, 중요도 및 보안 요구사항이 유사한 자산의 집합이다. - Conduit
Zone 사이에서 허용된 통신경로이다.
IEC 62443-3-2는 시스템을 Zone과 Conduit로 분할하고 위험평가를 통해 목표 보안수준인 SL-T를 결정하도록 한다.
IEC 62443-3-3은 시스템 수준의 보안요구사항을 정의한다.
6.3 적용 아키텍처
Enterprise IT
|
Industrial DMZ
|
OT Operations Zone
|
Basic Control Zone
|
Field Zone
Safety Zone ---- 제한된 Conduit ---- Monitoring/DMZ
주요 적용원칙은 다음과 같다.
- IT와 OT 네트워크를 분리한다.
- IT와 OT 사이에 DMZ를 구성한다.
- SIS와 BPCS를 분리한다.
- 허용 프로토콜과 포트를 최소화한다.
- 원격접속은 승인과 시간제한을 적용한다.
- 원격접속 이력을 기록한다.
- Engineering Workstation을 별도 통제한다.
- USB와 이동식 매체를 통제한다.
- 백업과 복구절차를 정기적으로 검증한다.
- 안전계통의 통신은 최소화한다.
7. 기술사적 Trade-off
| 기술 | 기대효과 | 한계 |
|---|---|---|
| V모델·RTM | 누락 방지, 검증근거 확보 | 문서량과 관리비용 증가 |
| MC/DC | 복합논리 검증 강화 | 요구사항·타이밍 오류는 별도 검증 필요 |
| 형상관리·CCB | 무단변경 방지, 재현성 확보 | 긴급변경 속도 저하 |
| 2oo3 | 단일 우발고장 허용 | CCF에는 취약 |
| 다양성 | 공통 실패경로 감소 | 비용·복잡도·유지보수 부담 증가 |
| Zone·Conduit | 침해확산 제한 | 운전·진단 편의성 감소 |
| 보안패치 | 취약점 감소 | 재검증과 설비정지 필요 |
| 독립 V&V | 검증 객관성 향상 | 일정과 비용 증가 |
8. 권장 도서
1순위
The Safety Critical Systems Handbook, 5th Edition
David J. Smith, Kenneth G. L. Simpson
주요 학습내용은 다음과 같다.
- IEC 61508
- IEC 61511
- SIL
- 기능안전 생명주기
- 고장률
- 신뢰도 계산
- 안전시스템 설계
산업계측제어기술사 준비에 가장 우선적으로 추천할 수 있는 도서이다.
2순위
Plant Hazard Analysis and Safety Instrumentation Systems, 2nd Edition
Swapan Basu
주요 학습내용은 다음과 같다.
- SIS
- SIF
- SIL
- 위험분석
- 안전계장 설계
- 플랜트 현장 적용
기능안전 이론을 실제 공정과 연결하는 데 유용하다.
3순위
Industrial Network Security, 3rd Edition
Eric D. Knapp 외
주요 학습내용은 다음과 같다.
- SCADA 보안
- DCS 보안
- PLC 보안
- 네트워크 분리
- 심층방어
- OT 공격사례
- 산업제어망 보안구조
IEC 62443의 배경지식을 이해하는 데 적합하다.
4순위
Software Engineering, 10th Edition
Ian Sommerville
주요 학습내용은 다음과 같다.
- 요구사항공학
- V모델
- 소프트웨어 시험
- 형상관리
- 소프트웨어 생명주기
- 시스템 개발 프로세스
소프트웨어공학의 기본개념을 보완하는 데 적합하다.
참고도서
Nuclear Power Plants: Innovative Technologies for Instrumentation and Control Systems
주요 학습내용은 다음과 같다.
- 원자력 디지털 I&C
- 원전 계측제어 구조
- 소프트웨어 신뢰성
- 원전 사이버보안
- 원전 자동화 기술
원자력 분야의 전문 사례를 보완할 때 참고한다.
9. 권장 학습 순서
1단계. 기능안전 기초
먼저 다음 내용을 학습한다.
- IEC 61508
- SIL
- 기능안전 생명주기
- V모델
- RTM
- Verification과 Validation
추천도서는 The Safety Critical Systems Handbook이다.
2단계. SIS 현장 적용
다음으로 플랜트 안전계장시스템을 학습한다.
- IEC 61511
- SIS
- SIF
- 1oo2, 2oo3 구조
- PFDavg
- Proof Test
- BPCS와 SIS 분리
추천도서는 Plant Hazard Analysis and Safety Instrumentation Systems이다.
3단계. 소프트웨어 신뢰성
다음 내용을 학습한다.
- 요구사항 기반 시험
- MC/DC
- 정적분석
- 동적시험
- 독립 V&V
- 형상관리
- 기준선
- CCB
- 회귀시험
추천도서는 Software Engineering이다.
4단계. CCF와 산업별 적용
다음 내용을 학습한다.
- 공통원인고장
- 다양성
- 독립성
- 원자력 Category A
- 철도 SIL 4
- IEC 61513
- IEC 60880
- IEC 62279
- IEC 62340
이 단계에서는 표준 원문과 전문자료를 함께 확인한다.
5단계. OT 사이버보안
마지막으로 다음 내용을 학습한다.
- IEC 62443
- Defense in Depth
- Zone
- Conduit
- SL-T
- DMZ
- 원격접속 통제
- Engineering Workstation 보안
- 백업과 사고대응
추천도서는 Industrial Network Security이다.
10. 최종 정리
디지털 I&C의 신뢰성과 안전성은 개별 기술 하나만으로 확보되지 않는다.
다음 네 가지 활동이 전 생명주기에서 통합되어야 한다.
결함을 줄이는 V&V
변경을 통제하는 형상관리
공통고장을 차단하는 다양성
공격을 제한하는 심층방어
V모델과 RTM은 요구사항부터 시험결과까지의 추적성을 확보한다.
MC/DC는 복합논리의 각 조건이 결정 결과에 미치는 독립적인 영향을 검증한다.
형상관리와 CCB는 승인되지 않은 변경을 방지하고 기준선의 무결성을 유지한다.
2oo3 구조는 독립적인 우발고장에는 효과적이다. 그러나 공통원인고장을 제거하지는 못한다.
CCF를 줄이기 위해서는 기능적, 신호적, 하드웨어적, 소프트웨어적 및 관리적 다양성이 필요하다.
IEC 62443 기반의 Zone과 Conduit 설계는 공격의 확산을 제한한다.
다만 보안조치가 안전계통의 응답시간, 결정성 및 가용성을 훼손하지 않도록 Safety와 Security를 함께 검증해야 한다.
결론적으로 디지털 I&C의 고신뢰·고안전 설계는 요구사항 정의, 설계, 구현, 시험, 변경, 운전 및 유지보수 전 과정에서 통합적으로 수행되어야 한다.
산업계측제어기술사 시험 관점에서 세이프티(Safety, 기능안전)와 SIL(Safety Integrity Level, 안전무결성수준) 관련 소프트웨어 핵심 주제는 딱 4가지 프레임워크로 정의됩니다. [1, 2]
이 주제들은 일반 시스템과 안전 필수(Safety-Critical) 시스템을 가르는 학문적 경계선이자, 시험장에서 고득점을 받기 위한 차별화 토픽입니다. [3, 4]
1. SIL (안전무결성수준) 등급의 학문적 정의
SIL은 시스템의 안전 기능이 고장 나지 않고 목표한 위험 감소 요소를 올바르게 수행할 확률을 정량화한 지표입니다. [5, 6]
- 핵심 메커니즘: SIL은 1부터 4등급까지 존재하며, 숫자가 높을수록 안전성이 극대화된 시스템입니다. [1, 5]
- 철도 소프트웨어의 목표: 열차 충돌을 방지하는 ATP(열차자동방호)나 연동장치 소프트웨어는 시간당 치명적 고장 확률이 $10^{-9}$에서 $10^{-8}$ 미만이어야 하는 SIL 4 등급을 만족하도록 강제됩니다. [3, 4]
- 시험장 포인트: 소프트웨어는 하드웨어와 달리 노후화로 인한 무작위 고장이 없고, 오직 설계 에러인 ‘체계적 고장(Systematic Fault)’만 존재하므로 개발 프로세스 자체의 무결성이 등급을 결정함을 명시해야 합니다. [3, 7]
2. V-모델(V-Model)과 추적성(Traceability) 관리
SIL 등급 소프트웨어를 개발할 때 가장 기본이 되는 개발 주기로, 설계 단계와 테스트 단계를 1:1로 매핑하여 빈틈없는 검증을 수행하는 모델입니다. [2, 8]
- 상호 독립성 평가: 개발을 수행하는 조직(인간)의 인지적 오류를 차단하기 위해, 설계자와 검증자(V&V)의 역할을 학문적으로 상호 독립 분리하여 개발 공정을 수행합니다. [9, 10]
- 양방향 추적성: 상위 요구사항 문서의 문장 하나가 실제 소스코드의 어떤 함수와 매핑되는지, 그리고 그 함수가 어떤 단위 테스트를 통해 검증되었는지 추적 매트릭스(Traceability Matrix)를 통해 정량적으로 입증해야 합니다. [8, 11, 12]
3. 방어적 설계 기법: 소프트웨어 다중화 (Fault-Tolerant)
소프트웨어 내부에 잔존하는 예상치 못한 결함(Bug)이 발생하더라도 시스템 전체가 멈추거나 위험 상태에 빠지지 않도록 강제하는 아키텍처 이론입니다. [3]
- N-버전 프로그래밍 (N-Version Programming): 동일한 기능 요구서(Spec)를 기반으로, 서로 다른 팀이 각기 다른 개발 언어(예: C, Ada 등)와 알고리즘으로 소프트웨어를 독립 개발합니다. 제어기 구동 시 이 소프트웨어들의 연산 결과를 다수결(Voting)로 판정하여 최종 제어 명령을 하드웨어에 하달함으로써 단일 소프트웨어의 결함을 상쇄합니다.
- 페일 세이프(Fail-Safe) 논리: 소프트웨어에 에러가 감지되는 즉시 시스템을 가장 안전한 상태(철도는 열차 즉시 정지, 원자력은 원자로 스크람/정지)로 유도하는 제어 아키텍처를 프로그래밍 수준에서 보장합니다. [1, 4]
4. 코드 무결성 검증 기술: 정적 및 동적 분석
사람이 코드를 직접 작성하면서 발생하는 논리적 빈틈을 컴퓨터 자동화 도구를 통해 수학적·경험적으로 찾아내는 검증 기술입니다. [13]
- 정적 분석 (Static Analysis): 프로그램을 실행하지 않고 코드 서술 자체를 스캔하는 방식입니다. 메모리 누수를 유발하는 포인터나 동적 할당을 제한하는 MISRA-C 등 안전 코딩 표준 규칙을 준수했는지 자동화 검사합니다.
- 동적 분석 (Dynamic Analysis): 코드를 실제 타깃 제어기(MCU/PLC) 환경에서 구동하며 입력값을 주어 예외 동작을 확인하는 방식입니다. SIL 4 등급에서는 소스코드의 모든 조건과 분기문이 최소 한 번 이상 실행되었는지 확인하는 MC/DC(수정된 조건/결정 커버리지) 100% 만족을 필수 요건으로 내세웁니다. [1, 11, 13, 14, 15]
💡 기술사 서브노트 구성 전략
이 주제들은 단독 문제로 출제되기보다는 “제어 시스템의 신뢰성 향상을 위한 소프트웨어 기능안전 확보 방안”과 같은 형태로 자주 출제됩니다. 따라서 1. SIL 정의 -> 2. V-모델 공정 -> 3. 다중화 및 정적/동적 검증 기법 순으로 한 세트의 답안 포맷을 유기적으로 엮어 정리해 두는 것이 가장 효율적입니다. [1, 2, 16]
이 4가지 카테고리 중 가장 고득점 무기가 될 수 있는 ‘MC/DC 커버리지 개념’이나 ‘N-버전 프로그래밍 아키텍처 블록도’ 중 어떤 부분을 먼저 가시적인 그림과 함께 상세히 서술해 볼까요?
[3] https://www.eke-electronics.com
[4] https://www.alphainnovations.eu
[5] https://www.sciencedirect.com
[12] https://www.ors-consulting.com
[15] https://zdnet.co.kr
[16] https://www.qa-systems.com
https://conding-note.tistory.com/213