2019년 3월 14일 목요일

[특허침해 손해배상] 소프트웨어앱 애플리케이션에 대한 특허에 관하여 문언침해에 해당하지 않고 피고 실시기술이 선행발명으로부터 용이하게 실시할 수 있는 자유실시기술에 해당하여 원고의 침해금지 및 손해배상 청구를 기각한 판결


특허법원 2018. 10. 4. 선고 20172134 판결

1. 사실관계

. 원고의 사건 특허발명

(1) 발명의 명칭 : 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 컴퓨터로 읽을 있는 기록 매체
(2) 출원일/ 등록일/ 등록번호 : 2014. 2. 19./ 2016. 1. 28./ 특허 1591503
(3) 청구범위
【청구항 1 라이브러리 형태로 구현된 자기 방어 보안 모듈과 타겟 애플리케이션을 포함하는 패키지 애플리케이션이 실행되는 단계(이하구성요소 1’이라 한다); 상기 패키지 애플리케이션이 실행되는 동안, 상기 자기 방어 보안 모듈이 해킹을 감시하는 단계(이하구성요소 2’ 한다); 상기 해킹을 감지한 상기 자기 방어 보안 모듈이 API(Application Programming Interface) 통해 감지 신호를 상기 타겟 애플리케이션으로 전송하는 단계(이하구성요소 3’이라 한다); 상기 타겟 애플리케이션이 상기 감지 신호에 응답하여 실행을 중지하는 단계를 포함하고(이하구성요소 4’ 한다), 상기 해킹은 운영 체제의 변조, 화면 캡쳐 프로그램 실행, 화면 캡쳐 키의 실행, 해킹 프로그램의 실행, 외부 장치의 접속, 애뮬레이터를 이용한 상기 타겟 애플리케이션의 실행, 또는 리모트 접속 프로그램의 실행 중에서 적어도 하나를 포함(이하구성요소 5’ 한다)하는 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법(이하 사건 1 발명이라 하고, 나머지 청구항도 같은 방식으로 부른다).


. 피고 실시방법

피고는 [별지 1] 기재와 같은 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법을 컴퓨터 프로그램으로 작성하여, [별지 2] 기재와 같은 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 있는 기록 매체에 저장하고 이를 이용한 서비스를 제공하고 있다(이하피고 실시방법이라 한다).

. 선행발명들

(1) 선행발명 1
2010. 8. 13. 국내공개특허공보 2010-90119호로 공개된애플리케이션 가상화를 위한 이동형 메모리 장치의 보안 제공방법 상기 이동형 메모리 장치 관한 것이다.
(2) 선행발명 2
2013. 4. 19. 국내등록특허공보 1256453호로 공개된루팅 탐지 장치 방법 관한 것이다.

2. 사건 1 발명에 관한 청구범위 해석

. 관련 법리

특허발명의 보호범위는 특허청구범위에 기재된 사항에 의하여 정하여지는 것이 원칙이고, 다만 기재만으로 특허발명의 기술적 구성을 없거나 수는 있더라도 기술적 범위를 확정할 없는 경우에는 명세서의 다른 기재에 의한 보충을 수는 있으나, 경우에도 명세서의 다른 기재에 의하여 특허청구범위의 확장 해석은 허용되지 아니함은 물론 특허청구범위의 기재만으로 기술적 범위가 명백한 경우에는 명세서의 다른 기재에 의하여 특허청구범위의 기재를 제한 해석할 없다(대법원 2011. 2. 10. 선고 20102377 판결 참조).

. ‘라이브러리 관한 청구범위 해석

사건 1 발명의 청구범위에는 라이브러리형태로 구현된 자기 방어 보안 모듈과 타겟 애플리케이션을 포함하는 패키지 애플리케이션이 실행되는 단계”(구성요소 1)라는 기재가 있다.

이와 관련하여 피고는, “ 사건 1 발명 구성요소 1라이브러리 문언적 의미가 프로그램을 위해 제공되는 표준화되거나 특화된 기능을 수행하는 프로그램 코드이므로, 특정 구성이 전체 프로그램 자체에 포함되어 있고 전체 프로그램 코드가 일체로 컴파일되어 실행 가능하다면 특정 구성은라이브러리 해당하지 않는 것으로 한정하여 해석하여야 한다 취지로 주장한다.

