WO2007138717A1 - クライアント装置、メールシステム、プログラム及び記録媒体 - Google Patents

クライアント装置、メールシステム、プログラム及び記録媒体 Download PDF

Info

Publication number
WO2007138717A1
WO2007138717A1 PCT/JP2006/315130 JP2006315130W WO2007138717A1 WO 2007138717 A1 WO2007138717 A1 WO 2007138717A1 JP 2006315130 W JP2006315130 W JP 2006315130W WO 2007138717 A1 WO2007138717 A1 WO 2007138717A1
Authority
WO
WIPO (PCT)
Prior art keywords
mail
core
tcp2
message
mail system
Prior art date
Application number
PCT/JP2006/315130
Other languages
English (en)
French (fr)
Inventor
Keiko Ogawa
Hirotsugu Ozaki
Original Assignee
T T T Kabushikikaisha
Hirotsugu Ozaki
Keiko Ogawa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by T T T Kabushikikaisha, Hirotsugu Ozaki, Keiko Ogawa filed Critical T T T Kabushikikaisha
Priority to CN2006800555117A priority Critical patent/CN101558599B/zh
Priority to US12/302,621 priority patent/US8370630B2/en
Priority to EP06782008.4A priority patent/EP2023526A4/en
Publication of WO2007138717A1 publication Critical patent/WO2007138717A1/ja
Priority to HK10101497.4A priority patent/HK1135252A1/xx

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks

