ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네트워크 보안 - 7 | 인증
    컴퓨터 공학/보안 2023. 2. 6. 17:31

    접근제어

    접근제어는 시스템 자원에 대한 접근을 제어하는 것을 말하는데, 보통 인증과 인가라는 두 부분으로 나누어진다.

     

    인증은 사용자 또는 개체가 특정 시스템이나 자원에 접근하는 것을 허용할지 말지를 결정하는 문제이다. 인증의 정의에 따라 인증된 사용자는 시스템 자원에 대한 접근이 허용되는데, 인증된 사용자라 할지라도 시스템의 모든 자원에 대한 접근이 허용되는 것은 아니다. 예를 들어 시스템의 관리자와 같은 특별한 권한을 가지는 사용자에게만 부여되는 권한이 있을 수 있는데, 이렇듯 인증된 사용자에 대해 서로 다르게 접근을 제어하는 것을 인가라고 한다.

     

    인증이 시스템 자원에 대한 접근 허용 또는 접근 거부 중 하나를 선택하는 문제라면, 인가는 다양한 시스템 자원의 접근에 있어서 보다 세분화된 제어와 제약을 결정하는 문제를 다룬다.

     

    따라서 이러한 측면에서 인증과 인가를 요약하면 다음과 같이 설명할 수 있다.

    • 인증: 접근하려는 사람 또는 개체가 누구인가?
    • 인가: 접근하려는 사람 또는 개체가 그것을 하는 것이 허용되었는가?

    이번 포스트에서는 이러한 접근제어 중에서 인증에 대해 알아보고자 한다.


    인증 방법

    기본적으로 사람이 사람을 인증하는 것은 일상 속에서 쉽게 겪어보았다. 서로 잘 알고 있는 사이인 경우에는 얼굴만 보거나, 목소리만 듣고도 상대가 누구인지 알 수 있다. 서로 잘 모르는 사이일 경우에는 신분증과 같이 사회적으로 자신을 증명할 수 있는 장치를 이용하여 서로를 인증할 수도 있다.

     

    그렇다면 네트워크 상에서 이루어지는 인증, 또는 기계에게 사람을 인증하는 경우에는 어떠한 방식으로 상대를 인증할 수 있을까?

     

    네트워크 상에서 이루어지는 인증은 인증 프로토콜이라는 특정한 방식을 이용해 인증할 수 있다. 하지만 이는 이후에 프로토콜에 대해 공부할 때 다시 제대로 알아보도록 하자.

     

    기계에게 사람을 인증하는 경우에는 보통 다음의 세 가지를 적절히 조합해 기계로부터 인증받을 수 있다.

    • 알고 있는 어떤 것: 패스워드, PIN번호, 패턴 등
    • 가지고 있는 어떤 것: 현금 카드, 스마트카드 등
    • 본인 자체의 어떤 것: 지문, 홍채 등

    이러한 인증 방법 중 어떠한 방식을 사용할지는 시스템에 따라 달라질 것이다. 때로는 위의 세 가지를 적절히 섞어 새로운 인증 방법을 사용하는 시스템이 있을 수도 있다.


    패스워드

    사람들이 기계에게 자신을 인증하기 위해 사용하는 방법 중 가장 친숙한 방법이 바로 패스워드이다. 이는 패스워드가 가장 보편적으로 사용되는 인증 방식이기 때문인데, 패스워드는 어떻게 이렇게까지 보편화될 수 있었을까?

     

    바로 값싼 비용과 편리함 때문이다. 패스워드를 새로 발급하는 데에 드는 비용은 사실상 없다. 하지만 새로운 스마트카드나 지문을 등록하기 위해서는 시스템적으로 필요한 장비나 절차가 추가로 필요한 법이다. 또한 사용자가 해당 패스워드를 기억하기만 하면 언제 어디서나 즉각적으로 사용할 수 있기 때문에 편리하기까지 하다.

     

    문제는 이러한 패스워드가 생각보다 보안적으로 아주 취약할 수 있다는 것이다. 대부분의 사용자들은 패스워드를 생성할 때 취약한 패스워드를 선택하는 경향이 있고, 다른 시스템에서 사용하는 패스워드를 동일하게 사용할 가능성이 높다.

    키와 패스워드

    이전까지 알아본 암호 체계에서는 대칭키 방식이든 공개키 방식이든 키를 사용했다. 이러한 키는 보통 암호학적 난수를 이용해 무작위로 생성되는데, 이는 패스워드와 달리 안전하다는 평가를 받는다. 왜 그럴까?

     

    먼저 공격자가 64비트 길이의 암호키를 풀어내고자 한다. 이때 암호 알고리즘은 안전하여 전수키조사밖에 공격 방법이 없다고 가정하자. 이 경우 조합 가능한 키는 전부 $2^{64}$개이며, 이 중에서 정확한 키를 찾아내기까지 공격자는 평균적으로 $2^{63}$개의 키를 일일이 시도해봐야 한다.

     

    반면 256가지 문자를 사용하여 만들 수 있는 8자리 패스워드를 공격자가 알아내고자 한다고 해보자. 이 경우 조합 가능한 8개 문자는 총 $256^{8}=2^{64}$로 앞서 살펴본 64비트 길이의 암호키의 전수키조사와 마찬가지의 경우이다. 하지만 보통의 사용자들은 절대로 8개의 문자를 무작위로 선택하지 않는다. 스스로 기억할 수 있는 수준의 단어를 사용할 가능성이 훨씬 높기 때문이다.

     

    만약 사용자가 패스워드로 사용할만한 8개로 된 문자가 1,000,000개 정도 담긴 패스워드 사전이 존재한다면, 공격자가 패스워드를 성공적으로 알아낼 수 있는 확률이 매우 높아진다.

     

    즉, 수학적으로 64비트 길이의 암호키와 8자리의 패스워드는 보안성이 같다. 하지만 완전 무작위로 생성하였는지 아닌지가 보안적으로 큰 차이를 가져온다.

    패스워드 선정

    이러한 이유로 패스워드를 취약하지 않게 만들어내는 것이 중요하다. 그렇기 때문에 다른 공격자가 추측하기 어려운 패스워드를 사용해야 하는데, 동시에 사용자 자신도 패스워드를 기억해야만 한다. 따라서 기억하기 쉬우면서도 추측이 어려운 패스워드를 생성해야 하는데, 어떠한 방법을 사용하는 것이 효율적일까?

     

    가장 효율적인 방법이 있는데, 이는 패스프레이즈라는 방법이다. 이는 패스워드를 단순한 단어가 아닌 문장으로 구성하는 방식으로, 추측하기도 힘들지만 기억하기는 쉬운 방법에 해당된다.

     

    예를 들어 'FSa7Yago'라는 패스워드가 있다고 하자. 공격자를 비롯한 다른 사람들은 해당 단어를 추측하기 어려울 것이다. 당장 답을 보고 있으면서도 무슨 뜻인지를 알지 못하므로, 사실상 무작위로 생성한 단어가 아닐까 싶을 정도이다. 하지만 해당 패스워드를 사용하는 사용자는 이를 쉽게 기억할 수 있다. 이는 "four score and seven years ago"라는 문장의 각 단어 첫 문자를 적당히 따온 것이다. 해당 문장을 평소에 잘 알고 있었던 사용자는 해당 패스워드를 기억하지 쉽지만, 그와 관련 없는 사람들의 경우 저 단어를 유추하는 것 자체가 어렵게 된다.

     

    이와 관련하여 흥미로운 실험이 진행된 적이 있다. 해당 실험에서는 실험에 참가한 사람들을 세 그룹으로 분류하고, 각 그룹별로 각기 다른 기준으로 패스워드를 선정하도록 하였다.

    • 그룹 A: 영문자가 아닌 기호를 최소 한 개 이상 포함해 6개 이상의 문자로 패스워드를 구성
    • 그룹 B: 패스프레이즈를 기반으로 패스워드를 구성
    • 그룹 C: 8개 문자를 무작위로 선택해 패스워드를 구성

    그리고 각 그룹에 속한 사용자의 패스워드를 알아내는 신도를 한 결과 다음과 같은 실험 결과를 얻었다.

      패스워드 공격 결과 패스워드 기억 정도
    그룹 A 약 30%의 패스워드가 풀림 자신의 패스워드를 쉽게 기억함
    그룹 B 약 10%의 패스워드가 풀림 자신의 패스워드를 쉽게 기억함
    그룹 C 약 10%의 패스워드가 풀림 자신의 패스워드를 기억하는 데 어려움이 있음

    즉, 해당 실험 결과에 따르면 패스프레이즈를 기반으로 한 패스워드 선정 방식이 풀기는 힘들면서 기억하기도 용이하여, 가장 우수한 방식이라는 것을 알 수 있다.

    패스워드를 통한 시스템 공격

    특정 시스템에 대한 접근권한을 가지지 못한 공격자가 시스템을 공격하기 위해서는, 먼저 시스템 사용이 가능한 계정에 대해 접근을 시도할 것이다. 이후 해당 시스템 내에서 기회를 보다가 자신의 권한 수준을 올리려는 시도를 할 것이다.

     

    이러한 시나리오를 막기 위해서 시스템은 해당 공격자가 애초에 시스템 내부로 침입하는 것을 막아야 한다. 문제는 해당 시스템을 사용하고 있는 사용자들 중에서 취약한 패스워드를 사용하고 있는 사용자가 단 한 명이라도 존재한다면, 이를 통해서 공격자가 첫 단계 공격을 성공시킬 수 있다는 것이다.

     

    아무리 패스프레이즈와 같이 패스워드의 보안성을 높일 수 있는 방법을 연구하거나, 시스템이 3개월에 한 번씩 사용자에게 패스워드를 변경하라고 경고를 한다고 해도, 사용자가 이를 지키지 않으면 보안상의 문제를 방지하기가 힘들다. 따라서 사용자에게 어느 정도 강력한 패스워드를 선정하도록 강제할 수 있어야 하는데, 이는 말처럼 쉬운 일이 아니다.

     

    또는 패스워드 공격이 발생했을 때, 시스템이 어떤 식으로 대응하느냐도 보안에 영향을 끼칠 수 있다. 예를 들어 틀린 패스워드를 5회 이상 반복적으로 시도하는 경우 해당 계정을 잠시 잠그는 시스템이 있을 수 있다. 이는 사용자들이 패스워드를 강력하게 만들지 않더라도, 시스템이 자체적으로 악의적인 공격자로부터 사용자를 보호하기 위한 수단이라고 볼 수 있다.

     

    문제는 만약 이러한 방식을 사용한다면 얼마나 오랫동안 해당 계정을 잠금 상태로 지속해야 할까?

    만약 잠금 상태 지속이 짧다면, 공격자는 별로 아랑곳하지 않을 것이다. 그 사이 다른 계정들을 공격하러 가면, 지연 없이 모든 계정을 돌아가면서 공격할 수 있을 것이기 때문이다.

     

    그렇다면 잠금 상태 지속을 길게 설정한다면 어떨까? 이러한 경우에는 역으로 시스템이 서비스 거부 공격에 노출될 수 있다. 공격자가 해당 계정의 패스워드를 탈취하지는 못하겠지만, 모든 계정들을 잠금상태로 만들어 버리는 것으로 목표로 한다면, 오히려 일반적인 사용자들이 자신의 계정을 사용하지 못하는 문제가 발생할 수 있다. 이는 보안의 3가지 요소 중 하나인 가용성을 충분히 지키지 못한 경우로, 이러한 경우로 보안에 문제가 생겼다고 할 수 있다.

     

    따라서 이러한 딜레마에 대한 근본적인 해결책은 사실상 없다고 볼 수 있다. 하지만 그럼에도 이러한 사실을 인지하고 적당한 수준의 보안을 유지할 수 있을 정도로 시스템을 설계하는 것이 중요한 것이다.

    패스워드 검증

    컴퓨터가 패스워드를 이용해 접근하려는 사람을 검증하기 위해서는, 해당 시스템 내에 입력된 패스워드의 유효성을 결정할 비교대상이 반드시 존재해야 한다. 하지만 그렇다고 해서 사용자의 패스워드를 어떠한 파일에 그대로 저장해 두고 비교하는 방식은 위험하다. 해당 파일이 공격자의 최우선 목표가 될 것이기 때문이다.

     

    따라서 보통 해시함수를 사용하여 사용자의 패스워드를 저장한다. 이전의 해시함수 포스트에서도 설명했지만, 출력값을 가지고 입력값을 예측할 수 없는 해시함수의 단방향적인 특성상 해시된 패스워드를 파일에 저장하는 것으로는 공격자가 원래 패스워드를 알아내는 것은 어렵다고 볼 수 있다.

     

    따라서 사용자의 원래 비밀번호를 y = h(FSa7Yago)와 같은 식으로 해시하고, 이때 만들어진 y값을 파일에 저장하는 것이다. 그리고 이후 사용자가 본인을 인증하기 위해 패스워드 x를 입력한다고 하면, y = h(x)를 만족하는지를 비교해서 입력된 패스워드가 유효한지를 확인할 수 있다.

     

    문제는 앞에서 말했듯이 대부분의 패스워드는 예측하기 쉽고, 보안성이 낮은 패턴으로 형성되어 있을 가능성이 높다고 했다. 따라서 대부분의 공격자들은 이러한 공통적인 패스워드들을 미리 담고 있는 사전을 가지고 있을 가능성이 높다.

    이때 해시처리된 패스워드들을 저장하고 있는 시스템의 파일에 공격자가 접근할 수 있다고 해보자.

     

    공격자가 가지고 있는 사전은 패스워드에 대한 사전이고, 공격자가 탈취한 파일은 해시된 값이 저장된 파일이니까 탈취당해도 큰 문제가 없어 보일 수도 있지만, 이는 잘못된 생각이다.

     

    공격자가 패스워드 사전에 있는 값들을 모두 해시하여 해시 사전을 만들었다고 해보자. 이러한 해시 사전을 보통 레인보우 테이블이라 부르는데, 이러한 사전이 이미 존재한다면, 공격자는 탈취한 파일에서 자신의 사전과 같은 해시 값이 있는지만 비교해 보면 된다. 만약 같은 값이 있다면 해당 해시의 입력값인 원래 패스워드도 당연히 알 수 있게 될 것이다.

     

    이러한 공격방식은 해시 알고리즘을 아무리 어렵게 만들거나, 시간이 오래 걸리게 만들어도 사실상 소용이 없다. 얼마만큼의 시간이 걸리든, 해당 시간은 공격자가 미리 사전을 만들 때에나 드는 시간이다. 한번 사전을 제작했다면 이를 이용해 실제 공격을 진행할 때는 단순 비교연산만 진행하면서 공격을 할 것이기 때문에, 매우 빠른 속도로 공격을 할 수 있다. 심지어 한번 사용한 사전은 다른 시스템의 패스워드를 공격하기 위해서도 사용할 수 있으므로, 공격자의 입장에서는 아주 효율적인 방법인 셈이다.

     

    그렇다면 이러한 공격을 막기 위한 방법은 무엇이 있을까?

    일반적으로 이러한 공격을 막기 위해 패스워드 가염(salt) 방식이라고 불리는 방법이 있다. 원본 패스워드를 해시하기 전에 소금 입자를 뿌리듯이 임의값을 추가하여 함께 해시하는 것이다. 이는 블록 암호 모드 중 하나인 CBC모드에서의 초기화 벡터(IV)와 유사한 방식으로, 초기화 벡터가 동일한 평문 블록을 서로 다른 암호문으로 암호화하듯이, 가염값도 동일한 패스워드를 서로 다른 값으로 해시되도록 한다.

     

    이러한 과정은 다음과 같이 진행된다.

    1. 사용자의 패스워드인 p를 저장하기 위해 먼저 임의의 가염값인 s를 생성한다. (s는 항상 달라짐)
    2. y = h(p, s)를 계산하고, (s, y)쌍을 패스워드 파일에 저장한다. (가염값 s는 비밀값이 아님)
    3. 입력된 패스워드 x를 검증하기 위해서는 y = h(x, s)를 만족하는지를 확인한다.

    가염처리를 하든 안 하든 기본적인 패스워드의 검증 작업 자체가 크게 어려워지지는 않았다. 가염값 자체도 비밀이 아니라 패스워드 파일에 그대로 저장되어 있고, 패스워드를 검증할 때에는 이를 꺼내서 함께 해시하는 방식으로 검증하기만 하면 되기 때문이다.

     

    하지만 공격자에게는 이러한 약간의 변화가 아주 큰 걸림돌이 된다. 만약 공격하려는 시스템에 사용자가 N명이 존재한다면, 각 사용자들의 패스워드는 서로 다른 N개의 가염 값으로 해시되어 저장된다. 그렇다면 공격자가 기존의 방식으로 이를 공격하기 위해서는 N개의 서로 다른 값으로 만들어진 해시 사전을 만들어야 한다.

     

    즉, 기존에는 하나의 해시 사전만 만들어두면 언제든지 돌려가며 써먹을 수 있었지만, 이젠 사용자의 수만큼 그에 맞는 가염 값으로 해시된 사전을 만들어야 하므로, 기존보다 N배의 노력이 더 들어가는 셈이다.


    생체인식

    생체인식은 세 가지의 인증방법 중 "본인 자체의 어떤 것"에 해당하는 것으로, 지문이나 홍채, 안면인식, 보행인식과 같이 사용자의 생체적인 특징을 이용하여 그 사람을 인증하는 방법이다.

     

    정보보안 분야에 생체인식을 도입하기 위해서는 해당 생체인식이 패스워드를 대체할 만큼 저렴하고 신뢰성이 있어야 한다. 만약 해당 생체인식 인증방식이 충분히 저렴하고 신뢰성이 있다면, 패스워드보다 보안성이 훨씬 강력하므로 인증분야에 보다 널리 사용될 수 있을 것이다.

     

    현재 2023년을 기준으로 생체인식은 굉장히 보편화되어 있다고 볼 수 있다. 당장 흔히 사용하는 스마트폰에만 해도 대부분의 기종에서 지문인식을 지원하고, 아이폰의 경우 페이스아이디와 같은 안면인식을 지원하기도 한다. 과거에는 이렇게까지 생체인증 방식을 흔하게 사용하지 못했지만, 생체 정보를 저장하는 센서의 기술 발달과, 이를 처리하는 인공지능의 발달로 최근에는 주변에서 흔히 찾아볼 수 있는 인증방식이 되었다.

    이상적인 생체인식 시스템

    생체인식 시스템이 이상적으로 동작하기 다음과 같은 특징을 가지고 있어야 한다.

    • 보편성: 모든 사람에게 적용할 수 있어야 한다.
    • 구별성: 생체인식은 확실한 구별이 가능해야 한다.
    • 영구성: 측정 대상이 되는 신체적 특징은 결코 변하지 않아야 한다.
    • 수집성: 신체적 특징이 대상에 대한 상해 위험 없이 용이하게 수집될 수 있어야 한다.
    • 신뢰성, 강건성, 친화성: 생체인식 시스템이 실세계에서도 신뢰성 있고 튼튼하며, 사용자에게 친숙하게 사용될 수 있어야 한다.

    보통 위의 조건을 모두 만족하는 생체인식 시스템을 만드는 것은 불가능에 가깝다. 따라서 대부분의 생체인식 시스템의 경우 위의 조건을 최대한 만족하는 정도로 만들어진다.

     

    예를 들어 보통 스마트폰에서 사용하는 지문을 이용한 생체인식 시스템에 대해 살펴보자.

     

    보편성의 측면에서 보자면 대부분의 사람에게 지문 시스템을 적용할 수 있을 것이다. 하지만 사고로 인해 손가락 또는 팔이 절단되었거나, 나이가 많이 들어 지문이 많이 닳은 경우 해당 시스템을 사용하는 데 있어 어려움이 있을 수 있다. 실제로 노인분들의 경우 스마트폰의 지문인식이 잘 작동하지 않는 경우가 있을 수 있다.

     

    또한 영구성의 측면에서 볼 때에도 지문이 결코 변하지 않는다는 보장은 없다. 물론 지문 자체가 완전히 다르게 변한다는 뜻은 아니지만, 지문을 가지고 있는 손가락과 이를 포함하는 팔은 언제든 잃을 수 있기 때문이다.

     

    이런 식으로 하나씩 따지자면 이상적인 생체인식 시스템에 비해 현재의 생체 시스템은 너무 부족한 것 같다고 생각이 들 수 있다. 하지만 애초에 이상적인 시스템은 도달이 불가능한 영역이고, 현재의 수준으로도 충분히 보안적인 역할을 잘 수행하고 있다고 할 수 있다. 따라서 이러한 측면들에 대해 알고, 앞으로 보완할 수 있는 부분에 대해서는 조금씩 보안하는 형태로 발전해 나가면 될 것이다.

    생체인식의 오류

    생체인식을 통한 인증 과정에서는 크게 두 가지 형태의 오류가 발생할 수 있다. 실제 사용자가 아님에도 다른 사람을 사용자로 착각하는 형태의 오류가 있을 수 있고, 실제 사용자임에도 다른 사람으로 착각하는 형태의 오류가 있을 수 있다. 이러한 잘못된 인증이 발생하는 비율을 각각 기만율(Fraud Rate)과 모욕률(Insult Rate)이라고 한다.

     

    만약 생체인식 시스템에서 기만율을 낮추기 위해 정밀도를 매우 높여 인증을 진행한다고 해보자. 이러한 경우 실제로 기만율은 크게 낮아져, 실제 사용자가 아닌 다른 사람을 사용자로 착각하는 문제는 생기지 않을 것이다. 하지만 동시에 실제 사용자가 자기 자신을 인증하는 데에도 실패하는 경우인 모욕률이 더 늘어나게 될 것이다.

    반대로 생각해 모욕률을 낮추기 위해 정밀도를 조금 낮춰 여유롭게 인증을 한다고 하면, 당연히 기만율이 높아지게 될 것이다.

     

    이처럼 생체인식 시스템에서 기만율과 모욕률의 감소는 반대편의 희생을 요구하게 되어있다. 더 좋고 정확한 장비와 인식 시스템을 사용한다면 물론 발전을 거듭하겠지만, 중요한 것은 같은 장비를 운용하는 경우에 기만율과 모욕률을 적절하게 조절하는 것이다.

     

    이때 기만율과 모욕률이 서로 같아질 때의 비율을 동일 오류율(Equal Error Rate)이라고 한다. 이러한 동일 오류율은 서로 다른 생체인식 시스템 중 어떤 시스템이 더 좋은지를 비교할 때 유용하게 사용할 수 있다.

    생체인식의 문제점

    물론 생체인식 방식이 패스워드 방식에 비해 훨씬 더 편리하고 보안적으로 안전한 방식이라는 것은 사실이다. 기본적으로 생체정보를 확인하기 위한 장비가 필요하고, 이를 분석하기 위한 기술이 필요하지만, 이는 요즘 상당히 발전하여 대부분 갖춰져 있다고 봐도 무방하다.

     

    하지만 그럼에도 생체인증 방식이 가지는 큰 문제가 하나 있는데, 바로 사용하는 생체정보가 영구적이라는 사실이다. 애초에 이상적인 생체인식 시스템에서 요구하는 5가지의 특징 중 영구성이 있는데, 이게 문제점이 된다는 것이 의아할 수 있다.

     

    물론 안정적으로 생체인식 시스템을 사용하기 위해서는 해당 신체 특징이 영구성을 가지는 게 맞기는 하다. 하지만 만약 공격자에 의해 해당 신체 정보를 탈취당하게 된다면 어떨까? 이는 단순히 개인정보가 유출된다거나, 사생활이 침해된다는 개념의 말이 아니다.

    자신의 신체 특징은 스스로도 쉽게 변경할 수 없으므로, 한번 탈취당하게 된다면 해당 생체 인식 시스템은 영원히 사용할 수 없게 된다는 뜻이다.

     

    패스워드의 경우 공격자에 의해 탈취당한다고 해도, 추후에 이를 알아채고 다른 패스워드로 변경하면 될 일이다. 하지만 만약 지문 정보를 탈취당했다고 한다면 어떨까? 해당 공격자가 언제 내 지문을 가지고 다시 공격을 할지 모르기 때문에, 그 사람은 평생 지문을 이용한 인증 시스템은 사용하지 못할 것이다. 사용하지 않는 편이 오히려 더 보안에 도움이 될 것이다.

     

    최근에는 고화질의 사진에 찍힌 사람의 얼굴만 가지고도 홍채 인증에 필요한 정보를 빼낼 수 있다고도 한다. 지문 역시 마음먹고 탈취하려고 한다면, 그 사람의 지문이 찍힌 물건 하나만으로도 정보가 새어나갈 수 있다.

    이처럼 생체인식은 흔히 해커들이 공격하는 특수한 공격방법뿐 아니라, 현실에서 직접적으로 정보를 도난당할 가능성 역시 존재할 수 있고, 한번 탈취당한 정보를 재사용할 수 없다는 점이 가장 큰 문제점이라고 할 수 있다.

    댓글