그러나 다음과 같은 이유로 사건 1 발명의라이브러리 이에 해당하는 구성이 전체 프로그램 자체에 텍스트 형태로 삽입되어 있고 전체 프로그램 코드와 일체로 컴파일되어 하나의 실행파일을 생성하는 경우도 포함하는 것으로 해석함이 상당하고, 따라서 피고의 주장은 이를 받아들일 없다.

사건 특허발명의 명세서에는 자기 방어 보안 모듈이 라이브러리 형태로 삽입{또는 머지(merge)}된다는 내용이 기재되어 있다( 4호증의 5 밑에서 5 참조). 그런데 컴퓨터 용어로 사용되는삽입입력이 완료된 문서 중의 지정된 위치에 별도의(새로운) 텍스트 또는 문자열을 끼워 넣는 조작 의미하는 것으로2) 프로그램 코드를 컴파일한 파일들을 서로 병합하는머지 구별되어 사용되는 것이 일반적이다. 그렇다면 사건 특허발명 명세서의 청구범위에 기재된라이브러리 프로그램 코딩 과정에서 문자열로 끼워 넣을 있는 형태로 작성된 서브루틴으로서 전체 프로그램 코드에 삽입되어 일체로 컴파일되는 형태의 것도 포함한다고 봄이 상당하다.

게다가 7호증의 기재에 의하면, 라이브러리의 문언적인 의미도 소프트웨어를 개발할 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임으로, 구성 데이터, 문서, 도움말 자료, 메시지 , 미리 작성된 코드, 서브루틴(함수), 클래스, , 자료형 사양을 포함할 있는 것임을 있다.

비록 13호증의 기재에 의하면, ‘안드로이드 라이브러리 구조적으로 다른 안드로이드 모듈에 종속되는 파일의 확장자(AAR) 컴파일되는 점을 제외하면 안드로이드 모듈과 동일하다는 점을 있어, ‘안드로이드 라이브러리 다른 안드로이드 모듈과 분리된 코드로 작성되고 작성된 코드는 컴파일 과정을 거쳐 안드로이드 라이브러리를 사용하는 모듈과는 별개로 존재하는 실행파일을 생성하는 것으로 이해될 있기는 하지만, 이는안드로이드 라이브러리에만 한정하여 적용되는 사항이므로, 이러한 사정만으로는안드로이드 라이브러리 한정되지 않은 사건 1 발명의라이브러리 전체 프로그램과 구조적으로 동일한 것이어서 전체 프로그램과 분리된 코드로 작성되고 작성된 코드는 컴파일 과정을 거쳐 전체 프로그램에 대해서 별도로 존재하는 실행파일을 생성하는 것으로 단정하기 어렵다.

. ‘타겟 애플리케이션 관한 청구범위 해석

사건 1 발명의 청구범위에는라이브러리 형태로 구현된 자기 방어 보안 모듈과 타겟 애플리케이션을 포함하는패키지 애플리케이션 실행되는 단계”(구성요소 1)라는 기재가 있다.

이와 관련하여 피고는, “ 사건 1 발명 구성요소 1패키지 애플리케이션 타겟 애플리케이션과 이와 대등한 목적코드로 이루어진(구조적으로 동일한) 독립된 자기 방어 보안 모듈이 결합하여 구성되는 것으로 한정하여 해석되어야 하므로, 타겟 애플리케이션과 자기 방어 보안 모듈이 일체로 프로그램되어 있는 구성은패키지 애플리케이션 해당하지 않는 것으로 보아야 한다 취지로 주장한다.

