⚖️ AI 규제/윤리

표준화 기구

Standardization Body

AI 기술 표준을 개발하는 기관. CEN, CENELEC, ETSI, ISO, IEC 등.

상세 설명

표준화 기구(Standardization Body)는 기술 표준을 개발, 승인, 유지하는 공인된 기관입니다. EU AI Act 제3조 제23항에서는 표준화 기구를 Regulation (EU) 1025/2012 제2조 제1항에 정의된 '표준화 기구'로 규정합니다. AI 분야에서는 유럽 표준화 기구(CEN, CENELEC, ETSI)와 국제 표준화 기구(ISO, IEC)가 핵심적인 역할을 합니다. 이들이 개발한 표준은 EU AI Act의 필수 요건 충족을 입증하는 데 중요한 기준이 됩니다.

유럽 표준화 기구 중 CEN(European Committee for Standardization)은 전기 분야를 제외한 일반 표준을, CENELEC(European Committee for Electrotechnical Standardization)은 전기/전자 분야 표준을, ETSI(European Telecommunications Standards Institute)는 통신 및 ICT 표준을 담당합니다. EU AI Act 시행을 지원하기 위해 CEN-CENELEC JTC 21 (Joint Technical Committee on Artificial Intelligence)이 AI 관련 조화된 표준 개발을 주도하고 있으며, EU 집행위원회의 표준화 요청에 따라 위험 관리, 데이터 품질, 투명성, 인간 감독 등 고위험 AI 요건을 다루는 표준들을 개발 중입니다.

국제 표준화 기구 중 ISO(International Organization for Standardization)IEC(International Electrotechnical Commission)는 전세계적으로 통용되는 기술 표준을 개발합니다. AI 분야에서는 ISO/IEC JTC 1/SC 42(Artificial Intelligence)가 핵심 위원회로, AI 관련 주요 국제 표준을 담당합니다. ISO/IEC 22989(AI 개념 및 용어), ISO/IEC 23053(ML 프레임워크), ISO/IEC 23894(AI 위험 관리), ISO/IEC 42001(AI 관리 시스템) 등이 대표적입니다. 이러한 국제 표준은 Vienna Agreement(CEN-ISO)와 Frankfurt Agreement(CENELEC-IEC)를 통해 유럽 표준으로 채택될 수 있습니다.

한국에서는 국가기술표준원(KATS)이 국가 표준화 정책을 총괄하며, TTA(한국정보통신기술협회)가 ICT 분야 표준화를 담당합니다. 한국은 ISO, IEC의 정회원국으로서 국제 표준 개발에 참여하고 있으며, AI 분야에서도 SC 42 등 관련 위원회에서 활동 중입니다. EU AI Act 대응을 위해 한국 기업들은 ISO/IEC 국제 표준 인증을 취득함으로써 EU 조화된 표준 적합성의 좋은 출발점을 확보할 수 있습니다.

코드 예제

Python으로 표준화 기구별 AI 관련 표준을 추적하고 적용 현황을 관리하는 시스템입니다.

from dataclasses import dataclass, field
from datetime import date
from enum import Enum
from typing import Optional

class StandardizationBodyType(Enum):
    """표준화 기구 유형"""
    EUROPEAN = "european"  # 유럽 표준화 기구
    INTERNATIONAL = "international"  # 국제 표준화 기구
    NATIONAL = "national"  # 국가 표준화 기구

class StandardScope(Enum):
    """표준 적용 범위"""
    GENERAL = "general"  # 일반 (CEN, ISO)
    ELECTROTECHNICAL = "electrotechnical"  # 전기/전자 (CENELEC, IEC)
    TELECOMMUNICATIONS = "telecommunications"  # 통신/ICT (ETSI, ITU)
    AI_SPECIFIC = "ai_specific"  # AI 특화

class StandardStatus(Enum):
    """표준 상태"""
    UNDER_DEVELOPMENT = "under_development"
    PUBLISHED = "published"
    HARMONISED = "harmonised"  # EU 관보 게재
    WITHDRAWN = "withdrawn"

@dataclass
class StandardizationBody:
    """표준화 기구"""
    code: str
    name: str
    full_name: str
    body_type: StandardizationBodyType
    scope: StandardScope
    website: str
    ai_committee: Optional[str] = None  # AI 담당 위원회
    region: str = "Global"

@dataclass
class AIStandard:
    """AI 관련 표준"""
    reference: str  # 예: "ISO/IEC 42001:2023"
    title: str
    body: StandardizationBody
    status: StandardStatus
    publication_date: Optional[date] = None
    ai_act_requirements: list[str] = field(default_factory=list)
    description: str = ""
    european_adoption: Optional[str] = None  # EN 채택 번호