Definitions

  • Client device mail system, program, and recording medium
  • the present invention relates to a client device and a mail system that place importance on security in communication, and in particular, fraud such as “leakage” and “tampering” of data on the Internet, “spoofing”, “entrance” or “attack”.
  • the present invention relates to a client device and a mail system, and a computer program for realizing the client device.
  • IP Transmission Control Protocol / Internet Protocol
  • UDP User Datagram Protocol
  • IPsec IP Security Architecture for Internet Protocol
  • SSL Secure Socket Layer
  • IPsec encrypts all communications transmitted at the IP level rather than simply encrypting a specific application. This allows users to communicate safely without being aware of the application.
  • IPsec can change the encryption algorithm to be used without changing its own mechanism so that it can be used in the future.
  • the client and server can authenticate each other on the network, and can exchange highly confidential information such as credit card information. Is possible. This prevents data eavesdropping, replay attacks (attack of eavesdropping on data flowing over the network and repeatedly sending data), spoofing (communication by pretending to be the person), data tampering, etc. can do.
  • an encryption function is added to the TCP layer in the transport layer (the fourth layer of ⁇ SI).
  • This transport layer is a protocol layer for realizing an error-free virtual communication path between two processes running on each node. The ability to send data at the network layer There is no guarantee that the data will reach the other party. Also, there is no guarantee that the data will arrive correctly in the order of transmission. Therefore, it is the transport layer that provides an error-free channel for ease of use for applications.
  • This fourth transport layer An example of realizing a communication system that is resistant to unauthorized intrusion from the outside was proposed by the present inventors for the first time in the world, and the present inventors named this communication system as “TCP2”. (See Patent Document 1).
  • Patent Document 1 International Publication WO2005 / 015827 Pamphlet
  • Patent Document 1 the invention described in Patent Document 1 is limited to a general encrypted communication system, communication method, communication device, and communication program using TCP2, and a mail system equipped with TCP2 has not been realized yet. Being lazy.
  • An object of the present invention is to provide a mail system to which a “ ⁇ ” key function is added using a communication system using “TCP2” previously proposed by the inventors, and a program for realizing the mail system. .
  • a client device used in the mail system of the present invention is connected to a network and performs mail communication between a plurality of client devices. It is a client device equipped with an existing mailer. In addition to the existing mailer, it has a TCP2 driver with a TCP2 core and a mail system core, and a TCP2 mail system application part.
  • the TCP2 core is an existing mailer.
  • the mail system core has means for encrypting or decrypting the sent and received mail, Means for exchanging keys with other client devices, and storing the IP address and port of POP3 and the IP address and port of SMTP.
  • the user ID 'password, source and destination e-mail address, means for saving the key created by the key exchange, encrypted e-mail, HTML format e-mail, or attached file are selected.
  • the TCP2 mail application unit displays the key status related to the email sent from the mail system core, and also encrypts or unencrypts the email, the mail format, And attachments, sender email And a means for displaying a list of addresses and a means for displaying the encrypted mail received by the existing mailer in plain text.
  • a sorting process by the TCP2 driver
  • Mail that is supplied to the existing mailer and sent from the existing mailer to other client devices via the network is set to be sent after the TCP2 driver confirms the other client devices of the destination. It is characterized by
  • the mail system of the present invention is a mail system that communicates mail between a plurality of client devices connected to a network and having an existing mailer.
  • the client device includes an existing mail means.
  • a TC P2 driver with a TCP2 core and a mail system core, and a TCP2 mail application section are provided.
  • the TCP2 core of the TCP2 driver is connected to existing mail means or a network and is connected to the SMTP or mail server SMTP. It is configured to send e-mail packets sent from the POP3 protocol to the mail system core.
  • the mail system core encrypts or decrypts mail sent and received, exchanges keys with the other party, and POP3 IP address and port number and SMTP IP address and port number, user ID and password Xinyuan and destination e-mail address, and store the key generated by the key exchange in a storage medium, and is configured to selectively remove the email received.
  • the TCP2 mail system application section displays the key status for the email sent from the mail system core, displays a list of sent / received mails, and displays the plain text of the e-mails received by the existing mailer. It is characterized by performing.
  • the mail communication program used in the mail system of the present invention includes, in addition to the existing mail function, each of the client device computers that communicate with each other, a TCP2 core, a mail system core, and a TCP2 mail application.
  • the TCP2 mail system function is implemented, and this TCP2 core function recognizes e-mail packets sent from the mail server's SMTP or POP3 protocol connected to an existing mailer or network. To send to the mail system core.
  • the mail system core function encrypts or decrypts emails sent and received, exchanges keys with the sender, POP3 IP address and port number, and SMTP IP Address and port number, user ID, password, sender and recipient email addresses, and the key created by the key exchange are stored in storage media, and the received email is selectively deleted .
  • the function of the TCP2 mail system application displays the key status for e-mails sent from the mail system core, displays a list of sent and received mails, and displays plaintext of encrypted mail received by the existing mailer. It has a function.
  • the mail communication program of the present invention causes each of these functions to be realized on a client device computer.
  • the present invention also includes a recording medium in which the mail communication program is recorded in the embodiment.
  • the TCP2 function can be used to encrypt / decrypt e-mail title, body text, and attached packet packets, so that only those authorized to be known to others are available. Will be able to know the contents of the email.
  • FIG. 1 is a diagram showing a TCP2 protocol stack used in the mail system of the present invention.
  • FIG. 2 is a diagram showing the structure of a message packet used in the mail system of the present invention.
  • FIG. 3 is a block diagram of a TCP2 mail system in the client device of the present invention.
  • FIG. 4 is a block configuration diagram for explaining the outline of a TCP2 core that is a component of the mail system of the present invention.
  • FIG. 5 is a block configuration diagram for explaining an outline of a mail system core that is a component of the mail system of the present invention.
  • FIG. 6 is a block configuration diagram for explaining the outline of a TCP2 mail system application unit which is a component of the mail system of the present invention.
  • 7] A diagram showing a list of received mails displayed on the output device by the TCP2 mail system application.
  • FIG. 8 is a part of a flowchart showing the flow of user registration in the mail system of the present invention.
  • FIG. 9 is a part of a flowchart showing the flow of user registration in the mail system of the present invention.
  • FIG. 10 is a part of a flow chart showing a flow of user registration in the mail system of the present invention.
  • FIG. 14 is a part of a flow diagram showing a flow on the key exchange receiving side in the mail system of the present invention.
  • FIG. 15 is a part of a flow diagram showing a flow on the key exchange receiving side in the mail system of the present invention.
  • FIG. 16 is a part of a flowchart showing the flow on the encrypted mail transmission side in the mail system of the present invention.
  • FIG. 17 is a part of a flowchart showing the flow on the encrypted mail transmission side in the mail system of the present invention.
  • FIG. 18 is a part of a flowchart showing the flow on the encrypted mail transmission side in the mail system of the present invention.
  • FIG. 19 is a part of a flowchart showing a flow on the encrypted mail receiving side in the mail system of the present invention.
  • FIG. 20 is a part of a flowchart showing the flow of the encrypted mail receiving side in the mail system of the present invention.
  • FIG. 21 is a diagram for explaining the outline of the embodiment of the TCP2 mail system of the present invention. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 shows a TCP2 protocol stack used in the encrypted communication system of the present invention.
  • NIC Network Interface Card
  • This driver is a driver for connecting hardware such as a computer to a network, and its contents are data transmission / reception control software.
  • a LAN board or LAN card for connecting to Ethernet corresponds to this.
  • IP emulator 13 In the third network layer, there is an IP emulator 13 partially extending to the transport layer (fourth layer). The part extending to the transport layer does not implement the transport function, but only provides the network layer function to the session layer (layer 5).
  • the IP emulator 13 functions to switch between “IPsec on CP” 13b and “IP on CP” 13a, which are protocols for performing encrypted communication, depending on the application.
  • IPsec on CP IP on CP
  • IP on CP means that it is subject to monitoring, discarding, cutting or passing restriction of “entry” and “attack” by cracking 'protector (CP), or that can be set. Is shown.
  • ARP on CP Address Resolution Protocol on Cracking Plotter
  • This ARP on CP is a protocol used to determine the MAC (Media Access Control) address, which is the physical address of Ethernet, from the IP address with protection measures against Cracker.
  • MAC is a transmission control technology used in LANs, called medium access control, and is used as a technology for specifying frame transmission / reception methods, frame formats, error correction, etc., which are data transmission / reception units. Yes.
  • the IP emulator 13 is software or firmware for matching various security functions according to the present invention with a conventional stack around the IP.
  • the emulator 13 is software, firmware, or hardware (electronic Circuit, electronic component). With this IP emulator 13, it is possible to perform adaptation processing before and after such as IPsec encryption / decryption and addition of necessary authentication information authentication.
  • ICMP is a protocol for transferring IP error messages and control messages.
  • IGMP is a group of hosts configured to efficiently deliver or receive the same data to multiple hosts. Is a protocol for controlling
  • a TCP emulator 15 and a UDP emulator 16 are arranged in the upper transport layer (fourth layer) of the IP emulator 13.
  • the TCP emulator 15 works by switching between “TCPsec on CP” 15b, which is a protocol for performing encrypted communication, and “TCP on CP” 15a, which is a normal communication protocol.
  • the UDP emulator 16 operates by switching between “UDPsec on CP” 16b, which is a protocol for performing encrypted communication, and “UDP on CP” 16a, which is a normal communication protocol.
  • TCP2 The most characteristic feature of TCP2 is that TCPsecl 5b and UDPsecl 6b encrypted communication protocols are installed in the transport layer (fourth layer).
  • a socket interface 17 for exchanging data with protocols such as TCP and UDP is provided in the upper session layer (fifth layer) of the transport layer (fourth layer).
  • the meaning of this socket is the network address that combines the IP address corresponding to the address in the network of the computer and the port number that is a sub-address of the IP address, as described above.
  • a single software program module execution program, etc.
  • a series of headers consists of a single hardware module (electronic circuit, electronic component, etc.).
  • the TCP emulator 15 has a function of preventing data leakage and tampering in the transport layer, that is, TCPsecl 5b having functions such as encryption, integrity authentication and counterpart authentication, and such encryption, It has the function of distributing packets to any of the normal protocols T CP15a that do not have functions such as integrity authentication and peer authentication. Also, both TCPsecl5b and TCP15a have a cracking protector (CP). Even when selected, the ability to defend against “intrusion” and “attack” by crackers can be realized.
  • the TCP emulator 15 also serves as an interface with the upper layer socket.
  • TCP has an error compensation function
  • UDP does not have an error compensation function, but has a feature that the transfer speed is correspondingly faster and a broadcast function is provided. is there.
  • the UDP emulator 16 has a function of preventing data leakage and tampering, that is, UDPsecl6b that has functions such as encryption, integrity authentication and peer authentication, and such encryption and integrity. It has the function of distributing packets to one of the normal protocols UDP16a that does not have functions such as authentication and peer authentication.
  • socket 17 As shown in FIG. 1, socket 17, TCP emulator 15, UDP emulator 16, "TCPsec on CP” 15b, “UDPsec on CPJ 16b,” TCP on CPJ 15a, “UDPon CPJ 16a,” “ICMP on CPJ” 14a, “IGMP on CPJ 14b, IP emulator 13,” “IPon CPJ 13a,” and “ARPonCP” 12 are the protocol stacks for performing the encryption processing of the present invention. This is called TCP2 (see Patent Document 1).
  • TCP2 which plays a central role in the mail system of the present invention, implements CP (cracking 'protect) in the standard protocols of TCP, UDP, IP, IPsec, ICMP, IGMP, and ARP, and communicates with each protocol stack. And attacks from application 'programs (Trojan horses, program tampering, unauthorized use by legitimate users).
  • TCP2 also implements a TCP emulator 15. This TCP emulator 15 is externally attached in order to maintain compatibility when viewed from the socket 17 in the session layer and the IP emulator 13 in the network layer. It can look the same as standard TCP.
  • the function of TCP2 is executed by switching between TCP and TCPsec.
  • TCPsec is a transport layer encryption and authentication function.
  • a UDP emulator 16 is implemented, and the UDP emulator 16 is viewed from a socket 17 that is a session layer and an IP emulator 13 that is a network layer. To maintain compatibility, it can be seen as standard UDP from the outside. . Actually, the function of TCP2 is switched between UDP and UDPsec. However, since UDP sec is a function that is not used in the mail system of the present invention, it will not be described in the following description.
  • TC Psecl5b which is a function that prevents “data leakage”, which is a particularly important function in TCP2, will be described.
  • encryption decryption
  • logic logic
  • TCPsecl 5b a known secret key (common key) number algorithm is used.
  • FEA L Full data Encipherment Algorithm
  • MI TY Magnetic TY
  • AES Advanced Encryption Standard
  • TCPsecl 5b Transmission Control Protocol
  • Secret encryption / decryption algorithms can be used.
  • FEAL is an encryption method developed by Nippon Telegraph and Telephone Corporation (at that time), and is a secret key type encryption method that uses the same key for encryption and decryption.
  • This FEAL has the advantage that it can be encrypted and decrypted at a higher speed than DES (Data Encryption Standard: a common key (secret key) ⁇ ighi algorithm developed by IBM in the US).
  • the same encryption method used for TCP2 is, for example, the power to use MISTY.
  • This MISTY encrypts data divided into 64-bit blocks in the same way as IDEA.
  • the key length is 128 bits.
  • the same program is used for encryption and decryption, the same as DES.
  • the TCPsecl 5b code system of the present invention can adopt various secret key encryption algorithms that are already known, as well as a secret key (common key) encryption system that was originally developed by the user. Can also be used.
  • a public key or a pre-shared key is used as a method of "party authentication” and “integrity authentication” to prevent so-called “spoofing” and “data falsification”.
  • authentication algorithms such as MD5 (Message Digest 5) and SHA1 (Secure Hash Algorithm 1) are used.
  • an algorithm using a unique one-way function can be adopted instead of such a known authentication algorithm.
  • This MD5 is a hash function (one-way summary function) used for authentication and digital signatures. It is one that generates a fixed-length hash value based on the original text and compares it at both ends of the communication path to detect whether the original text has been tampered with during communication. It is. This hash value takes a value like a pseudo-random number, and based on this value, the original text cannot be reproduced. It is also difficult to create another message that generates the same hash value.
  • SHA1 is also one of hash functions used for authentication, digital signatures, etc., by generating a 160-bit hash value from the original text of 2 64 bits or less and comparing it at both ends of the communication path. Detecting alteration of the original text during communication.
  • This authentication algorithm is also used in IPsec, which is a typical example of conventional Internet communication.
  • DH Dynamic Key Exchange
  • IKE Internet Key Exchange protocol
  • UDP No. 500 Internet Key Exchange protocol
  • TCPsecl 5b, UDPsecl6b, etc. The protocol driver program (TCPsecl 5b, UDPsecl6b, etc.) is designed so that the key signature / integrity authentication algorithm (logic) itself and the key set / domain for it are changed periodically. Is scheduled by
  • FIG. 2 shows the TCPsec / lP packet structure, the scope of the signature and the scope of integrity authentication.
  • the IP header 21 is immediately followed by the TCP header 22 and the TCPsec-added key information 23, followed by application data 24.
  • a TCPsec additional trailer 25 and a TCPsec additional authentication data 26 are arranged.
  • the TCPsec additional trailer 25 is information that supports encrypted data such as the blank of the data generated by the block number, the length of the blank, and the number of the next header.
  • This information which is a characteristic of TCPsec, is distributed to header fields that are not used by TCPsec / lP, etc. It can be omitted from the previous packet by independent pre-negotiation (negotiation).
  • Negotiation pre-negotiation
  • by constructing a TCPsec / lP packet as shown in Fig. 2 using the TCP and IP protocol fields that correspond to the upper layers of the IP layer it is possible to create a packet rather than an IPsec packet that focuses only on the lower layer IP. The length can be easily reduced.
  • the encryption range is application data 24 and TCPsec additional trailer 25, and the authentication range is added with the TCPsec additional information 26 in addition to the above encryption range.
  • FIG. 3 is a block diagram of an embodiment of a client device used in the mail system of the present invention.
  • the client devices A and B) include a TCP2 driver 34 and a TCP2 mail system application unit 35 in addition to the existing mailer 31, input device 32, and output device 33. It also has a storage medium 39 for storing received mail.
  • the TCP2 driver 34 includes a TCP2 core 36 described with reference to FIG. 4, a mail system core 37 and a storage medium 38 described with reference to FIG.
  • the storage medium 38 is a storage medium that is different from the storage medium 39 that the client device A normally has, and stores various types of information that will be described later in a state encrypted with the private key that the mail system core has. is there.
  • a mail server (not shown) and another client terminal (for example, client device B) are connected to the network 40 to which the client device A is connected, and the client device A and the client device B are connected to the network 40.
  • Mail is exchanged via a mail server 41 connected to 40 (see Fig. 4).
  • the encoded mail data transmitted from the mail server via the network 40 is sent to the TCP2 core 36 of the TCP2 driver 34 installed in the client apparatus A. After confirming that this TCP2 core 36 is a POP3 packet, the mail system Is sent to the Mukoa 37, subjected to predetermined processing, and sent to the existing mailer 31.
  • the mail system core 37 is connected to the TCP2 mail system application section 35, and a list of received mails is displayed on the output device 33 via the TCP2 mail application section 35 (see FIG. 7). .
  • the user of the client apparatus A sees the display result, determines whether to receive or discard it, and inputs the determination result from the input apparatus 32.
  • the output of the input device 32 is sent to the mail system core 37 via the TCP2 mail system application unit 35, where illegal mail is deleted.
  • the e-mail sent from the mailer 31 of the client apparatus A is sent to the mail system core 37 after it is confirmed by the TCP2 core 36 that it is an SMTP packet. Then, it is encrypted by the mail system core 37 and sent to the mail server 41 (see FIG. 4) connected to the network 40 via the TCP 2 core 36.
  • the storage media 38 contains the POP3 IP address and port number, the SMTP IP address and port number, the user ID and password, the transmission destination and the transmission source during user registration and key exchange described in FIGS.
  • the e-mail address and key information are stored in an encrypted state. In addition, it can be configured to store the S, Mail No 'message depending on the TCP2 implementation.
  • FIG. 4 is a functional block diagram for explaining the TCP2 core 36, which is a component of the TCP2 driver 34, in more detail. The same parts as those in FIG.
  • the TCP2 core 36 receives the port search request from the mail system core 37 and requests the specified port search unit 42 that searches for the specified port, and also receives the hook request from the mail system core 37. There is a hook processing unit 43 that hooks packets that match.
  • a POP3 command message packet is received from the mailer 31 of the client device A, and is confirmed to be a POP3 command message packet.
  • a mail server connected to the network 40 Response message confirmation unit 45 from 41 and SMTP command message from client device A mailer 31
  • An SMTP command message packet confirmation unit 46 for confirming that it is an SMTP command message packet, and a response message confirmation unit 47 from the mail server 41 connected to the network 40.
  • it has a packet intercept section 48 for connecting these POP3 or SMTP message confirmation sections 44 to 47 and the mail system core 37.
  • the hook processing unit 43 is a part that performs processing for supplementing a hook request from the mail system core 37 (a request to catch a predetermined packet when it is received). That is, the hook processing unit 43 cooperates with the POP3 command message packet confirmation unit 44 and the SMTP command message confirmation unit 46 to capture a packet including an IP address and a port number with a hook request in advance. , Send to mail system core 37. In addition, even when the receiver declaration data or key exchange fixed data that was requested in advance by the mail system core 37 is confirmed by the POP3 command message packet confirmation unit 44 and the SMTP command message confirmation unit 46, these are also confirmed. Captured by hook processing unit 43 and sent to mail system core 37.
  • the POP3 or SMTP response message packet confirmation unit 45, 47 confirms each message packet, it is captured by the hook processing unit 43, and the result is sent to the mail system core via the packet interception unit 48. Send to 37.
  • the above is the configuration and operation of the TCP2 core 36.
  • the mail system core 37 includes an authentication / analysis unit 50 that authenticates user IDs and passwords included in various command message buckets sent from the TCP2 core 36 and analyzes various command messages, and an authentication Z analysis unit 50.
  • the encryption unit 51 that encrypts the main text and attached file, the key exchange unit 53 that performs key exchange between client devices, and the IP address and port number of POP3, the IP address and port number of SMTP, as described above
  • a storage medium 38 is provided for storing the user ID, password, destination address, source mail address, key information, etc. .
  • TCP2 menu Interface part 55 for connecting to the mail system application part 35, and deleting mails and attached files based on the displayed list of received mails (see Fig. 7).
  • Mail Z attached file deleting part 54 And a decryption unit 52 for decrypting the information stored in the storage medium 38 in an encrypted state.
  • the TCP2 core 36 captures command message packets from the mailer 31 and mail server 41 of its own terminal based on the hook request from the mail system core 37.
  • the command message packet captured by the TCP2 core 36 is sent to the authentication / analysis unit 50 of the mail system core 37.
  • the encryption unit 51 of the mail system core 37 encrypts the mail title, body, and attached file in the command message packet analyzed by the authentication / analysis unit 50, and sends it to the mail server 41 via the TCP2 core 36.
  • command message packets other than the title, body, and attached file of the mail are not encrypted by the encryption unit 51 but sent to the mail server 41 via the TCP2 core 36.
  • the decryption unit 52 is means for decrypting various information including mail information stored in the storage medium 38 as necessary, and sending the decrypted information to the mailer 31 via the TCP2 core 36.
  • the key exchange unit 53 is means for exchanging keys between the own terminal (client apparatus A) and another terminal (client apparatus B) connected to the network 40.
  • the signature part 51 and the decryption part 52 the title, body text or attached file of the mail is encrypted or decrypted.
  • the mail system core 37 includes a deletion unit 54 such as a mail Z attachment file that enables deletion of unauthorized mail.
  • the mail Z attachment deletion unit 54 is connected to the TCP2 mail application unit 35 (see FIGS. 3 and 6) via the interface 55.
  • the operator of the client device A checks the display data shown in FIG. 7 displayed on the output device (display device) 33 and discriminates the mail to be received and the mail to be deleted. With regard to the deleted mail (or attached file), clicking the discard button sends this to the mail / attached file deleting unit 54 of the mail system core 37 in FIG. 5 to delete the mail. As a result, it is possible to delete unauthorized mail without passing it to the mailer 31 of the client apparatus A.
  • the TCP2 mail system application section 35 is software that connects the mail system core 37 and the input / output devices (32, 33).
  • user registration is performed by the mail system core 37 from the input / output control unit 65 via the interface 61.
  • the user registration completion notification power interface 61 from the mail system core 37 is used to register the user registration unit 62. Sent to.
  • the output device 33 displays that the user registration has been completed.
  • the output device 33 displays a received mail list screen as shown in FIG.
  • the mail system core 37 holds the encrypted mail, the mail with the attached file, and the HTML mail.
  • the TCP2 mail application unit 35 displays a list of received mails on the output device 33, and selects whether to "receive” or "discard". In other words, in the case of encrypted mail, it is possible to receive by the existing mailer 31 after authenticating the person by pressing the “Receive” button.
  • the existing mailer 31 can receive it by pressing the “Receive” button. it can. If you don't remember sending from the other party, you can press the “Discard” button to discard the mail.
  • the mail display unit 64 causes the encrypted mail received by the existing mailer and stored in the storage medium 39 to be displayed in plain text on the output device 33.
  • the “POP before SMTP” method is a mail transmission method that always executes POP before using SMTP.
  • the SMTP protocol used for sending mail does not have a mechanism for user authentication (by default), so any user may be able to send mail.
  • POP protocol which is a protocol for receiving mail
  • user authentication is to be performed at the very first stage of connection.
  • This method of using an SMTP server is called POP before SMTP.
  • step Sl when registering a user in the TCP2 mail system, user registration is started from the TCP2 mail system application section (step Sl). That is, the TCP2 mail system application unit 35 makes a user registration request to the mail system core 37 in the TCP2 driver 34. Upon receiving this user registration request, the mail system core 37 makes a mail search request to the TCP2 core 36 in the TCP2 driver.
  • TCP2 core 36 Upon receiving a mail search request from mail system core 37, TCP2 core 36 specifies Search for communication ports (step S2).
  • the standard mail for user registration is transmitted from the existing mailer 31 to itself (step S3).
  • TCP communication is established between the existing mailer 31 and the mail server 41 (see FIG. 4) connected to the network 40 via the TCP2 core.
  • the TCP2 core 36 receives the POP3 connection message from the network 40, recognizes that it is a POP3 port, and notifies the mail system core 37 of the searched port (step S4). For example, if the designated communication port is a SMTP (eg 25 port) or POP3 (eg 110 port) packet, it notifies the mail system core 37 of the searched port. At this time, the TCP2 core 36 forwards a POP3 connection message to the existing mailer 31.
  • SMTP eg 25 port
  • POP3 eg 110 port
  • the mail system core 37 receives the search result from the TCP2 core 36 and requests the TCP2 core 36 to receive (intercept) the packet (step S5). In response to the intercept request from the mail system core 37, the TCP2 core 36 starts packet interception (step S6).
  • the user ID is transmitted from the existing mailer 31 to the TCP2 core 36.
  • the TCP2 core 36 confirms the packet of this user ID (step S7), and the "USER" message from the mailer. Is sent to the mail system core 37.
  • This "USER” is a basic POP3 command issued when connecting a client to the server.
  • the mail system core 37 analyzes the “USER” message from the TCP2 core 36, stores the POP3 IP address and port number in the storage medium 38 (see FIGS. 3 and 5), and also stores the user ID. Is temporarily saved (step S8). Here, the reason for temporary storage is that authentication has not been completed by confirming the password. Then, the user ID is sent to a mail server 41 (see FIG. 4) connected to the network 40.
  • a response to this user ID is returned from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 confirms the packet of the user ID response message, and sends the “ten-k” message as a result to the mail system.
  • Send to core 37 step S9.
  • This “+ OK” message means that the mail server 41 says “Your password can be sent because the user ID is recognized (Use r recognized, send password) ".
  • the mail system core 37 analyzes this “+ OK” message and forwards the user ID response from the mail server 41 to the mailer 31 (step S 10).
  • the mailer 31 transmits a password message to the mail server 41.
  • the password message sent from the mailer 31 is confirmed by the TCP2 core 36, and the packet of the password message for confirmation is sent by the mail system core 37 (step Sl l).
  • Mail system core 37 receives the “PASS” message from TCP2 core 36 and analyzes it.
  • the password is temporarily stored (temporarily stored) in the storage medium 38, and the password is sent to the mail server 41 connected to the network 40 (step S12).
  • the TCP2 core 36 checks the password response message packet, and sends the password response message packet to the mail system core 37 (step S13).
  • Mail system core 37 receives the password response message packet and analyzes the message. In other words, the “+ OK” message indicating that the password has been confirmed is analyzed, and the user ID and password temporarily stored in the storage medium 38 are properly stored in the storage medium 38. As a result, the user authentication is completed. After storing the user ID and password, a password response from the mail server 41 is transmitted to the mailer 31.
  • the mailer 31 Upon receiving this password response, the mailer 31 sends a termination declaration (QUIT) to the TCP2 core 36 indicating that the connection is to be terminated, and the TCP2 core 36 confirms that the termination declaration has been received Tell (step S15).
  • the mail system core 37 analyzes this “QUIT” message and sends a termination declaration (QUIT) to the mail server 41 connected to the network 40 (step S 16).
  • the TCP 2 core 36 confirms the end declaration response packet (step S17), and sends the result to the mail system core 37.
  • the mail system core 37 analyzes the “+ OK” message from the TCP2 core 36 and forwards the end declaration response to the mailer 31 (step S18).
  • mail connected between TCP2 core 36 and mailer 31 and between TCP2 core 36 and network 40 Disconnection of TCP communication with the server 41 is completed.
  • the second stage starts with the mail transmission requesting power from the mailer 31 SMTP to the mail server 41 connected to the network 40 (step S19).
  • TCP communication is established between the mailer 31 and the mail server 41 via the TCP2 core.
  • the SMTP connection message is sent from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 receives the SMTP response code “220” and is the SMTP port. And the search result is notified to the mail system core 37 (step S20).
  • the SMTP response code “220” is a notification that the preparation for connection is completed between the mail server and the client device.
  • the mail system core 37 requests the TCP2 core 36 to receive (intercept) the packet (step S21), and the TCP2 core 36 that receives the packet starts receiving the packet (step S21). S22).
  • a use start declaration is issued from the mailer 31 of the client device.
  • This declaration of start of use is a message from the client device to the server saying “I will send this email”.
  • the TCP2 core 36 confirms the packet of the start of use declaration message (step S23), and sends this to the mail system core 37 as a “HELO” and “EHLO” message.
  • the mail system core 37 analyzes the “HELO” and “EHLO” messages and stores them in a storage medium.
  • the SMTP IP address and port number are stored in 38 (step S24). Then, the use start declaration is sent to the mail server 41 connected to the network 40. The mail server 41 issues a start-of-use declaration response to this, and this power is confirmed by the STCP2 core 36 (step S25). The response code of the start of use declaration is indicated by the number “250”. This response code “250” is “Requested mail action okay, combined”.
  • Mail system core 37 analyzes this “250” message, and sends a use start declaration response sent from mail server 41 to mailer 31 (step S 26).
  • a mailer 31 sends a sender declaration.
  • TCP2 core 36 is The packet is confirmed and sent to the mail system core 37 (step S27).
  • This sender declaration message is a message “MAIL FROM: ku” and is a message informing the sender.
  • the mail system core 37 analyzes this message, stores the sender's mail address in the storage medium 38 (step S28), and sends a sender declaration to the mail server 41.
  • the mail server 41 issues a sender declaration response.
  • the TCP2 core 36 confirms the packet of this sender declaration response and sends this response code “250” to the mail system core 37 (step S 29).
  • the mail system core 37 sends the received sender declaration response to the mailer 31 of the client device (step S30).
  • the mailer 31 transmits a recipient declaration message.
  • This recipient declaration message is a message that tells the mail server 41 that “Send to this email address.” And is expressed as “RCPT TO: ku”.
  • the TCP2 core 36 confirms this recipient declaration message (step S31) and sends it to the mail system core 37.
  • the mail system core 37 analyzes this “RCPT TO:” message and sends it to the mail server 41 (step S 32).
  • the mail server 41 returns a recipient declaration response to the TCP2 core 36, and the TCP2 core 36 confirms this recipient declaration response and sends the response code “250” to the mail system core 37.
  • Send step S 33.
  • the mail system core 37 analyzes the recipient declaration response and forwards it to the mailer 31 of the client terminal (step S34).
  • the mailer 31 of the client device that has received the recipient declaration response sends a body start declaration.
  • the TCP2 core 36 confirms the packet of the body start declaration and passes it to the mail system core 37 as a “DATA” message (step S35).
  • DATA is an SMTP command that means sending the text.
  • the mail system core 37 analyzes this “DATA” message, and transmits this body start declaration to the mail server 41 (step S 36).
  • mail server 41 When mail server 41 receives this text start declaration, it sends a text start declaration response to the client device. Then, the TCP2 core 36 of the client device confirms the packet of the body start declaration response, and sends it to the mail system core 37 as a “354” message (step S37).
  • the response code “354” is an SMTP response code indicating the start of mail input.
  • the mail system core 37 analyzes this “354” message, and sends the body start declaration response sent from the mail server 41 to the mailer 31 of its own terminal (step S38).
  • the mailer 31 transmits a user registration standard mail message to the mail server 41.
  • the TCP2 core 36 confirms the bucket of the user-registered standard e-mail message and sends it to the mail system core 37 (step S39).
  • the mail system core 37 receives the packet for the user-registered standard mail message and analyzes the user-registered standard mail message (step S40). Then, the user registration standard mail message is sent to the mail server 41.
  • a transmission data response message is sent from the mail server 41 to the client device.
  • the TCP2 core 36 confirms the packet of the transmission data response message and sends the packet of the transmission data response message to the mail system core 37 (step S41).
  • the mail system core 37 receives the packet of the transmission data response message and analyzes the message. That is, the SMTP response code “250 OK” message is analyzed, the TCP2 mail system application unit 35 is notified that the user registration is completed, and the transmission data response is sent to the mailer 31 of the terminal (step S42). ).
  • the TCP2 mail system application unit 35 receives a notification from the mail system core 37 and displays on the display screen of the output device 33 that the user registration has been completed (step S43).
  • the mailer 31 that has received the transmission data response from the mail server 41 sends an end declaration message “011” to the mail server 41.
  • the TCP2 core 36 that has received this end declaration message confirms this packet (step S44) and sends it to the mail system core 37 as a “QUIT” message.
  • the mail system core 37 analyzes this “QUIT” message and sends a termination declaration to the mail server 41 (step S45).
  • the mail server 41 issues an end declaration response and sends it to the client device.
  • the TCP2 core 36 of the client device confirms the received end declaration response packet and sends it to the mail system core 37 as an SMTP response code “221” message (step S46).
  • the “221” message is an SMTP response code telling you to close the connection.
  • the system core 37 analyzes this “221” message, and sends its end declaration response to the mailer 31 of its own terminal. As a result, the flow of user registration is completed, and the TCP communication between the mailer 31 of the client device and the mail server 41 is disconnected.
  • a hook request is received from the mail system core 37 of the TCP2 driver 34 of the TCP2 mail system to capture packets of the POP3 and SMTP IP addresses and the port numbers of all registered mail servers in the TCP 2 core. It is always on (step S50).
  • a hook request is a request to capture a packet containing the mail server's POP3, SMTP IP address and boat number registered for all registered users.
  • the TCP2 core 36 receives this hook request, it captures (hooks) a packet including the IP addresses and port numbers of all registered users' POP3 and SMTP servers (step S51).
  • a connection to POP3 is made before a mail transmission request is made from SMTP.
  • TCP communication is established between the existing mailer 31 and the mail server 41 (see FIG. 4) connected to the network 40 via the TCP2 core.
  • the POP3 connection message is sent from the mail server 41 connected to the network 40.
  • the TCP2 core 36 receives this POP3 connection message and recognizes that it is a POP3 socket. , Notify the mail system core 37 of the hook result. S53).
  • the mail system core 37 receives the hook result from the TCP2 core 36 and requests the TCP2 core 36 to receive (intercept) the packet (step S54). In response to the intercept request from the mail system core 37, the TCP2 core 36 starts intercepting the packet (step S55).
  • the user ID is transmitted from the existing mailer 31 to the TCP2 core 36, and the TCP2 core 36 confirms the packet of this user ID (step S56), and the "USER" message from the mailer. Is sent to the mail system core 37.
  • This “USER” message is a basic POP 3 command issued when a client is connected to a server, as described in user registration (see FIG. 8).
  • the mail system core 37 analyzes the “USER” message from the TCP2 core 36, and temporarily stores the user ID in the storage medium 38 (see FIGS. 3 and 5) (step S57).
  • “temporary storage” means storage at a stage where authentication has not been performed by confirming a password or the like, that is, storage prior to formal storage after authentication. Then, the user ID is sent to the mail server 41 connected to the network 40.
  • a response to this user ID is returned from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 confirms the packet of the user ID response message, and sends a "+ OK" message as a result to the mail system.
  • Send to core 37 step S58.
  • This “+ OK” message is obtained by a reply message “Used recognized, send password” in the mail server 41 because the user ID is recognized.
  • the main system core 37 analyzes this “+ OK” message and forwards the user ID response from the mail server 41 to the mailer 31 (step S 59).
  • a password message is sent from the existing mailer 31 of the client device A to the mail server 41 connected to the network 40.
  • the password message sent from the mailer 31 is confirmed by the TCP2 core 36, and the password message packet for confirmation is sent by the mail system core 37 (step S60).
  • the mail system core 37 receives the TCP2 core 36 “PASS” message and analyzes it. As a result of analysis, the password is temporarily stored (temporarily stored) in the storage medium 38 and connected to the network 40.
  • the password is sent to the mail server 41 (step S61).
  • the TCP2 core 36 confirms the password response message packet and sends the password response message packet to the mail system core 37 (step S62).
  • Mail system core 37 receives the password response message packet and analyzes the message. In other words, the “+ OK” message indicating that the password has been confirmed is analyzed, and the user ID and password temporarily stored in the storage medium 38 are replaced with the user ID registered in the storage medium 38 and the user ID. Authentication is performed against the password, and key information is obtained (step S63). Then, after obtaining the key information, a password response is transmitted to the mailer 31.
  • mailer 31 Upon receiving this password response, mailer 31 sends a termination declaration (QUIT) telling that the connection is to be released to TCP2 core 36, and that TCP2 core 36 has confirmed this termination declaration to mail system core 37. Tell (step S64).
  • the mail system core 37 analyzes this “QUIT” message and sends a termination declaration (QUIT) to the mail server 41 connected to the network 40 (step S65).
  • the TCP 2 core 36 confirms this end declaration response packet (step S66), and sends this result to the mail system core 37.
  • the mail system core 37 analyzes the “+ OK” message from the TCP2 core 36 and forwards the end declaration response to the mailer 31 (step S67). As a result, the disconnection of the TCP communication between the client device A and the mail server 41 (client device B) connected to the network 40 is completed.
  • the mail transmission request power from the SMTP of the mailer 31 to the mail server 41 connected to the network 40 is started (step S68).
  • TCP communication is established between the mailer 31 and the mail server 41 via the TCP2 core.
  • the SMTP connection message is sent from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 receives the SMTP response code “220” and is the SMTP port. And notify the search result to the mail system core 37 ( Step S 69).
  • the mail system core 37 requests the TCP2 core 36 to receive (intercept) the packet (step S70), and the TCP2 core 36 that receives the packet starts receiving the packet (step S71). ).
  • a use start declaration is issued from the mailer 31 of the client device.
  • This declaration of start of use is a message from the client device to the server saying “I will send this email”.
  • the TCP2 core 36 confirms the packet of the start of use declaration message (step S72), and sends this to the mail system core 37 as “HELO” and “EHLO” messages.
  • the mail system core 37 analyzes the “HELO” and “EHLO” messages and stores them in a storage medium.
  • the SMTP IP address and port number are stored in 38 (step S73). Then, the use start declaration is sent to the mail server 41 connected to the network 40. The mail server 41 issues a start-of-use declaration response in response to this, and this power is confirmed by the STCP2 core 36 (step S74).
  • the mail system core 37 analyzes the “250” message, and sends a use start declaration response sent from the mail server 41 to the mailer 31 (step S75).
  • a mailer 31 sends a sender declaration.
  • the TCP2 core 36 confirms this sender declaration packet and sends it to the mail system core 37 (step S76).
  • This sender declaration message is a message “MAIL FROM: ku” and is a message informing the sender.
  • the mail system core 37 analyzes this message, stores the sender's mail address in the storage medium 38 (step S77), and sends a sender declaration to the mail server 41.
  • the mail server 41 issues a sender declaration response.
  • the TCP2 core 36 confirms the packet of this sender declaration response and sends this response code “250” to the mail system core 37 (step S78).
  • the mail system core 37 sends the received sender declaration response to the mailer 31 of the client device (step S79).
  • the mailer 31 transmits a recipient declaration message.
  • This recipient declaration message is a message that tells the mail server 41 that "Send to this email address.” It is a sage and is represented by “RCPT TO: Ku”.
  • the TCP2 core 36 confirms this recipient declaration message (step S80) and sends it to the mail system core 37.
  • the mail system core 37 analyzes the “RCPT TO:” message, stores the destination mail address in the storage medium 38, and sends a recipient declaration to the mail server 41 (step S81).
  • the mail server 41 returns a recipient declaration response to the TCP2 core 36, and the TCP2 core 36 confirms this recipient declaration response and sends the response code “250” to the mail system core 37.
  • Send step S82.
  • the mail system core 37 analyzes the recipient declaration response and forwards it to the mailer 31 of the client terminal (step S83).
  • the mailer 31 of the client device A that has received the receiver declaration response transmits a body start declaration.
  • the TCP2 core 36 confirms the packet of the body start declaration and passes it to the mail system core 37 as a “DATA” message (step S84).
  • “DATA” is an SMTP command meaning transmission of the text.
  • the mail system core 37 analyzes this “DATA” message, and sends this body start declaration to the mail server 41 (step S85).
  • the mail server 41 Upon receiving this text start declaration, the mail server 41 sends a text start declaration response to the client device A. Then, the TCP2 core 36 of the client device A confirms the packet of the body start declaration response and sends it to the mail system core 37 as a “354” message (step S86).
  • the response code “354” is an SMTP response code indicating the start of mail input.
  • the mail system core 37 analyzes this “354” message and sends the body start declaration response sent from the mail server 41 to the mailer 31 of the terminal itself (step S87).
  • the mailer 31 sends a key exchange standard mail message to the mail server 41.
  • the TCP2 core 36 confirms the packet of the key exchange fixed form mail 'message and sends it to the mail system core 37 (step S88).
  • step S89 the key exchange is performed by the terminals (client devices A and B) that exchange encrypted mail. It is necessary to send a standard email for key exchange to the device. For example, when an encrypted mail is exchanged between client device A and client device B, a key exchange fixed message 'message' is first sent to sending client device A and receiving client device B, and then the receiving device. The client device B sends a key exchange standard mail message to the sending client device A.
  • Judgment step S89 is a step of judging whether the key exchange destination is the sending side or the receiving side. Needless to say, the mail server 4 1 (see FIG. 4) intervenes in the exchange of this standard mail for key exchange.
  • step S89 if it is determined that the key exchange standard e-mail message is from the sending side (client device A), the e-mail message is analyzed and connected to the network 40. The outgoing mail with the key value added is sent to the mail server 41 (step S90). At this time, the key element value is stored in the storage medium 38 and also sent to the TCP2 mail system application unit 35, and the current key state is displayed on the output device 33 (step S91).
  • the determination step S89 when it is determined that the key exchange destination is not the transmission side (client device A), that is, it is determined that the key exchange destination is the reception side (client device B). If it is, the “mail message” is analyzed, the outgoing mail with the key element value added is sent to the mail server 41 connected to the network 40, and the key element value is stored in the storage medium 38 (step S92). Then, a new key is generated from the added key element value and the key element value already stored in the storage medium 38 and stored in the storage medium 38. Then, the newly generated key is sent to the TCP2 mail system application unit 35, and the current key state is displayed on the output device 33 (step S93). Through the processing as described above, the key exchange standard mail message is sent to the mail server 41 (client apparatus B).
  • a transmission data response message is sent from the mail server 41 to the client apparatus A.
  • the TCP2 core 36 confirms the packet of the transmission data response message and sends the packet of the transmission data response message to the mail system core 37 (step S 94).
  • the mail system core 37 receives the packet of the transmission data response message and analyzes the message. That is, the SMTP response code “250 OK” message is analyzed, and the transmission data response is sent to the mailer 31 of the own terminal (client device ⁇ ) (step S95). In this way, the mailer 31 that has received the transmission data response from the mail server 41 sends an end declaration message “QUIT” to the mail server 41.
  • the TCP2 core 36 that has received this end declaration message confirms this packet (step S96) and sends it to the mail system core 37 as a “QUIT” message.
  • the mail system core 37 analyzes this “QUIT” message and sends a termination declaration to the mail server 41 (step S97).
  • the mail server 41 issues an end declaration response to the end declaration and sends it to the client device A.
  • the TCP2 core 36 of the client apparatus A confirms the received end declaration response packet and sends it to the mail system core 37 as an SMTP response code “221” message (step S98).
  • the “221” message is an SMTP response code telling you to close the connection.
  • the mail system core 37 analyzes this “221” message, and sends an end declaration response to the mailer 31 of its own terminal (step S99). As a result, the flow on the key exchange sending side is completed, and the TCP communication between the mailer 31 of the client device A and the mail server 41 is disconnected.
  • hook request is always issued (step SlOl).
  • the TCP2 core 36 receives this hook request, it captures (hooks) a packet including the IP addresses and port numbers of all registered POP3 and SMTP servers (step S102).
  • TCP communication is established between the existing mailer 31 and the mail server 41 (see FIG. 4) connected to the network 40.
  • TCP communication is established between the client apparatus A having the existing mailer 31 and the mail server 41 (which may be referred to as the client apparatus B) connected to the network 40.
  • the POP3 connection message is sent from the mail server 41 connected to the network 40.
  • the TCP2 core 36 receives this POP3 connection message and recognizes that it is a connection message from the POP3 port. Hook results passed to mail system core 37 (Step SI 03)
  • the mail system core 37 receives the hook result from the TCP2 core 36 and requests the TCP2 core 36 to receive a packet (intercept) (step S104). In response to the intercept request from the mail system core 37, the TCP2 core 36 starts intercepting the packet (step S105).
  • the user ID is transmitted from the mailer 31 of the client apparatus A to the TCP2 core 36, and the TCP2 core 36 confirms the packet of this user ID (step S106), and the mailer output "USER" "Send message to mail system core 37".
  • the mail system core 37 analyzes the “USER” message and temporarily stores the user ID in the storage medium 38 (see FIGS. 3 and 5) (step S107).
  • temporary storage means storage at a stage where authentication has not been performed by confirming a password or the like, that is, storage prior to formal storage after authentication. Then, the user ID is sent to the mail server 41 connected to the network 40.
  • the response to this user ID is returned from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 confirms the packet of the user ID response message and sends the resulting “+ O K” message to the mail system. It is sent to the core 37 (step S108).
  • the “+ OK” message is a message that the mail server 41 “User recognized, send password” because the user ID is recognized.
  • the main system core 37 analyzes the “+ OK” message and transfers the user ID response from the mail server 41 to the mailer 31 (step S109).
  • a password message is sent from the existing mailer 31 of the client device A to the mail server 41 connected to the network 40.
  • the password message sent from the mailer 31 is confirmed by the TCP2 core 36, and this confirmation password message packet is sent to the mail system core 37 (step S110).
  • Mail system core 37 receives the “PASS” message from TCP2 core 36 and analyzes it. As a result of the analysis, the password is temporarily stored (temporarily stored) in the storage medium 38, and the password is transmitted to the mail server 41 connected to the network 40 (step S111).
  • a password response message is returned from the mail server 41 to the client device A.
  • the TCP2 core 36 confirms the password response message packet, and sends the password response message packet to the mail system core 37 (step S112).
  • the mail system core 37 analyzes the packet of the “+ OK” message, which is a password response message, and uses the user ID and password temporarily stored based on the user ID and password already registered in the recording medium 38. Authentication is performed and key information is acquired (step S113). Then, the received password response is sent to the mailer 31.
  • the mailer 31 Upon receiving the password response from the mail system core 37, the mailer 31 sends a mail download request.
  • the TCP2 core 36 confirms the packet of the download request from the mailer 31, and transmits this to the mail system core 37 as a “RETR” message (step S114).
  • the mail system core 37 analyzes this “RTER” message and sends a mail download request to the mail server 41 connected to the network 40 (step S115).
  • the “RET R” message is a basic POP3 command for receiving the message specified by the parameter. If a line with no message is specified as a parameter, ⁇ -ERR mes sage does not exist is returned.
  • the mail server 41 sends a key exchange fixed form mail 'message.
  • This key exchange standard mail message is sent from the client apparatus B (receiving side) connected to the network 40 to the client apparatus A (transmitting side).
  • the TCP2 core 36 confirms the packet of the standard mail for key exchange 'message and sends it to the mail system core 37 (step S116).
  • step S117 When the mail system core 37 receives the packet of the standard mail for key exchange 'message, it first determines whether or not the key exchange destination is the receiving side (step S117). For example, when exchanging encrypted mail between client device A and client device B, first, the sending client device A sends a fixed key exchange mail message to the receiving client device B, and then continues. Then, the receiving client device B sends a key exchange standard mail message to the sending client device A. Judgment step S117 is a step of judging whether or not the key exchange destination is sent from the client device B on the receiving side. In this way, in key exchange, both parties exchanging encrypted mail send each other a standard mail for key exchange to the other party. There is a need.
  • step S117 If it is determined in decision step S117 that the key exchange canonical mail message is from the recipient (client device B), the "mail message" is analyzed, and the sender mail address is identified. The key element value is stored in the storage medium 38. Also, it replaces the “Key exchange standard mail 'message” and “Key exchange mail reception notification mail” message and sends it to the mailer 31 (step S118) .At this time, the current key status is the TCP2 mail system application part. Is sent to 35 and displayed on the output device 33 (step S119), and the key exchange received mail 'message is sent to the mailer 31 of the terminal itself. Save to 39 (step S120).
  • the determination step S117 when it is determined that the key exchange destination is not the reception side (client device B), that is, it is determined that the key exchange destination is the transmission side (client device A). If it is, the “mail message” is analyzed, and the sender email address and key source value are stored in the storage medium 38. In addition, the key element value of the received mail and the key element value stored in the storage medium 38 are generated, and this key is stored in the storage medium 38. Then, “key exchange standard mail message” and “key exchange mail reception notification mail message” are exchanged and sent to mailer 31 (step S121). At this time, the current key state is sent to the TCP2 mail system application unit 35 and displayed on the output device 33 (step S122).
  • Mailer 31 stores the received “key exchange mail reception notification mail 'message” as a storage medium.
  • step S123 a message deletion request “DELE” is sent to the TCP2 core 36.
  • the TCP2 core 36 confirms this message deletion request packet (step S124) and sends it to the mail system core 37.
  • the mail system core 37 analyzes this message deletion request “DELE” and sends this message deletion request to the mail server 41 (step S 125).
  • the mail server 41 Upon receiving this message deletion request, the mail server 41 sends a message deletion response to the TCP 2 core 36, and the TCP2 core 36 confirms this packet (step S126).
  • the mail system core 37 analyzes the “+ OK” message of this message deletion response and sends it to the mailer 31 (step S 127).
  • mailer 31 When mailer 31 receives this message deletion response, it will send the end declaration message “QUIT” to mail server 41.
  • the TCP2 core 3 6 that receives this end declaration message confirms this packet. (Step S128), send to the mail system core 37 as a “QUIT” message.
  • the mail system core 37 analyzes this “QUIT” message and sends a termination declaration to the mail server 41 (step S129).
  • the mail server 41 issues an end declaration response to this end declaration and sends it to the TCP2 core 36 of the client device A. Then, the TCP2 core 36 of the client apparatus A confirms the received end declaration response packet and sends it to the mail system core 37 as an SMTP response code “+ OK” message (step S130). The mail system core 37 analyzes this “+0 ⁇ ” message and sends its end declaration response to the mailer 31 of its own terminal (step S 13 1). As a result, the flow on the key exchange receiving side is completed, and the TCP communication between the mailer 31 of the client device ⁇ and the mail server 41 (client device B) is disconnected.
  • the mail system core 37 of the TCP2 driver 34 constantly issues a packet hook request including the IP addresses and port numbers of the SMTP and POP3 servers of all registered users (step S132).
  • the TCP2 core 36 receives this hook request, it captures a packet containing the IP addresses and port numbers of all registered POP3 and SMTP servers (
  • the flow on the side of the E-mail sender sends mail to mailer 31 and sends the mail to the other party who has already exchanged the key.
  • TCP communication is established between the client apparatus A (own terminal) and the mail server 41 connected to the network 40 via the TCP2 core.
  • the mail server 41 connected to the network 40 sends a POP3 connection message, but the TCP2 core 36 receives this POP3 connection message and recognizes that it is a POP3 port.
  • the hook result is notified to the mail system core 37 (step S134).
  • the mail system core 37 receives the hook result from the TCP2 core 36 and requests the TCP2 core 36 to intercept the packet (step S 135).
  • the TCP2 core 36 starts intercepting the packet (step S136).
  • the user ID is transmitted from the existing mailer 31 to the TCP2 core 36.
  • the TCP2 core 36 confirms the packet of this user ID (step S137), and receives the "USER” message from the mailer.
  • This “USER” message is a basic command of POP3 that is issued when the client is connected to the server, as described in the user registration (see FIG. 8).
  • the mail system core 37 analyzes the “USER” message from the TCP2 core 36 and temporarily stores (temporarily stores) the user ID in the storage medium 38 (see FIGS. 3 and 5). (Step S137).
  • “temporary storage” means storage at a stage where authentication has not been performed by confirming a password or the like, that is, storage prior to formal storage after authentication. Then, the user ID is sent to the mail server 41 connected to the network 40.
  • the response to this user ID is returned from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 confirms the packet of the user ID response message, and sends the result "+ ⁇ K" message to the mail system.
  • Send to core 37 (step S139).
  • the “+ OK” message is a message that the mail server 41 “User recognized, send password” because the user ID is recognized.
  • the mail system core 37 analyzes this “+ K” message and forwards the user ID response from the mail server 41 to the mailer 31 (step S140).
  • a password message is sent from the existing mailer 31 of the client apparatus A to the mail server 41 connected to the network 40.
  • the password message sent from the mailer 31 is confirmed by the TCP2 core 36, and the password message packet for confirmation is sent by the mail system core 37 (step S141).
  • the mail system core 37 receives the “PASS” message from the TCP2 core 36 and analyzes it. As a result of the analysis, the password is temporarily stored (temporarily stored) in the storage medium 38, and the password is transmitted to the mail server 41 connected to the network 40 (step S142).
  • the TCP2 core 36 checks the password response message packet, and sends the password response message packet to the mail system core 37 (step S143).
  • Mail system core 37 receives the password response message packet and analyzes the message. In other words, the “+ OK” message indicating that the password has been confirmed is analyzed, and the user ID and password temporarily stored in the storage medium 38 are replaced with the user ID registered in the storage medium 38 and the user ID. Authentication is performed against the password, and key information is obtained (step S1 44). Then, after obtaining the key information, a password response is transmitted to the mailer 31.
  • mailer 31 sends a termination declaration (QUIT) telling that the connection is to be terminated to TCP2 core 36, and that TCP2 core 36 has confirmed this termination declaration to mail system core 37. Tell (step S64).
  • the mail system core 37 analyzes this “QUIT” message and sends a termination declaration (QUIT) to the mail server 41 connected to the network 40 (step S65).
  • the TCP 2 core 36 confirms this end declaration response packet (step S145), and sends the result to the mail system core 37.
  • the mail system core 37 analyzes the “+ OK” message from the TCP2 core 36 and forwards the end declaration response to the mailer 31 (step S146). As a result, the disconnection of the TCP communication between the client device A and the mail server 41 (client device B) connected to the network 40 is completed.
  • step S149 the mail transmission requesting power from the mailer 31 SMTP to the mail server 41 connected to the network 40 starts as in the flow on the key exchange sending side (see FIG. 12) (step S149).
  • TCP communication is established between the mailer 31 and the mail server 41 via the TCP2 core.
  • the SMTP connection message is sent from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 receives the SMTP response code “220” and is the SMTP port. And the search result is notified to the mail system core 37 (step S 150).
  • the mail system core 37 requests the TCP2 core 36 to receive (intercept) a packet (step S151), and the TCP2 core 36 that receives the packet starts receiving a packet (step S151). Step S 152).
  • a use start declaration is issued from the mailer 31 of the client device.
  • This declaration of start of use is a message from the client device to the server saying “I will send this email”.
  • the TCP2 core 36 confirms the packet of the start-of-use declaration message (step S153), and sends it to the mail system core 37 as “HELO” and “EHLO” messages.
  • the mail system core 37 analyzes the “HELO” and “EHLO” messages, and sends this use start declaration to the mail server 41 connected to the network 40 (step S154).
  • the mail server 41 issues a start-of-use declaration response to this, and this is confirmed by the TCP2 core 36 (step S155).
  • the mail system core 37 analyzes this “+ OK” message, and sends a use start declaration response sent from the mail server 41 to the mailer 31 (step S156).
  • a mailer 31 sends a sender declaration.
  • the TCP2 core 36 confirms this sender declaration packet and sends it to the mail system core 37 (step S157).
  • This sender declaration message is a message that informs the sender of “MAIL FROM: ku”.
  • the mail system core 37 analyzes this message and sends this sender declaration to the mail server 41 (step S158).
  • the mail server 41 issues a sender declaration response.
  • the TCP2 core 36 confirms the packet of this sender declaration response and sends this response code “250” to the mail system core 37 (step S159).
  • the mail system core 37 sends the received sender declaration response to the mailer 31 of the client device (step S 160).
  • the mailer 31 transmits a recipient declaration message.
  • This recipient declaration message is a message that tells the mail server 41 that “Please send to this email address”, and is expressed as “RCPT TO: Ku”.
  • the TCP2 core 36 confirms this recipient declaration message (step S161) and sends it to the mail system core 37.
  • Baa The mail system core 37 analyzes the “RCPT TO:” message and sends the recipient declaration to the mail server 41 (step S162).
  • the mail server 41 returns a recipient declaration response to the TCP2 core 36, and the TCP2 core 36 confirms this recipient declaration response and sends the response code "250" to the mail system core 37. Send (step S163).
  • the mail system core 37 analyzes this recipient declaration response and forwards it to the mailer 31 of the client terminal (step S164).
  • the mailer 31 of the client apparatus A that has received the receiver declaration response transmits a text start declaration.
  • the TCP2 core 36 confirms the packet of the text start declaration and passes it to the mail system core 37 as a “DATA” message (step S165).
  • “DATA” is an SMTP command meaning transmission of the text.
  • the mail system core 37 analyzes this “DATA” message, and sends this body start declaration to the mail server 41 (step S1 66).
  • the mail server 41 Upon receiving this body start declaration, the mail server 41 sends a body start declaration response to the client device A. Then, the TCP2 core 36 of the client device A confirms the packet of the body start declaration response, and sends this as a “354” message to the mail system core 37 (step S167).
  • the response code “354” is an SMTP response code indicating the start of mail input.
  • the mail system core 37 analyzes this “354” message, and sends the body start declaration response transmitted from the mail server 41 to the mailer 31 of its own terminal (step S 168).
  • the mailer 31 Upon receiving this, the mailer 31 sends a mail message to the TCP2 core 36.
  • the TCP2 core 36 confirms the mail message packet and passes it to the mail system core 37 (step S169).
  • the mail system core 37 receives this mail 'message' packet, it analyzes this mail 'message, confirms that the recipient's key is available, and if there is a title, body, and attached file, its ⁇ number. (Step S170). Then, the encrypted mail message is sent to the mail server 41 connected to the network 40.
  • a transmission data response message is sent from the mail server 41 to the client apparatus A.
  • TCP2 core 36 confirms the packet of this transmission data response message and A packet of a transmission data response message is sent to the stem core 37 (step S 171).
  • the mail system core 37 receives the packet of the transmission data response message and analyzes the message. That is, the SMTP response code “250” message is analyzed, and the transmission data response is sent to the mailer 31 of the terminal (client device A) (step S 172).
  • the mailer 31 that has received the transmission data response from the mail server 41 sends an end declaration message “011” to the mail server 41.
  • the TCP2 core 36 that has received this termination declaration message confirms this packet (step S173) and sends it to the mail system core 37 as a “QUIT” message.
  • the mail system core 37 analyzes this “QUIT” message and sends a termination declaration to the mail server 41 (step S174).
  • the mail server 41 issues an end declaration response to this end declaration and sends it to the client device A.
  • the TCP2 core 36 of the client device A confirms the received end declaration response packet and sends it to the mail system core 37 as an SMTP response code “221” message (step S175).
  • the "221” message is an SMTP response code that tells you to close the connection.
  • the mail system core 37 analyzes this “221” message, and sends an end declaration response to the mailer 31 of its own terminal (step S 176). As a result, the flow on the encrypted mail transmission side is completed, and the TCP communication between the mailer 31 of the client device A and the mail server 41 is disconnected.
  • the mail system core 37 of the TCP2 driver 34 is a hook for capturing packets including the IP addresses and port numbers of all SMTP and POP3 servers that are always registered at startup.
  • a request has been issued (step S180).
  • the TCP2 core 36 receives this hook request, it captures (hooks) a packet including the IP addresses and port numbers of all registered POP3 and SMTP servers (step S181).
  • TCP communication is established between the existing mailer 31 and the mail server 41 (see Fig. 4) connected to the network 40.
  • a client device A having an existing mailer 31 and a mail server 41 client device connected to the network 40.
  • TCP communication is established with device B).
  • the POP3 connection message is sent from the mail server 41 connected to the network 40.
  • the TCP2 core 36 receives this POP3 connection message and recognizes that it is a POP3 connection. Notify the hook result to (step S183)
  • the mail system core 37 receives the hook result from the TCP2 core 36, and requests the TCP2 core 36 to intercept the packet (step S184). In response to the intercept request from the mail system core 37, the TCP2 core 36 starts intercepting the packet (step S185).
  • the user ID is sent from the mailer 31 of the client apparatus A to the TCP2 core 36, and the TCP2 core 36 confirms the packet of this user ID (step S186), and the mailer output "USER" "Send message to mail system core 37".
  • the mail system core 37 analyzes this “USER” message, and temporarily stores (temporarily stores) the user ID in the storage medium 38 (see FIGS. 3 and 5) (step S187).
  • temporary storage means storage at a stage where authentication has not been performed by confirming a password or the like, that is, storage prior to formal storage after authentication.
  • the user ID is sent to the mail server 41 connected to the network 40.
  • the response to this user ID is returned from the mail server 41 to the TCP2 core 36.
  • the TCP2 core 36 confirms the packet of the user ID response message, and sends the resulting "10K” message to the mail system.
  • Send to core 37 (step S187).
  • the “+ OK” message is a message that the mail server 41 “User recognized, send password” because the user ID is recognized.
  • the mail system core 37 analyzes this “+ K” message and forwards the user ID response from the mail server 41 to the mailer 31 (step SI 88).
  • a password message is sent from the existing mailer 31 of the client device A to the mail server 41 connected to the network 40.
  • the password message sent from the mailer 31 is confirmed by the TCP2 core 36, and the confirmation password message packet is sent to the mail system core 37 (step S189).
  • Mail system core 37 is TCP2 Receive the “PASS” message from Key 36 and analyze it.
  • the password is temporarily stored (temporarily stored) in the storage medium 38, and the password is sent to the mail server 41 connected to the network 40 (step S190).
  • a password response message is sent from the mail server 41 to the client device A.
  • the TCP2 core 36 confirms the password response packet, and sends the password response message packet to the mail system core 37 (step S191).
  • the mail system core 37 analyzes the packet of the “+ OK” message, which is a password response message, and locks the user ID and password registered in the recording media 38 and the temporarily stored user ID and password. Information is acquired (step S192).
  • the received password response is sent to mailer 31.
  • the mailer 31 sends a mail download request.
  • the TCP2 core 36 confirms the download request packet from the mailer 31, and transmits this to the mail system core 37 as a “RETR” message (step S193).
  • the mail system core 37 analyzes this “RTER” message and sends a mail download request to the mail server 41 connected to the network 40 (step S 194).
  • the mail server 41 sends a download response ("+ OK" message) and a mail message.
  • the TCP2 core 36 confirms the download response (“+ ⁇ ” message) and the mail message packet, and sends it to the mail system core 37 (step S1 95).
  • the mail system core 37 analyzes the download response (“+ ⁇ ” message) and the mail message, and if this is a ciphertext, the TCP2 mail application section 35 sends “mail status” and the sender mail. Notify the address.
  • the “mail status” refers to the status of whether or not it is “ciphertext” ⁇ “HTML” file or “attached file”.
  • the packet is sent to the TCP2 mail application section 35. Instead, it remains in the mail system core 37 (step S196). Note that, depending on the implementation form of TCP2 dry disk 34, it can be set to store the mail message in the storage medium 38 of the mail system core 37.
  • the TCP2 mail system application unit 35 displays the state of the mail sent from the mail system core 37 and the sender mail address on the display screen of the output device 33 (step S197). Then, when the mail recipient views the mail list displayed on the output device 33 and presses the “Receive” button on the input device 32 (step S 198), the mail is received and sent to the client via the mail system core 37. The received mail is sent as encrypted text to mailer 31 of device A (step S199).
  • the download response and the received e-mail message are sent to the mailer 31 of the client device A, and the e-mail message is stored in the storage medium 39 in encrypted text (in some cases, plain text) ( Step S 200).
  • the mailer 31 sends a message deletion request “DELE” to the TCP2 core 36.
  • the TCP2 core 36 confirms this message deletion request packet (step S201) and sends it to the mail system core 37.
  • the mail system core 37 analyzes this message deletion request “DELE” and sends this message deletion request to the mail server 41 (step S202).
  • the mail server 41 Upon receiving this message deletion request, the mail server 41 sends a message deletion response to the TCP 2 core 36, and the TCP2 core 36 confirms this packet (step S203).
  • the mail system core 37 analyzes the “+ OK” message of the message deletion response and sends it to the mailer 31 (step S 204).
  • mailer 31 When mailer 31 receives this message deletion response, it will send an end declaration message “QUIT” to mail server 41. TCP2 core 3 6 that has received this end declaration message confirms this packet. (Step S205), mail system as “QUIT” message Send to Mucoa 37. The mail system core 37 analyzes this “QUIT” message and sends a termination declaration to the mail server 41 (step S206).
  • the mail server 41 issues a termination declaration response to this termination declaration and sends it to the TCP2 core 36 of the client device A. Then, the TCP2 core 36 of the client device A confirms the received end declaration response packet, and sends it to the mail system core 37 as an SMTP response code “+ OK” message (step S207). The mail system core 37 analyzes this “+0 K” message, and sends an end declaration response to the mailer 31 of its own terminal (step S 20 8). As a result, the flow on the encrypted mail receiving side is completed, and the TCP communication between the mail device 31 of the client device ⁇ and the mail server 41 (client device B) is disconnected.
  • client apparatus A and client apparatus B perform mail communication via mail server A and mail server B, respectively.
  • the power to send a fixed email for client device A force key exchange
  • the key element value is added and saved by the TCP2 driver of client device A.
  • This standard mail for key exchange from the client device is sent to the TCP2 driver of client device B via mail servers A and B, where the key source value is stored and received by the mailer of client device B. Is done.
  • the standard mail for key exchange is transmitted from the client apparatus B to the client apparatus A.
  • the TCP2 driver of the client device B adds and saves the key source value and generates a new key. Then, it is sent to the client apparatus A via the key exchange fixed mail card servers B and A.
  • the key source value is saved by the TCP2 driver, and after a new key is generated, the mailer receives the received mail for key exchange. This exchange of standard emails for key exchange is performed only for the first time, and is unnecessary for subsequent email communications.
  • Client device A force Mail is transmitted.
  • the mailer of client device A sends a plain text mail to the TCP2 driver, and the TCP2 driver encrypts the plain text mail.
  • the encrypted mail is sent to the client apparatus B via the mail servers A and B.
  • the TCP2 driver of client device B this The power to come to the mailer of the terminal as it is, or decryption is sent to the mailer in a plain text state.
  • Email transmission from client device B to client device A is performed in the same manner. This is TC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 クライアント装置間のメール通信にTCP2を実装してセキュリティの高いメールシステムを実現することを目的とする。  本発明は、ネットワークに接続され、既存のメーラを備えたクライアント装置間でメールを通信するメール通信システムである。各クライアント装置にはTCP2ドライバが実装されている。TCP2ドライバ34はTCP2コア36とメールシステムコア37を有しており、ネットワークを経由して受信された電子メールは、このTCP2ドライバ34で処理された後に、クアイアンと装置の既存のメーラ31に供給される。TCP2ドライバ34のメールシステムコア37では、メールの暗号化、復号化不要メールの削除等の制御が行われる。