그러나 사건 특허발명의 명세서에는 패키지 애플리케이션(10A) 라이브러리(library) 형태로 구현된 자기 방어 보안 모듈(100A) 타겟 애플리케이션(target application; 200) 포함한다 기재가 있는바( 4호증의 5 밑에서 6, 7 참조), 이와 같은 기재에 앞서 바와 같이 사건 특허발명의라이브러리 프로그램 코딩과정에서 문자열로 끼워 넣을 있는 형태로 작성된 서브루틴으로서 전체 프로그램 코드에 삽입되어 일체로 컴파일될 수도 있는 것이라는 점을 보태어 보면, 사건 1 발명의패키지 애플리케이션 자기 방어 보안 모듈의 기능을 수행하는 서브루틴이 타겟 애플리케이션 프로그램 코드에 삽입되어 일체로 작성되고 컴파일되는 형태의 것도 포함하는 것으로 해석함이 상당하고, 따라서 피고의 주장은 이를 받아들일 없다.

. ‘API’ 관한 청구범위 해석

사건 1 발명의 청구범위에는상기 해킹을 감지한 상기 자기 방어 보안 모듈이 ‘API(Application Programming Interface)’ 통해 감지 신호를 상기 타겟 애플리케이션으로 전송하는 단계”(구성요소 3)라는 기재가 있다.

이와 관련하여 원고는, “ 사건 1 발명 구성요소 3 ‘API’ 응용 프로그램 내부에서 서브루틴과 메인 프로그램 사이의 통신에 사용되는 정보 전달방식도 포함하는 것으로 해석되어야 한다 취지로 주장한다.

그러나 다음과 같은 이유로 사건 1 발명의 ‘API(Application Programming Interface)’ 응용 프로그램과 운영체제 또는 응용 프로그램 간의 정보 전달방식으로 해석될 뿐으로서, 하나의 응용 프로그램 내부에서 서브루틴과 메인 프로그램 사이의 통신에 사용되는 정보 전달방식은 포함하지 않는 것으로 봄이 상당하고, 따라서 원고의 주장은 이를 받아들일 없다.

사건 특허발명의 명세서에는자기 방어 보안 모듈(100A) 해킹(또는 데이터에 대한 유출) 감지한 경우, 자기 방어 보안 모듈(100A) API(application programming interface) 통해 감지 신호를 타겟 애플리케이션(200)으로 전송할 있다. , 자기 방어 보안 모듈(100A) API 통해 타겟 애플리케이션(200) 통신할 있다 기재( 4호증의 6 27 참조) 5 패키지 애플리케이션(10C)에서는 자기 방어 보안 모듈(100C) 타겟 애플리케이션(200) 사이에는 API 같은 통신 수단이 없으므로, 자기 방어 모듈(100C) 타겟 애플리케이션(200) 미리 정해진 보안 정책(security policy) 따라 보안 기능을 수행 또는 제공할 있다 기재( 4호증의 8 밑에서 4 내지 6 참조) 있다. 그런데 타겟 애플리케이션을 자기 방어 보안 모듈로 랩핑(wrapping)하였을 타겟 애플리케이션과 자기 방어 보안 모듈 사이에는 어떠한 형태로든 통신 수단이 필요함에도 불구하고, 사건 특허발명 명세서에서 다른 실시예에서는 자기 방어 보안 모듈과 타겟 애플리케이션 사이에 존재하는 API 같은 통신 수단이 5 나타난 자기 방어 보안 모듈이 타겟 애플리케이션을 랩핑(wrapping)하는 실시예에서는 존재하지 않는 것으로 기재하고 있는 점에 비추어 보면, 사건 특허발명의 명세서에서는 ‘API’ 의미를 랩핑(wrapping) 같은 구성에서는 전혀 사용될 필요가 없는 정보 전달방식인 운영체제와 응용 프로그램 또는 응용 프로그램 간의 정보 전달방식만을 의미하는 것으로 한정하여 사용하고 있는 것으로 봄이 상당하다.

게다가 9호증의 기재에 의하면, API 대한 예시로 Window API, JAVA API, HTML5 API, Android API 등을 들고 있음을 있다. 인정사실에 의하면, ‘API’라는 단어는 서브루틴과 메인 프로그램 사이의 통신(함수 호출) 사용되는 일반적인 정보 전달방식으로 개인이 하나의 프로그램을 작성할 필요에 따라 정의될 있는 것이 아니라, Window, JAVA, Android 등과 같이 특정 운영체제나 HTML5 같은 홈페이지 작성 언어를 이용하여 불특정의 다수 프로그래머가 작성한 프로그램들이 상호 연계될 있도록 사전에 정의한 정보 전달방식을 의미하는 것으로 사용되는 것이 통상적인 것으로 보인다.

