정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 보안기능 — 부인 방지·공개키 시스템·캡슐화와 입력값 검증

보안기능 세트는 정보를 지키는 여러 기능을 구분하는 문제다. 인가된 사용자만 접근하게 하는 접근제어, 전송 중에도 내용을 읽지 못하게 하는 기밀성, 송수신 사실을 부정하지 못하게 하는 부인 방지가 축을 이룬다. 공개키 시스템과 캡슐화, 안전한 코딩의 입력값 검증도 함께 나온다.

2026-10-19 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「보안기능(인증, 접근제어, 기밀성, 권한 관리 등)」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
입력값 검증과 취약점1입력 데이터 보안 약점의 이해
SQL 인젝션1공격 설명에서 틀린 것
보안 프로젝트와 암호1오픈소스 보안 연구와 공개키 기법

뜻

보안 기능은 막으려는 대상에 따라 이름이 달라진다. 시스템 내의 정보와 자원은 인가된 사용자만 접근하도록 허용하며, 정보가 전송 중에 노출되더라도 데이터를 읽을 수 없게 하는 원칙이 있다. 부인 방지는 데이터를 송수신한 사람이 그 사실을 부정하지 못하도록 송수신 증거를 제공하는 보안 메커니즘이다.

암호화 기법 가운데 공개키(공중키) 암호화는 암호화 알고리즘과 암호화 키를 공개해 누구든지 평문을 암호문으로 만들 수 있게 하면서, 해독 알고리즘과 해독키는 비밀로 유지하는 방식이다. 공개키와 비밀키를 분리해 쓰는 구조이므로 공개키 시스템은 비밀키 시스템보다 키 분배가 용이하다. '공개키 시스템은 키 분배가 어렵다'는 설명은 틀린 선지가 된다.

객체지향의 기본 원리도 같은 세트에서 묻는다. 캡슐화는 자료부분과 연산(함수)부분 등 정보처리에 필요한 기능을 하나의 테두리로 묶는 것이다. 내부 구현을 숨기고 외부와의 상호작용만 노출하는 정보은폐와 가장 밀접한 관계가 있다. 캡슐화는 복잡도를 낮추는 장점이 있지만, 분석 단계 자체를 단순화시키는 것은 장점으로 보지 않는다.

안전한 코딩에서는 외부에서 들어오는 입력값을 검증하는 것이 출발점이다. Secure 코딩에서 입력 데이터의 보안 약점을 다룰 때 자원 삽입(Resource Exhaustion)은 외부 입력이 아니라 시스템 자원을 고갈시키는 공격 유형이라 설명이 부정확한 경우가 있다. SQL Injection은 DBMS 종류에 따라 사용할 수 있는 함수와 구문이 다르므로 모든 DBMS에 똑같이 통하는 기법이 아니다.

웹 애플리케이션 보안 취약점을 연구하는 오픈소스 프로젝트는 OWASP다. 웹을 통한 정보 유출, 악성 파일과 스크립트, 보안 취약점을 다룬다.

예제

선지 판단은 송수신 사실을 부정하지 못하게 하는 기능을 부인 방지로 고르는지, 암호화 알고리즘과 키는 공개하고 해독 알고리즘과 키는 비밀로 두는 방식을 공개키 암호화로 읽는지, 공개키 시스템이 키 분배에 유리하다고 판정하는지, 자료와 연산을 한 테두리로 묶는 개념을 캡슐화로, 정보은폐와 가장 밀접한 원리로 연결하는지, 캡슐화가 분석 단계를 단순화한다고 하지 않는지, 자원 삽입을 외부 입력 문제로 단정하지 않는지, SQL Injection이 DBMS마다 동일하지 않다고 보는지, 웹 보안 오픈소스 프로젝트를 OWASP로 고르는지에서 갈린다.

대표 기출 3문항

SQL Injection 공격과 관련한 설명으로 틀린것은?

  1. SQL Injection은 임의로 작성한 SQL 구문을 애플리케이션에 삽입하는 공격방식이다.
  2. SQL Injection 취약점이 발생하는 곳은 주로웹 애플리케이션과 데이터베이스가 연동되는 부분이다.
  3. DBMS의 종류와 관계없이 SQL Injection공격 기법은 모두 동일하다.
  4. 로그인과 같이 웹에서 사용자의 입력 값을 받아 데이터베이스 SQL문으로 데이터를요청하는 경우 SQL Injection을 수행할 수 있다.
정답과 해설 보기

정답 ③ · 웹 애플리케이션과 데이터베이스 간의 입력값 검증 부실로 발생하는 SQL 인젝션 공격의 특성을 묻는 문제이다. SQL 인젝션 공격은 공격 대상이 되는 DBMS(오라클, MySQL, MS-SQL 등)의 종류에 따라 지원하는 내장 함수, 주석 기호, 시스템 테이블 구조 등이 다르기 때문에 공격 기법과 구문이 달라진다.

SQL Injection 공격 기법은 DBMS 종류(Oracle, MySQL 등)에 따라 사용 가능한 함수나 구문이 다르므로 동일하지 않습니다.

오픈소스 웹 애플리케이션 보안 프로젝트로서 주로 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 곳은?

  1. WWW
  2. OWASP
  3. WBSEC
  4. ITU
정답과 해설 보기

정답 ② · 웹 애플리케이션 보안 취약점을 연구하는 오픈소스 프로젝트의 명칭을 묻는 문제이다. OWASP는 Open Web Application Security Project의 약자로, 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 국제 오픈소스 프로젝트이다.

웹 애플리케이션 보안 취약점 연구를 주도하는 오픈소스 프로젝트는 OWASP이다.

Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?

  1. SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
  2. 크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행
  3. 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
  4. 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생
정답과 해설 보기

정답 ④ · 이 문제는 입력 데이터 검증 관련 보안 약점 설명 중 틀린 것을 찾는 문제이다. 자원 삽입은 시스템 자원을 임의로 사용하는 공격으로, 외부 입력 값으로 시스템이 허용하지 않은 자원을 지정해 발생하는 취약점이지 설명처럼 내부 입력 값으로 시스템에 과부하를 일으키는 것이 아니다.

자원 삽입(Resource Exhaustion)은 외부 입력이 아닌 시스템 자원을 고갈시키는 공격 유형이며, 설명이 부정확합니다.

자주 묻는 물음

부인 방지란 무엇인가요?
데이터를 송수신한 사람이 그 사실을 부정하지 못하도록 송수신 증거를 제공하는 보안 메커니즘입니다.
공개키 암호화 기법은 무엇을 공개하고 무엇을 비밀로 하나요?
암호화 알고리즘과 암호화 키는 공개해 누구든지 암호문을 만들 수 있게 하고, 해독 알고리즘과 해독키는 비밀로 유지합니다. 공개키와 비밀키를 분리해 쓰므로 키 분배가 용이합니다.
캡슐화는 무엇과 가장 밀접한가요?
정보은폐입니다. 자료부분과 연산부분을 하나의 테두리로 묶어 내부 구현을 숨기고 외부와의 상호작용만 노출합니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.