Description

明 細 書
クライアント装置、メールシステム、プログラム及び記録媒体
技術分野
[0001] 本発明は、通信におけるセキュリティを重視したクライアント装置とメールシステム、 特に、インターネット上でのデータの「漏洩」及び「改竄」さらには「なりすまし」、「進入 」ないし「攻撃」などの不正妨害に対して極めて強レ、クライアント装置とメールシステム 、及びそれを実現するためのコンピュータプログラムに関する。
背景技術
[0002] 近年、インターネットを利用した通信は、パソコンさえあれば、それをネットワークに 接続するだけで、誰でもネットワーク上のコンピュータにアクセスできるため、社会の 中で急速に普及拡大している。一方、このインターネット通信の普及拡大に伴って、 ハッカー (hacker)やクラッカー(Cracker)が他人のコンピュータシステムに侵入して、ソ フトウェアやデータを盗み見たり、改竄や破壊を行ったりするという社会問題も大きく なっている。
[0003] 具体的な不正妨害のケースとしては、まず第 1に、中心的なシステムが使えなくなる ように、ネットワークから大量のメッセージを送りつけコンピュータシステムの運用を妨 害するシステム妨害がある。この妨害によってホストが過負荷になるとシステムダウン に陥ってしまうことも起こりうる。
[0004] また、ホストのパスワードを入手し、機密情報を盗んだり、情報の改竄や破壊を行つ たりする「不正アクセスとなりすまし」の不正妨害がある。この妨害にはコンピュータが 保有する情報を勝手に書き換え、人を陥れる卑劣のものもある。また、特定のバソコ ンに忍び込み、メールアドレスやパスワードなど個人の機密データを搾取するスパイ ウェアといわれる不正行為も発生している。このようにネットワークに接続したコンビュ ータが持つデータベースの内容を不正に盗み見る、いわゆる盗聴行為も頻繁に行わ れてレ、る可能性も否定できなレ、。
[0005] また、サイト若しくはサーバの運営元で、意図的に個人情報を盗むといった行為や 、社内に潜むスパイなどによるサイバーテロ(Cyber terrorism)といった危機も全くな いとはレ、えなレ、状況である。
[0006] さらに、他人のコンピュータにコンピュータ障害をもたらすプログラムである「ウィルス 」を送り込むという不正妨害が最近多くなつている。この送り込まれたウィルスに、メー ルなどを自宅で使用したパソコンが感染し、それを社内に接続した瞬間に社内のパ ソコン全体が感染したり、ウィルスがコンピュータの中のファイルを破壊させたり、更に は、ネットワーク全体をダウンさせたりするといつた問題も生じている。
[0007] このため、従来の TCP/IP (Transmission Control Protocol/Internet Protocol)や UDP (User Datagram Protocol)を利用したインターネット上での通信において、デー タの「漏洩」「改竄」等を防ぐ機能として、 IPsec (アイピーセック: Security Architecture for Internet Protocol)や SSL (Secure Socket Layer)といわれる暗号化通信が利用 されている。
[0008] IPsecの特徴は、単に特定のアプリケーションだけを暗号化するのではなぐホスト 力 送信されるあらゆる通信を IPレベルで暗号化する点にある。これによりユーザは アプリケーションを意識することなく安全な通信を可能とすることができる。また、 IPse cは、将来にわたって使えるように、それ自体の仕組みを変えることなく使用する暗号 アルゴリズムを変更することを可能としてレ、る。
[0009] また、 SSLを禾 IJ用することにより、クライアントとサーバは、ネットワーク上でお互いを 認証できるようになり、クレジットカード情報などの機密性の高い情報を喑号ィ匕してや り取りすることが可能となる。これにより、データの盗聴、再送攻撃 (ネットワーク上に流 れたデータを盗聴して何度も繰り返して送ってくる攻撃)、なりすまし (本人の振りをし て通信する)、データの改竄などを防止することができる。
[0010] 本発明に用いられる喑号ィ匕通信では、トランスポート層(〇SIの第 4層)にある TCP 層に暗号化機能を追加している。このトランスポート層は、各ノード上で実行されてい る 2つのプロセス間で、エラーのない、仮想的な通信路を実現するためのプロトコノレ 層である。ネットワーク層ではデータを送ることはできる力 そのデータが確実に相手 に届くという保証はない。また、送信した順に正しくデータが届くという保証もなレ、。そ こで、アプリケーションにとって使いやすくするために、エラーのない通信路を提供す るのがトランスポート層である。この第 4層のトランスポート層に喑号ィ匕機能を追加して 、外部からの不正侵入に強い通信システムを実現した例は、本発明者らが世界に先 駆けて提案したものであり、本発明者らはこの喑号ィ匕通信システムを「TCP2」と命名 している(特許文献 1参照)。
[0011] 特許文献 1:国際公開 WO2005/015827号パンフレット
発明の開示
[0012] しかしながら、特許文献 1に記載の発明は、 TCP2を利用した一般的な暗号化通信 システム、通信方法、通信装置及び通信プログラムにとどまり、この TCP2を搭載した メールシステムはレ、まだに実現されてレヽなレ、。
本発明の目的は、発明者らが先に提案した「TCP2」を利用した通信システムを用 レ、て、喑号ィ匕機能を付加したメールシステムとそれを実現するプログラムを提供する ことにある。
すなわち、電子メールの送信側クライアントと受信側クライアントに TCP2を実装し、 End-to-Endで喑号化された電子メールの送受信を可能とする電子メールシステム及 びそのプログラムを提供することである。
[0013] 前記課題を解決し、本発明の目的を達成するため、本発明のメールシステムに用 レ、られるクライアント装置は、ネットワークに接続され、複数のクアイアント装置間でメ ールの通信を行う既存のメーラを備えたクライアント装置であって、既存のメーラの外 に、 TCP2コアとメールシステムコアを備えた TCP2ドライバと、 TCP2メールシステム アプリケーション部を備えており、上記 TCP2コアは、既存のメーラあるいは SMTP又 は POP3のプロトコルから送られる電子メールのパケットを認識し、メールシステムコ ァに送信する手段を有し、メールシステムコアは、送受信されるメールの暗号化また は復号化する手段と、他のクライアント装置との鍵交換を行う手段と、 POP3の IPアド レスとポート、及び SMTPの IPアドレスとポートを保存する手段と、ユーザ ID 'パスヮ ード及び送信元及び送信先メールアドレスを保存する手段と、前記鍵交換により作 成した鍵を保存する手段と、暗号メール、 HTML形式メール、あるいは添付フアイノレ を選択して削除する手段とを有し、 TCP2メールアプリケーション部は、メールシステ ムコアから送られる電子メールに関連する鍵状態の表示を行うとともに、該電子メー ルの暗号化あるいは非暗号化状態、メール形式、及び添付ファイル、送信元メール アドレスの一覧表示を行う手段と、前記既存メーラで受信した暗号メールを平文で表 示する手段とを有しており、ネットワークを通して受信された電子メールは、 TCP2ドラ ィバによって選別処理された後に既存のメーラに供給されるとともに、既存のメーラか らネットワークを介して他のクライアント装置に送信されるメールは、 TCP2ドライバで 送信先の他のクライアント装置を確認した後に送信されるように設定されていることを 特徴とする。
[0014] また、本発明のメールシステムは、ネットワークに接続され、既存のメーラを備えた 複数のクライアント装置間でメールの通信を行うメールシステムであって、クライアント 装置には、既存のメール手段に加えて、 TCP2コアとメールシステムコアを備えた TC P2ドライバと、 TCP2メールアプリケーション部が設けられており、 TCP2ドライバの T CP2コアは、既存のメール手段あるいはネットワークに接続されメールサーバの SM TP又は POP3のプロトコルから送られる電子メールのパケットをメールシステムコアに 送信するように構成され、メールシステムコアは、送受信されるメールの暗号化または 復号化を行い、送信相手との鍵交換を行い、 POP3の IPアドレスとポート番号及び前 記 SMTPの IPアドレスとポート番号、ユーザ ID ·パスワード及び送信元及び送信先メ ールアドレス、前記鍵交換により作成した鍵を記憶メディアに保存し、受信した電子メ ールを選択的に削除するように構成されている。そして、 TCP2メールシステムアプリ ケーシヨン部は、メールシステムコアから送られる電子メールに関して、鍵状態の表示 を行うとともに、送受信したメールの一覧表示と、前記既存メーラで受信した喑号メ一 ルの平文表示を行うことを特徴としている。
[0015] また、本発明のメールシステムに用いられるメール通信プログラムは、互いに通信を 行うそれぞれのクライアント装置コンピュータに、既存のメール機能以外に、 TCP2コ ァ、メールシステムコア及び TCP2メールアプリケーションの 3つの機能を有する TCP 2メールシステム機能を実装しており、この TCP2コアの機能は、既存のメーラあるい はネットワークに接続されメールサーバの SMTP又は POP3のプロトコルから送られ る電子メールのパケットを認識してメールシステムコアに送信する機能を持っている。 また、メールシステムコアの機能は、送受信されるメールの暗号化または復号化を行 レ、、送信相手との鍵交換を行い、 POP3の IPアドレスとポート番号及び SMTPの IP アドレスとポート番号、ユーザ ID .パスワード及び送信元及び送信先メールアドレス、 前記鍵交換により作成した鍵を記憶メディアに保存するとともに、受信した電子メー ルを選択的に削除する機能を有している。さらに、 TCP2メールシステムアプリケーシ ヨンの機能は、メールシステムコアから送られる電子メールに関して、鍵状態の表示を 行うとともに、送受信したメールの一覧表示と、前記既存メーラで受信した暗号メール の平文表示を行う機能を有する。本発明のメール通信プログラムは、これらの各機能 をクライアント装置コンピュータに実現させるものである。また、本発明はこのメール通 信プログラムを記録した記録媒体もその実施の形態に含めている。
[0016] 本発明のメールシステムによれば、 TCP2機能を使用して、電子メールのタイトル、 本文及び添付ファイルのパケットを暗号化/復号化できるので、他人に知られること なぐ権限のあるものだけが電子メールの内容を知ることができるようになる。
また、メール送受信プロトコル(SMTP, POP3コマンド)並びにメールヘッダ終了子 、 MIME識別子は平文のままになっているので、クライアント装置で利用しているメー ルアプリケーションあるいはメールサーバが既存のまま利用できるという効果がある。 図面の簡単な説明
[0017] [図 1]本発明のメールシステムに用いられる TCP2のプロトコルスタックを示す図であ る。
[図 2]本発明のメールシステムに用いられるメッセージパケットの構造を示す図である
[図 3]本発明のクライアント装置における TCP2メールシステムのブロック構成図であ る。
[図 4]本発明のメールシステムの構成要素であるの TCP2コアの概略を説明するため のブロック構成図である。
[図 5]本発明のメールシステムの構成要素であるのメールシステムコアの概略を説明 するためのブロック構成図である。
[図 6]本発明のメールシステムの構成要素であるの TCP2メールシステムアプリケーシ ヨン部の概略を説明するためのブロック構成図である。 園 7]TCP2メールシステムアプリケーションによって、出力装置に表示される受信メ ールの一覧表を示す図である。
[図 8]本発明のメールシステムにおけるユーザ登録の流れを示すフロー図の一部で ある。
[図 9]本発明のメールシステムにおけるユーザ登録の流れを示すフロー図の一部で ある。
[図 10]本発明のメールシステムにおけるユーザ登録の流れを示すフロー図の一部で ある。
園 11]本発明のメールシステムにおける鍵交換送り側の流れを示すフロー図の一部 である。
園 12]本発明のメールシステムにおける鍵交換送り側の流れを示すフロー図の一部 である。
園 13]本発明のメールシステムにおける鍵交換送り側の流れを示すフロー図の一部 である。
[図 14]本発明のメールシステムにおける鍵交換受け側の流れを示すフロー図の一部 である。
[図 15]本発明のメールシステムにおける鍵交換受け側の流れを示すフロー図の一部 である。
[図 16]本発明のメールシステムにおける暗号メール送信側の流れを示すフロー図の 一部である。
[図 17]本発明のメールシステムにおける暗号メール送信側の流れを示すフロー図の 一部である。
[図 18]本発明のメールシステムにおける暗号メール送信側の流れを示すフロー図の 一部である。
[図 19]本発明のメールシステムにおける暗号メール受信側の流れを示すフロー図の 一部である。
[図 20]本発明のメールシステムにおける暗号メール受信側の流れを示すフロー図の 一部である。 [図 21]本発明の TCP2メールシステムの実施例の概要を説明するための図である。 発明を実施するための最良の形態
[0018] 以下、図面を参照しながら本発明の実施の形態の例を説明する。
図 1は、本発明の暗号化通信システムに用いられる TCP2のプロトコルスタックを示 すものである。
[0019] く TCP2プロトコルスタックの説明〉
このプロトコルスタックには、〇SIの 7階層の物理層(第 1層)とデータリンク層(第 2 層)に相当する階層に、 NIC(Network Interface Card)のドライバ 11が配列されている 。このドライバは、コンピュータなどのハードウェアをネットワークに接続するためのド ライバであり、その内容はデータ送受信制御ソフトウェアである。例えば Ethernetに接 続するための LANボードまたは LANカードがこれに相当する。
[0020] 第 3層のネットワーク層には、一部がトランスポート層 (第 4層)まで伸びた IPエミユレ ータ(emulator) 13が存在している。上記トランスポート層に延びた部分には、トランス ポートとしての機能は実装しておらず、セッション層(第 5層)にネットワーク層の機能 を提供しているだけある。この IPエミュレータ 13は、暗号化通信を行うプロトコルであ る「IPsec on CP」13bと、「IP on CP」 13aを用途に応じて切り換えて使う働きをする ものである。ここで、「on CP」とは、クラッキング 'プロテクタ(CP)による、「進入」「攻 撃」の監視、破棄、切断ないし通過制限の対象となっていること、又は、設定によりな りうることを示している。
[0021] また、ネットワーク層には ARP on CP (Address Resolution Protocol on Cracking Pr otector)が配列されている。この ARP on CPは、クラッカー(Cracker)への保護対策 を具備した IPアドレスから Ethernetの物理アドレスである MAC (Media Access Control )アドレスを求めるのに使われるプロトコルである。 MACは、媒体アクセス制御と呼ば れる、 LANなどで利用される伝送制御技術であり、データの送受信単位であるフレ ームの送受信方法やフレームの形式、誤り訂正などを規定する技術として利用され ている。
[0022] ここで、 IPエミュレータ 13は、本発明による各種のセキュリティ機能を、従来の IP周 辺のスタックに整合させるためのソフトウェア又はファームウェアである。すなわち、 IP エミユンレータ 13は、 ICMP (Internet Control Message Protocol) 14a、 IGMP (Inter net Group Management Protocol) 14b、 TCP15、 UDP16さらにソケット(Socket)イン ターフェース 17に整合させるためのソフトウェア、又はファームウェア、ないしはハー ドウエア(電子回路、電子部品)である。この IPエミュレータ 13により、 IPsecの暗号化 •復号ィ匕及び必要な認証情報付加'認証等の前後の適合処理を行うことができる。な お、 ICMPは、 IPのエラーメッセージや制御メッセージを転送するプロトコルであり、 I GMPは、同一のデータを複数のホストに効率よく配送するための又は配送を受ける ために構成されるホストのグループを制御するためのプロトコルである。
[0023] この IPエミュレータ 13の上層のトランスポート層(第 4層)には、 TCPエミュレータ 15 と UDPエミュレータ 16が配置されている。 TCPエミュレータ 15は、暗号化通信を行う プロトコルである「TCPsec on CP」 15bと、通常の通信プロトコルである「TCP on C P」 15aを用途に応じて切り換えて使う働きをする。同様に、 UDPエミュレータ 16は、 暗号化通信を行うプロトコルである「UDPsec on CP」16bと、通常の通信プロトコル である「UDP on CP」 16aを用途に応じて切り換えて使う働きをする。
[0024] また、 TCP2の最も特徴とされる点は、トランスポート層(第 4層)に、 TCPsecl 5bと 、 UDPsecl 6bの暗号化通信プロトコルを搭載したことである。
このトランスポート層(第 4層)の上層のセッション層(第 5層)には、 TCP及び UDP 等のプロトコルとデータのやりとりを行うソケット(socket)インターフェース 17が設けら れている。このソケットの意味は、既に述べたようにコンピュータが持つネットワーク内 の住所に当たる IPアドレスと、 IPアドレスのサブアドレスであるポート番号を組み合わ せたネットワークアドレスを意味している。実際には、一連のヘッダの追加ないし削除 をまとめて行う、単一のソフトウェアプログラムモジュール(実行プログラム等)あるレヽ は単一のハードウェアモジュール (電子回路、電子部品等)から構成されている。
[0025] TCPエミュレータ 15は、トランスポート層において、データの漏洩'改竄の防止の機 能、すなわち暗号化、完全性認証及び相手認証等の機能を持つ TCPsecl 5bと、こ のような暗号化、完全性認証、及び相手認証等の機能を持たない通常のプロトコル T CP15aのいずれかにパケットを振り分ける働きをもっている。また、 TCPsecl5b及び TCP15aのいずれもクラッキング 'プロテクタ(CP)を備えているため、そのいずれを 選択した場合でも、クラッカーによる「進入」「攻撃」に対して防御する機能を実現する こと力 Sできる。 TCPエミュレータ 15は上位層であるソケットとのインターフェースの役 割も果たしている。
[0026] また、既に述べたように TCPがエラー補償機能を有するのに対して、 UDPはエラ 一補償機能を持たないが、その分転送速度が速ぐかつブロードキャスト機能を備え ているという特徴がある。 UDPエミュレータ 16は、 TCPエミュレータ 15と同様に、デ ータの漏洩'改竄の防止の機能、すなわち暗号化、完全性認証及び相手認証等の 機能を持つ UDPsecl6bと、このような暗号化、完全性認証、及び相手認証等の機 能を持たない通常のプロトコル UDP16aのいずれかにパケットを振り分ける働きを持 つている。
[0027] 図 1に示すように、ソケット 17、 TCPエミュレータ 15、 UDPエミュレータ 16、「TCPs ec on CP」 15b、「UDPsec on CPJ 16b、「TCP on CPJ 15a、「UDPon CPJ 16a 、「ICMP on CPJ 14a、「IGMP on CPJ 14b、 IPエミュレータ 13、「IPon CPJ 13a 、及び「ARPonCP」 12からなるプロトコルスタックが本発明の暗号化処理を行うため のプロトコルスタックであり、以下、このプロトコルスタックを総称して TCP2と呼んでい る (特許文献 1参照)。
[0028] 本発明のメールシステムにおいて中心的な役割を果たす TCP2は、 TCP, UDP、 I P、 IPsec、 ICMP、 IGMP、 ARPの標準プロトコルに CP (クラッキング 'プロテクト)を 実装し、各プロトコルスタックに対する通信からの攻撃、及び、アプリケーション 'プロ グラムからの攻撃(トロイの木馬、プログラムの改竄、正規ユーザの不正使用)を防御 することができる。また、 TCP2では、 TCPエミュレータ 15を実装し、この TCPエミユレ ータ 15は、セッション層にあるソケット(Socket) 17、及びネットワーク層にある IPエミュ レータ 13から見て、互換性を保っため、外向きには標準 TCPと同じに見せることがで きる。実際は、 TCP2の機能として、 TCPと TCPsecを切り替えて実行する。 TCPsec は、トランスポート層での暗号化及び認証機能である。
[0029] また、同様に、 TCP2では、 UDPエミュレータ 16を実装しており、 UDPエミュレータ 16は、セッション層であるソケット(Socket) 17、及び、ネットワーク層である IPエミユレ ータ 13から見て、互換性を保っため、外部からは標準 UDPとして見せることができる 。実際は、 TCP2の機能として、 UDP、 UDPsecを切り替えて実行する。但し、 UDP secは、本発明のメールシステムには利用されない機能であるので、これ以降の説明 では触れない。
[0030] 次に、 TCP2において、特に重要な機能である「データ漏洩」を防ぐ機能である TC Psecl5bについて説明する。 TCPsecl 5bのための暗号化 '復号化の方法(アルゴリ ズム、ロジック (論理) )としては、公知の秘密鍵 (共通鍵)喑号アルゴリズムが用いられ る。
また、本発明のメールシステムに用いられる TCPsecl 5bの暗号方式として、 FEA L (Fast data Encipherment Algorithm)、 MI TY、 AES (Advanced Encryption Stand ard)といった暗号方式も利用されるほか、また、独自に作成した秘密の暗号化 *復号 化アルゴリズムを利用することもできる。ここで、 FEALは、 日本電信電話株式会社( 当時)が開発した暗号方式で、暗号化と復号ィ匕に同じ鍵をもちいる秘密鍵型の暗号 方式である。この FEALは、 DES (Data Encryption Standard :米国 IBM社が開発し た共通鍵 (秘密鍵)喑号ィヒアルゴリズム)に比べて高速に暗号化と復号化ができると レ、う利点がある。
[0031] 次に、同じく TCP2に利用される暗号方式は、例えば MISTYが用いられる力 この MISTYは、 IDEAと同様にデータを 64ビットのブロックに区切って暗号化する。鍵の 長さは 128ビットである。暗号化と復号ィ匕には同じプログラムが使われる点は DESな どと同じである。
このように、本発明の TCPsecl 5bの喑号方式としては、既に知られているさまざま な秘密鍵の暗号アルゴリズムを採用することができるほか、ユーザが独自に開発した 秘密鍵 (共通鍵)暗号方式も利用することが可能である。
[0032] さらに、いわゆる「なりすまし」及び「データの改竄」などを防ぐための「相手認証」及 び「完全性認証」の方法として、公開鍵や事前秘密共有(Pre-shared)を利用したァ ノレゴリズム、例えば、 MD5 (Message Digest 5)、 SHA1 (Secure Hash Algorithm 1) などの認証アルゴリズムが用いられる。また、このような公知の認証アルゴリズムに代 えて独自の一方向関数を利用したアルゴリズムを採用することもできる。
[0033] この MD5は、認証やデジタル署名に用いられるハッシュ関数(一方向要約関数)の 一つであり、原文を元に固定長のハッシュ値を発生し、これを通信経路の両端で比 較することにより、通信途中で原文が改竄されていなレ、かを検出することができるもの である。このハッシュ値は擬似的な乱数のような値をとり、これを基にしては原文を再 生できないようになっている。また、同じハッシュ値を生成する別のメッセージを作成 することも困難になっている。
[0034] SHA1も、認証やデジタル署名などに使われるハッシュ関数の一つであり、 2の 64 乗ビット以下の原文から 160ビットのハッシュ値を生成し、通信経路の両端で比較す ることにより、通信途上の原文の改竄を検出するものである。この認証アルゴリズムは 従来のインターネットの喑号ィ匕通信の代表的なものである IPsecにも採用されている
[0035] なお、これらの認証アルゴリズムについては、 DH (Diffie-Hellman)公開鍵配送法や 、 IPsecと同様の IKE (Internet Key Exchange)プロトコル(UDPの 500番)などにより 安全な鍵交換ができるように設計され、しかも、定期的に喑号ィ匕/完全性認証アルゴ リズム (論理)自体やそのための鍵の集合/定義域が変更されるように、プロトコルド ライバープログラム(TCPsecl 5b、 UDPsecl6bなど)によりスケジュールされている
[0036] <TCP2データパケット構造の説明 >
次に、図 2に基づいて、本発明のメールシステムで用いられるデータのパケット構造 と、その暗号化範囲及び完全性認証の適用範囲について説明しておく。
図 2は、 TCPsec/lPのパケット構造と喑号ィ匕範囲及び完全性認証の適用範囲を 示したものである。図 2に示すように、 IPヘッダ 21のすぐ後に、 TCPヘッダ 22及び T CPsec付カ卩情報 23が続き、更にアプリケーションデータ 24が続く構造になっている。 そして、アプリケーションデータ 24の後には、 TCPsecの付加トレーラ 25と TCPsecの 付加認証データ 26が配列される構造となっている。 TCPsecの付加トレーラ 25は、ブ ロック喑号で発生するデータのブランクやそのブランクの長さ、次のヘッダの番号など の暗号データをサポートする情報である。
[0037] TCPsecの特徴であるこれらの情報は、採用する喑号ィ匕 Z認証アルゴリズムによつ ては、 TCPsec/lPの使用していないヘッダフィールド部分などに分散したり、個々 のパケットからは逆算 ·推測できない独立した事前取決め(ネゴシエーション)により省 略したりできるものである。また、 IP層の上層に当たる TCP及び IPを使用していない プロトコルフィールドを用いて、図 2に示すような TCPsec/lPパケットを構成すること により、より下層の IPのみに着目した IPsecパケットよりもパケット長を簡単に削減する ことができるようになる。なお、ここで暗号化範囲は、図示の通り、アプリケーションデ ータ 24、 TCPsec付加トレーラ 25であり、認証範囲は上記暗号化範囲の他に、 TCP secの付加情報 26が加えられる。
[0038] く TCP2メールシステムの機能ブロック図の説明 >
次に、本発明の TCP2を用いたメールシステムの第 1の実施の形態について図面 を参照して説明する。
図 3は、本発明のメールシステムに用いられるクライアント装置の実施形態例のプロ ック構成図である。クライアント装置 Aほたは B)は、既存のメーラ 31、入力装置 32、 出力装置 33の他に、 TCP2ドライバ 34と TCP2メールシステムアプリケーション部 35 を備えている。また、受信したメールを保存する記憶メディア 39を有している。
[0039] TCP2ドライバ 34は、図 4で説明する TCP2コア 36と、図 5で説明するメールシステ ムコア 37及び記憶メディア 38から構成されている。記憶メディア 38は、クライアント装 置 Aが通常有する記憶メディア 39とは異なる記憶メディアであり、メールシステムコア が持っている秘密鍵で暗号化された状態で、後述する種々の情報を記憶するもので ある。
[0040] ここで、クライアント装置 Aが接続されるネットワーク 40には、不図示のメールサーバ と他のクライアント端末 (例えばクライアント装置 B)が接続されており、クライアント装 置 Aとクライアント装置 Bはネットワーク 40に接続されるメールサーバ 41 (図 4参照)を 介してメールの交換を行うようになっている。
[0041] 次に、図 3に示すクライアント装置 Aにおける動作を簡単に説明しておく。詳しくは 図 4〜図 6で説明する。
まず、メールサーバからネットワーク 40を介して送信される喑号化されたメールデー タは、クライアント装置 Aに搭載された TCP2ドライバ 34の TCP2コア 36に送られる。 そして、この TCP2コア 36で POP3パケットであることが確認された後、メールシステ ムコア 37に送られ、所定の処理がなされて既存のメーラ 31に送られる。
[0042] また、メールシステムコア 37は、 TCP2メールシステムアプリケーション部 35に接続 されており、受信したメールの一覧表が TCP2メールアプリケーション部 35を介して 出力装置 33に表示される(図 7参照)。クライアント装置 Aのユーザはこの表示結果を 見て、受信するか廃棄するかどうかを判断し、その判断結果を入力装置 32から入力 する。入力装置 32の出力は TCP2メールシステムアプリケーション部 35を介してメー ルシステムコア 37に送られ、ここで不正メールの削除が実行される。
[0043] 一方、クライアント装置 Aのメーラ 31から送られる電子メールは、 TCP2コア 36で S MTPのパケットであることが確認された後、メールシステムコア 37に送られる。そして 、メールシステムコア 37で暗号化されて、 TCP2コア 36を介してネットワーク 40に接 続されているメールサーバ 41 (図 4参照)に送られる。なお、記憶メディア 38には、図 8〜図 15で説明するユーザ登録と鍵交換時に、 POP3の IPアドレスとポート番号、 S MTPの IPアドレスとポート番号、ユーザ IDとパスワード及び送信先と送信元のメール アドレス及び鍵情報が暗号化された状態で保存される。さらに、 TCP2の実装形態に もよる力 S、メーノレ'メッセージを保存するように構成することもできる。
[0044] 以上、本発明のメールシステムの実施形態例の概略構成を説明した力 詳細につ いては、図 4〜図 6のブロック図と図 8〜図 20のフローチャートによって説明されること になる。
図 4は、 TCP2ドライバ 34の構成要素である TCP2コア 36をより詳細に説明するた めの機能ブロック図である。図 3と同一の部分は同一符号を付している。
図 4に示すように、 TCP2コア 36は、メールシステムコア 37からのポートサーチ要求 を受けて指定ポートをサーチする指定ポートサーチ部 42と、同じくメールシステムコ ァ 37からのフック要求を受けて要求に合致するパケットをフックするフック処理部 43 を備えている。
[0045] クライアント装置 Aのメーラ 31からの POP3コマンドのメッセージパケットを受信し、 それが POP3コマンドのメッセージパケットであることを確認する POP3コマンドメッセ ージパケット確認部 44と、ネットワーク 40に接続されるメールサーバ 41からの応答メ ッセージ確認部 45と、クライアント装置 Aのメーラ 31からの SMTPコマンドのメッセ一 ジパケットを受信し、それが SMTPコマンドのメッセージパケットであることを確認する SMTPコマンドメッセージパケット確認部 46と、ネットワーク 40に接続されるメールサ ーバ 41からの応答メッセージ確認部 47と、を備えている。さらに、これら POP3あるい は SMTPのメッセージ確認部 44〜47とメールシステムコア 37とを接続するパケットィ ンターセプト部 48を有してレ、る。
[0046] フック処理部 43は、メールシステムコア 37からのフック要求(所定のパケットを受信 したらそれを捕まえなさいという要求)があったものを補足する処理を行う部分である 。すなわち、フック処理部 43では、 POP3コマンドメッセージパケット確認部 44と SM TPコマンドメッセージ確認部 46と連携して、予めフック要求がある IPアドレスとポート 番号を含むパケットが確認されたらこれを捕捉して、メールシステムコア 37に送る。ま た、メールシステムコア 37から予めフック要求があった受信者宣言データや鍵交換 用定型データなどを POP3コマンドメッセージパケット確認部 44と SMTPコマンドメッ セージ確認部 46で確認した場合にも、これらをフック処理部 43で捕捉してメールシ ステムコア 37に送る。 POP3あるいは SMTPの応答メッセージパケットの確認部 45、 47も同様にそれぞれのメッセージパケットを確認すると、それをフック処理部 43で捕 捉し、その結果を、パケットインターセプト部 48を経由してメールシステムコア 37に送 る。以上が TCP2コア 36の構成と動作である。
[0047] 次に、図 5に基づいて、メールシステムコア 37の構成と動作について説明する。図
3、図 4と同一の構成は同一符号を付し、説明は省略する。
メールシステムコア 37は、 TCP2コア 36から送られる各種コマンドメッセージバケツ トの中に含まれるユーザ IDやパスワードの認証と、各種コマンドメッセージの分析とを 行う認証/分析部 50と、認証 Z分析部 50で分析したコマンドメッセージパケットに含 まれる POP3の IPアドレスとポート番号、 SMTPの IPアドレスとポート番号、ユーザ ID とパスワード及び送信先と送信元のメールアドレス及び鍵情報等や平文メールのタイ トル、本文、添付ファイルを暗号化する暗号化部 51と、クライアント装置間の鍵交換を 行う鍵交換部 53と、上述したように、 POP3の IPアドレスとポート番号、 SMTPの IPァ ドレスとポート番号、ユーザ IDとパスワード及び送信先と送信元のメールアドレス及び 鍵情報等を暗号化した状態で記憶する記憶メディア 38を備えている。また、 TCP2メ ールシステムアプリケーション部 35と接続するためのインターフェース部 55と、表示さ れた受信メールの一覧表(図 7参照)に基づいてメールや添付ファイルの削除を行う 、メール Z添付ファイルの削除部 54と、記憶メディア 38に暗号化状態で記憶されて レ、る情報を復号ィ匕する複号化部 52を備えている。
[0048] 上述したように、 TCP2コア 36は、メールシステムコア 37からのフック要求に基づい て、 自端末のメーラ 31とメールサーバ 41からのコマンドメッセージパケットを捕捉して いる。 TCP2コア 36で捕捉されたコマンドメッセージパケットは、メールシステムコア 3 7の認証/分析部 50に送られる。
メールシステムコア 37の暗号化部 51は、認証/分析部 50で分析されたコマンドメ ッセージパケットのうち、メールのタイトル、本文、添付ファイルを暗号化し、 TCP2コ ァ 36を介してメールサーバ 41に送る。なお、前記メールのタイトル、本文、添付フアイ ル以外のコマンドメッセージパケットは、暗号化部 51で暗号化せずに、 TCP2コア 36 を介してメールサーバ 41に送る。
[0049] 復号化部 52は、必要に応じて記憶メディア 38に記憶されているメール情報を含む 種々の情報を復号ィ匕して、 TCP2コア 36を介してメーラ 31に送る手段である。また、 鍵交換部 53は、自端末 (クライアント装置 A)とネットワーク 40に接続される他端末 (ク ライアント装置 B)の間で鍵交換を行う手段である。喑号ィ匕部 51と復号ィ匕部 52では、 メールのタイトル、本文あるいは添付ファイルが暗号化又は復号ィ匕されることになる。
[0050] また、メールシステムコア 37は、不正なメールを削除可能とするメール Z添付フアイ ル等削除部 54を備えている。このメール Z添付ファイル削除部 54は、インターフエ一 ス 55を介して、 TCP2メールアプリケーション部 35 (図 3、図 6参照)に接続されている 。クライアント装置 Aの操作者は、出力装置 (表示装置) 33で表示された図 7に示す 表示データを確認して、受信するメールと削除するメールを判別する。削除メール (あ るいは添付ファイル)については、破棄ボタンをクリックすることにより、これが図 5のメ ールシステムコア 37のメール ·添付ファイル削除部 54に送られてメールの削除が行 われる。これにより、不正メールをクライアント装置 Aのメーラ 31に渡すことなく削除す ることが可能となる。
[0051] 次に、図 6に基づいて TCP2メールシステムアプリケーション部 35の構成と動作に ついて説明する。 TCP2メールシステムアプリケーション部 35はメールシステムコア 3 7と入出力装置(32、 33)とを接続するソフトウェアであり、インターフェース 61、ユー ザ登録部 62、メール送受信相手情報管理部 63、メール表示部 64及び入出力制御 部 65から構成されている。そして、入出力制御部 65からインターフェース 61を介して メールシステムコア 37でユーザ登録を行レ、、ユーザ登録が完了すると、メールシステ ムコア 37からユーザ登録完了通知力 インターフェース 61を介してユーザ登録部 62 に送られる。そしてユーザ登録が完了したことが出力装置 33で表示される。
[0052] さらに、既に説明したように、出力装置 33には、図 7に示すような受信メール一覧画 面が表示されるようになっている。つまり、メールシステムコア 37に POP3サーバから メールデータが送られてくると、暗号メール、添付ファイル付きメール、 HTMLメール はメールシステムコア 37で受信保留にされる。
[0053] そして、 TCP2メールアプリケーション部 35において、出力装置 33に受信したメー ルが一覧表示され、「受信」するカ 「廃棄」するかが選択される。すなわち、暗号メー ルの場合は、「受信」ボタンを押下して本人を認証した上で、既存メーラ 31で受信す ることが可能となる。
また、添付ファイル付メールあるいは HTMLメールの場合は、送信元が意識して送 信したものか否力を相手に確認した上で、「受信」ボタンを押して、既存メーラ 31で受 信することができる。相手との確認の中で、相手が送信した覚えがない場合には、「 廃棄」ボタンを押して、メールを廃棄することができる。
[0054] また、 TCP2メールアプリケーション部 35では、メール表示部 64によって、既存メー ラで受信し記憶メディア 39に保存されている暗号メールを平文にして出力装置 33で 表示させる。
[0055] くユーザ登録の流れの説明 >
次に、図 8〜図 10のフローチャートに基づいて、ユーザ登録の流れについて詳細 に説明する。
本発明では、メールの送信には、「POP before SMTP」方式を使用する必要がある。 ΓΡΟΡ before SMTP」方式とは、 SMTPを利用する前に、必ず POPを実行するとレヽ うメールの送信方式のことである。 メールの送信に使われる SMTPプロトコルには、(標準では)ユーザ認証をする仕 組みがないため、どのユーザでもメールを送信することができる可能性がある。
そのため、例えば SPAMメールを送信したり、ウィルスのようなメールを送信したり することもできてしまう。このような SMTPサーバの不正利用を防ぐために考え出され た方法の 1つが「POP before SMTP」である。
[0056] メールを受信するためのプロトコルである POPプロトコルでは、接続の一番最初の 段階でユーザ認証が行われることになつている。
そこで SMTPプロトコルで送信を行う前に、必ずこの POPによるユーザ認証を受け るようにすれば、 SMTPサーバを使用するユーザを限定することができ、不正なメー ルの送信を防止できる。
このような仕組みによって SMTPサーバを利用する方式を POP before SMTPとレヽぅ
[0057] 一般的には、 POP動作を行ってから、数分〜数十分程度の間だけ同じ IPアドレス 力もの SMTPサーバへのアクセスが許可されるようになるので、ユーザはこの間にメ ールを送信する必要がある。
SMTPサーバが「P0P before SMTP」方式を採用している場合、ユーザはメールを 送信する前には必ず一度受信動作を行わなければならないが、メール'ソフトウェア によっては自動的にこれを行うものもある。
またメール 'ソフトウェアがサポートしていないときには、一度手動で受信操作を行つ てから、送信を行うようにすればよい。
今回の場合、 SMTPサーバが、「P0P before SMTP」方式を採用している/採用し ていない、に関わらず、ユーザはこの方法で送信を行う。
[0058] まず、 TCP2メールシステムにユーザを登録する時、 TCP2メールシステムアプリケ ーシヨン部からユーザ登録を開始する(ステップ Sl)。すなわち、 TCP2メールシステ ムアプリケーション部 35は、 TCP2ドライバ 34内のメールシステムコア 37にユーザ登 録要求をする。このユーザ登録要求を受けたメールシステムコア 37は、 TCP2ドライ バ内の TCP2コア 36に対してメールのサーチ要求をする。
[0059] メールシステムコア 37からのメールサーチ要求を受けると、 TCP2コア 36は、指定 通信ポートをサーチする (ステップ S2)。
上記作業の後、既存メーラ 31から自分宛にユーザ登録用定型メールを送信する( ステップ S3)。ここで、前述のとおり SMTP力 メールの送信要求をする前に POP3 に接続する。この段階で、既存メーラ 31とネットワーク 40に接続されたメールサーバ 4 1 (図 4参照)との間で TCP2コアを介して、 TCP通信が確立されたことになる。
[0060] そして、 TCP2コア 36は、ネットワーク 40から POP3接続メッセージを受け取り、 PO P3のポートであることを認識した上で、サーチしたポートをメールシステムコア 37に通 知する(ステップ S4)。例えば、指定通信ポートが SMTP (例: 25ポート)あるいは PO P3 (例: 110ポート)のパケットであれば、メールシステムコア 37にサーチしたポートを 通知する。また、このときに TCP2コア 36は、既存のメーラ 31に対して POP3の接続 メッセージを転送する。
[0061] メールシステムコア 37は、 TCP2コア 36からのサーチ結果を受けて、 TCP2コア 36 にパケットを受信すること(インターセプト)を要求する(ステップ S5)。このメールシス テムコア 37からのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセ ブトを開始する(ステップ S6)。
[0062] 続いて、既存のメーラ 31から TCP2コア 36に対して、ユーザ IDが送信され、 TCP2 コア 36は、このユーザ IDのパケットを確認し(ステップ S7)、メーラからの「USER」メッ セージをメールシステムコア 37に送る。この「USER」はクライアントをサーバに接続 する場合に発行される POP3の基本的なコマンドである。
[0063] メールシステムコア 37は、 TCP2コア 36からの「USER」メッセージを分析して、記 憶メディア 38 (図 3、図 5参照)に POP3の IPアドレスとポート番号を保存するとともに 、ユーザ IDを一時的に保存しておく(ステップ S8)。ここで、一時的に保存するとした のは、パスワードの確認等によって認証ができていない段階であるからである。そして 、ユーザ IDをネットワーク 40に接続されているメールサーバ 41 (図 4参照)に送る。
[0064] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「十 〇K」メッセージをメールシステムコア 37に送る(ステップ S9)。この「 + OK」メッセ一 ジとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ (Use r recognized, send password)」とレ、うメッセージである。メーノレシステムコア 37は、この 「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID応 答を転送する(ステップ S 10)。
[0065] 次に、メーラ 31がパスワードメッセージをメールサーバ 41に送信する場合について 説明する。まずメーラ 31から送られたパスワードメッセージは、 TCP2コア 36で確認さ れ、メールシステムコア 37この確認のパスワードメッセージのパケットが送られる(ステ ップ Sl l)。メールシステムコア 37は、 TCP2コア 36からの「PASS」メッセージを受け 取り、これを分析する。分析した結果、記憶メディア 38にパスワードを一時的に保存( 仮保存)するとともに、ネットワーク 40に接続されているメールサーバ 41に対してパス ワードを送る(ステップ S 12)。
[0066] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S13)。メールシステム コア 37はパスワード応答メッセージのパケットを受け取り、メッセージを分析する。す なわち、パスワードが確認されたことを示す「+OK」メッセージを分析し、記憶メディア 3 8に一時的に保存していたユーザ IDとパスワードを記憶メディア 38に正規に保存す る。これによつてユーザ認証が終了したことになる。そして、ユーザ IDとパスワードの 保存終了後は、メールサーバ 41からのパスワード応答をメーラ 31に送信する。
[0067] このパスワード応答を受けて、メーラ 31は、接続を解除することを伝える終了宣言( QUIT)を TCP2コア 36に送り、 TCP2コア 36はこの終了宣言を確認したことをメール システムコア 37に伝える(ステップ S15)。メールシステムコア 37は、この「QUIT」メッ セージを分析し、終了宣言(QUIT)をネットワーク 40に接続されているメールサーバ 41に送る(ステップ S 16)。
その後、メールサーバ 41から終了宣言応答が TCP2コア 36に返されるので、 TCP 2コア 36は、この終了宣言応答のパケットを確認し (ステップ S17)、この結果をメール システムコア 37に送る。メールシステムコア 37は、 TCP2コア 36からの「 + OK」メッセ ージを分析して、メーラ 31に終了宣言応答を転送する(ステップ S18)。これにより、 T CP2コア 36とメーラ 31の間、及び TCP2コア 36とネットワーク 40に接続されたメール サーバ 41との間の TCP通信の切断が完了する。
[0068] 次に、図 9に基づいて、ユーザ登録の流れの第 2段階について説明する。
第 2段階は、メーラ 31の SMTPから、ネットワーク 40に接続されているメールサーバ 41へのメール送信要求力 始まる(ステップ S19)。これによつて、メーラ 31とメーノレ サーバ 41との間で TCP2コアを介して TCP通信が確立される。
TCP通信が確立された後は、メールサーバ 41から TCP2コア 36に対して、 SMTP 接続メッセージが送られ、 TCP2コア 36は、 SMTPの応答コード「220」を受けて、 S MTPのポートであることを認識し、サーチ結果をメールシステムコア 37に通知する( ステップ S20)。 SMTPの応答コード「220」は、メールサーバとクライアント装置との間 で接続の準備が完了したという通知である。
[0069] 続いて、メールシステムコア 37は、 TCP2コア 36に対してパケットの受信(インターセ プト)を要求し (ステップ S21)、これを受けた TCP2コア 36はパケットの受信を開始す る(ステップ S22)。
次に、クライアント装置のメーラ 31から使用開始宣言が発せられる。この使用開始 宣言は、クライアント装置からサーバに対して「これ力 メールを送信しますよ。」という メッセージである。 TCP2コア 36は、使用開始宣言メッセージのパケットを確認し (ス テツプ S23)、これを「HELO」、「EHLO」メッセージとしてメールシステムコア 37に送る
[0070] メールシステムコア 37は、この「HELO」、「EHLO」メッセージを分析し、記憶メディア
38に、 SMTPの IPアドレスとポート番号を保存する(ステップ S24)。そして、使用開 始宣言をネットワーク 40に接続されるメールサーバ 41に送る。メールサーバ 41から はこれに対する使用開始宣言応答が発せられ、これ力 STCP2コア 36で確認される( ステップ S25)。この使用開始宣言の応答コードは番号「250」で示される。この応答コ ード「250」は、「要求された処理は実行可能。完了。 (Requested mail action okay, co mpleted)」とレ、うものである。
[0071] メールシステムコア 37は、この「250」メッセージを分析し、メールサーバ 41から送ら れた使用開始宣言応答をメーラ 31に送る(ステップ S26)。
続いて、メーラ 31から送信者宣言が送られる。 TCP2コア 36は、この送信者宣言の パケットを確認し、これをメールシステムコア 37に送る(ステップ S27)。この送信者宣 言メッセージは「MAIL FROM :く」というメッセージであり、送信者を知らせるメッセ一 ジである。メールシステムコア 37は、このメッセージを分析し、記憶メディア 38に送信 元のメールアドレスを保存するとともに (ステップ S28)、送信者宣言をメールサーバ 4 1に送信する。
[0072] メールサーバ 41は、これを受けて送信者宣言応答を発行する。 TCP2コア 36は、こ の送信者宣言応答のパケットを確認し、この応答コード「250」をメールシステムコア 3 7に送る (ステップ S 29)。メールシステムコア 37は、この「250」応答コードを分析した 後に、受信した送信者宣言応答をクライアント装置のメーラ 31に送る (ステップ S30)。
[0073] 続いて、メーラ 31は、受信者宣言メッセージを送信する。この受信者宣言メッセ一 ジは「このメールアドレスに送ってくださレ、。」ということをメールサーバ 41に伝えるメッ セージであり、「RCPT TO:く」とレ、う記号で表現される。 TCP2コア 36はこの受信者 宣言メッセージを確認し(ステップ S31)、これをメールシステムコア 37に送る。メール システムコア 37は、この「RCPT TO :く」メッセージを分析し、メールサーバ 41に送る (ステップ S 32)。
[0074] これを受けて、メールサーバ 41は受信者宣言応答を TCP2コア 36に返し、 TCP2コ ァ 36は、この受信者宣言応答を確認し、応答コード「250」としてメールシステムコア 3 7に送る (ステップ S 33)。メールシステムコア 37は、この受信者宣言応答を分析し、ク ライアント端末のメーラ 31に転送する (ステップ S34)。
[0075] 続いて、図 10に示されるユーザ登録の流れの第 3段階について説明する。すなわ ち、受信者宣言応答を受信したクライアント装置のメーラ 31は、本文開始宣言を発信 する。 TCP2コア 36は、この本文開始宣言のパケットを確認して、「DATA」メッセージ としてメールシステムコア 37に渡す(ステップ S35)。ここで「DATA」は、本文の送を意 味する SMTPコマンドである。メールシステムコア 37は、この「DATA」メッセージを分 析し、この本文開始宣言をメールサーバ 41に送信する(ステップ S 36)。
[0076] メールサーバ 41は、この本文開始宣言を受け取ると、本文開始宣言応答をクライア ント装置に送る。そして、クライアント装置の TCP2コア 36が本文開始宣言応答のパ ケットを確認して、これを「354」メッセージとしてメールシステムコア 37に送る(ステップ S37)。ここで応答コード「354」は、メールの入力開始を示す SMTPの応答コードで ある。
メールシステムコア 37は、この「354」メッセージを分析し、メールサーバ 41から送信 された本文開始宣言応答を自端末のメーラ 31に送る (ステップ S38)。
[0077] メーラ 31はこれを受けて、ユーザ登録用定型メール'メッセージをメールサーバ 41 に送信する。この時、 TCP2コア 36は、ユーザ登録用定型メール'メッセージのバケツ トを確認し、これをメールシステムコア 37に送る(ステップ S39)。
メールシステムコア 37はユーザ登録用定型メール'メッセージのパケットを受け取り 、ユーザ登録用定型メール'メッセージの分析を行う(ステップ S40)。そして、ユーザ 登録用定型メール 'メッセージをメールサーバ 41に送る。
[0078] 次に、メールサーバ 41から送信データ応答メッセージがクライアント装置に送られる 。 TCP2コア 36は、この送信データ応答メッセージのパケットを確認し、メールシステ ムコア 37に送信データ応答メッセージのパケットを送る(ステップ S41)。メールシステ ムコア 37はこの送信データ応答メッセージのパケットを受け取り、メッセージを分析す る。すなわち、 SMTPの応答コード「250 OK」メッセージを分析し、 TCP2メールシス テムアプリケーション部 35にユーザ登録が完了したことを通知するとともに、送信デ ータ応答を自端末のメーラ 31に送る(ステップ S42)。 TCP2メールシステムアプリケ ーシヨン部 35はメールシステムコア 37からの通知を受けてユーザ登録が完了したこと を出力装置 33の表示画面に表示する(ステップ S43)。
[0079] メールサーバ 41からの送信データ応答を受け取ったメーラ 31は、終了宣言メッセ 一ジ「011 」をメールサーバ 41に送ることになる。この終了宣言メッセージを受信した TCP2コア 36は、このパケットを確認して(ステップ S44)、「QUIT」メッセージとしてメ ールシステムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析 し、メールサーバ 41に終了宣言を送信する(ステップ S45)。メールサーバ 41は、こ の終了宣言に対して、終了宣言応答を発し、これをクライアント装置に送る。そして、 クライアント装置の TCP2コア 36は、受信した終了宣言応答のパケットを確認し、 SM TPの応答コード「221」メッセージとしてメールシステムコア 37に送る(ステップ S46)。 「221」メッセージは接続を閉じることを告げる SMTPの応答コードである。メールシス テムコア 37は、この「221」メッセージを分析し、その終了宣言応答を自端末のメーラ 3 1に送る。これによつて、ユーザ登録の流れが全て完了し、クライアント装置のメーラ 3 1とメールサーバ 41との TCP通信が切断される。
[0080] <鍵交換送り側の流れの説明 >
次に、図 11〜図 13のフローチャートに基づいて、鍵交換送り側の流れについて説 明する。
まず、 TCP2メールシステムの TCP2ドライバ 34のメールシステムコア 37から、 TCP 2コアに、登録している全ユーザのメールサーバの POP3, SMTPの IPアドレスとボ ート番号のパケットを捕捉するフック要求が常時出ている(ステップ S50)。フック要求 とは、登録されている全てのユーザに登録されているメールサーバの POP3、 SMTP の IPアドレスとボート番号を含むパケットを捕捉しなさいという要求である。 TCP2コア 36は、このフック要求を受けると、登録してある全ユーザの POP3と SMTPのサーバ の IPアドレスとポート番号を含むパケットを捕捉 (フック)する (ステップ S51)。
[0081] ここで、 TCP2メールシステムで暗号化メールの送受信をするときは、暗号化メール を送受信するユーザ間で、最初に鍵交換用定型メールの送受信を行う必要がある。 このため、まず、自端末 (新規送信側端末:「クライアント装置 A」とする)のメーラ 31 に、鍵交換用定型メールを入力し、この入力された鍵交換用定型メールをネットヮー ク 40に接続されたメールサーバ 41に送信する(ステップ S52)。メールサーバ 41は、 鍵交換の相手側端末 (新規受信側端末:「クライアント装置 B」とする)のメールサーバ に鍵交換用定型メールを転送し、相手側端末 (クライアント装置 B)は、そのメールサ ーバにアクセスすることにより鍵交換定型メールを受信することができる。
[0082] 前記クライアント装置 Aとメールサーバ 41の間で、まず、 SMTPからメールの送信 要求をする前に POP3に接続する。この段階で、既存メーラ 31とネットワーク 40に接 続されたメールサーバ 41 (図 4参照)との間で TCP2コアを介して、 TCP通信が確立 される。
[0083] その後、ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセ一 ジが送られる力 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3のノ ケットであることを認識した上で、メールシステムコア 37にフック結果を通知する(ステ ップ S53)。
[0084] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットを受信すること(インターセプト)を要求する(ステップ S54)。このメールシス テムコア 37からのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセ ブトを開始する(ステップ S55)。
[0085] 続いて、既存のメーラ 31から TCP2コア 36に対して、ユーザ IDが送信され、 TCP2 コア 36は、このユーザ IDのパケットを確認し(ステップ S56)、メーラからの「USER」メ ッセージをメールシステムコア 37に送る。この「USER」メッセージは、ユーザ登録(図 8参照)でも説明したように、クライアントをサーバに接続する場合に発行される POP 3の基本的なコマンドである。
[0086] メールシステムコア 37は、 TCP2コア 36からの「USER」メッセージを分析して、記 憶メディア 38 (図 3、図 5参照)に、ユーザ IDを一時的に保存しておく(ステップ S57) 。ここで、一時的に保存とは、パスワードの確認等によって認証ができていない段階、 すなわり、認証後の正式な保存の前段階の保存を意味している。そして、ユーザ ID をネットワーク 40に接続されてレ、るメールサーバ 41に送る。
[0087] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「 + 〇K」メッセージをメールシステムコア 37に送る(ステップ S58)。この「 + OK」メッセ一 ジとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ (Use r recognized, send password)」とレヽっメッセージで feる。メーノレシステムコア 37は、この 「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID応 答を転送する(ステップ S 59)。
[0088] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37この確認のパスワードメッ セージのパケットが送られる(ステップ S60)。メールシステムコア 37は、 TCP2コア 36 力 の「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メディア 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続されて レ、るメールサーバ 41に対してパスワードを送る(ステップ S61)。
[0089] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S62)。メールシステム コア 37はパスワード応答メッセージのパケットを受け取り、メッセージを分析する。す なわち、パスワードが確認されたことを示す「+OK」メッセージを分析して、記憶メディ ァ 38に一時的に保存したユーザ IDとパスワードを、記憶メディア 38にユーザ登録し てあるユーザ IDとパスワードと照合して認証を行レ、、鍵情報を取得する(ステップ S6 3)。そして、鍵情報を取得後にパスワード応答をメーラ 31に送信する。
[0090] このパスワード応答を受けて、メーラ 31は、接続を解除することを伝える終了宣言( QUIT)を TCP2コア 36に送り、 TCP2コア 36はこの終了宣言を確認したことをメール システムコア 37に伝える(ステップ S64)。メールシステムコア 37は、この「QUIT」メッ セージを分析し、終了宣言(QUIT)をネットワーク 40に接続されているメールサーバ 41に送る(ステップ S65)。
その後、メールサーバ 41から終了宣言応答が TCP2コア 36に返されるので、 TCP 2コア 36は、この終了宣言応答のパケットを確認し (ステップ S66)、この結果をメール システムコア 37に送る。メールシステムコア 37は、 TCP2コア 36からの「 + OK」メッセ ージを分析して、メーラ 31に終了宣言応答を転送する(ステップ S67)。これにより、ク ライアント装置 Aとネットワーク 40に接続されたメールサーバ 41 (クライアント装置 B)と の間の TCP通信の切断が完了する。
[0091] 次に、図 12に基づいて、鍵交換送り側の第 2段階について説明する。
第 2段階は、ユーザ登録(図 9参照)時と同様に、メーラ 31の SMTPから、ネットヮー ク 40に接続されているメールサーバ 41へのメール送信要求力 始まる(ステップ S68 )。これによつて、メーラ 31とメールサーバ 41との間で TCP2コアを介して TCP通信 が確立される。
TCP通信が確立された後は、メールサーバ 41から TCP2コア 36に対して、 SMTP 接続メッセージが送られ、 TCP2コア 36は、 SMTPの応答コード「220」を受けて、 S MTPのポートであることを認識し、サーチ結果をメールシステムコア 37に通知する( ステップ S 69)。
[0092] 続いて、メールシステムコア 37は、 TCP2コア 36に対してパケットの受信(インター セプト)を要求し (ステップ S70)、これを受けた TCP2コア 36はパケットの受信を開始 する(ステップ S71)。
次に、クライアント装置のメーラ 31から使用開始宣言が発せられる。この使用開始 宣言は、クライアント装置からサーバに対して「これ力 メールを送信しますよ。」という メッセージである。 TCP2コア 36は、使用開始宣言メッセージのパケットを確認し (ス テツプ S72)、これを「HELO」、「EHLO」メッセージとしてメールシステムコア 37に送る
[0093] メールシステムコア 37は、この「HELO」、「EHLO」メッセージを分析し、記憶メディア
38に、 SMTPの IPアドレスとポート番号を保存する(ステップ S73)。そして、使用開 始宣言をネットワーク 40に接続されるメールサーバ 41に送る。メールサーバ 41から はこれに対する使用開始宣言応答が発せられ、これ力 STCP2コア 36で確認される( ステップ S 74)。
[0094] メールシステムコア 37は、この「250」メッセージを分析し、メールサーバ 41から送ら れた使用開始宣言応答をメーラ 31に送る(ステップ S75)。
続いて、メーラ 31から送信者宣言が送られる。 TCP2コア 36は、この送信者宣言の パケットを確認し、これをメールシステムコア 37に送る(ステップ S76)。この送信者宣 言メッセージは「MAIL FROM :く」というメッセージであり、送信者を知らせるメッセ一 ジである。メールシステムコア 37は、このメッセージを分析し、記憶メディア 38に送信 元のメールアドレスを保存するとともに (ステップ S77)、送信者宣言をメールサーバ 4 1に送信する。
[0095] メールサーバ 41は、これを受けて送信者宣言応答を発行する。 TCP2コア 36は、こ の送信者宣言応答のパケットを確認し、この応答コード「250」をメールシステムコア 3 7に送る(ステップ S78)。メールシステムコア 37は、この「250」応答コードを分析した 後に、受信した送信者宣言応答をクライアント装置のメーラ 31に送る (ステップ S79)。
[0096] 続いて、メーラ 31は、受信者宣言メッセージを送信する。この受信者宣言メッセ一 ジは「このメールアドレスに送ってくださレ、。」ということをメールサーバ 41に伝えるメッ セージであり、「RCPT TO:く」とレ、う記号で表現される。 TCP2コア 36はこの受信者 宣言メッセージを確認し(ステップ S80)、これをメールシステムコア 37に送る。メール システムコア 37は、この「RCPT TO :く」メッセージを分析し、記憶メディア 38に送信 先メールアドレスを保存するとともに、受信者宣言をメールサーバ 41に送る(ステップ S81)。
[0097] これを受けて、メールサーバ 41は受信者宣言応答を TCP2コア 36に返し、 TCP2コ ァ 36は、この受信者宣言応答を確認し、応答コード「250」としてメールシステムコア 3 7に送る (ステップ S82)。メールシステムコア 37は、この受信者宣言応答を分析し、ク ライアント端末のメーラ 31に転送する (ステップ S83)。
[0098] 続いて、図 13基づいて、鍵交換送り側の流れの第 3段階について説明する。すな わち、受信者宣言応答を受信したクライアント装置 Aのメーラ 31は、本文開始宣言を 発信する。 TCP2コア 36は、この本文開始宣言のパケットを確認して、「DATA」メッセ ージとしてメールシステムコア 37に渡す(ステップ S84)。ここで「DATA」は、本文の 送信を意味する SMTPコマンドである。メールシステムコア 37は、この「DATA」メッセ ージを分析し、この本文開始宣言をメールサーバ 41に送信する(ステップ S85)。
[0099] メールサーバ 41は、この本文開始宣言を受け取ると、本文開始宣言応答をクライア ント装置 Aに送る。そして、クライアント装置 Aの TCP2コア 36が本文開始宣言応答の パケットを確認して、これを「354」メッセージとしてメールシステムコア 37に送る(ステツ プ S86)。ここで応答コード「354」は、メールの入力開始を示す SMTPの応答コード である。
メールシステムコア 37は、この「354」メッセージを分析し、メールサーバ 41から送信 された本文開始宣言応答を自端末のメーラ 31に送る (ステップ S87)。
[0100] メーラ 31はこれを受けて、鍵交換用定型メール'メッセージをメールサーバ 41に送 信する。この時、 TCP2コア 36は、鍵交換用定型メール'メッセージのパケットを確認 し、これをメールシステムコア 37に送る(ステップ S88)。
メールシステムコア 37は鍵交換用定型メール'メッセージのパケットを受け取ると、 まずここで鍵交換先が送信側か否かを判断する (ステップ S89)。すなわち、鍵交換 は、暗号メールをやり取りする端末同士(クライアント装置 Aと B)力 お互いに相手装 置に対して鍵交換用定型メールを送る必要がある。例えば、クライアント装置 Aとクラ イアント装置 Bとの間で暗号メールをやり取りする場合、まず送り側クライアント装置 A 力 受け側クライアント装置 Bに対して鍵交換用定型メール'メッセージを送り、続い て受け側クライアント装置 Bから送り側クライアント装置 Aに対して鍵交換用定型メー ル 'メッセージを送る。判断ステップ S89は、鍵交換先が送り側か受け側かの判断を 行うステップである。この鍵交換用定型メール 'メッセージのやり取りにメールサーバ 4 1 (図 4参照)が介在していることは言うまでもない。
[0101] 判断ステップ S89において、鍵交換用定型メール'メッセージが送り側(クライアント 装置 A)からのものであると判断された場合は、「メール'メッセージ」を分析し、ネット ワーク 40に接続されたメールサーバ 41に鍵元値を付加した送信メールを送る(ステツ プ S90)。このとき、鍵元値は記憶メディア 38に記憶されるとともに、 TCP2メールシス テムアプリケーション部 35に送られ、出力装置 33に現在の鍵状態が表示される (ステ ップ S91)。
[0102] また、判断ステップ S89において、鍵交換先が送信側(クライアント装置 A)ではな レ、と判断された場合、すなわち、鍵交換先が受信側 (クライアント装置 B)であると判 断された場合は、「メール'メッセージ」を分析し、ネットワーク 40に接続されたメール サーバ 41に鍵元値を付加した送信メールを送るとともに、鍵元値を記憶メディア 38 に保存する(ステップ S92)。そして、付加した鍵元値と既に記憶メディア 38に保存し てある鍵元値とから新たな鍵を生成して、記憶メディア 38に保存する。そして、この新 たに生成した鍵を TCP2メールシステムアプリケーション部 35に送り、出力装置 33に 現在の鍵状態を表示する (ステップ S93)。以上説明したような処理を経て、鍵交換 用定型メール ·メッセージがメールサーバ 41 (クライアント装置 B)に送られる。
[0103] 次に、メールサーバ 41から送信データ応答メッセージがクライアント装置 Aに送られ る。 TCP2コア 36は、この送信データ応答メッセージのパケットを確認し、メールシス テムコア 37に送信データ応答メッセージのパケットを送る(ステップ S 94)。メールシス テムコア 37はこの送信データ応答メッセージのパケットを受け取り、メッセージを分析 する。すなわち、 SMTPの応答コード「250 OK」メッセージを分析し、送信データ応 答を自端末 (クライアント装置 Α)のメーラ 31に送る(ステップ S95)。 [0104] こうしてメールサーバ 41からの送信データ応答を受け取ったメーラ 31は、終了宣言 メッセージ「QUIT」をメールサーバ 41に送ることになる。この終了宣言メッセージを受 信した TCP2コア 36は、このパケットを確認して(ステップ S96)、「QUIT」メッセージと してメールシステムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージ を分析し、メールサーバ 41に終了宣言を送信する(ステップ S97)。メールサーバ 41 は、この終了宣言に対して、終了宣言応答を発し、これをクライアント装置 Aに送る。 そして、クライアント装置 Aの TCP2コア 36は、受信した終了宣言応答のパケットを確 認し、 SMTPの応答コード「221」メッセージとしてメールシステムコア 37に送る(ステツ プ S98)。 「221」メッセージは接続を閉じることを告げる SMTPの応答コードである。メ ールシステムコア 37は、この「221」メッセージを分析し、その終了宣言応答を自端末 のメーラ 31に送る (ステップ S99)。これによつて、鍵交換送り側の流れが全て完了し 、クライアント装置 Aのメーラ 31とメールサーバ 41との TCP通信が切断される。
[0105] <鍵交換受け側の流れの説明 >
次に、図 14、図 15のフローチャートに基づいて鍵交換受け側の流れについて説明 する。
図 14に示すように、まず、 TCP2ドライバ 34のメールシステムコア 37から、 TCP2コ ァに、登録している全ユーザの POP3、 SMTPのサーバの IPアドレスとポート番号を 含むパケットを捕捉するためのフック要求が常時出ている(ステップ SlOl)。 TCP2コ ァ 36は、このフック要求を受けると、登録してある全ユーザの POP3と SMTPのサー バの IPアドレスとポート番号を含むパケットを捕捉(フック)する(ステップ S102)。
[0106] 鍵交換受け側で既存メーラ 31でメールの受信を実行すると、既存メーラ 31とネット ワーク 40に接続されたメールサーバ 41 (図 4参照)との間で TCP通信が確立される。 言い換えると、既存メーラ 31を有するクライアント装置 Aとネットワーク 40に接続され るメールサーバ 41 (クライアント装置 Bといってもよレ、)との間で TCP通信が確立され る。
[0107] ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセージが送ら れる力 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3のポートから の接続メッセージであることを認識した上で、メールシステムコア 37にフック結果を通 知する(ステップ SI 03)。
[0108] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットを受信すること(インターセプト)を要求する(ステップ S104)。このメールシ ステムコア 37からのインターセプト要求を受けて、 TCP2コア 36はパケットのインター セプトを開始する (ステップ S 105)。
[0109] 続いて、クライアント装置 Aのメーラ 31から TCP2コア 36に対して、ユーザ IDが送 信され、 TCP2コア 36は、このユーザ IDのパケットを確認し(ステップ S106)、メーラ 力もの「USER」メッセージをメールシステムコア 37に送る。メールシステムコア 37は、 この「USER」メッセージを分析して、記憶メディア 38 (図 3、図 5参照)に、ユーザ ID を一時的に保存しておく(ステップ S107)。ここで、一時的に保存とは、パスワードの 確認等によって認証ができていない段階、すなわり、認証後の正式な保存の前段階 の保存を意味している。そして、ユーザ IDをネットワーク 40に接続されているメール サーバ 41に送る。
[0110] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「 + 〇K」メッセージをメールシステムコア 37に送る(ステップ S108)。この「 + OK」メッセ ージとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ( User recognized, send password)」とレヽっメッセーンである。メーノレシステムコア 37は、 この「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID 応答を転送する(ステップ S109)。
[0111] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37にこの確認のパスワード メッセージのパケットが送られる(ステップ S110)。メールシステムコア 37は、 TCP2コ ァ 36からの「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メデ ィァ 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続さ れてレ、るメールサーバ 41に対してパスワードを送る(ステップ S 111)。
[0112] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S112)。メールシステム コア 37はパスワード応答メッセージである「+OK」メッセージのパケットを分析し、既に 記録メディア 38に登録されているユーザ IDとパスワードに基づいて上記一時的に保 存されたユーザ IDとパスワードを認証し、鍵情報を取得する(ステップ S113)。そして 、受け取ったパスワード応答をメーラ 31に送る。
[0113] 続いて、図 15に基づいて、鍵交換受け側の流れの続きを説明する。メールシステム コア 37からのパスワード応答の送信を受けて、メーラ 31は、メールのダウンロード要 求を発信する。 TCP2コア 36はメーラ 31からのダウンロード要求のパケットを確認し、 これを「RETR」メッセージとしてメールシステムコア 37に伝える(ステップ S114)。メー ルシステムコア 37は、この「RTER」メッセージを分析し、ネットワーク 40に接続されて レ、るメールサーバ 41にメールダウンロード要求を送る(ステップ S115)。ここで、「RET R」メッセージは、パラメータで指定したメッセージを受け取るための POP3の基本的コ マンドである。仮にメッセージのない行をパラメータとして指定したときは、 Γ-ERR mes sage does not exist」力返されることになつてレヽる。
[0114] その後、メールサーバ 41から鍵交換用定型メール'メッセージが送られてくる。この 鍵交換用定型メール 'メッセージはネットワーク 40に接続されるクライアント装置 B (受 信側)からクライアント装置 A (送信側)に送られるものである。
TCP2コア 36は、鍵交換用定型メール'メッセージのパケットを確認し、これをメー ルシステムコア 37に送る(ステップ S116)。
[0115] メールシステムコア 37は鍵交換用定型メール'メッセージのパケットを受け取ると、 まずここで鍵交換先が受信側か否かを判断する (ステップ S 117)。例えば、クライア ント装置 Aとクライアント装置 Bとの間で暗号メールをやり取りする場合、まず送り側ク ライアント装置 Aから受け側クライアント装置 Bに対して鍵交換用定型メール 'メッセ一 ジを送り、続いて受け側クライアント装置 Bから送り側クライアント装置 Aに対して鍵交 換用定型メール'メッセージを送る。判断ステップ S117は、鍵交換先が受け側のクラ イアント装置 Bから送られてきたものかどうかを判断するステップである。このように鍵 交換は暗号メールをやり取りする両者がお互いに相手に鍵交換用定型メールを送る 必要がある。
[0116] 判断ステップ S117において、鍵交換用定型メール'メッセージが受け側(クライアン ト装置 B)からのものであると判断された場合は、「メール'メッセージ」を分析し、送信 元メールアドレスと鍵元値を記憶メディア 38に保存する。また、「鍵交換用定型メール 'メッセージ」と「鍵交換メール受信通知メール'メッセージと入れ替えて、メーラ 31に 送信する(ステップ S118)。このとき、現在の鍵状態が、 TCP2メールシステムアプリ ケーシヨン部 35に送られ、出力装置 33に表示される(ステップ S119)。そして、鍵交 換受信メール'メッセージを自端末のメーラ 31に送る。メーラ 31はこのメッセージを受 け取ると、これを記憶メディア 39に保存する(ステップ S 120)。
[0117] また、判断ステップ S117において、鍵交換先が受信側(クライアント装置 B)ではな レ、と判断された場合、すなわち、鍵交換先が送信側 (クライアント装置 A)であると判 断された場合は、「メール'メッセージ」を分析し、送信元メールアドレスと鍵元値を記 憶メディア 38に保存する。また、受信したメールの鍵元値と記憶メディア 38に保存さ れている鍵元値力 新たな鍵を生成し、この鍵を記憶メディア 38に保存する。そして 、「鍵交換用定型メール ·メッセージ」と「鍵交換メール受信通知メール 'メッセージ」と 入れ替えて、メーラ 31に送信する(以上、ステップ S121)。このとき、現在の鍵状態は 、 TCP2メールシステムアプリケーション部 35に送られ、出力装置 33に表示される(ス テツプ S 122)。
[0118] メーラ 31は、受け取った「鍵交換メール受信通知メール'メッセージ」を記憶メディア
39に保存するとともに(ステップ S123)、メッセージ削除要求「DELE」を TCP2コア 3 6に送る。 TCP2コア 36は、このメッセージ削除要求のパケットを確認し(ステップ S12 4)、メールシステムコア 37に送る。メールシステムコア 37は、このメッセージ削除要求 「DELE」を分析し、このメッセージ削除要求をメールサーバ 41に送る(ステップ S 125
) o
[0119] このメッセージ削除要求を受けて、メールサーバ 41は、メッセージ削除応答を TCP 2コア 36に送り、 TCP2コア 36はこのパケットを確認する(ステップ S126)。メールシ ステムコア 37は、このメッセージ削除応答の「+OK」メッセージを分析し、これをメーラ 31に送る(ステップ S 127)。 [0120] メーラ 31は、このメッセージ削除応答を受信すると、終了宣言メッセージ「QUIT」を メールサーバ 41に送ることになる力 この終了宣言メッセージを受信した TCP2コア 3 6は、このパケットを確認して(ステップ S128)、「QUIT」メッセージとしてメールシステ ムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析し、メール サーバ 41に終了宣言を送信する(ステップ S129)。
[0121] メールサーバ 41は、この終了宣言に対して、終了宣言応答を発し、これをクライア ント装置 Aの TCP2コア 36に送る。そして、クライアント装置 Aの TCP2コア 36は、受 信した終了宣言応答のパケットを確認し、 SMTPの応答コード「+OK」メッセージとし てメールシステムコア 37に送る(ステップ S130)。メールシステムコア 37は、この「+0 Κ」メッセージを分析し、その終了宣言応答を自端末のメーラ 31に送る(ステップ S 13 1)。これによつて、鍵交換受け側の流れが全て完了し、クライアント装置 Αのメーラ 31 とメールサーバ 41 (クライアント装置 B)との TCP通信が切断される。
[0122] <暗号メール送信側の流れの説明 >
次に、図 16〜図 18のフローチャートに基づいて、暗号メール送信側の流れについ て説明する。
まず、 TCP2ドライバ 34のメールシステムコア 37から、登録している全ユーザの SM TPと POP3のサーバの IPアドレスとポート番号を含むパケットのフック要求が常時出 ている(ステップ S132)。 TCP2コア 36は、このフック要求を受けると、登録してある全 ユーザの POP3と SMTPのサーバの IPアドレスとポート番号を含むパケットを捕捉(
Figure imgf000035_0001
そして、喑号メール送信側の流れは、メーラ 31でメールを入力し、メールを鍵交換 が済んでいる相手に送信する。この時、 SMTPからメールの送信要求をする前に P〇 P3に接続する。この段階でクライアント装置 A (自端末)とネットワーク 40に接続され るメールサーバ 41との間で、 TCP2コアを介して TCP通信が確立される。
この段階で、ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセ ージが送られるが、 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3の ポートであることを認識した上で、メールシステムコア 37にフック結果を通知する(ステ ップ S 134)。 [0124] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットのインターセプトを要求する(ステップ S 135)。このメールシステムコア 37か らのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセプトを開始す る(ステップ S 136)。
[0125] 続いて、既存のメーラ 31から TCP2コア 36に対して、ユーザ IDが送信され、 TCP2 コア 36は、このユーザ IDのパケットを確認し(ステップ S137)、メーラからの「USER」 メッセージをメールシステムコア 37に送る。この「USER」メッセージは、ユーザ登録( 図 8参照)でも説明したように、クライアントをサーバに接続する場合に発行される PO P3の基本的なコマンドである。
[0126] メールシステムコア 37は、 TCP2コア 36からの「USER」メッセージを分析して、記 憶メディア 38 (図 3、図 5参照)に、ユーザ IDを一時的に保存 (仮保存)しておく(ステ ップ S137)。ここで、一時的に保存とは、パスワードの確認等によって認証ができて いない段階、すなわり、認証後の正式な保存の前段階の保存を意味している。そして 、ユーザ IDをネットワーク 40に接続されているメールサーバ 41に送る。
[0127] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「 + 〇K」メッセージをメールシステムコア 37に送る(ステップ S139)。この「 + OK」メッセ ージとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ( User recognized, send password)」とレヽっメッセーンである。メーノレシステムコア 37は、 この「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID 応答を転送する(ステップ S140)。
[0128] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37この確認のパスワードメッ セージのパケットが送られる(ステップ S141)。メールシステムコア 37は、 TCP2コア 3 6からの「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メディ ァ 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続され てレ、るメールサーバ 41に対してパスワードを送る(ステップ S 142)。 [0129] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S143)。メールシステム コア 37はパスワード応答メッセージのパケットを受け取り、メッセージを分析する。す なわち、パスワードが確認されたことを示す「+OK」メッセージを分析して、記憶メディ ァ 38に一時的に保存したユーザ IDとパスワードを、記憶メディア 38にユーザ登録し てあるユーザ IDとパスワードと照合して認証を行レ、、鍵情報を取得する(ステップ S1 44)。そして、鍵情報を取得後にパスワード応答をメーラ 31に送信する。
[0130] このパスワード応答を受けて、メーラ 31は、接続を解除することを伝える終了宣言( QUIT)を TCP2コア 36に送り、 TCP2コア 36はこの終了宣言を確認したことをメール システムコア 37に伝える(ステップ S64)。メールシステムコア 37は、この「QUIT」メッ セージを分析し、終了宣言(QUIT)をネットワーク 40に接続されているメールサーバ 41に送る(ステップ S65)。
その後、メールサーバ 41から終了宣言応答が TCP2コア 36に返されるので、 TCP 2コア 36は、この終了宣言応答のパケットを確認し (ステップ S145)、この結果をメー ルシステムコア 37に送る。メールシステムコア 37は、 TCP2コア 36からの「 + OK」メッ セージを分析して、メーラ 31に終了宣言応答を転送する(ステップ S146)。これによ り、クライアント装置 Aとネットワーク 40に接続されたメールサーバ 41 (クライアント装 置 B)との間の TCP通信の切断が完了する。
[0131] 次に、図 17に基づいて、暗号メール送信側の流れの第 2段階について説明する。
第 2段階は、鍵交換送り側の流れ(図 12参照)と同様に、メーラ 31の SMTPから、 ネットワーク 40に接続されているメールサーバ 41へのメール送信要求力も始まる(ス テツプ S149)。これによつて、メーラ 31とメールサーバ 41との間で TCP2コアを介し て TCP通信が確立される。
TCP通信が確立された後は、メールサーバ 41から TCP2コア 36に対して、 SMTP 接続メッセージが送られ、 TCP2コア 36は、 SMTPの応答コード「220」を受けて、 S MTPのポートであることを認識し、サーチ結果をメールシステムコア 37に通知する( ステップ S 150)。 [0132] 続いて、メールシステムコア 37は、 TCP2コア 36に対してパケットの受信(インター セプト)を要求し (ステップ S 151)、これを受けた TCP2コア 36はパケットの受信を開 始する(ステップ S 152)。
次に、クライアント装置のメーラ 31から使用開始宣言が発せられる。この使用開始 宣言は、クライアント装置からサーバに対して「これ力 メールを送信しますよ。」という メッセージである。 TCP2コア 36は、使用開始宣言メッセージのパケットを確認し (ス テツプ S153)、これを「HELO」、「EHLO」メッセージとしてメールシステムコア 37に送 る。
[0133] メールシステムコア 37は、この「HELO」、「EHLO」メッセージを分析し、この使用開 始宣言をネットワーク 40に接続されるメールサーバ 41に送る(ステップ S154)。メー ルサーバ 41からはこれに対する使用開始宣言応答が発せられ、これが TCP2コア 3 6で確認される(ステップ S 155)。
[0134] メールシステムコア 37は、この「+OK」メッセージを分析し、メールサーバ 41から送ら れた使用開始宣言応答をメーラ 31に送る(ステップ S156)。
続いて、メーラ 31から送信者宣言が送られる。 TCP2コア 36は、この送信者宣言の パケットを確認し、これをメールシステムコア 37に送る(ステップ S157)。この送信者 宣言メッセージは「MAIL FROM :く」とレ、う送信者を知らせるメッセージである。メー ルシステムコア 37は、このメッセージを分析し、この送信者宣言をメールサーバ 41に 送信する (ステップ S 158)。
[0135] メールサーバ 41は、これを受けて送信者宣言応答を発行する。 TCP2コア 36は、こ の送信者宣言応答のパケットを確認し、この応答コード「250」をメールシステムコア 3 7に送る(ステップ S159)。メールシステムコア 37は、この「250」応答コードを分析した 後に、受信した送信者宣言応答をクライアント装置のメーラ 31に送る (ステップ S 160)
[0136] 続いて、メーラ 31は、受信者宣言メッセージを送信する。この受信者宣言メッセ一 ジは「このメールアドレスに送ってくださレ、。」とレ、うことをメールサーバ 41に伝えるメッ セージであり、「RCPT TO:く」とレ、う記号で表現される。 TCP2コア 36はこの受信者 宣言メッセージを確認し (ステップ S161)、これをメールシステムコア 37に送る。メー ルシステムコア 37は、この「RCPT TO :く」メッセージを分析し、この受信者宣言をメ ールサーバ 41に送る(ステップ S162)。
[0137] これを受けて、メールサーバ 41は受信者宣言応答を TCP2コア 36に返し、 TCP2コ ァ 36は、この受信者宣言応答を確認し、応答コード「250」としてメールシステムコア 3 7に送る (ステップ S163)。メールシステムコア 37は、この受信者宣言応答を分析し、 クライアント端末のメーラ 31に転送する(ステップ S 164)。
[0138] 続いて、図 18に基づいて、喑号メール送信側の流れの第 3段階について説明する 。すなわち、受信者宣言応答を受信したクライアント装置 Aのメーラ 31は、本文開始 宣言を発信する。 TCP2コア 36は、この本文開始宣言のパケットを確認して、「DATA 」メッセージとしてメールシステムコア 37に渡す(ステップ S165)。ここで「DATA」は、 本文の送信を意味する SMTPコマンドである。メールシステムコア 37は、この「DATA 」メッセージを分析し、この本文開始宣言をメールサーバ 41に送信する(ステップ S1 66)。
[0139] メールサーバ 41は、この本文開始宣言を受け取ると、本文開始宣言応答をクライア ント装置 Aに送る。そして、クライアント装置 Aの TCP2コア 36が本文開始宣言応答の パケットを確認して、これを「354」メッセージとしてメールシステムコア 37に送る(ステツ プ S167)。ここで応答コード「354」は、メールの入力開始を示す SMTPの応答コード である。
メールシステムコア 37は、この「354」メッセージを分析し、メールサーバ 41から送信 された本文開始宣言応答を自端末のメーラ 31に送る (ステップ S 168)。
[0140] メーラ 31はこれを受けて、メール'メッセージを TCP2コア 36に送り、 TCP2コア 36 では、メールメッセージパケットを確認して、メールシステムコア 37に渡す(ステップ S 169)。メールシステムコア 37はこのメール'メッセージのパケットを受け取ると、このメ ール'メッセージを分析し、送信相手の鍵があることを確認し、タイトルと本文、そして 添付ファイルがあれば、その喑号ィ匕を行う(ステップ S170)。そして、暗号化したメー ノレ ·メッセージをネットワーク 40に接続されるメールサーバ 41に送る。
[0141] 続いて、メールサーバ 41から送信データ応答メッセージがクライアント装置 Aに送ら れる。 TCP2コア 36は、この送信データ応答メッセージのパケットを確認し、メールシ ステムコア 37に送信データ応答メッセージのパケットを送る(ステップ S 171)。メール システムコア 37はこの送信データ応答メッセージのパケットを受け取り、メッセージを 分析する。すなわち、 SMTPの応答コード「250」メッセージを分析し、送信データ応 答を自端末 (クライアント装置 A)のメーラ 31に送る(ステップ S 172)。
[0142] メールサーバ 41からの送信データ応答を受け取ったメーラ 31は、終了宣言メッセ 一ジ「011 」をメールサーバ 41に送る。この終了宣言メッセージを受信した TCP2コ ァ 36は、このパケットを確認して(ステップ S173)、 「QUIT」メッセージとしてメールシ ステムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析し、メー ルサーバ 41に終了宣言を送信する(ステップ S174)。メールサーバ 41は、この終了 宣言に対して、終了宣言応答を発し、これをクライアント装置 Aに送る。そして、クライ アント装置 Aの TCP2コア 36は、受信した終了宣言応答のパケットを確認し、 SMTP の応答コード「221」メッセージとしてメールシステムコア 37に送る(ステップ S175)。 「 221」メッセージは接続を閉じることを告げる SMTPの応答コードである。メールシステ ムコア 37は、この「221」メッセージを分析し、その終了宣言応答を自端末のメーラ 31 に送る(ステップ S 176)。これによつて、暗号メール送信側の流れは全て完了し、クラ イアント装置 Aのメーラ 31とメールサーバ 41との TCP通信が切断される。
[0143] <暗号メール受信側の流れの説明 >
次に、図 19、図 20のフローチャートに基づいて喑号メール受信側の流れについて 説明する。
図 19に示すように、 TCP2ドライバ 34のメールシステムコア 37は、起動時には常時 、登録してレ、る全ユーザの SMTPと POP3サーバの IPアドレスとポート番号を含むパ ケットを捕捉するためのフック要求を出している(ステップ S180)。 TCP2コア 36は、 このフック要求を受けると、登録してある全ユーザの POP3と SMTPのサーバの IPァ ドレスとポート番号を含むパケットを捕捉 (フック)する(ステップ S181)。
[0144] そして、喑号メールの受信側の流れは、既存メーラ 31でメールの受信を実行するこ とで開始する。この段階で、既存メーラ 31とネットワーク 40に接続されたメールサー ノ 41 (図 4参照)との間で TCP通信が確立される。言い換えると、既存メーラ 31を有 するクライアント装置 Aとネットワーク 40に接続されるメールサーバ 41 (クライアント装 置 Bといってもよレ、)との間で TCP通信が確立される。
[0145] ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセージが送ら れる力 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3の接続である ことを認識した上で、メールシステムコア 37にフック結果を通知する(ステップ S183)
[0146] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットのインターセプトを要求する(ステップ S184)。このメールシステムコア 37か らのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセプトを開始す る(ステップ S185)。
[0147] 続いて、クライアント装置 Aのメーラ 31から TCP2コア 36に対して、ユーザ IDが送 信され、 TCP2コア 36は、このユーザ IDのパケットを確認し(ステップ S186)、メーラ 力もの「USER」メッセージをメールシステムコア 37に送る。メールシステムコア 37は、 この「USER」メッセージを分析して、記憶メディア 38 (図 3、図 5参照)に、ユーザ ID を一時的に保存 (仮保存)しておく(ステップ S187)。ここで、一時的に保存とは、パス ワードの確認等によって認証ができていない段階、すなわり、認証後の正式な保存 の前段階の保存を意味している。そして、ユーザ IDをネットワーク 40に接続されてい るメールサーバ 41に送る。
[0148] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「十 〇K」メッセージをメールシステムコア 37に送る(ステップ S187)。この「 + OK」メッセ ージとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ( User recognized, send password)」とレヽっメッセーンである。メーノレシステムコア 37は、 この「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID 応答を転送する(ステップ SI 88)。
[0149] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37にこの確認のパスワード メッセージのパケットが送られる(ステップ S 189)。メールシステムコア 37は、 TCP2コ ァ 36からの「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メデ ィァ 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続さ れてレ、るメールサーバ 41に対してパスワードを送る(ステップ S 190)。
[0150] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに送られ る。 TCP2コア 36でパスワード応答のパケットを確認し、メールシステムコア 37にパス ワード応答メッセージのパケットを送る(ステップ S191)。メールシステムコア 37はパ スワード応答メッセージである「+OK」メッセージのパケットを分析し、既に記録メディ ァ 38に登録されているユーザ IDとパスワード及び上記一時的に保存されたユーザ I Dとパスワードから鍵情報を取得する(ステップ S192)。そして、受け取ったパスヮー ド応答をメーラ 31に送る。
[0151] 続いて、図 20に基づいて、暗号メール受信側の流れの続きを説明する。メールシス テムコア 37からのパスワード応答の送信を受けて、メーラ 31は、メールのダウンロード 要求を発信する。 TCP2コア 36はメーラ 31からのダウンロード要求のパケットを確認 し、これを「RETR」メッセージとしてメールシステムコア 37に伝える(ステップ S 193)。 メールシステムコア 37は、この「RTER」メッセージを分析し、ネットワーク 40に接続さ れているメールサーバ 41にメールダウンロード要求を送る(ステップ S 194)。ここで、 「RETR」メッセージは、パラメータで指定したメッセージを受け取るための POP3の基 本的コマンドである。仮にメッセージのない行をパラメータとして指定したときは、 Γ-Ε RR message does not exist」力 = "返 れることに つてレヽ 。
[0152] その後、メールサーバ 41からダウンロード応答(「+OK」メッセージ)とメール'メッセ ージが送られてくる。 TCP2コア 36は、このダウンロード応答(「+ΟΚ」メッセージ)とメ ール.メッセージのパケットを確認し、これをメールシステムコア 37に送る(ステップ S1 95)。
[0153] メールシステムコア 37は、このダウンロード応答(「+ΟΚ」メッセージ)とメール'メッセ ージを分析し、これが暗号文であれば TCP2メールアプリケーション部 35に「メール の状態」と送信元メールのアドレスを通知する。ここで、「メールの状態」とは、「暗号文 」であるか否力 \「HTML」ファイルであるかどうか、あるいは「添付ファイル」が付いて レ、るか否か等の状況をいう。なお、パケットは TCP2メールアプリケーション部 35に送 らずに、メールシステムコア 37に留めておく(ステップ S196)。なお、 TCP2ドライノく 3 4の実装形態により、メールシステムコア 37の記憶メディア 38にメール'メッセージを 保存するように設定することもできる。
[0154] TCP2メールシステムアプリケーション部 35は、メールシステムコア 37から送られた メールの状態、送信元メールアドレスを出力装置 33の表示画面に表示する(ステップ S197)。そして、出力装置 33に表示されたメール一覧をメール受信者が見て、入力 装置 32の「受信」ボタンを押す (ステップ S 198)と、メールが受信され、メールシステ ムコア 37を経由してクライアント装置 Aのメーラ 31に受信メールが暗号文のまま送ら れる(ステップ S 199)。
ここで、基本的には暗号文のままメーラ 31に送られるのである力 システムの設定 により、復号ィ匕部 52 (図 5参照)で復号ィ匕し、平文でメーラに送ることも可能である。ス テツプ S 198で受信ボタンの代わりに、破棄ボタンを押せば、メールシステムコア 37の メール/添付ファイル削除部 54 (図 5参照)において、破棄ボタンの押されたメール が削除される。
[0155] このようにしてダウンロード応答と受信されたメール'メッセージとがクライアント装置 Aのメーラ 31に送られ、記憶メディア 39に暗号文 (場合によっては平文)でメール'メ ッセージが保存される(ステップ S 200)。メーラ 31は、メッセージ削除要求「DELE」を TCP2コア 36に送る。 TCP2コア 36は、このメッセージ削除要求のパケットを確認し( ステップ S201)、メールシステムコア 37に送る。メールシステムコア 37は、このメッセ ージ削除要求「DELE」を分析し、このメッセージ削除要求をメールサーバ 41に送る( ステップ S202)。
[0156] このメッセージ削除要求を受けて、メールサーバ 41は、メッセージ削除応答を TCP 2コア 36に送り、 TCP2コア 36はこのパケットを確認する(ステップ S203)。メールシ ステムコア 37は、このメッセージ削除応答の「+OK」メッセージを分析し、これをメーラ 31に送る(ステップ S 204)。
[0157] メーラ 31は、このメッセージ削除応答を受信すると、終了宣言メッセージ「QUIT」を メールサーバ 41に送ることになる力 この終了宣言メッセージを受信した TCP2コア 3 6は、このパケットを確認して(ステップ S205)、「QUIT」メッセージとしてメールシステ ムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析し、メール サーバ 41に終了宣言を送信する(ステップ S206)。
[0158] メールサーバ 41は、この終了宣言に対して、終了宣言応答を発し、これをクライア ント装置 Aの TCP2コア 36に送る。そして、クライアント装置 Aの TCP2コア 36は、受 信した終了宣言応答のパケットを確認し、 SMTPの応答コード「+OK」メッセージとし てメールシステムコア 37に送る(ステップ S207)。メールシステムコア 37は、この「+0 K」メッセージを分析し、その終了宣言応答を自端末のメーラ 31に送る(ステップ S 20 8)。これによつて、暗号メール受信側の流れが全て完了し、クライアント装置 Αのメー ラ 31とメールサーノく 41 (クライアント装置 B)との TCP通信が切断される。
[0159] <TCP2メールシステムの実施例の説明 >
最後に、図 21に基づいて、 TCP2メールシステムの全体の流れを概観しておく。 図 21に示されるように、クライアント装置 Aとクライアント装置 Bはそれぞれのメールサ ーバ Aとメールサーバ Bを介してメール通信を行う。まず、クライアント装置 A力 鍵交 換用定型メールの送信が行われる力 このときクライアント装置 Aの TCP2ドライバで 鍵元値が付加され、かつ保存される。このクライアント装置からの鍵交換用定型メー ルは、メールサーバ A、 Bを経由してクライアント装置 Bの TCP2ドライバに送られ、こ こで鍵元値が保存されて、クライアント装置 Bのメーラで受信される。
[0160] 次に、クライアント装置 Bからクライアント装置 Aに向けて鍵交換用定型メールの送 信が行われる。ここで、クライアント装置 Bの TCP2ドライバでは、鍵元値が付加、保存 されるとともに、新たな鍵生成がなされる。そして、鍵交換用定型メールカ^ールサー バ B、 Aを経由してクライアント装置 Aに送られる。クライアント装置 Aでは、その TCP2 ドライバで鍵元値が保存されるとともに、新たな鍵生成が行われた後、メーラが鍵交 換用受信メールを受信する。この鍵交換用定型メールのやり取りは、初回のみ行わ れ、それ以降のメールの通信においては、不要となる。
[0161] クライアント装置 A力 メールの送信が行われる。まずクライアント装置 Aのメーラは TCP2ドライバに平文のメールを送り、 TCP2ドライバは、この平文のメールを暗号化 する。そして喑号化されたメールは、メールサーバ A, Bを経由してクライアント装置 B に送られる。クライアント装置 Bの TCP2ドライバでは、その設定により、これを暗号文 のまま自端末のメーラにおくる力、または復号ィ匕して平文の状態でメーラに送る。クラ イアント装置 Bからクライアント装置 Aへのメール送信も同様に行われる。以上が、 TC
P2メールシステムの概要である。
[0162] 以上説明したように、本発明の TCP2を用いたメールシステムでは、高いセキユリテ ィ機能を持つ TCP2を用いてメールの通信を行うので、既存の暗号化処理によるメー ル通信と比べても、特にデータの漏洩、改ざん、なりすまし、進入そして攻撃に対して 極めて強力な防御機能を発揮する。
[0163] 本発明は、以上説明した実施の形態に限定されるものではなぐ特許請求項に記 載した本発明の要旨を逸脱しない範囲において、さらに多くの実施形態を含むもの であることは言うまでもなレ、。
引用符号の説明
[0164] 31···既存メーラ、 32· "入力装置、 33· "出力装置、 34· · 'TCP2ドライバ、 35··· TCP2メールシステムアプリケーション部、 36· · 'TCP2コア、 37·· 'メールシステムコ ァ、 38、 39···記憶メディア、 40· "ネットワーク、 41···メールサーバ、 50· "認証 部、
51···暗号化部、 52···復号化部、 53···鍵交換部