비록 8호증의 기재에 의하면, API 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식을 말하는 것으로 구현 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것임을 있기는 하지만, 이는 API구현 대한 것이지 자체의 의미 대한 것이 아니어서 이러한 사정만으로는 사건 1 발명의 ‘API’ 서브루틴과 메인 프로그램 사이의 통신이나 함수 호출을 의미하는 것이라고 단정하기 어렵고, 달리 이를 인정할 증거가 없다.

3. 피고 실시방법이 사건 특허 발명의 보호범위에 속하는지 여부

. 관련 법리

특허권침해소송의 상대방이 제조 등을 하는 제품 또는 사용하는 방법(이하침해 제품 이라고 한다) 특허발명의 특허권을 침해한다고 있기 위해서는 특허발명의 청구범위에 기재된 구성요소와 구성요소 간의 유기적 결합관계가 침해제품 등에 그대로 포함되어 있어야 한다(대법원 2015. 8. 27. 선고 20147964 판결 참조).

. 사건 1 발명과 피고 실시방법의 구성요소별 대비

(1) 구성요소 대비표


(2) 공통점 차이점 분석
() 구성요소 1 대비
구성요소 1 피고 실시방법의 대응구성은 라이브러리 형태로 구현된 자기 방어 보안 모듈(보안 함수) 타겟 애플리케이션(금융 애플리케이션) 포함하는 패키지 애플리케이션(메인 프로그램) 실행되는 단계라는 점에서 공통된다.

다만, 피고 실시방법의 보안 함수는 금융 애플리케이션에 일체로 삽입되어 있는 반면, 구성요소 1 자기 방어 보안 모듈은 라이브러리 형태로 구현된 점이 명시적으로 기재되어 있어 표현상 차이가 있다. 그런데 앞서 바와 같이 구성요소 1 라이 브러리는 이에 해당하는 구성이 전체 프로그램 자체에 텍스트 형태로 삽입되어 있는 경우도 포함하고 있는 것으로 해석함이 상당하므로, 대응구성은 실질적으로 동일하다.

() 구성요소 2 대비
구성요소 2 패키지 애플리케이션이 실행되는 동안 자기 방어 보안 모듈이 해킹을 감시하는 것이다. 그런데 피고 실시방법의 대응구성도 메인 프로그램이 실행되는 동안 발생하는 화면 전환 시점에 해킹을 확인하는 보안 함수를 실행시키는 것이다. , 구성요소 1 패키지 애플리케이션이 실행되는 동안이라는 시점과 피고 실시방법의 화면 전환 시는 표현상의 차이에도 불구하고 패키지 애플리케이션(메인 프로그램) 실행되는 동안 자기 방어 보안 모듈(보안 함수) 해킹을 감시하는 것이라는 점에서 실질적으로 동일한 구성이다.

() 구성요소 3 대비
구성요소 3 피고 실시방법의 대응구성은 해킹을 감지한 자기 방어 보안 모듈(보안 함수) 감지 신호를 타겟 애플리케이션(금융 애플리케이션을 포함하고 있는 메인 프로그램) 전송하는 것이라는 점에서 공통된다.

다만, 구성요소 3 감지신호는 자기 방어 보안 모듈로부터 ‘API’ 통해 타겟 애플리케이션으로 전송되는 반면, 피고 실시방법의 감지신호는 함수 호출을 통해 전송된다는 점에서 차이가 있다.

() 구성요소 4 대비
구성요소 4 피고 실시방법의 대응구성은 감지신호에 응답하여(해킹이 확인되면) 타겟 애플리케이션(금융 애플리케이션) 실행을 중지한다는 점에서 동일하다.