class StandardizationRegistry:
    """표준화 기구 및 표준 레지스트리"""

    # 주요 표준화 기구
    BODIES = {
        "CEN": StandardizationBody(
            code="CEN",
            name="CEN",
            full_name="European Committee for Standardization",
            body_type=StandardizationBodyType.EUROPEAN,
            scope=StandardScope.GENERAL,
            website="https://www.cencenelec.eu/",
            ai_committee="CEN-CENELEC JTC 21",
            region="EU/EEA"
        ),
        "CENELEC": StandardizationBody(
            code="CENELEC",
            name="CENELEC",
            full_name="European Committee for Electrotechnical Standardization",
            body_type=StandardizationBodyType.EUROPEAN,
            scope=StandardScope.ELECTROTECHNICAL,
            website="https://www.cencenelec.eu/",
            ai_committee="CEN-CENELEC JTC 21",
            region="EU/EEA"
        ),
        "ETSI": StandardizationBody(
            code="ETSI",
            name="ETSI",
            full_name="European Telecommunications Standards Institute",
            body_type=StandardizationBodyType.EUROPEAN,
            scope=StandardScope.TELECOMMUNICATIONS,
            website="https://www.etsi.org/",
            ai_committee="ETSI SAI (Securing AI)",
            region="EU/EEA"
        ),
        "ISO": StandardizationBody(
            code="ISO",
            name="ISO",
            full_name="International Organization for Standardization",
            body_type=StandardizationBodyType.INTERNATIONAL,
            scope=StandardScope.GENERAL,
            website="https://www.iso.org/",
            ai_committee="ISO/IEC JTC 1/SC 42",
            region="Global"
        ),
        "IEC": StandardizationBody(
            code="IEC",
            name="IEC",
            full_name="International Electrotechnical Commission",
            body_type=StandardizationBodyType.INTERNATIONAL,
            scope=StandardScope.ELECTROTECHNICAL,
            website="https://www.iec.ch/",
            ai_committee="ISO/IEC JTC 1/SC 42",
            region="Global"
        ),
        "KATS": StandardizationBody(
            code="KATS",
            name="KATS",
            full_name="Korean Agency for Technology and Standards",
            body_type=StandardizationBodyType.NATIONAL,
            scope=StandardScope.GENERAL,
            website="https://www.kats.go.kr/",
            ai_committee="TC/SC mirror committees",
            region="Korea"
        ),
        "TTA": StandardizationBody(
            code="TTA",
            name="TTA",
            full_name="Telecommunications Technology Association of Korea",
            body_type=StandardizationBodyType.NATIONAL,
            scope=StandardScope.TELECOMMUNICATIONS,
            website="https://www.tta.or.kr/",
            ai_committee="AI Project Group",
            region="Korea"
        )
    }

    # 주요 AI 표준
    AI_STANDARDS = {
        "ISO/IEC 22989": AIStandard(
            reference="ISO/IEC 22989:2022",
            title="Information technology - AI - Concepts and terminology",
            body=BODIES["ISO"],
            status=StandardStatus.PUBLISHED,
            publication_date=date(2022, 7, 1),
            ai_act_requirements=["Transparency (Art.13)"],
            description="AI 용어 및 개념 정의의 기초 표준"
        ),
        "ISO/IEC 23053": AIStandard(
            reference="ISO/IEC 23053:2022",
            title="Framework for ML using AI",
            body=BODIES["ISO"],
            status=StandardStatus.PUBLISHED,
            publication_date=date(2022, 6, 1),
            ai_act_requirements=["Technical documentation (Art.11)"],
            description="ML 시스템 프레임워크"
        ),
        "ISO/IEC 23894": AIStandard(
            reference="ISO/IEC 23894:2023",
            title="Information technology - AI - Risk management",
            body=BODIES["ISO"],
            status=StandardStatus.PUBLISHED,
            publication_date=date(2023, 2, 1),
            ai_act_requirements=["Risk management (Art.9)"],
            description="AI 위험 관리 프레임워크",
            european_adoption="EN ISO/IEC 23894"
        ),
        "ISO/IEC 42001": AIStandard(
            reference="ISO/IEC 42001:2023",
            title="Information technology - AI - Management system",
            body=BODIES["ISO"],
            status=StandardStatus.PUBLISHED,
            publication_date=date(2023, 12, 1),
            ai_act_requirements=[
                "Risk management (Art.9)",
                "Data governance (Art.10)",
                "Record-keeping (Art.12)"
            ],
            description="AI 관리 시스템 인증 표준 (AIMS)",
            european_adoption="EN ISO/IEC 42001"
        ),
        "ISO/IEC 25059": AIStandard(
            reference="ISO/IEC 25059:2023",
            title="Systems and software Quality Requirements - AI quality model",
            body=BODIES["ISO"],
            status=StandardStatus.PUBLISHED,
            publication_date=date(2023, 10, 1),
            ai_act_requirements=["Accuracy, robustness (Art.15)"],
            description="AI 시스템 품질 모델"
        )
    }

    def __init__(self):
        self.bodies = self.BODIES.copy()
        self.standards = self.AI_STANDARDS.copy()

    def get_body_info(self, code: str) -> dict:
        """표준화 기구 정보 조회"""
        body = self.bodies.get(code)
        if not body:
            return {"error": f"Unknown body: {code}"}

        return {
            "code": body.code,
            "name": body.full_name,
            "type": body.body_type.value,
            "scope": body.scope.value,
            "region": body.region,
            "ai_committee": body.ai_committee,
            "website": body.website
        }

    def find_standards_by_requirement(self, ai_act_article: str) -> list[dict]:
        """AI Act 요건별 관련 표준 검색"""
        results = []

        for ref, std in self.standards.items():
            for req in std.ai_act_requirements:
                if ai_act_article.lower() in req.lower():
                    results.append({
                        "reference": std.reference,
                        "title": std.title,
                        "body": std.body.code,
                        "status": std.status.value,
                        "eu_adoption": std.european_adoption,
                        "requirement_coverage": req
                    })

        return results

    def get_european_equivalents(self, iso_standard: str) -> dict:
        """ISO 표준의 유럽 채택 표준 확인"""
        std = self.standards.get(iso_standard.split(":")[0])
        if not std:
            return {"error": "Standard not found"}

        if std.european_adoption:
            return {
                "iso_reference": std.reference,
                "european_adoption": std.european_adoption,
                "presumption_of_conformity": True,
                "note": "Vienna/Frankfurt Agreement에 따른 채택"
            }

        return {
            "iso_reference": std.reference,
            "european_adoption": None,
            "presumption_of_conformity": False,
            "note": "유럽 표준으로 채택되지 않음 - SCC 적합성 추정 효력 없음"
        }

    def get_standards_roadmap(self) -> list[dict]:
        """AI 표준 개발 로드맵"""
        roadmap = []

        for ref, std in self.standards.items():
            roadmap.append({
                "reference": std.reference,
                "title": std.title,
                "status": std.status.value,
                "publication_date": std.publication_date.isoformat() if std.publication_date else None,
                "ai_act_coverage": std.ai_act_requirements,
                "body": std.body.code
            })

        return sorted(roadmap, key=lambda x: x.get("publication_date") or "9999")

    def check_compliance_pathway(self, ai_system_category: str) -> dict:
        """AI 시스템 카테고리별 표준 준수 경로"""

        # 고위험 AI Act 요건
        high_risk_requirements = [
            "Risk management (Art.9)",
            "Data governance (Art.10)",
            "Technical documentation (Art.11)",
            "Record-keeping (Art.12)",
            "Transparency (Art.13)",
            "Human oversight (Art.14)",
            "Accuracy, robustness (Art.15)"
        ]

        coverage = {}
        for req in high_risk_requirements:
            matching_standards = self.find_standards_by_requirement(req.split("(")[0])
            coverage[req] = {
                "standards": [s["reference"] for s in matching_standards],
                "has_harmonised": any(s.get("eu_adoption") for s in matching_standards)
            }

        covered = sum(1 for c in coverage.values() if c["standards"])
        total = len(high_risk_requirements)

        return {
            "ai_system_category": ai_system_category,
            "total_requirements": total,
            "standards_coverage": covered,
            "coverage_percentage": f"{covered/total*100:.1f}%",
            "requirement_details": coverage,
            "recommendation": "ISO/IEC 42001 인증이 여러 요건을 커버하는 핵심 출발점"
        }