Claims

請求の範囲
[1] ネットワークに接続され、複数のクライアント装置間で電子メールの通信を行う既存 のメーラを備えたクライアント装置であって、
該クライアント装置は、
前記既存のメーラの外に、 TCP2コアとメールシステムコアを備えた TCP2ドライバ と、 TCP2メールシステムアプリケーション部を備えており、
前記 TCP2コアは、既存のメーラあるいは SMTP又は POP3のプロトコル力 送ら れる電子メールのパケットを認識し、前記メールシステムコアに送信する手段を有し、 前記メールシステムコアは、送受信されるメールの暗号化または復号化する手段 と、他のクライアント装置との鍵交換を行う手段と、前記 POP3の IPアドレスとポート、 及び SMTPの IPアドレスとポートを保存する手段と、ユーザ ID 'パスワード及び送信 元及び送信先メールアドレスを保存する手段と、前記鍵交換により作成した鍵を保存 する手段と、喑号メール、 HTML形式メール、あるいは添付ファイルを選択して削除 する手段とを有し、
前記 TCP2メールアプリケーション部は、前記メールシステムコアから送られる電 子メールに関連する鍵状態の表示を行うとともに、該電子メールの暗号化あるいは非 暗号化状態、送信元メールアドレス、メール形式、及び添付ファイルの一覧表示を行 う手段と、
前記既存メーラで受信した暗号メールを平文で表示する手段とを有しており、 前記ネットワークを通して受信された電子メールは、前記 TCP2ドライバによって選 別処理された後に前記既存のメーラに供給されるとともに、
前記既存のメーラから前記ネットワークを介して他のクライアント装置に送信される 電子メールは、前記 TCP2ドライバで送信先の他のクライアント装置を確認した後に 送信されるように設定されてレ、る
ことを特徴とするクライアント装置。
[2] ネットワークに接続され、既存のメーラを備えた複数のクライアント装置間で電子メ ールの通信を行うメールシステムであって、
前記クライアント装置には、 既存のメール手段に加えて、 TCP2コアとメールシステムコアを備えた TCP2ドライ バと、 TCP2メールアプリケーション部が設けられ、
前記 TCP2ドライバの前記 TCP2コアは、既存のメール手段あるいはネットワーク に接続されメールサーバの SMTP又は POP3のプロトコルから送られる電子メール のパケットを、前記メールシステムコアに送信し、
前記メールシステムコアは、
送受信される電子メールの喑号ィ匕または復号ィ匕を行い、送信相手との鍵交換を 行レ、、前記 POP3の IPアドレスとポート番号及び前記 SMTPの IPアドレスとポート番 号、ユーザ ID ·パスワード及び送信元及び送信先メールアドレス、前記鍵交換により 作成した鍵を記憶メディアに保存し、前記受信した電子メールを選択的に削除し、 前記 TCP2メールシステムアプリケーション部は、
前記メールシステムコアから送られる電子メールに関して、鍵状態の表示を行うと ともに、送受信したメールの一覧表示と、
前記既存メーラで受信した暗号メールの平文表示を行うことを特徴とするメールシ ステム。
ネットワークに接続され、既存のメーラを備えた複数のクライアント装置間でメール の通信を行うためのメール通信プログラムであって、
それぞれのクライアント装置コンピュータに、
既存のメーラ機能以外に、 TCP2コア、メールシステムコア及び TCP2メールアプリ ケーシヨンの 3つの機能を有する TCP2メールシステム機能を実装し、
該 TCP 2コアの機能は、
既存のメーラあるいはネットワークに接続されメールサーバの SMTP又は POP3 のプロトコルから送られる電子メールのパケットを認識してメールシステムコアに送信 する機能であり、
前記メールシステムコアの機能は、送受信されるメールの喑号ィ匕または復号ィ匕を 行レ、、送信相手との鍵交換を行レ、、 POP3の IPアドレスとポート番号及び SMTPの I Pアドレスとポート番号、ユーザ ID 'パスワード及び送信元及び送信先メールアドレス 、前記鍵交換により作成した鍵を記憶メディアに保存するとともに、受信した電子メー ルを選択的に削除する機能であり、
前記 TCP2メールシステムアプリケーションの機能は、
前記メールシステムコアから送られる電子メールに関して、鍵状態の表示を行うと ともに、送受信したメールの一覧表示と、
前記既存メーラで受信した暗号メールの平文表示を行う機能であり、
前記各機能をクライアント装置コンピュータに実現させることを特徴とするコンビュ ータプログラム。
請求の範囲第 3項に記載のプログラムを記録した記録媒体。
PCT/JP2006/315130 2006-05-30 2006-07-31 クライアント装置、メールシステム、プログラム及び記録媒体 WO2007138717A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2006800555117A CN101558599B (zh) 2006-05-30 2006-07-31 客户端设备、邮件系统、程序以及记录介质
US12/302,621 US8370630B2 (en) 2006-05-30 2006-07-31 Client device, mail system, program, and recording medium
EP06782008.4A EP2023526A4 (en) 2006-05-30 2006-07-31 CLIENT SETUP, MAIL SYSTEM, PROGRAM AND RECORDING MEDIUM
HK10101497.4A HK1135252A1 (en) 2006-05-30 2010-02-10 Client device, mail system, program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006150193A JP4855147B2 (ja) 2006-05-30 2006-05-30 クライアント装置、メールシステム、プログラム及び記録媒体
JP2006-150193 2006-05-30