() 구성요소 5 대비
구성요소 5 해킹이 운영 체제의 변조, 화면 캡쳐 프로그램 실행, 화면 캡쳐 키의 실행, 해킹 프로그램의 실행, 외부 장치의 접속, 애뮬레이터를 이용한 상기 타겟 애플리케이션의 실행 또는 리모트 접속 프로그램의 실행 중의 하나라는 것이다. 그런데 피고 실시방법의 대응구성은 해킹이 운영 체제의 변조(루팅)라고 특정한 것인바 이는 구성요소 5 열거된 해킹방법 하나이므로, 구성요소 5 피고 실시방법의 대응구성은 동일하다.

. 차이점에 대한 검토

앞서 바와 같이 구성요소 3 감지신호는 자기 방어 보안 모듈로부터 ‘API’ 통해 타겟 애플리케이션으로 전송되는 반면, 피고 실시방법의 감지신호는 함수 호출을 통해 전송된다는 점에서 차이가 있다. , 피고 실시방법의 해킹 감지신호는 함수 호출을 통해 메인 프로그램으로 전송되는 구성으로서, 구성요소 3 해킹 감지신호가 'API' 통해서 타켓 애플리케이션으로 전송되는 것과 구별된다.

나아가 구성요소 3 ‘API(Application Programming Interface)’ 응용 프로그램과 운영체제 또는 응용 프로그램 간의 정보 전달방식으로 해석될 뿐으로서, 하나의 응용 프로그램 내부에서 서브루틴과 메인 프로그램 사이의 통신에 사용되는 정보 전달방식은 포함하지 않는 것임은 앞서 바와 같다.

따라서 하나의 응용 프로그램 내부에서 서브루틴과 메인 프로그램 사이의 통신에 사용되는 정보 전달방식에 해당하는 함수 호출 방식인 피고 실시방법의 대응구성은 사건 1 발명의 구성요소 3 동일하다고 없으므로, 피고 실시방법은 사건 1 발명의 구성요소 3 동일한 구성을 포함하고 있지 않다.

. 검토결과

결국 피고 실시방법은 사건 1 발명의 구성요소 3 결여하고 있으므로, 피고 실시방법은 사건 1 발명의 보호범위에 해당하지 않는다. 이와 같이 피고 실시방법이 사건 1 발명의 보호범위에 해당하지 않는 이상, 사건 1 발명을 인용하는 종속항들인 사건 4, 6 발명의 보호범위에도 해당하지 않는다.

4. 피고 실시방법이 자유실시기술에 해당하는지 여부

. 관련 법리

특허권침해소송의 상대방이 제조 등을 하는 제품 또는 사용하는 방법이 공지의 기술만으로 이루어지거나 기술분야에서 통상의 지식을 가진 사람(이하통상의 기술자라고 한다) 공지기술로부터 용이하게 실시할 있는 경우에는 특허발명과 대비할 필요 없이 특허발명의 권리범위에 속하지 않게 된다(대법원 2013. 9. 12. 선고 201236326 판결 참조).

. 피고 실시방법과 선행발명 2 구성요소별 대비

(1) 피고 실시방법의 구성요소별 대비표




(2) 공통점 차이점 분석
() 피고 실시방법의 구성요소 1, 3 대비
피고 실시방법의 구성요소 1, 3 선행발명 2 대응구성은 보안 함수(루팅 탐지 장치) 금융 애플리케이션(뱅킹 애플리케이션 등의 루팅 탐지를 필요로 하는 애플리케이션) 구비하고, 보안함수(루팅 탐지 장치) 해킹(루팅) 감지한 경우 감지 신호를 금융 애플리케이션을 포함하는 메인 프로그램(뱅킹 애플리케이션 등의 루팅 탐지를 필요로 하는 애플리케이션) 전송한다는 점에서 공통된다.

다만, 피고 실시방법에서는 보안함수와 금융 애플리케이션이 일체로 삽입되어 하나의 메인 프로그램으로 작성되고 보안함수와 금융 애플리케이션간의 정보 전달 방식이 함수 호출 방식이라고 구체화되어 있는 점에서 차이가 있다.

