이제, 본 발명의 바람직한 실시예들이 도면들을 참조하여 상세하게 설명될 것이다. 이들 실시예들에서 설명된 컴포넌트들의 상대적인 구성, 수치 표현들 및 숫자 값들은 달리 특정하여 기술되지 않는 한 본 발명의 범위를 제한하지 않는다.
도 1은 본 발명의 일 실시예에 따른 네트워크 시스템의 구성을 도시하는 도면이다.
이 네트워크 시스템은 MFP(인쇄 장치)(110), 서버 장치(120), 및 클라이언트 장치(130)를 포함한다. MFP(110), 서버 장치(120), 및 클라이언트 장치(130)는, 그들이 서로 데이터를 교환할 수 있도록 네트워크를 통해 접속된다. 도 1은 하나의 MFP(110)와 하나의 클라이언트 장치만을 예시한다. 그러나, 본 시스템은 복수의 MFP들과 복수의 클라이언트 장치들을 포함할 수 있다. 스캐너를 가진 MFP(110)는 복사기 및 네트워크 프린터 양쪽으로 기능할 수 있다.
MFP(110)는 스캐너에 의해 판독된 전자 문서 또는 네트워크(100)를 통해 수신된 전자 문서를 그 저장 수단(HDD) 내에 저장할 수 있다. 전자 메일 클라이언트(전자 메일 송신) 기능을 갖는 MFP(110)는 그 저장 수단 내에 저장된 전자 문서를 전자 메일에 의해 다른 네트워크 장치로 송신할 수 있다. MFP(110)는 전자 서명 등에 사용될 공개키 암호화 수단을 갖는다. MFP(110)는 또한, MFP(110)를 사용하는 사용자의 개인키, 공개키, 및 공개키를 포함하는 전자 인증서를 보유할 수 있다. MFP(110)는 또한, 전자 메일에 의해 전자 문서를 다른 네트워크 장치로 송신하는 경우, 개인키, 공개키, 및 공개키를 포함하는 전자 인증서를 이용하여 저장 수단 내에 저장된 전자 문서에 전자 서명을 추가하는 기능을 갖는다. MFP(110)는 또한, MFP 자신이 보유하고 있는 공개키를 포함하는 전자 인증서의 발행 요구 정보 를 생성할 수 있고 네트워크 상에서 인증국 서비스(CA 서비스)를 실행하는 서버 장치(120)의 전자 인증서 발행을 요구할 수 있다. MFP(110)는 그 요구에 응답하여 서버 장치(120)에 의해 발행된 전자 인증서를 취득하고 보유할 수 있다.
전자 메일 서버 기능을 갖는 서버 장치(120)는 네트워크(100) 상의 장치로부터 송신된 전자 메일을 수신하고 수신된 전자 메일을 지정된 목적지로 전달한다. 서버 장치(120)는 또한, 네트워크(100) 내에서 전자 인증서 발행을 관리하는 인증국 서비스 기능을 갖는다. 인증국 서비스 기능으로, 서버 장치는 MFP(110)로부터 전자 인증서 발행 요구를 수신하고, 발행 요구에 기초하여 전자 인증서를 발행하고, 요청지의 MFP(110)에 발행된 전자 인증서를 송신한다.
전자 메일 클라이언트(전자 메일 수신) 기능을 갖는 클라이언트 장치(130)는 서버 장치(120)로부터, 클라이언트 장치(130)로 설정된 목적지를 갖는 전자 메일을 수신한다.
본 실시예에서, MFP(1l0), 서버 장치(120), 및 클라이언트 장치(130) 사이의 전자 메일 송신/수신에 관련된 제어 및 통신 프로토콜들은 표준 프로토콜들인 SMTP(Simple Mail Transfer Protocol) 및 POP(Post Office Protocol)이다. 그러나, 통신은 임의의 기타 통신 프로토콜들을 이용해 행해질 수 있다. 전자 문서를 네트워크 상의 장치로 송신하기 위해, MFP(110)는 전자 메일 이외의, 예를 들어, SMB(Server Message Block) 프로토콜에 의한 파일 전송 또는 HTTP(Hyper Text Transfer Protocol) 또는 FTP(File Transfer Protocol) 등의 통신 프로토콜을 이용할 수 있다.
도 2는 본 실시예에 따른 인쇄 장치(MFP)(110)의 하드웨어 구성을 도시하는 블록도이다.
CPU(Central Processing Unit)(201)는 ROM(Read Only Memory)(202) 또는 하드 디스크(HD)(209)에 저장된 장치 제어 프로그램을 실행하여 시스템 버스(205)에 접속된 유닛들을 총괄적으로 제어한다. RAM(203)은 주 메모리 또는 CPU(201)의 작업 영역으로서 기능한다. NVRAM(204)은 MFP(110)의 각종 설정 정보 및 상태 정보를 보유하는 비휘발성 메모리이다. 장치 제어기(DVC)(206)는, 예를 들어, MFP(110)의 화상 판독 및 인쇄 기능들에 관련된 스캐너(207) 및 프린터 엔진(212) 등의 하드웨어 장치들(장치들)을 제어한다. 디스크 제어기(DKC)(208)는, 하드 디스크(209)에 대한 액세스를 제어한다. 하드 디스크(209)는, 스풀된 인쇄 데이터 및 본 실시예에 따른 장치 제어 및 기능들을 실행하기 위한 어플리케이션 프로그램들을 저장한다. 하드 디스크(209)는 또한, MFP(110)의 개인키 또는 MFP(110)를 사용하는 사용자의 개인키, 공개키, 및 공개키를 포함하는 전자 인증서를 저장한다. 하드 디스크(209) 내에 저장된 각 프로그램은 RAM(203)에 로드되어 실행된다. 네트워크 인터페이스 카드(NIC)(2l0)는, LAN(Local Area Network)(100)을 통해, 네트워크 프린터 또는 기타 네트워크 장치들과 쌍방향으로 데이터를 교환한다. 터치 패널 표시 화면 및 각종 키들과 버튼들을 갖는 UI(User Interface)(211)는, MFP(l10)가 설정 및 인쇄를 실행하게 지시하거나 전자 서명을 가진 전자 문서를 전자 메일에 의해 송신하도록 지시할 수 있다.
도 3은 본 실시예에 따른 서버 장치(120) 또는 클라이언트 장치(130)의 하드 웨어 구성을 도시하는 블록도이다. 본 실시예에서, 서버 장치(120) 및 클라이언트 장치(130)는, 일반적인 PC의 하드웨어 구성과 동일하지만 제어 프로그램들이 상이한, 동일한 하드웨어 구성을 가진다.
CPU(301)는, ROM(302) 또는 하드 디스크(HD)(311)에 저장되거나 또는 플로피® 디스크(FD)(312) 등의 착탈식 매체로부터 공급되는 프로그램을 RAM(303)에 로드 한다. CPU(301)는 RAM(303)에 로드된 프로그램을 실행하여, 시스템 버스(304)에 접속된 유닛들을 총괄적으로 제어한다. CPU(301), 및 ROM(302) 또는 하드 디스크(HD)(311)에 저장된 어플리케이션 프로그램은 본 실시예에 따라 전자 메일 서버 또는 전자 메일 클라이언트로서 기능하는 수단을 구성한다. HD(311) 내에 설치된 각 프로그램이 RAM(303)에 로드되어 CPU(301)의 제어 하에서 실행된다는 점을 유의한다. RAM(303)은, 주 메모리 또는 CPU(301)의 작업 영역으로서 기능한다. 키보드 제어기(KBC)(305)는, 키보드(KB)(309)나 포인팅 장치(도시되지 않음)로부터 입력된 지시를 제어한다. 표시 제어기(306)는 표시부(310) 상의 표시를 제어한다. 디스크 제어기(DKC)(307)는, 하드 디스크(HD)(311), 및 플로피® 디스크(FD)(312) 등의 착탈식 매체에 대한 액세스를 제어한다. HD(311)는, 예를 들어, 부트 프로그램(기동 프로그램), 복수의 어플리케이션들, 서비스 어플리케이션들, 시스템 파일들, 및 네트워크 관리 프로그램을 저장한다. 네트워크 인터페이스 카드(NIC)(308)는, 네트워크(100)를 통해, 네트워크 프린터 또는 기타 네트워크 장치와 쌍방향으로 데이터를 교환한다.
도 4는 본 실시예에 따른 MFP(110)의 사용자 인터페이스(211)를 형성하는 조 작 패널의 구성을 도시하는 도면이다.
터치 패널(401)은, 메시지 등을 표시할 수 있고, 또한 사용자의 터치 조작에 따라 동작 지시나 각종 설정 등을 입력할 수 있다. 도 4는, 복사 대기 모드인 창을 예시한다. 예를 들어, 복사 크기는 A4, 농도 설정은 "자동", 배율은 "100%", 그리고 복사 부수는 "1"이다. 숫자 키패드(402)는 "1"에서 "9" 및 "0"의 숫자들을 입력하는데 사용된다. 사용자가 서비스 버튼 S를 누를 경우, 각종 서비스 창들이 터치 패널(401) 상에 표시되고, 사용자는 복사를 제외한 서비스를 지시할 수 있다. 사용자가 설정 버튼 R을 누르는 경우, 각종 설정 창들이 터치 패널(401) 상에 표시되고, 사용자는 창들을 보면서 각종 파라미터들을 설정할 수 있다. 사용자는 시작 버튼(403)을 눌러 복사 및 스캔 등의 각종 동작들을 시작하는 것을 지시한다. 사용자는 정지 버튼(404)을 눌러 복사 및 스캔 등의 각종 동작들을 멈추는 것을 지시한다.
본 실시예에 따른 전자 문서 송신 등의 처리들에 대한 지시들이 터치 패널(401) 및 버튼들을 조작하여 주어질 수 있다.
도 5a 및 도 5b는 본 실시예에 따른 MFP(110)의 전자-서명-첨부된 전자 문서의 송신 기능의 동작을 설명하는 흐름도이다. 이 처리를 실행하기 위한 프로그램은 ROM(202) 또는 하드 디스크(209) 내에 저장되고 CPU(201)의 제어 하에 실행된다.
MFP(110)로부터 전자 문서를 송신하기를 원하는 사용자는 MFP(110)의 사용자 인터페이스의 서비스 버튼 S를 누른다. 도 6에 도시된 전자-서명-첨부된 전자 문 서의 송신 기능 동작 창이 표시된다. 사용자는 터치 패널(401)을 터치하거나 각종 버튼들을 누름으로써 동작을 실행시킨다.
본 실시예에서, MFP(110)는 전자 서명을 갖는 전자 문서의 전자 메일을 전자 메일 서버로서 기능하는 서버 장치(120)에 송신할 수 있다. 클라이언트 장치(130)의 전자 메일 클라이언트 어플리케이션은 전자 메일을 수신할 수 있다. 전자 메일을 송신해야 하는 MFP(110)에서, MFP(110)의 전자 메일 송신과 관련된 각종 설정들(서버 장치(120)의 SMTP 서버 어드레스 및 SMTP 인증에 관한 정보)은 미리 실행된다. 설정 시에, 사용자는 사용자 인터페이스(211)의 설정 버튼 R을 눌러 전자 메일 설정 창을 터치 패널(401) 상에 표시하고 설정 창에 따라 각종 정보를 설정한다.
도 6은 본 실시예에 따른 MFP(110)의 전자-서명-첨부된 전자 문서의 송신 기능을 설정하는 사용자 인터페이스 창의 예를 도시하는 도면이다.
도 6을 참조하면, 사용자는 전자 메일의 목적지를 필드(601)에 입력한다. 사용자는 입력 버튼(602)을 눌러 목적지를 목적지 필드(601)에 입력한다. 사용자가 입력 버튼(602)을 누르는 경우, 문자 등을 입력하기 위한 키보드가 터치 패드(401) 상에 표시된다. 사용자는 버튼(603)을 눌러 어드레스 북에 목적지를 지정한다. 사용자가 버튼(603)을 누르는 경우, 어드레스 북이 터치 패널(401) 상에 표시된다. 사용자는 어드레스 북에 포함된 목적지를 지정하여, 목적지 필드(601)에 목적지 입력을 완료한다. 사용자는 필드(604)에, 송신 대상 문서를 저장 수단(하드 디스크(209))에 저장된 전자 문서들로부터 지정한다. 사용자가 전자 문서 참조 버튼(605)을 누르는 경우, 저장 수단에 저장된 전자 문서들의 목록이 터치 패널(401) 상에 표시된다. 사용자는 표시된 전자 문서 목록 내의 특정 전자 문서를 지정함으로써 송신 대상 문서를 지정할 수 있다. 사용자가 파일 포맷 버튼을 누르는 경우, 파일 포맷들이 풀다운 메뉴로 표시된다. 사용자는 송신될 파일 포맷을 선택할 수 있다. 도 6에 도시된 바와 같이, 파일 포맷으로 기본값이 미리 설정될 수 있다. 사용자는 송신 대상 문서의 제목(주체)을 제목 입력 필드(607)에 입력한다. 사용자는 입력 버튼(608)을 눌러 송신 대상 문서의 제목을 입력한다. 입력 버튼(608)의 기능은 전술한 입력 버튼(602)의 기능과 동일하다. 버튼(609)을 눌러서 전자 서명을 송신 대상 문서에 추가하라는 지시를 내린다. 버튼(610)은 타이머 송신을 지정하는데 사용된다. 사용자는 송신 실행 버튼(611)을 눌러 즉시 문서를 송신한다.
MFP(110)의 동작이 도 5a 및 도 5b의 흐름도를 참조하여 다음에서 설명될 것이다.
MFP(110)는 처리의 시작 시에 전자-서명-첨부된 전자 문서의 송신 기능 동작 창을 표시한다고 가정한다. 단계 S1에서, MFP(110)는 사용자 인터페이스(211)로부터의 입력을 대기한다. 일정 종류의 정보가 입력되면(입력 동작이 실행되면), 처리는 단계 S2로 진행한다. 단계 S2에서, MFP(110)는 입력 동작의 유형을 판정한다. 목적지 입력 동작이 실행되었다고 판정되면, 처리는 단계 S3으로 진행하여, RAM(203)에 목적지 정보로서 입력된 전자 메일 어드레스를 저장한다. 목적지 입력 처리가 끝나면, 처리는 단계 S1의 입력 대기로 복귀한다.
단계 S3에서 목적지 정보를 입력하기 위해, 사용자는 도 6의 입력 버튼(602)을 누른다. 그 후, 소프트 키보드가 터치 패널(401) 상에 표시된다. 사용자는 소프트 키보드를 이용하여 송신 전자 메일 어드레스를 입력할 수 있다. 본 실시예에서, 전자 메일 어드레스는 어드레스 북에 보유될 수 있다. 따라서, 목적지 정보로서, 어드레스 북에 보유된 전자 메일 어드레스를 지정하는 것이 또한 가능하다. 어드레스 북에 보유된 전자 메일 어드레스는 NVRAM(204) 또는 하드 디스크(209)에 저장되고, 정보는 필요에 따라 판독된다. 어드레스 북으로부터 목적지 전자 메일 어드레스를 선택하기 위하여, 사용자는 버튼(603)을 누른다. 버튼(603)이 눌려지는 경우, NVRAM(204) 또는 하드 디스크(209)에 저장된 전자 메일 어드레스가 판독되고, 판독된 전자 메일 어드레스의 목록은 터치 패널(401) 상에 표시된다. 그렇게 표시된 전자 메일 어드레스 목록으로부터 목적지로서 지정될 전자 메일 어드레스를 사용자가 선택하는 경우, 선택된 전자 메일 어드레스는 목적지로서 선택된다.
도 7은 어드레스 북의 내용들이 표시되는 상태를 도시하는 도면이고, 전자 메일 어드레스(701)가 선택된다.
사용자가 OK 버튼(702)을 누르는 경우, 선택된 전자 메일 어드레스(701)는 목적지로서 판정된다. 표시는 초기의 창(도 6)으로 복귀하고, 어드레스 "sato@aaa.co.jp"가 목적지 필드(601) 내에 표시된다.
단계 S2에서, 스캐너(207)에 의한 원고의 스캔이 지시되었다고 판정되면, 처리는 단계 S4로 진행하여 장치 제어기(206)가 스캐너(207)를 제어하게 한다. 스캐너(207)는 그 위에 놓여진 원고를 스캔한다. RAM(203)은 스캔된 원고의 전자 문 서(이하에서 전자 문서라고 부름)를 보유한다. 단계 S4에서의 처리가 끝나면, 처리는 단계 S1로 복귀한다.
원고의 스캔 지시를 내리기 위해, 사용자는 원고를 MFP(110)의 스캐너(207) 상에 두고 시작 버튼(403)을 누른다. 본 실시예에서, MFP(110)는 하드 디스크(209) 내에, 스캔된 원고의 전자 문서 또는 네트워크(100)를 통해 외부 장치로부터 수신된 전자 문서를 저장한다. 사용자는 또한, MFP(110) 내에 보유된 전자 문서를 송신 대상 문서로 지정할 수 있다.
단계 S2에서, 송신 대상 문서의 지정 동작이 실행되었다고 판정되면, 처리는 단계 S5로 진행하여 지정된 전자 문서를 판독하고 그것을 송신 대상 문서로서 RAM(203)에 저장한다. 송신 대상 문서를 지정하기 위하여, 사용자는 도 6의 참조 버튼(605)을 누른다. 참조 버튼(605)이 눌러지는 경우, MFP(110)는 하드 디스크(209) 내에 저장된 전자 문서들의 목록을 판독하고 그 목록을 터치 패널(401) 상에 표시한다. 본 실시예에 따른 MFP(110)는 전자 문서들 자체뿐만 아니라, 관리 정보로서, 각 전자 문서의 문서 이름, 용지 크기, 용지 수, 및 저장 일/시 등의 인덱스 정보도 또한 보유한다. 전자 문서 목록을 표시하는 경우, MFP는 각 전자 문서에 대응하는 인덱스 문서를 판독하여 그것을 표시할 수 있다.
도 8은 전자 문서(문서 이름은 "AAA"임)(801)가 그렇게 표시된 전자 문서 목록으로부터 선택된 상태를 도시하는 도면이다.
사용자가 표시된 전자 문서 목록으로부터 송신될 전자 문서를 지정하고 OK 버튼(802)을 누르는 경우, 전자 문서는 송신 대상 문서로서 지정되고, 표시는 도 6 에 도시된 초기의 창으로 복귀한다. 이 경우, 지정된 전자 문서의 문서 이름은 도 6의 전자 문서 지정 필드(604) 내에 표시된다. 그 이후, 사용자가 파일 포맷 버튼을 누르면, PDF, TIFF, 및 JIF가 송신가능한 파일 포맷들로서 풀다운 메뉴로 표시되고, 사용자는 그들 중 하나를 선택할 수 있다. 파일 포맷들은 PDF, TIFF, 및 JIF에 한정되지 않는다.
단계 S2에서 제목 입력 동작이 실행되었다고 판정되면, 처리는 단계 S6으로 진행하여 입력 제목(전자 메일의 제목)을 나타내는 정보를 RAM(203)에 보유한다. 이 처리가 끝나면, 처리는 단계 S1의 입력 대기 창 표시로 복귀한다. 단계 S6에서 제목을 입력하기 위해, 사용자는 입력 버튼(608)을 누른다. 그 후, 소프트 키보드가 터치 패널(401) 상에 표시된다. 사용자는 소프트 키보드의 키들을 누름으로써 제목을 입력한다.
도 9는 목적지와 송신 대상 문서의 지정 및 제목의 입력이 종료된 입력 대기 창 표시의 예를 도시하는 도면이다. 도 6에서와 동일한 참조 번호들은 도 9에서 동일 부분들을 나타난다.
본 예에서, 도 7에 지정된 어드레스가 목적지 필드(601)에 설정된다. 도 8에서 선택된 전자 문서의 문서 이름이 전자 문서 목적지 필드(604)에 설정된다. 추가적으로, 문서인 것을 나타내는 "문서"가 제목 입력 필드(607)에 설정된다.
단계 S2에서 전자 서명 버튼(609)이 지정되었다고 판정되면, 처리는 단계 S7로 진행한다. 전술한 바와 같이, MFP(110)는 전자 서명을 전자 문서에 추가하기 위해 사용될 복수의 개인키들, 공개키들, 및 공개키들을 포함하는 전자 인증서들 을, NVRAM(204) 또는 하드 디스크(209) 내에 보유할 수 있다.
단계 S7에서, 사용자가 전자 서명에 사용될 키들 및 전자 인증서를 지정하는 경우, 송신될 전자 문서에 전자 서명 추가가 설정된다. 전자 서명에 사용될 키들 및 전자 인증서가 지정되면, RAM(203)은 키들 및 전자 인증서를 식별하기 위한 정보를 보유한다. 이 처리가 끝나면, 처리는 단계 S1의 창 입력 대기로 복귀한다.
전자 서명을 추가하는 지시를 하기 위해, 사용자는 도 6의 전자 서명 버튼(609)을 누른다. 전자 서명 버튼(609)이 눌리면, NVRAM(204) 및 하드 디스크(209)에 저장된 키들 및 전자 인증서들이 판독된다. 키/인증서 목록은 판독된 키들 및 전자 인증서들에 기초하여 터치 패널(401) 상에 표시된다.
도 11은 키/인증서 목록의 표시 예를 도시하는 도면이다. 본 실시예에서, 각각의 개인키 및 공개키 쌍의 이름(키 이름), 키 유형(공개키 알고리즘), 및 키 비트 길이(키 길이)가 목록에 표시된다. 세부사항 표시 버튼들이 목록에 추가되어 개인키 및 공개키 쌍에 관련된 각 전자 인증서의 상세한 정보를 표시한다.
도 10은 세부사항 표시 버튼이 눌렸을 때의 전자 인증서 세부사항의 표시 예를 도시하는 도면이다.
본 실시예에서, 버전, 일련 번호 및 전자 인증서의 발행자, 인증서 발행 목적지의 이름, 및 유효 기간의 시작일과 만료일 등의 정보가 전자 문서 세부사항 창(1001)에 표시된다. 사용자가 OK 버튼(1002)을 누르는 경우, 표시는 키/인증서 목록으로 복귀한다.
도 11은 전자 서명에 사용될 키 및 전자 인증서가 표시된 키/인증서 목록으 로부터 선택되는 상태의 표시 예를 도시하는 도면이다.
도 11에 도시된 바와 같이, 키 및 전자 인증서(1101)가 선택된다. 사용자가 OK 버튼(1102)을 누르는 경우, 선택된 키 및 전자 인증서는 전자 서명에 사용될 키 및 전자 인증서로서 설정되고, 표시는 선행 창(도 6 또는 도 9)으로 복귀한다. 이 때, MFP(110)는 RAM(203)에, 선택된 키들 및 전자 인증서를 식별하기 위한 정보를 보유한다. 키 및 전자 인증서는 전자 서명을 생성하기 위한 생성 정보를 나타낸다.
단계 S2에서 사용자가 타이머 송신 버튼(610)을 눌러 타이머 송신을 지시한다고 판정되면, 처리는 타이머 송신의 일/시(시간)을 입력하기 위해 단계 S8로 진행한다. RAM(203)은 입력 일/시를 나타내는 정보를 보유한다. 이 처리가 끝나면, 처리는 단계 S1의 창 입력 대기로 복귀한다.
타이머 송신의 지시를 하기 위해, 사용자는 도 6의 타이머 송신 버튼(610)을 누른다. 타이머 송신 버튼(610)이 눌리면, 도 12에 도시된 타이머 송신 설정 창이 터치 패널(401) 상에 표시된다.
도 12는 타이머 송신의 일/시를 설정하는 창의 예를 도시하는 도면이다.
사용자는 사용자 인터페이스(211)의 숫자 키패드(402)를 이용하여 송신 일/시를 창에 입력한다. 입력된 일/시는 입력 필드(1201)에 표시된다. 일/시 입력이 종료되면, 사용자는 설정 버튼(1202)을 누른다. 입력 일/시는 타이머 송신을 실행하는 일/시로서 설정된다. 처리는 단계 S1로 복귀하고, 표시는 초기의 창으로 복귀한다.
단계 S2에서 송신 실행 지시가 입력되었다고 판정되면, 처리는 단계 S9로 진행하여 송신에 필요한 모든 정보가 입력되었는지를 판정한다. 단계 S9에서의 판정 대상 정보는 단계 S3의 목적지 정보 및 단계 S4 또는 단계 S5의 송신 대상 문서의 정보를 포함한다. 단계 S10에서, 단계 S9에서 송신에 필요한 모든 정보가 입력되었다고 판정되면, 처리는 단계 S11로 진행한다. 송신에 필요한 모든 정보가 입력되지 않으면, 단계는 S23으로 진행하여 에러 창을 표시한다. 처리는 단계 S1로 복귀한다. 이 경우, 에러 창은 "당신은 여전히 송신에 필요한 정보를 입력할 필요가 있습니다."라는 메시지를 표시하고 또한 필요한 항목을 표시한다. 예를 들어, "목적지를 입력하세요"라는 메시지가 표시된다. 사용자가 이 창에서 OK 버튼을 누르는 경우, 표시는 도 6에 도시된 입력 창으로 복귀한다.
단계 S11에서, 단계 S7에서 전자 서명 추가가 설정되었는지의 여부 또는 단계 S8에서 타이머 송신이 설정되었는지의 여부가 판정된다. 어떠한 처리도 설정되지 않으면, 송신 대상 문서로서 지정된 전자 문서는 하드 디스크로부터 판독되고, 단계 S5에서 지정된 파일 포맷으로 변환되어 RAM(203)에 보유된다. 처리는 단계 S20으로 진행한다. 처리들 중 하나가 설정되면, 처리는 단계 S12로 진행한다. 단계 S20에서, 첨부 파일로서 전자 문서를 갖는 전자 메일은 SMTP 프로토콜 및 단계 S20의 전에 RAM(203)에 설정되어 저장된 정보에 따라 송신된다. 단계 S21에서, 전자 메일 송신이 성공했는지의 여부가 판정된다. 송신이 성공했으면, 처리는 종료된다. 송신이 실패했으면, 처리는 단계 S22로 진행하여 에러 창을 표시하고, 처리는 종료된다. 이 에러 창은 에러 내용으로서 "송신이 실패했습니다"라는 메시지를 표시한다.
단계 S12에서, 전자 서명 추가 및 타이머 송신 모두가 설정되었는지의 여부가 판정된다. 그들 중 하나만이 설정되면, 처리는 단계 S13으로 진행한다. 양쪽 모두가 설정되면, 처리는 단계 S16으로 진행한다. 단계 S13에서, 타이머 송신이 설정되었는지의 여부가 판정된다. 타이머 송신이 설정되었다고 판정되면, 처리는 단계 S14로 진행하여 단계 S8에서 지정된 일/시까지 처리를 일시적으로 중단시킨다. 지정된 일/시에, 송신 대상 문서로서 지정된 전자 문서는 하드 디스크로부터 판독되고, 단계 S5에서 지정된 파일 포맷으로 변환되어 RAM(203)에 보유된다. 처리는 단계 S20으로 진행하여 전자 메일을 송신한다. 단계 S13에서 타이머 송신이 설정되지 않았다고 판정되면, 송신 대상 문서로서 지정된 전자 문서는 하드 디스크로부터 판독되고, 단계 S5에서 지정된 파일 포맷으로 변환되어 RAM(203)에 보유된다. 처리는 단계 S15로 진행하여 전자 문서에 추가될 전자 서명을 생성한다. 전자 서명이 전자 문서 데이터에 추가된 후에, 처리는 단계 S20으로 진행하여 전자 메일을 송신한다.
전자 서명 추가 및 타이머 송신 모두가 설정되면, 처리는 단계 S16으로 진행하여 전자 서명을 갖는 전자 문서의 타이머 송신이 실행될 것임을 나타내는 플래그를 턴 온 시킨다. NVRAM(204)의 플래그 값에 기초하여, 개인키 및 공개키 쌍에 관련된 전자 인증서의 삭제가 제한된다. 처리는 단계 S17로 진행하여, 단계 S8에서 지정된 일/시까지 처리를 일시적으로 중단시킨다. 지정된 일/시에, 송신 대상 문서로서 지정된 전자 문서가 하드 디스크로부터 판독되고, 단계 S5에서 지정된 파일 포맷으로 변환되어 RAM(203)에 보유된다. 단계 S18에서, 송신될 전자 문서에 대한 전자 서명은 단계 S7에서 선택된 키 및 인증서(전자 서명을 생성하기 위한 생성 정보)를 이용하여 생성된다. 전자 서명이 전자 문서에 추가된 후에, 처리는 단계 S19로 진행하여 단계 S16의 플래그 값 및 RAM(203)의 소정 영역에 저장된 키 및 인증서를 소거한다. 처리는 단계 S20으로 진행하여 전자 메일을 송신한다.
도 13은 본 실시예에 따른 MFP(110)에서 전자 서명에 사용될 개인키, 공개키, 및 공개키를 포함하는 전자 인증서의 조작 및 동작을 설명하는 흐름도이다. 본 처리를 실행할 프로그램은 ROM(202) 또는 하드 디스크(209)에 저장되고 CPU(201)의 제어 하에 실행된다.
키 및 전자 인증서를 삭제하기를 원하는 사용자는 MFP(110)의 사용자 인터페이스(211)의 서비스 버튼 S를 누른다. MFP(110)는 키/전자 인증서 목록을 표시한다.
도 14는 키/전자 인증서 목록이 표시되고, 정보(1401)가 선택되는 상태를 도시하는 도면이다.
단계 S31에서, MFP(110)는 NVRAM(204) 또는 하드 디스크(209)에 저장된 키들 및 전자 인증서들을 판독한다. 본 실시예에 따른 MFP(110)는 복수의 키들 및 전자 인증서들을 보유할 수 있다. 따라서, 단계 S31 및 단계 S32의 처리는 모든 보유된 키들 및 전자 인증서들이 단계 S32에서 취득될 때까지 반복된다. 모든 키들 및 전자 인증서들이 취득되면, 처리는 단계 S32로부터 단계 S33으로 진행하여 판독된 정보에 기초해 터치 패널(401) 상에 목록(1400)(도 14)을 표시한다. 키 및 전자 인 증서(정보 (1401))가 도 14에서 선택되지만, 초기의 창에서는 어떠한 선택도 표시되지 않는다.
본 실시예에서, 각각의 개인키 및 공개키 쌍의 이름(키 이름), 키 유형(공개키 알고리즘), 및 키 길이가 목록에 표시된다. 사용자가 목록에서 세부사항 표시 버튼을 누르면, 개인키 및 공개키 쌍에 관련된 전자 인증서에 대응하는 상세한 정보가 도 10에 도시된 전자 인증서 세부사항 창에 표시될 수 있다.
본 실시예에서, 버전, 일련 번호, 전자 인증서의 발행자, 인증서 발행 목적지의 이름, 및 유효 기간의 시작일과 만료일 등의 정보가 전자 문서 세부사항 창(1001)에 표시된다. 사용자가 OK 버튼(1002)을 누르면, 표시는 키/전자 인증서 목록으로 복귀한다.
처리는 단계 S34로 진행하여 터치 패널(401)로부터의 입력을 대기한다. 동작이 실행되면, 처리는 단계 S35로 진행하여 동작의 유형을 판정한다. 키 및 전자 인증서 목적지 동작이 단계 S35에서 실행되면, 도 14에 도시된 바와 같이, 지정된 키 및 전자 인증서가 선택된다. 도 14에서, 1401에 의해 나타나는 바와 같이, 키 및 전자 인증서의 선택이 표시된다. 처리는 단계 S35에서 입력 대기로 복귀한다. 한편, 단계 S35에서 삭제 버튼(1402)이 눌렸다고 판정되면, 처리는 단계 S37로 진행하여 삭제 대상으로서 키 및 전자 인증서가 선택되었는지의 여부를 판정한다. 삭제 대상으로서 키 및 전자 인증서가 선택되면, 처리는 단계 S38로 진행한다. 어떠한 삭제 대상도 선택되지 않으면, 처리는 단계 S40으로 진행한다. 단계 S40에서, "어떠한 키/전자 인증서도 선택되지 않았습니다"라는 메시지가 에러 처리에 의 해 표시된다. 사용자가 에러 창에서 OK 버튼을 누르는 경우, 처리는 단계 S33의 처리로 복귀한다.
삭제 대상으로서 키 및 전자 인증서가 선택되면, 처리는 단계 S38로 진행한다. 단계 S38에서, MFP(110)는 도 5a 및 도 5b의 단계 S16에서 설정되어 NVRAM(204)에 저장된 플래그 값 및 도 6의 단계 S7에서 보유된 정보를 참조하여 키 및 전자 인증서를 식별한다. 단계 S36에서 선택된 키 및 전자 인증서를 이용하여 타이머 송신이 설정되었는지의 여부가 판정된다. 단계 S36에서 선택된 키 및 전자 인증서를 이용한 타이머 송신이 설정되었다고 판정되면, 처리는 단계 S40으로 진행하여 에러 창을 표시한다. "키/전자 인증서 정보를 이용한 타이머 송신이 설정되었기 때문에 해당 정보를 삭제할 수 없습니다."라는 삭제 제한 메시지가 에러 처리에 의해 표시된다. 사용자가 에러 창에서 OK 버튼을 누르는 경우, 처리는 단계 S33의 처리로 복귀한다.
단계 S36에서 선택된 키 및 전자 인증서를 이용한 타이머 송신이 설정되지 않았다고 판정되면, 처리는 단계 S39로 진행하여 NVRAM(204) 또는 하드 디스크(209)에 저장된 키 및 전자 인증서를 삭제하고, 처리는 종료된다.
단계 S35에서 "취소" 버튼(1403)이 눌렸다고 판정되면, 처리는 즉시 종료된다.
전술한 바와 같이, 제1 실시예에 따르면, 타이머 송신될 전자 문서에 전자 서명이 추가되어야 하고, 전자 서명에 사용될 키 및 전자 인증서를 삭제하라는 지시가 입력되면, 삭제 처리는 제한되다. 이것은 타이머 송신될 전자 문서에 전자 서명을 추가하는데 필요한 키 및 전자 인증서의 삭제를 방지한다. 따라서, 필요한 개인키 및 전자 인증서가 삭제되었기 때문에 설정된 타이머 송신 일/시에 어떠한 전자 서명도 추가될 수 없는 임의의 상황을 방지할 수 있다.
<제2 실시예>
도 15a 및 도 15b는 본 발명의 제2 실시예에 따른 MFP(110)의 전자-서명-첨부된 전자 문서의 송신 기능의 조작 및 동작을 설명하는 흐름도이다. 전술한 도 5a 및 도 5b의 흐름도에서와 동일한 단계 번호들은 도 15a 및 도 15b의 동일 처리들을 나타내고, 그 설명은 생략될 것이다. 이 처리를 실행하기 위한 프로그램이 ROM(202) 또는 하드 디스크(209)에 저장되고 CPU(201)의 제어 하에 실행된다. 제2 실시예에 따른 MFP(110), 서버 장치(120), 및 클라이언트 장치(130)는 전술한 제1 실시예에서와 동일한 하드웨어 구성을 갖고, 그 설명은 생략될 것이다.
단계 S12에서, 전자 서명 추가 및 타이머 송신 모두가 설정되었는지의 여부가 판정된다. 그들 중 하나만이 설정되면, 처리는 단계 S13으로 진행한다. 양쪽 모두가 설정되면, 처리는 단계 S51로 진행한다. 단계 S51에서, 전자 서명을 생성하는데 사용될 전자 인증서가 NVRAM(204) 또는 하드 디스크(209)에 저장된 전자 인증서들로부터 선택되고, 선택된 전자 인증서의 만료일이 취득된다. 설정된 타이머 송신 일/시는 전자 인증서의 취득된 만료일과 비교된다. 단계 S52에서 타이머 송신 일/시가 전자 인증서의 유효 기간 내에 있다고 판정되면, 처리는 단계 S17로 진행하여 정상적인 타이머 송신을 실행한다. 한편, 단계 S52에서 타이머 송신 일/시가 전자 인증서의 유효 기간 밖이라고 판정되면, 처리는 단계 S55로 진행하여 에러 처리를 실행한다.
에러 처리에서, 터치 패널(401)은 "당신이 타이머 송신을 위해 지정한 일/시가 전자 서명에 사용될 전자 인증서의 유효 기간 밖에 있습니다. 다른 키 및 인증서를 선택하거나 타이머 송신을 위한 다른 일/시를 설정해 주십시오."라는 메시지를 표시하여 설정을 무효화한다.
단계 S17에서, 지정된 타이머 송신 일/시까지 처리는 일시적으로 중단된다. 지정된 일/시에서, 송신 대상 문서로서 지정된 전자 문서는 하드 디스크로부터 판독되고, 단계 S5에서 지정된 파일 포맷으로 변환되어 RAM(203)에 보유된다. 처리는 단계 S18로 진행하여 송신될 전자 문서를 위한 전자 서명을 생성한다. 전자 서명이 전자 문서에 추가된 후, 처리는 단계 S20으로 진행하여 전자 메일을 송신한다.
전술한 바와 같이, 제2 실시예에 따르면, 타이머 송신 일/시가 전자 서명에 사용될 전자 인증서의 유효 기간 밖에 있는 경우, 사용자에게 경고(경고 표시)가 표시될 수 있다. 따라서, 전자 인증서가 타이머 송신 일/시에 이미 만료되었기 때문에 전자 인증서의 전자 서명이 유효하지 않은 임의의 상황을 방지하는 것이 가능하다.
<제3 실시예>
도 16a 및 도 16b는 본 발명의 제3 실시예에 따른 MFP(110)의 전자-서명-첨부된 전자 문서의 송신 기능의 조작 및 동작을 설명하는 흐름도이다. 전술한 도 15a 및 도 15b의 흐름도에서와 동일한 단계 번호들은 도 16a 및 도 16b의 동일한 처리들을 나타내고, 그 설명은 생략될 것이다. 이 처리를 실행하기 위한 프로그램은 ROM(202) 또는 하드 디스크(209)에 저장되고 CPU(201)의 제어 하에 실행된다. 제3 실시예에 따른 MFP(110), 서버 장치(120), 및 클라이언트 장치(130)는 전술한 제1 실시예에서와 동일한 하드웨어 구성을 갖고, 그 설명은 생략될 것이다. 도 5a, 도 5b, 도 15a 및 도 15b의 흐름도들과 상이한 처리들이 이하에서 설명될 것이다.
단계 S12에서, 전자 서명 추가 및 타이머 송신 모두가 설정되었는지의 여부가 판정된다. 그들 중 하나만이 설정되면, 처리는 단계 S13으로 진행한다. 양쪽 모두가 설정되면, 처리는 단계 S51로 진행한다. 단계 S51에서, 전자 서명을 생성하는데 사용될 전자 인증서가 NVRAM(204) 또는 하드 디스크(209)에 저장된 전자 인증서들로부터 선택되고, 선택된 전자 인증서의 만료일이 취득된다. 단계 S52에서, 설정 타이머 송신 일/시가 전자 인증서의 만료일과 비교된다. 타이머 송신 일/시가 전자 인증서 유효 기간 내라고 판정되면, 처리는 단계 S17로 진행하여 전자 서명이 추가된 타이머 송신을 실행한다.
한편, 단계 S52에서 타이머 송신일/시가 전자 인증서의 유효 기간 밖이라고 판정되면, 도 17에 도시된 바와 같이, 처리는 단계 S61로 진행하여, 터치 패널(401) 상에, 전자 서명을 생성하는데 사용될 전자 인증서를 갱신할 지의 여부를 선택하는 창을 표시한다.
도 17은 본 발명의 제3 실시예에 따른 MFP에서 전자 인증서를 갱신할 지의 여부를 설정하는 창의 예를 도시하는 도면이다.
전자 인증서를 갱신하기 위해, 사용자는 "예" 버튼(1701)을 누른다. 그렇지 않으면, 사용자는 "아니오" 버튼(1702)을 누른다.
단계 S62에서, 눌려진 버튼이 판정된다. "예" 버튼(1701)이 눌려지면, 처리는 단계 S63으로 진행한다. "아니오" 버튼(1702)이 눌려지면, 처리는 단계 S67의 에러 처리로 진행한다. 단계 S67의 에러 처리에서, 터치 패널(401)은 "인증서의 갱신이 취소되었습니다. 송신을 위해, 다른 키 및 전자 인증서를 선택하거나 타이머 송신을 위한 다른 일/시를 설정해 주십시오."라는 메시지를 표시한다. 사용자가 이 창의 OK 버튼을 누르면 처리는 단계 S1로 복귀한다.
전자 인증서를 갱신하기 위해, 전자 서명에 사용될 전자 인증서는 단계 S63에서 갱신되고, 처리는 단계 S64로 진행한다. 단계 S64에서, 전자 인증서의 갱신이 성공했는지의 여부가 판정된다. 전자 인증서가 갱신되면, 처리는 단계 S65로 진행한다. 전자 인증서의 갱신이 실패했다면, 처리는 단계 S67의 에러 처리로 진행한다. 이 경우, 터치 패널(401)은, 단계 S67에서, "전자 인증서의 갱신이 실패했습니다. 송신을 위해 다른 키 및 전자 인증서를 선택하거나 타이머 송신을 위한 다른 일/시를 설정해 주십시오."라는 메시지를 표시한다. 사용자가 이 창에서 OK 버튼을 누르는 경우, 처리는 단계 S1로 복귀한다.
단계 S65에서, 지정된 타이머 송신 일/시까지 처리는 일시적으로 중단된다. 지정된 일/시에, 송신 대상 문서로서 지정된 전자 문서는 하드 디스크로부터 판독되고, 단계 S5에서 지정된 파일 포맷으로 변환되어 RAM(203)에 보유된다. 처리는 단계 S66으로 진행하여, 갱신된 전자 인증서를 이용해 송신될 전자 문서에 대한 전 자 서명을 생성한다. 전자 서명이 전자 문서에 추가된 후, 처리는 단계 S20으로 진행하여 전자 메일을 송신한다.
도 18은 제3 실시예에 따른 단계 S64의 전자 인증서 갱신 처리의 에를 예시하는 흐름도이다.
제3 실시예에서, 네트워크(100) 상의 서버 장치(120)는 CA 서비스를 실행하여, 전자 인증서 발행 요구를 수신하고, 발행 요구에 기초하여 전자 인증서를 발행하고, 전자 인증서를 갱신한다. MFP(110)는 CA 서비스가 전자 인증서를 갱신하도록 요구하고 갱신된 전자 인증서를 온라인으로 취득한다.
단계 S71에서, MFP(110)는 CA 서비스에 접속된다. 단계 S72에서 접속이 성공했다고 판정되면, 처리는 단계 S73으로 진행한다. 단계 S73에서 MFP(110)는, 전자 인증서가 갱신되도록 요구하는 포맷 데이터인 CSR을 생성한다. CSR 생성이 성공했다고 판정되면, 처리는 단계 S75로 진행하여, 서버 장치(120) 내의 CA 서비스에, 단계 S73에서 생성된 CSR과 함께 전자 인증서를 갱신하여 발행하라는 요구(이하에서는 발행 요구라고 부름)를 송신한다. 단계 S76에서 발행 요구 송신이 성공했다고 판정되면, 처리는 단계 S77로 진행한다. 단계 S77에서, MFP(110)는, 서버 장치(120)에, 발행 요구에 대응하는 전자 인증서 취득 요구를 송신한다. 취득 요구 송신이 성공했다고 판정되면, 처리는 단계 S78로부터 단계 S79로 진행한다. 단계 S79에서, MFP(110)는 갱신된/발행된 전자 인증서를 취득한다. 처리는 단계 S80으로 진행한다. 갱신된/발행된 전자 인증서의 취득이 성공했다고 판정되면, 처리는 종료된다.
한편, 단계 S72, S74, S76, S78 및 S80 중 어느 하나에서 처리가 실패했다고 판정되면, 처리는 단계 S81의 에러 처리로 진행하여 CA 서비스에의 접속을 해제하고, 처리는 종료된다.
본 실시예에서, 전송을 위해 HTTP 또는 FTP 등의 통신 프로토콜을 사용하는 CMP 등의 인증서 관리 프로토콜이 MFP(110)와 서버 장치(120) 사이의 전자 인증서 관리에 관련된 제어/통신 프로토콜로서 사용된다. 그러나, 본 발명은 이에 한정되지 않는다. 통신은 임의의 기타 현존하는 또는 고유한 전자 인증서 관리 제어/통신 프로토콜을 이용하여 행해질 수 있다.
전술한 바와 같이, 본 실시예는, MFP(110)에 보유되고 전자 서명을 생성하는데 사용될 개인키 및 공개키의 쌍과 공개키를 포함하는 전자 인증서의 삭제를 방지함으로써, 전자 서명을 갖는 데이터의 신뢰성 있는 타이머 송신을 가능하게 한다.
또한, 데이터에 유효하지 않은 서명을 갖는 타이머 송신 설정을 억제하고, 새로운 유효한 타이머 송신 일/시를 설정하고 유효하지 않은 전자 인증서를 갱신함으로써, 유효하지 않은 전자 서명의 추가를 방지하면서 전자 서명을 갖는 데이터를 타이머 송신하는 것이 가능하다.
<다른 실시예들>
본 발명의 실시예들이 상기에서 상세하게 설명되었다. 본 발명은 복수의 장치들을 포함하는 시스템 또는 단일 장치를 포함하는 장치에 적용가능하다.
본 발명은 또한 전술한 실시예들의 기능들을 시스템 또는 장치에 구현하는 소프트웨어 프로그램을 직접 또는 원격지에서 공급하고, 시스템 또는 장치의 컴퓨 터가 공급된 프로그램을 판독하여 실행하게 함으로써 달성될 수 있다. 이 경우, 프로그램의 기능들이 이용가능하다면, 본 발명이 항상 프로그램의 형태를 취할 필요는 없다.
따라서, 컴퓨터 내에 설치되어 본 발명의 기능 처리를 구현하는 프로그램 코드 자체도 또한 본 발명을 구현한다. 즉, 본 발명의 특허청구범위는 본 발명의 기능 처리를 구현하기 위한 컴퓨터 프로그램을 또한 통합한다. 이 경우, 프로그램의 기능들이 이용가능하다면, 프로그램은 오브젝트 코드, 인터프리터에 의해 실행될 프로그램, 또는 OS에 공급될 스크립트 데이터 등의 임의의 형태를 취할 수 있다.
프로그램을 공급하기 위한 기록 매체의 예들은, 플로피® 디스크, 하드 디스크, 광 디스크, 자기 광 디스크, MO, CD-ROM, CD-R, CD-RW, 자기 테이프, 비휘발성 메모리 카드, ROM 및 DVD(DVD-ROM 및 DVD-R)이다.
다음의 프로그램 공급 방법도 또한 이용가능하다. 클라이언트 컴퓨터는 브라우저를 통해 인터넷 상의 홈페이지에 접속하여, 홈페이지로부터 하드 디스크 등의 기록 매체로 프로그램을 다운로드 할 수 있다. 이 경우, 본 발명의 컴퓨터 프로그램 자체 또는 자동 설치 기능을 포함하는 압축 파일 중의 어느 한 쪽이 다운로드 될 수 있다. 본 발명의 프로그램 내에 포함된 프로그램 코드들은, 사용자가 상이한 홈페이지들로부터 파일들을 다운로드 할 수 있도록, 복수의 파일들로 분할될 수 있다. 즉, 복수의 사용자들이 본 발명의 기능 처리를 구현하기 위하여 프로그램 파일을 다운로드 하게 하는 WWW 서버도 또한 본 발명의 특허청구범위에 통합될 수 있다.
본 발명의 프로그램은 암호화되고, CD-ROM 등의 저장 매체에 저장되어 사용자들에게 배포될 수 있다. 소정의 조건들을 만족하는 임의의 사용자는 인터넷을 통해 홈페이지로부터 프로그램을 복호화하기 위한 키 정보를 다운로드 할 수 있다. 사용자는 키 정보를 이용하여 암호화된 프로그램을 실행하여 그 프로그램을 컴퓨터에 설치할 수 있다.
전술한 실시예들의 기능들은 컴퓨터가 판독된 프로그램을 실행할 때 구현된다. 전술한 실시예들의 기능들은 또한, 예를 들어, 컴퓨터 상에서 실행되는 OS가 프로그램의 명령어들에 기초하여 부분적으로 또는 전체적으로 실제 처리를 실행하는 때에도 구현된다.
전술한 실시예들의 기능들은 또한, 기록 매체로부터 판독된 프로그램이 컴퓨터에 삽입된 기능 확장 보드 또는 컴퓨터에 접속된 기능 확장 유닛의 메모리에 기입되어 실행될 때 구현된다. 즉, 기능 확장 보드 또는 기능 확장 유닛의 CPU는 부분적으로 또는 전체적으로 실체 처리를 실행할 수 있다.
본 발명에 따르면, 전자 서명을 갖는 데이터가 지정된 시간에 송신될 때, 적절한 전자 서명을 갖는 데이터가 지정된 시간에 송신될 수 있다.
본 발명이 예시적인 실시예들을 참조하여 설명되었지만, 본 발명은 개시된 예시적인 실시예들에 한정되지 않는다는 것이 이해되어야 한다. 다음의 특허청구범위의 범주는 모든 변동들 및 등가 구조들과 기능들을 포함하도록 최광의로 해석되어야 한다.