Publications (1)

Publication Number Publication Date
WO2007138717A1 true WO2007138717A1 (ja) 2007-12-06

Family

ID=38778247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/315130 WO2007138717A1 (ja) 2006-05-30 2006-07-31 クライアント装置、メールシステム、プログラム及び記録媒体

Country Status (7)

Country Link
US (1) US8370630B2 (ja)
EP (1) EP2023526A4 (ja)
JP (1) JP4855147B2 (ja)
CN (1) CN101558599B (ja)
HK (1) HK1135252A1 (ja)
TW (1) TWI396413B (ja)
WO (1) WO2007138717A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5491860B2 (ja) * 2007-05-31 2014-05-14 株式会社Pfu 電子ドキュメント暗号化システム、プログラムおよび方法
US8429237B2 (en) 2010-05-25 2013-04-23 International Business Machines Corporation Managing an electronic mail in a communication network
GB201008888D0 (en) * 2010-05-27 2010-07-14 Qinetiq Ltd Network security
US8700896B1 (en) * 2010-08-25 2014-04-15 Symantec Corporation Techniques for automatic management of file system encryption drivers
US20130067227A1 (en) * 2011-03-01 2013-03-14 John Derrick System and Method for Anonymous Digital Communication
JP4843116B1 (ja) * 2011-08-22 2011-12-21 株式会社Into ネットワークゲートウェイ装置
US9608822B2 (en) * 2014-03-18 2017-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Method for generating an HTML document that contains encrypted files and the code necessary for decrypting them when a valid passphrase is provided
US10021077B1 (en) * 2014-05-12 2018-07-10 Google Llc System and method for distributing and using signed send tokens
US10097489B2 (en) * 2015-01-29 2018-10-09 Sap Se Secure e-mail attachment routing and delivery
CN111988346B (zh) * 2019-05-21 2021-10-22 新华三信息安全技术有限公司 数据泄露防护设备及报文处理方法
CN112291138B (zh) * 2020-11-16 2022-07-26 北京北信源软件股份有限公司 一种邮件数据审核方法、装置、电子设备及存储介质
CN114489995B (zh) * 2022-02-15 2022-09-30 北京永信至诚科技股份有限公司 一种分布式调度处理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276221A (ja) * 1993-03-17 1994-09-30 Toshiba Corp 極秘メール機能を持つ電子メールシステム
EP1249981A1 (en) 2001-04-02 2002-10-16 NuMeme Limited A security service system and method
WO2005015827A1 (ja) 2003-08-08 2005-02-17 T.T.T.Kabushikikaisha 通信システム、通信装置、通信方法、及びそれを実現するための通信プログラム
EP1536601A1 (en) 2003-11-26 2005-06-01 Totemo AG Encryption method and system for emails
JP2005295509A (ja) * 2004-04-02 2005-10-20 Microsoft Corp 電子メールを使用した公開情報の認証された交換

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network
US6061448A (en) * 1997-04-01 2000-05-09 Tumbleweed Communications Corp. Method and system for dynamic server document encryption
US6070245A (en) * 1997-11-25 2000-05-30 International Business Machines Corporation Application interface method and system for encryption control
US6865671B1 (en) * 2000-04-07 2005-03-08 Sendmail, Inc. Electronic mail system with authentication methodology for supporting relaying in a message transfer agent
US6732101B1 (en) * 2000-06-15 2004-05-04 Zix Corporation Secure message forwarding system detecting user's preferences including security preferences
US20020042875A1 (en) * 2000-10-11 2002-04-11 Jayant Shukla Method and apparatus for end-to-end secure data communication
JP2002132913A (ja) * 2000-10-25 2002-05-10 Nec Corp 文書入出力システム及びそれに用いる設定情報登録方法
WO2002101605A2 (en) * 2001-06-12 2002-12-19 Research In Motion Limited System and method for compressing secure e-mail for exchange with a mobile data communication device
JP2003179592A (ja) * 2001-12-12 2003-06-27 Sony Corp ネットワークシステム、情報処理装置および方法、記録媒体、並びにプログラム
JP4346962B2 (ja) * 2003-06-05 2009-10-21 日本電気株式会社 暗号化通信制御装置
DE10334550A1 (de) * 2003-07-30 2005-06-23 Deutsche Telekom Ag Verfahren zur Ver- und Entschlüsselung oder Signatur von E-Mails über einen E-Mail-Server
JP4235824B2 (ja) * 2004-09-09 2009-03-11 村田機械株式会社 暗号化装置
CN100423484C (zh) * 2005-03-03 2008-10-01 武汉大学 具有收发双向不可否认机制的安全电子邮件系统实现方法
JP4788264B2 (ja) * 2005-09-27 2011-10-05 横河電機株式会社 暗号化通信方法および通信装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276221A (ja) * 1993-03-17 1994-09-30 Toshiba Corp 極秘メール機能を持つ電子メールシステム
EP1249981A1 (en) 2001-04-02 2002-10-16 NuMeme Limited A security service system and method
WO2005015827A1 (ja) 2003-08-08 2005-02-17 T.T.T.Kabushikikaisha 通信システム、通信装置、通信方法、及びそれを実現するための通信プログラム
EP1536601A1 (en) 2003-11-26 2005-06-01 Totemo AG Encryption method and system for emails
JP2005295509A (ja) * 2004-04-02 2005-10-20 Microsoft Corp 電子メールを使用した公開情報の認証された交換

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"PopTray 2.1 OPEN-SOURCE Mail Notifier", RENIER CRAUSE, 27 May 2003 (2003-05-27), XP003019290, Retrieved from the Internet <URL:http://wee.web.archive.org/web/20030527011635> *
BRANDSTAD M. ET AL.: "The Role of Trust in Protected Mail", IEEE PROCEEDINGS OF THE 1990 IEEE COMPUTER SOCIETY SYMPOSIUM ON RESEARCH IN SECURITY AND PRIVACY, 1990, pages 210 - 215, XP000209253 *
BROWN I. ET AL.: "A Proxy Approach to E-Mail Security", SOFTWARE-PRACTICE & EXPERIENCE, vol. 29, no. 12, 1999, pages 1049 - 1060, XP000852351 *