() 피고 실시방법의 구성요소 2, 4, 5 대비
피고 실시방법의 구성요소 2, 4, 5 선행발명 2 대응구성은 해킹(루팅) 확인하는 보안 함수(루팅 탐지 장치) 안드로이드 고유 명령어(su) 이용하고, 금융 애플리케이션(뱅킹 애플리케이션 등의 루팅 탐지를 필요로 하는 애플리케이션) 동작하는 중에 보안 함수(루팅 탐지 장치) 실행되며, 보안 함수(루팅 탐지 장치) 의해 해킹이 확인되면 금융 애플리케이션(뱅킹 애플리케이션 등의 루팅 탐지를 필요로 하는 애플리케이션) 중지된다는 점에서 동일하다.

. 차이점에 대한 검토

앞서 바와 같이 피고 실시방법의 구성요소 1, 3 선행발명 2 대응구성은, 피고 실시방법에서는 보안함수와 금융 애플리케이션이 일체로 삽입되어 하나의 메인 프로그램으로 작성되고 보안함수와 금융 애플리케이션간의 정보 전달 방식이 함수 호출 방식이라고 구체화되어 있는 점에서 차이가 있다.

그러나 차이점은 다음과 같은 이유로 통상의 기술자가 선행발명 2 또는 선행발명 2 주지관용기술의 결합에 의하여 쉽게 극복할 있는 것으로 보이므로, 피고 실시방법은 자유실시기술에 해당한다.

1, 2, 3, 6호증의 기재에 의하면, 사건 특허발명의 출원일 전부터 안드로이드 스마트폰에 설치되는 금융 애플리케이션의 보안상 문제점에 대해서 널리 알려져 있었고 이와 같은 문제점을 해결하기 위한 안드로이드 운영체제의 변조(루팅) 탐지하는 프로그램 코드도 제시되어 있었다는 사실을 있다. 또한 4호증의 기재에 의하면, 안드로이드 운영체제가 변조(루팅) 것이 탐지되면 금융 애플리케이션이 구동되지 않도록 특정 파일(su) 이용하는 방법은 이미 사건 특허발명의 출원일 전부터 널리 알려져 있었고, 이를 이용한 위변조 솔루션의 도입도 당시 완료되었다는 사실을 있다. 따라서 안드로이드 운영체제가 변조(루팅) 것이 탐지되면 금융 애플리케이션이 구동되지 않도록 특정 파일(su) 이용하는 방법을 금융 애플리케이션과 결합하는 기술은 사건 특허발명의 출원일 당시를 기준으로 주지관용기술에 불과한 것으로 봄이 상당하다.

선행발명 2 명세서에는첨부된 블록도의 블록과 흐름도의 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 인스트럭션들이 블록도의 블록 또는 흐름도의 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다 기재( 23호증의 식별번호 [0031] 참조) 있다. 또한 컴퓨터 프로그램 인스트럭션들을 작성하면서 일부 기능을 서브루틴의 형태의 함수로 코딩하여 주요 기능을 하는 부분을 메인 프로그램에 삽입하여 작성하는 것은 기술분야의 통상의 기술자가 필요에 따라 선택할 있는 단순 설계사항이거나 단순한 프로그램 작성 기법에 불과할 뿐이고, 브루틴의 형태의 함수와 메인 프로그램과의 통신 수단이 함수 호출과 같은 형식이 되는 것은 자명한 사항이다. 따라서 피고 실시방법과 같이 루팅 탐지 기능을 하는 보안 함수와 금융 애플리케이션이 일체로 삽입된 하나의 메인 프로그램으로 작성하고 보안 함수와 금융 애플리케이션간의 정보 전달 방식을 함수 호출 방식으로 하는 것은 선행발명 2로부터 용이하게 도출할 있는 것으로 봄이 상당하다.

. 검토결과

결국 피고 실시방법은 통상의 기술자가 공지기술로부터 용이하게 실시할 있는 자유실시기술에 해당하므로, 사건 1, 4, 6 발명의 보호범위에 속하지 않는다.

5.

따라서 피고 실시방법은, 사건 1, 4, 6 발명의 구성요소를 그대로 포함하고 있지 않을 뿐만 아니라 선행발명 2 등으로부터 용이하게 실시할 있는 자유실시기술에도 해당하므로, 사건 1, 4, 6 발명의 보호범위에 속하지 않는다.

정회목 변호사






댓글 없음:

댓글 쓰기