# 사용 예시
if __name__ == "__main__":
    registry = StandardizationRegistry()

    # 표준화 기구 정보
    print("=== CEN 정보 ===")
    print(registry.get_body_info("CEN"))

    # 위험 관리 관련 표준
    print("\n=== 위험 관리 관련 표준 ===")
    for std in registry.find_standards_by_requirement("Risk"):
        print(f"  {std['reference']}: {std['title']}")

    # 유럽 채택 확인
    print("\n=== ISO/IEC 42001 유럽 채택 ===")
    print(registry.get_european_equivalents("ISO/IEC 42001"))

    # 준수 경로 분석
    print("\n=== 고위험 AI 준수 경로 ===")
    pathway = registry.check_compliance_pathway("High-Risk AI System")
    print(f"표준 커버리지: {pathway['coverage_percentage']}")

실무 대화

품질관리팀:

"EU AI Act 대응을 위해 어떤 표준 인증을 취득해야 할까요? 표준화 기구가 여러 개라 헷갈립니다."

규제대응팀:

"우선 ISO/IEC 42001 AI 관리시스템 인증을 추천드려요. 이게 위험 관리, 데이터 거버넌스, 기록 관리 등 여러 AI Act 요건을 커버합니다. ISO는 국제 표준이지만 Vienna Agreement를 통해 EN ISO/IEC 42001로 유럽 표준 채택이 예정되어 있어서 적합성 추정의 근거가 됩니다."