Also Published As

Publication number Publication date
JP4855147B2 (ja) 2012-01-18
US20100049978A1 (en) 2010-02-25
TW200822640A (en) 2008-05-16
EP2023526A4 (en) 2013-09-25
EP2023526A1 (en) 2009-02-11
CN101558599B (zh) 2013-03-13
US8370630B2 (en) 2013-02-05
CN101558599A (zh) 2009-10-14
TWI396413B (zh) 2013-05-11
JP2007323172A (ja) 2007-12-13
HK1135252A1 (en) 2010-05-28

Similar Documents

Publication Publication Date Title
JP4855147B2 (ja) クライアント装置、メールシステム、プログラム及び記録媒体
US7039713B1 (en) System and method of user authentication for network communication through a policy agent
CN1833403B (zh) 通信系统、通信装置、通信方法
US8984268B2 (en) Encrypted record transmission
US8307208B2 (en) Confidential communication method
US8037295B2 (en) Hardware-bonded credential manager method and system
CN101141244B (zh) 网络加密数据病毒检测和消除系统和代理服务器及方法
EP1583319B1 (en) Authenticated exchange of public information using electronic mail
US20060212716A1 (en) Apparatus and method for providing secure communication on a network
WO2003038622A1 (en) Monitoring system for a corporate network
EP1543648A2 (en) System, method and computer program product for guaranteeing electronic transactions
CA2321407C (en) Security mechanisms and architecture for collaborative systems using tuple space
Bellovin et al. Security mechanisms for the Internet
KR20110043371A (ko) 보안 기능을 제공하는 안전한 에스아이피 프로토콜을 이용한 공격 탐지 방법 및 시스템
JP4866150B2 (ja) Ftp通信システム、ftp通信プログラム、ftpクライアント装置及びftpサーバ装置
Mueller Let’s attest! Multi-modal certificate exchange for the web of trust
KR100250457B1 (ko) 인터넷 프로토콜을 이용하는 네트워크에서 발신측 및착신측의 통신 방법
Dolnák Secure mutual exchange of messages between network nodes inspired by security technologies for electronic mail exchange
JP2007329750A (ja) 暗号化通信システム
JP2006121440A (ja) 医療システム、医療データ管理方法、及び医療データ管理用通信プログラム
JP2007324726A (ja) ファイル共有サーバ装置、クライアント装置、印刷装置、ファイル共有システム、ファイル共有プログラム
JP2007329751A (ja) 暗号化通信システム
Bellovin et al. RFC3631: Security Mechanisms for the Internet
JP2007295272A (ja) 中継装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680055511.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06782008

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2006782008

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 9855/DELNP/2008

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12302621

Country of ref document: US