품질관리팀:

"CEN, CENELEC, ETSI 같은 유럽 기구에서 직접 개발하는 표준은 없나요?"

규제대응팀:

"CEN-CENELEC JTC 21에서 AI Act 전용 조화된 표준을 개발 중이에요. 하지만 대부분 ISO 국제 표준을 기반으로 채택하는 방식이라, 현시점에서는 ISO/IEC 표준 인증이 가장 효율적입니다. 2025-2026년 사이에 조화된 표준들이 EU 관보에 게재될 예정이니 그때 업데이트하면 됩니다."

면접관:

"EU AI Act와 관련된 주요 표준화 기구와 그 역할을 설명해주세요."

지원자:

"유럽 표준화 기구로는 CEN(일반), CENELEC(전기/전자), ETSI(통신)가 있고, AI 분야는 CEN-CENELEC JTC 21이 담당합니다. 국제 기구로는 ISO와 IEC가 있으며, AI는 ISO/IEC JTC 1/SC 42에서 다룹니다. EU AI Act 제40조에 따라 이들이 개발한 조화된 표준을 준수하면 적합성 추정을 받습니다. Vienna Agreement와 Frankfurt Agreement를 통해 ISO/IEC 국제 표준이 유럽 표준(EN)으로 채택되기도 합니다."

면접관:

"한국 기업이 EU 시장 진출을 위해 어떤 표준 전략을 취해야 할까요?"

지원자:

"ISO/IEC 국제 표준 인증을 우선 취득하는 것이 좋습니다. ISO/IEC 42001(AI 관리시스템)이 대표적인데, 이 인증이 유럽 표준으로 채택되면 적합성 추정의 기초가 됩니다. 한국은 ISO/IEC의 정회원국으로 KATS와 TTA를 통해 국제 표준 개발에 참여하고 있어, 표준 동향을 선제적으로 파악할 수 있습니다."

시니어:

"표준 추적 시스템에서 harmonised 상태만 체크하고 있는데, 조화된 표준이 되려면 EU 관보 게재가 필요하잖아요. 그 부분이 누락된 것 같아요."

주니어:

"맞아요. publication_date와 별도로 oj_publication_date(Official Journal 게재일) 필드를 추가하고, 그 날짜가 있어야만 provides_presumption()이 true를 반환하도록 수정하겠습니다."

시니어:

"그리고 표준 간 관계도 추적해야 해요. ISO 표준이 EN으로 채택될 때의 관계, 표준이 다른 표준을 대체하는 관계 등이요. 현재 european_adoption 필드가 있지만, 역방향 조회나 대체 관계 추적이 안 되네요."

주니어:

"양방향 관계를 저장하는 relations 딕셔너리를 추가하고, 관계 유형(adoption, supersedes, references)별로 조회할 수 있게 하겠습니다. 표준 개정 시 이전 버전을 추적하는 것도 중요하니까요."

주의사항

  • 조화된 표준 ≠ 국제 표준: ISO/IEC 국제 표준이 자동으로 EU에서 적합성 추정 효력을 갖지 않습니다. EU 집행위원회가 표준화 요청을 발행하고, 유럽 표준화 기구가 채택한 후 EU 관보에 게재되어야 조화된 표준이 됩니다.
  • 표준 개발 진행 상황 모니터링: AI Act 지원 조화된 표준은 대부분 아직 개발 중입니다. CEN-CENELEC JTC 21과 EU 집행위원회의 발표를 지속적으로 추적하여 새로운 표준 공표에 대비해야 합니다.
  • 국가별 참여 경로: 한국 기업이 국제 표준 개발에 참여하려면 KATS(국가기술표준원)나 TTA를 통해 미러 위원회에 참여해야 합니다. 직접 참여를 통해 표준 동향을 선제적으로 파악하고 의견을 반영할 수 있습니다.

더 배우기