Security buildup method and system
Abstract
[Task] Prevents decryption of common encryption keys and facilitates management.
Solution.It includes a storage unit 2, an encryption / decryption unit 8, a user management unit 3, a key acquisition unit 4, and a key distribution unit 5. When the user management unit 3 participates in any of the channels, the user management unit 3 acquires and stores the user information including the nickname list from the chat client. The key acquisition unit 4 selects one of the user terminals, requests an encryption key, and stores the encryption key transmitted in response to the request in the storage unit 2. When the key distribution unit 5 receives a request for an encryption key from another user terminal, the key distribution unit 5 distributes the encryption key read from the storage unit 2 to the other user terminal. Further, it is preferable to provide a key changing unit 6 to change the encryption key with a certain trigger to prevent the key from being decrypted. It is also conceivable to add the key distribution attribute and the key change attribute to the user information and set them, and distribute or update the encryption key based on these attributes.

Term
Term ended
Projected expiry passed 29 October 2018, 7.9 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
23 claims: 6 independent, 17 dependent
- 1【特許請求の範囲】 【請求項1】互いに同一のネットワークを共有して同時に双方向通信が可能な通信装置に用いられ、 前記ネットワーク内の通信内容を暗号化及び復号化するための暗号鍵を、前記通信装置上で生成し、 前記通信装置を用いてネットワークに参加した後に、前記ネットワークを共有するいずれかの他の通信装置に対して前記暗号鍵を要求し、 前記ネットワーク内の他の通信装置からの暗号鍵の要求に応じ、前記準備した暗号鍵を要求元の通信装置に付与し、 前記ネットワーク内の通信装置間の通信内容を、前記暗号鍵を用いて暗号化及び復号化する、 セキュリティ強化方法。
- 2【請求項2】他の通信装置と互いに同一のネットワークを共有して同時に双方向通信が可能な通信装置とともに用いられ、 前記共有されたネットワーク内の通信内容を暗号化及び復号化するための暗号鍵を保持する記憶手段と、 通信内容を前記通信装置から取得し、前記暗号鍵を用いて暗号化する暗号化手段と、 通信内容を前記通信装置から取得し、前記暗号鍵を用いて復号化する復号化手段と、 前記通信装置が前記いずれかのネットワークに参加している場合に、少なくとも前記ネットワークを共有する他の通信装置リストを含む所定の利用者情報を前記通信装置から取得し、前記記憶手段に格納する利用者管理手段と、 前記他の通信装置リストからいずれかの通信装置を選択して前記暗号鍵を要求し、前記要求に応じて前記他の通信端末から送信される暗号鍵を前記記憶手段に格納する鍵取得手段と、 他の前記通信装置から前記暗号鍵の要求があった場合、前記記憶手段からいずれかの暗号鍵を読み出して前記他の通信端末に配布可能な鍵配布手段と、 を備えるセキュリティ強化装置。
- 3【請求項3】前記通信装置は、前記セキュリティ強化装置との連携手段を有し、 前記連携手段は、前記暗号鍵の要求、前記要求に応じて送信される暗号鍵、前記利用者情報に関する情報及び所定の条件に合致する場合は通信内容の受け渡しを、前記通信装置とセキュリティ強化装置との間で行う、請求項2に記載のセキュリティ強化装置。
- 4【請求項4】前記利用者管理手段は、他のセキュリティ強化装置に暗号鍵の配布を許可する鍵配布属性を、前記取得した利用者情報に基づいて設定し、前記記憶手段に格納する、請求項2に記載のセキュリティ強化装置。
- 5【請求項5】前記利用者管理手段は、所定の条件に基づいて、他の通信装置を選択し、前記暗号鍵の配布を許可する鍵配布属性を前記他の通信装置に付与し、かつ鍵配布属性の設定及び設定対象の通信装置を前記通信装置から取得し、前記記憶手段に格納する、請求項2に記載のセキュリティ強化装置。
- 6【請求項6】前記利用者管理手段は、他の通信装置の選択と、前記暗号鍵の配布を許可する鍵配布属性の前記他の通信装置への付与及び解除の指示とを受け付け、かつ鍵配布属性の設定及び設定対象の通信装置を前記通信装置から取得し、前記記憶手段に格納する、請求項2に記載のセキュリティ強化装置。
- 7【請求項7】前記鍵取得手段は、所定の条件に基づいて前記暗号鍵の要求先を選択する、請求項2に記載のセキュリティ強化装置。
- 8【請求項8】前記鍵取得手段は、所定の条件に基づいて前記暗号鍵の要求先を選択して前記暗号鍵を要求し、所定時間内に前記要求先から暗号鍵が送信されない場合、他の通信装置を選択して再度要求を行う、請求項2に記載のセキュリティ強化装置。
- 9【請求項9】前記鍵取得手段は、前記通信内容が暗号化されている場合に前記暗号鍵の取得要求を行う、請求項2に記載のセキュリティ強化装置。
- 10【請求項10】前記復号化手段は、前記通信装置から受け取る通信内容を復号不可能と判断した場合、前記暗号鍵の要求を行うことを決定し、 前記鍵取得手段は、前記復号化手段の決定に従い、前記暗号鍵の取得要求を行う、請求項2に記載のセキュリティ強化装置。
- 11【請求項11】前記記憶手段は、複数の暗号鍵と暗号鍵を特定する鍵識別情報とを対応付けて記憶し、 前記暗号化手段は、前記通信内容の暗号化に用いられた暗号鍵を示す鍵識別情報と通信内容とを、前記通信装置を介してネットワークに送出可能であり、 前記復号化手段は、前記鍵識別情報で特定される暗号鍵が前記記憶手段に保持されているか否かを判断し、 前記鍵取得手段は、前記判断結果に従い、前記鍵識別情報を通知して前記暗号鍵の取得要求を行う、請求項2に記載のセキュリティ強化装置。
- 12【請求項12】前記鍵取得手段は、利用者の公開鍵暗号系の公開鍵を前記暗号鍵の要求とともに通知し、前記要求に応じて送信される暗号鍵を利用者の秘密鍵を用いて復号化し、 前記鍵配布手段は、前記要求元の公開鍵暗号系の公開鍵を用いて暗号化した前記暗号鍵を配布する、 請求項2に記載のセキュリティ強化装置。
- 13【請求項13】前記鍵配布手段は、他の前記通信装置から前記暗号鍵の要求があった場合、前記要求を検証し、検証結果に基づいて前記記憶手段からいずれかの暗号鍵を読み出し、前記他の通信端末に配布可能である、請求項2に記載のセキュリティ強化装置。
- 14【請求項14】所定のタイミングで前記暗号鍵を更新し、他の通信装置に配布する鍵変更手段をさらに備える、請求項2に記載のセキュリティ強化装置。
- 15【請求項15】所定のタイミングで前記暗号鍵を更新し、前記更新した暗号鍵を直前の暗号鍵を用いて暗号化して他の通信装置に配布する鍵変更手段をさらに備える、請求項2に記載のセキュリティ強化装置。
- 16【請求項16】前記鍵変更手段は、前記各通信装置内に保持される秘密情報、時間情報及びネットワークに固有の情報のいずれかまたは全ての組合せに基づいて前記暗号鍵を生成する、請求項2に記載のセキュリティ強化装置。
- 17【請求項17】前記鍵変更手段は、前記各通信装置内に保持される秘密情報、時間情報及びネットワークに固有の情報のいずれかの組合せまたは全てを、一方向関数で暗号化して前記暗号鍵を生成する、請求項2に記載のセキュリティ強化装置。
- 18【請求項18】前記利用者管理手段は、前記暗号鍵の更新及び配布を許可する鍵変更属性を、前記取得した利用者情報に基づいて設定して前記記憶手段に格納し、 前記鍵変更属性の有無に基づいて、所定のタイミングで前記暗号鍵を更新し、他の通信装置に配布する鍵変更手段をさらに備える、請求項2に記載のセキュリティ強化装置。
- 19【請求項19】前記利用者管理手段は、 利用者が前記暗号鍵の更新及び配布を許可する鍵変更属性を有する場合に、所定の条件に基づいて他の通信装置を選択し、前記選択した通信装置に前記鍵変更属性を設定可能であり、 かつ鍵変更属性の設定及び設定対象の通信装置を前記通信装置から取得して前記記憶手段に格納し、 前記鍵変更属性の有無に基づいて、所定のタイミングで前記暗号鍵を更新し、他の通信装置に配布する鍵変更手段をさらに備える、 請求項2に記載のセキュリティ強化装置。
- 20【請求項20】前記利用者管理手段は、前記暗号鍵の更新及び配布を許可する鍵変更属性及び優先順位を、前記取得した利用者情報に基づいて設定して前記記憶手段に格納し、前記利用者情報の変化に従って前記優先順位の書き換えを行い、 前記鍵変更属性及び優先順位に基づいて、所定のタイミングで前記暗号鍵を更新し、他の通信装置に配布する鍵変更手段をさらに備える、請求項2に記載のセキュリティ強化装置。
- 21【請求項21】前記利用者管理手段は、 利用者が前記暗号鍵の更新及び配布を許可する鍵変更属性を有する場合に、所定の条件に基づいて他の通信装置を選択し、前記他の通信装置に前記鍵変更属性と優先順位とを設定可能であり、 かつ鍵変更属性と優先順位との設定及び設定対象の通信装置を前記通信装置から取得して前記記憶手段に格納し、前記利用者情報の変化に従って前記優先順位の書き換えを行い、 前記鍵変更属性及び優先順位に基づいて、所定のタイミングで前記暗号鍵を更新し、他の通信装置に配布する鍵変更手段をさらに備える、 請求項2に記載のセキュリティ強化装置。
- 22【請求項22】互いに同一のネットワークを共有して同時に双方向通信が可能な複数の通信装置から構成され、 前記各通信装置は、 前記共有されたネットワーク内の通信内容を暗号化及び復号化するための暗号鍵を保持する記憶手段と、 通信内容を前記暗号鍵を用いて暗号化する暗号化手段と、 通信内容を前記暗号鍵を用いて復号化する復号化手段と、 前記いずれかのネットワークに参加している場合に、少なくとも前記ネットワークを共有する他の通信装置リストを含む所定の利用者情報を取得し、前記記憶手段に格納する利用者管理手段と、 前記他の通信装置リストからいずれかの通信装置を選択して前記暗号鍵を要求し、前記要求に応じて前記他の通信端末から送信される暗号鍵を前記記憶手段に格納する鍵取得手段と、 他の前記通信装置から前記暗号鍵の要求があった場合、前記記憶手段からいずれかの暗号鍵を読み出して前記他の通信端末に配布可能な鍵配布手段と、 を備えるセキュリティ強化システム。
- 23【請求項23】互いに同一のネットワークを共有して同時に双方向通信が可能な通信装置に用いられる、セキュリティ強化プログラムを記録したコンピュータ読み取り可能な記録媒体であって、 A;前記共有されたネットワーク内の通信内容を暗号化及び復号化するための暗号鍵を保持する段階と、 B;前記暗号鍵を用いて通信内容を暗号化する段階と、 C;前記暗号鍵を用いて通信内容を復号化する段階と、 D;前記いずれかのネットワークに参加している場合に、少なくとも前記ネットワークを共有する他の通信装置リストを含む所定の利用者情報を取得し、前記記憶手段に格納する段階と、 E;前記他の通信装置リストからいずれかの通信装置を選択して前記暗号鍵を要求し、前記要求に応じて前記他の通信端末から送信される暗号鍵を前記記憶手段に格納する段階と、 F;他の前記通信装置から前記暗号鍵の要求があった場合、前記記憶手段からいずれかの暗号鍵を読み出して前記他の通信端末に配布する段階と、 を実行させるための、セキュリティ強化プログラムを記録したコンピュータ読み取り可能な記録媒体。
Independent claims23
245 paragraphs in 1 section, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Technical field to which the invention belongs]
The present invention relates to a technique for enhancing the security of communication performed on a computer network such as an intranet or the Internet, and more particularly to a technique for enhancing the security of conversation content in a chat system. In the present invention, the chat system is a system composed of a chat server and a plurality of chat clients, and a plurality of users can share the same channel with each other and have a conversation at the same time. A channel is a virtual space in which users are logically grouped, and a virtual space in which statements within the channel are broadcast to all users who share the channel. The nickname is a name for identifying the user on the chat system. The channel operator attribute is an authority to manage users and modes in the channel. A bot is a software robot that participates in a channel and provides various services.
【0002】
[Conventional technology]
Conventionally, in a chat system consisting of a chat server and a chat client, it has been proposed to encrypt the conversation content with a common key in order to enhance the security of the conversation content between the chat clients. As a method of generating this common key, for example, a method in which a chat server generates a channel encryption key and distributes it to a plurality of chat clients is provided.
【0003】
In addition, a method has been proposed in which a bot that connects to a server is prepared as a chat client, and this bot is made to generate and distribute a channel encryption key, and to manage the generated channel encryption key. Furthermore, it is conceivable to incorporate the channel encryption key in the chat client in advance.
【0004】
[Problems to be Solved by the Invention]
In the method in which the chat server generates a channel encryption key and distributes it to the chat client, the conversation content is concealed on the communication path between the client and the server. However, since the server knows the channel encryption key, there is a problem that the conversation can be decrypted on the server.
【0005】
On the other hand, if the method of managing the channel key using the bot is used, the conversation content is not leaked to the chat server, but the conversation content can be deciphered on the bot. In addition, the bot will be operated separately from the server, which is a tedious operation. Although the configuration that incorporates the channel encryption key in the chat client is simple, the key cannot be changed, so the possibility of the key being cracked may increase.
【0006】
The present invention provides a security-enhancing method and device that reduces the burden of managing the channel encryption key and makes it difficult to decrypt the channel key when encrypting / decrypting the conversation using the channel encryption key. With the goal.
【0007】
[Means for solving problems]
In order to solve the above problems, the first invention of the present application is used for a communication device that shares the same network with each other and is capable of two-way communication at the same time. A; An encryption key for encrypting and decrypting the communication contents in the network is generated on the communication device. B; After joining the network using the communication device, request the encryption key from any other communication device sharing the network. C; In response to a request for an encryption key from another communication device in the network, the prepared encryption key is given to the requesting communication device. D; Provided is a security enhancement method for encrypting and decrypting communication contents between communication devices in a network using the encryption key.
【0008】
Let's take a chat system as an example. For example, the channel opener generates the first channel encryption key. Next, the user who joins the channel requests the channel encryption key from the channel creator. The channel creator grants the channel encryption key in response to the request. In this way, the channel encryption key is distributed between the user terminals to prevent the channel encryption key from being decrypted on the server or the bot.
【0009】
The second invention of the present application is used together with a communication device that shares the same network with other communication devices and is capable of two-way communication at the same time, and is used as a storage means, an encryption means, a decryption means, and a user management means. And a security strengthening device including a key acquisition means and a key distribution means. The storage means holds an encryption key for encrypting and decrypting the communication contents in the shared network. The encryption means acquires the communication content from the communication device and encrypts it using the encryption key. The decryption means acquires the communication content from the communication device and decrypts it using the encryption key.
【0010】
When the communication device participates in any of the networks, the user management means acquires predetermined user information including at least a list of other communication devices sharing the network from the communication device, and the user management means obtains the predetermined user information including the list of other communication devices sharing the network. Store in storage means. The key acquisition means selects one of the communication devices from the other communication device list, requests the encryption key, and stores the encryption key transmitted from the other communication terminal in the storage means in response to the request. To do. When the other communication device requests the encryption key, the key distribution means can read one of the encryption keys from the storage means and distribute the encryption key to the other communication terminal.
【0011】
Take the case where the security enhancement device is used together with the chat client as an example. When the user management means enters a channel, the user information including the nickname list participating in the channel is acquired via the chat client. Next, the key acquisition means selects one of the other users from the nickname list and requests the channel encryption key from the user terminal. At another user terminal that has received this request, the key distribution means takes out the channel encryption key from the storage means and transmits it to the requesting user terminal. The requesting user terminal receives the channel encryption key by the key acquisition means and stores it in the storage means. The encryption means and the decryption means use the channel encryption key stored in the storage means as described above to encrypt and decrypt the subsequent conversation contents.
【0012】
In the third invention of the present application, in the second invention, the communication device has a means for coordinating with the security enhancing device. Further, the cooperation means transfers the request for the encryption key, the encryption key transmitted in response to the request, the information regarding the user information, and the communication content when the predetermined conditions are met, with the communication device and the security strengthening device. To provide a security enhancement device to be performed with.
【0013】
For example, when the received communication content is encrypted, the cooperation means sends the encrypted communication content to the security enhancement device. The decrypted communication content is sent from the security device to the communication device via the cooperation means, and is displayed in the same manner as the normal conversation content. On the contrary, when the communication content is encrypted, the cooperation means sends the input communication content to the security enhancement device. The encrypted communication content is sent from the security strengthening device to the communication device via the cooperation means, and is transmitted by the communication device in the same manner as the normal conversation content.
【0014】
In the fourth invention of the present application, in the second invention, the user management means sets a key distribution attribute for permitting distribution of an encryption key to another security enhancing device based on the acquired user information. Provide a security enhancement device to be stored in a storage means. For example, the chat client can acquire a nickname, a user ID, whether or not the user is a channel operator, and the like as user information. Therefore, the key distribution attribute is linked to, for example, the channel operator attribute, and if it is a channel operator, the key distribution attribute is set.
【0015】
In the fifth invention of the present application, in the second invention, the user management means selects another communication device based on a predetermined condition, and sets the key distribution attribute that permits the distribution of the encryption key to the other communication. Provide a security enhancement device to be given to the device. Further, the user management means acquires the key distribution attribute setting and the communication device to be set from the communication device, and stores the key distribution attribute in the storage means.
【0016】
For example, the user management means selects another user terminal when the chat client is a channel opener. Examples of the selection method include randomly selecting a certain number of chat clients participating in the channel, and selecting chat clients up to a predetermined participation order. In order to make it possible to assign the key distribution attribute to other user terminals, specifically, it is preferable to provide an extended protocol in the protocol of the chat system so that the key distribution attribute can be set as user information. Further, the key distribution attribute may be assigned based on the setting command as in the setting of the channel operator.
【0017】
In the sixth invention of the present application, in the second invention, the user management means instructs the other communication device to select another communication device and to assign and release the key distribution attribute that permits the distribution of the encryption key to the other communication device. Provided is a security enhancing device that accepts the above and acquires the key distribution attribute setting and the communication device to be set from the communication device and stores it in the storage means.
【0018】
It accepts the setting and cancellation of the key distribution attribute by the user, and makes it possible for the user to adjust the key distribution burden on each user terminal. The seventh invention of the present application provides the security enhancing device in the second invention, in which the key acquisition means selects a request destination of the encryption key based on a predetermined condition. That is, the key acquisition means selects the request destination of the channel encryption key based on predetermined conditions such as generating a random number or selecting from a communication device having a key distribution attribute.
【0019】
In the eighth invention of the present application, in the second invention, the key acquisition means selects a request destination of the encryption key based on a predetermined condition and requests the encryption key, and the encryption key is obtained from the request destination within a predetermined time. If it is not transmitted, it provides a security enhancement device that selects another communication device and makes a request again. If the encryption key is not transmitted from the request destination within a certain period of time, the key acquisition means reselects the communication device of the request destination because there is some trouble in the request destination. As the selection criteria, select a device that satisfies a predetermined condition, such as a random device or a communication device having a key distribution attribute.
【0020】
The ninth invention of the present application provides the security strengthening device in which the key acquisition means requests the acquisition of the encryption key when the communication content is encrypted in the second invention. For example, in a chat system, an encryption mode for encrypting all communication contents in a channel can be set. The key acquisition means acquires the mode of the joined channel from the chat client, and requests the acquisition of the encryption key when the encryption mode is on.
【0021】
In the tenth invention of the present application, in the second invention, when the decryption means determines that the communication content received from the communication device cannot be decrypted, it is determined to request the encryption key, and the key acquisition means. Provides a security-enhancing device that requests the acquisition of the encryption key in accordance with the determination of the decryption means. It is also possible to set encryption on a conversation-by-conversation basis. For example, a command button is displayed by GUI (Graphic User Interface), and encryption is set or canceled for each conversation by turning this command button on and off. When encryption is set, the encryption means describes an encryption flag indicating the encryption of the conversation at the beginning of the encrypted conversation content. The communication device adds a transmission command to the conversation content and sends it to the network. The decryption means determines that the encryption key is requested when the encrypted conversation content is received but the encryption key is not available, or when the encrypted key cannot be used for decryption. The key acquisition means requests the acquisition of the encryption key according to the determination of the decryption means.
【0022】
In the eleventh invention of the present application, in the second invention, the storage means stores a plurality of encryption keys in association with key identification information that identifies the encryption key, and the encryption means encrypts the communication content. The key identification information indicating the used encryption key and the communication content can be sent to the network via the communication device, and the decryption means can send the encryption key specified by the key identification information to the storage means. Provided is a security enhancement device that determines whether or not the key is held, and the key acquisition means notifies the key identification information and requests the acquisition of the encryption key according to the determination result.
【0023】
When encryption is set and decrypted for each conversation, if it is determined that the decryption means does not have the channel encryption key used to encrypt the conversation, the key acquisition means will perform channel encryption according to that determination. Make a key acquisition request. At that time, the key identification number is notified to identify which encryption key is requested. Examples of the key identification number include a serial number from the time of channel generation, a channel encryption key multiplied by a one-way function such as a hash function, and the like.
【0024】
In the twelfth invention of the present application, in the second invention, the key acquisition means notifies the public key of the user's public key cryptosystem together with the request for the encryption key, and uses the encryption key transmitted in response to the request. The key distribution means provides a security strengthening device that decrypts using a person's private key and distributes the encryption key encrypted by using the public key of the requester's public key cryptosystem.
【0025】
The key acquisition means of the requesting source requesting the encryption key notifies the user's public key and makes a request. The key distribution means of the communication device that receives the request encrypts the encryption key using the public key and sends it back. At the request source, the key acquisition means decrypts using the user's private key and acquires the encryption key. In the thirteenth invention of the present application, when the key distribution means receives a request for the encryption key from another communication device in the second invention, the request is verified, and the storage means is eventually used based on the verification result. Provided is a security enhancing device that can read the encryption key and distribute it to the other communication terminal.
【0026】
At another user terminal that receives the request for the channel encryption key, the key distribution means first verifies the request. If it is a legitimate requester, the key distribution means takes out the channel encryption key from the storage means and sends it to the requesting user terminal. In the above-mentioned example using the request source public key, it is preferable that the key distribution means verifies whether or not the request source public key is a valid public key. For example, a public key with a digital signature of a certification authority, a public key with a digital signature of an IRC server, or a public key with a digital signature of a user who has received a request for an encryption key is regarded as a legitimate public key. Can be mentioned.
【0027】
The 14th invention of the present application provides, in the second invention, a security enhancing device further including a key changing means for updating the encryption key at a predetermined timing and distributing the encryption key to other communication devices. That is, by updating the encryption key at an appropriate timing, the decryption of the encryption key is prevented and the security is enhanced. Appropriate timing is, for example, when a predetermined time interval, a predetermined number of conversations or a predetermined amount of conversation is exceeded, when the number of participating users of the network exceeds or falls below the predetermined number, when the topic changes, and the last Various timings can be considered, such as when a predetermined time has passed from the conversation or when the user instructs to change the encryption key. Further, even if the above timing occurs, it is conceivable to wait for the distribution of the changed key while the conversation is continuing and redistribute the key at the timing when the conversation is interrupted.
【0028】
In the fifteenth invention of the present application, in the second invention, a key changing means for updating the encryption key at a predetermined timing, encrypting the updated encryption key with the immediately preceding encryption key, and distributing the updated encryption key to another communication device. Further, a security enhancement device is provided. By encrypting the updated encryption key with the encryption key before the update, it is possible to prevent the risk of decryption when the updated encryption key is distributed.
【0029】
In the 16th invention of the present application, in the 2nd invention, the key changing means is based on any or all combinations of confidential information, time information, and network-specific information held in each communication device. Provide a security enhancement device that generates a key. For example, it is conceivable to generate a new encryption key based on the board number stored in the communication device, the storage address of the program, the time to update the encryption key, the channel name, and the channel password.
【0030】
In the seventeenth invention of the present application, in the second invention, the key changing means performs any combination or all of secret information, time information, and network-specific information held in each communication device as a one-way function. Provided is a security strengthening device that encrypts with and generates the encryption key. For example, the board number stored in the communication device, the storage address of the program, the time for generating the encryption key, the channel name and the channel password are encrypted with a hash function to obtain an encryption key.
【0031】
In the eighteenth invention of the present application, in the second invention, the user management means sets a key change attribute for permitting the update and distribution of the encryption key based on the acquired user information in the storage means. Provided is a security enhancing device further provided with a key changing means for storing, updating the encryption key at a predetermined timing based on the presence / absence of the key changing attribute, and distributing the encryption key to another communication device.
【0032】
Similar to the key distribution attribute, the key change attribute may be set in conjunction with the channel operator attribute, or may be set for the user who has participated in the channel to the end. Further, a new extended protocol may be provided so that the key change attribute can be set on the chat system, and the key change attribute may be acquired as user information. Furthermore, it is also possible to set the key change attribute based on the setting command from the channel operator.
【0033】
According to the nineteenth invention of the present application, in the second invention, when the user management means has a key change attribute that permits the user to update and distribute the encryption key, another communication device is based on a predetermined condition. Is selected, and the key change attribute can be set in the selected communication device. In addition, the user management means acquires the key change attribute setting and the communication device to be set from the communication device and stores it in the storage means. Further, the security enhancing device further includes a key changing means for updating the encryption key at a predetermined timing based on the presence / absence of the key changing attribute and distributing the encryption key to other communication devices.
【0034】
A user having a key change attribute may be able to give a key change attribute to another user. Other user selection methods include randomly selecting a certain number of communication devices, selecting a certain number of communication devices according to the order of participation in the channel, or selecting an arbitrary communication device from the communication device list. Or various. The key change attribute can be set, for example, by setting a new command on the chat system. According to this setting, the user terminals participating in the channel rewrite the user information.
【0035】
In the 20th invention of the present application, in the second invention, the user management means sets a key change attribute and a priority for permitting the update and distribution of the encryption key based on the acquired user information. It is stored in the storage means, and the priority is rewritten according to the change in the user information. Further, it is a security enhancing device further provided with a key changing means for updating the encryption key at a predetermined timing and distributing it to other communication devices based on the key change attribute and the priority.
【0036】
For example, the key change attribute is set based on the channel operator attribute, and the priority is set based on the order of joining the channel. The second and subsequent user management means said that when the first-ranked communication device left the network, or that a predetermined time had passed since the last update of the encryption key, there was some trouble with the first-ranked communication device. When making a decision, the priority is automatically moved up one by one based on the user information. The new key is generated by the first-ranked user at a predetermined timing.
【0037】
The 21st invention of the present application is, in the second invention, another communication device based on a predetermined condition when the user management means has a key change attribute that permits the user to update and distribute the encryption key. Is selected, and the key change attribute and the priority can be set in the other communication device. In addition, the user management means acquires the communication device for setting the key change attribute and the priority and the setting target from the communication device, stores the communication device in the storage means, and rewrites the priority according to the change in the user information. I do. Further, the security enhancement device further includes a key change means for updating the encryption key at a predetermined timing and distributing the encryption key to other communication devices based on the key change attribute and the priority.
【0038】
For example, the channel encryption key is changed and distributed by the first-ranked communication device. The second-ranked and lower communication devices acquire a new channel encryption key distributed by the first-ranked communication device. The second and subsequent user management means said that when the first-ranked communication device left the network, or that a predetermined time had passed since the last update of the encryption key, there was some trouble with the first-ranked communication device. When making a decision, the priority is automatically moved up one by one based on the user information. The new No. 1 communication device will change and distribute the encryption key by itself.
【0039】
The 22nd invention of the present application is composed of a plurality of communication devices that share the same network with each other and are capable of bidirectional communication at the same time, and each communication device uses a storage means, an encryption means, a decryption means, and the like. A security enhancement system including a person management means, a key acquisition means, and a key distribution means is provided. The storage means holds an encryption key for encrypting and decrypting the communication contents in the shared network.
【0040】
The encryption means encrypts the communication content using the encryption key. The decryption means decrypts the communication content by using the encryption key. When participating in any of the networks, the user management means acquires predetermined user information including at least a list of other communication devices sharing the network and stores the information in the storage means. The key acquisition means selects one of the communication devices from the other communication device list, requests the encryption key, and stores the encryption key transmitted from the other communication terminal in the storage means in response to the request. To do. When the other communication device requests the encryption key, the key distribution means can read one of the encryption keys from the storage means and distribute the encryption key to the other communication terminal.
【0041】
It has the same effect as that of the second invention. The 23rd invention of the present application is a computer-readable recording medium on which a security enhancement program is recorded, which is used for a communication device that shares the same network with each other and is capable of bidirectional communication at the same time, and executes the following steps A to F. Provide a computer-readable recording medium on which a security enhancement program is recorded. A; The stage of holding an encryption key for encrypting and decrypting the communication contents in the shared network, B; The stage of encrypting the communication contents using the encryption key, C; The stage of decrypting the communication contents using the encryption key, D; A step of acquiring predetermined user information including at least a list of other communication devices sharing the network and storing the information in the storage means when participating in any of the networks. E; A step of selecting one of the communication devices from the other communication device list, requesting the encryption key, and storing the encryption key transmitted from the other communication terminal in the storage means in response to the request. F; When there is a request for the encryption key from the other communication device, a step of reading one of the encryption keys from the storage means and distributing the encryption key to the other communication terminal.
【0042】
It has the same effect as that of the second invention.
【0043】
BEST MODE FOR CARRYING OUT THE INVENTION
Next, the security enhancing device of the present invention will be specifically described with reference to examples of embodiments. In the following embodiment, the case where the security enhancement device of the present invention is used together with the chat client in order to enhance the security of the conversation content in the chat system will be described as an example.
【0044】
<Example of the first embodiment> FIG. 1 shows a functional configuration diagram of a security enhancement device used together with a chat client. In FIG. 1, a plurality of user terminals A, B, C, D, E ... are capable of operating a chat client and are connected to a chat server via a computer network. The security enhancement device 1 is provided in each user terminal together with the chat client.
【0045】
The security enhancement device 1 has a storage unit 2, a user management unit 3, a key acquisition unit 4, a key distribution unit 5, a key change unit 6, a key generation unit 7, and an encryption / decryption unit 8. The chat client 10 is provided with a user DB 9, a cooperation unit 11, and a distribution unit 12 according to the security enhancement device 1. In the present embodiment, contact between a plurality of user terminals A ~ E with enhanced security device 1 and chat client 10 to have to generate a channel encryption key to encrypt / decrypt the conversation, and distribute.
【0046】
[Security enhancement device] The storage unit 2 stores the user's own public key system private key and public key. Further, the storage unit 2 receives and holds the channel encryption key for encrypting / decrypting the conversation on the channel in which the chat client participates from the key acquisition unit 4. Further, the storage unit 2 receives the encryption key ID that identifies the channel encryption key from the key acquisition unit 4, and holds the channel encryption key and the encryption key ID in the encryption key list in association with each other. The number of channel encryption keys held in the storage unit 2 is not limited to one, and may be multiple. When a plurality of channel encryption keys are held, it is preferable that the maximum number of channel encryption keys held in the storage unit 2 is set in advance or can be set by the user.
【0047】
The user management unit 3 refers to the user information acquired by the chat client from the chat server, and sets the key distribution attribute and the key change attribute based on the referenced user information. Figure 2 shows an example of user information including the key distribution attribute and the key change attribute. Here, the key distribution attribute indicates that the channel encryption key is permitted to be distributed to other user terminals. The key change attribute indicates that the channel encryption key is newly updated and allowed to be distributed to other user terminals.
【0048】
Usually, the chat client can acquire predetermined user information from the server by joining the channel. The user information that can be acquired includes (1) a nickname, (2) a real name that is the actual name of the user, (3) a user ID for identifying the user on the network, and (4) a chat client that operates. Client name that identifies the user terminal, (5) Server name that identifies the server to which the user terminal is connected, (6) List of channels to which each user is connected, (7) Progress from the last statement Time, (8) presence / absence of channel operator attribute (0/1), etc. Of these, at least the nickname is information necessary to identify the user in the channel.
【0049】
In the example of the user information shown in FIG. 2, the chat client acquires the user information (1) to (8) from the chat server and writes the user information in the user DB. The user management unit 3 sets the key distribution attribute and the key change attribute based on the channel operator attribute in the user information acquired by the chat client, and writes them in the user DB9. If the channel operator attribute is "1", the key distribution attribute and the key change attribute are also set to "1" respectively. In addition, the user management unit 3 is notified of changes in user information, for example, new channel operator settings and user exits via the chat client cooperation unit 11, which will be described later, and updates the user information according to the changes.
【0050】
There are other possible ways to set the key distribution attribute and key change attribute. As another method of setting the attribute, a method of selecting a user based on a predetermined condition by the user management unit 3 and setting the attribute to the selected user can be mentioned. As a method of selecting the target to which the key distribution attribute is given, for example, a certain number of users are randomly selected by generating a random number, or users up to a predetermined participation order in the channel are manually or automatically selected. Alternatively, selection may be made by accepting the designation of another user by the user.
【0051】
As a method of selecting the target to which the key change attribute is given, for example, the creator of the channel is selected, or the user who has participated in the channel until the end is selected. In addition, depending on the user having the key change attribute, for example, a certain number of users may be selected according to the order of joining the channel, a certain number of users may be randomly selected, or another user may be manually specified by the user. Accepting and selecting can be mentioned.
【0052】
As one of the methods for setting attributes for these selected users, it is conceivable to newly provide an attribute distribution command. For example, the key distribution attribute setting command is "MODE # CH1 + d userA", and the key change attribute setting command is "MODE # CH1 + x userA". However, here, # CH1 is an arbitrary channel name, and userA is a nickname of a user in an arbitrary channel. The user management unit 3 sends the command to the chat client by designating the selected user and the attribute to be distributed, so that the command is notified to all the user terminals participating in the channel. In another user terminal, the user management unit 3 that receives the command via the chat client interprets the command and rewrites the user information.
【0053】
When a plurality of users have the key change attribute, it is preferable that the user management unit 3 also sets the priority for changing the channel encryption key. For example, when setting the key change attribute in conjunction with the channel operator attribute, the priority of the channel opener is set to the first place, and the priority of other users is set in the order of joining the channel. Further, when there is only one user who has the key change attribute and the key change attribute is given from that user to another user, the priority of the user who has the key change attribute first is set to the first place. Then, the user selected by the user management unit 3 is randomly or manually specified according to the order of joining the channel, and the priority is set.
【0054】
In order to set the priority, it is preferable that the priority can be set together with the attribute by the attribute setting command. For example, in the key change attribute setting command, it is conceivable to set the priority by describing the natural number "n" indicating the priority after the extension "+ x". For example, the command to set the second key change attribute to "userA" is "MODE # CH1 + x2 userA". The priority set together with the key change attribute is notified to all user terminals in the channel. Therefore, the user management unit 3 of each user terminal rewrites the priority according to the change in the user information, for example, when the priority of the key change attribute is changed due to the exit of any user. Can be done.
【0055】
The key acquisition unit 4 selects another user and requests the selected user for the channel encryption key based on a predetermined condition. In addition, the channel encryption key transmitted in response to the request is stored in the storage unit 2. The method of selecting the request destination of the channel encryption key is not particularly limited. For example, a unique user may be randomly selected by generating a random number, or a user having a key distribution attribute may be selected in the order of joining the channel. If there is no response from the selected user terminal after a certain period of time, such as when the selected user terminal is busy or the communication path is congested, the key acquisition unit 4 selects another user terminal. Then request the channel encryption key again.
【0056】
The channel encryption key is requested by transmitting predetermined information and a user certificate. The predetermined information includes at least the channel name and information that identifies the requesting user such as a nickname. The user certificate is composed of information about the user, that is, the certificate body, the public key of the requesting user, and the electronic signature of the certificate authority that is the certifier. The certifier is generally a certificate authority, but it may also be a server to which a user terminal connects or a user who requests a key.
【0057】
The timing for requesting the channel encryption key is when the key acquisition unit 4 confirms the encryption of the communication. Specifically, it is when the encryption mode in which all the communications in the channel are encrypted is confirmed, or when the encrypted conversation is received. In the former case, prepare an encryption mode setting command in advance to encrypt all conversations in the channel. For example, prepare a command using the extension of the "MODE" command, such as "MODE # CH1 + c". Normally, when a chat client joins a channel, it is notified of the mode set for that channel. The key acquisition unit 4 acquires this mode from the cooperation unit 11 of the chat client, and requests the channel encryption key in the encryption mode.
【0058】
In the latter case, it is conceivable to send an encryption flag indicating whether or not the conversation is encrypted for each conversation together with each conversation. In a normal chat system, a conversation message consisting of a send command for sending a conversation and the content of the conversation is created. In the present embodiment, an encryption flag (0/1) indicating on / off of encryption is further described at the beginning of the conversation content to create a conversation message.
【0059】
It is also conceivable to use an encryption key ID instead of the encryption flag. The encryption / decryption unit 8 performs the description of the encryption flag in the conversation content, as will be described later. When the encryption / decryption unit 8 cannot decrypt the conversation content received from the chat client, the key acquisition unit 4 requests the channel encryption key according to the instructions of the encryption / decryption unit 8 described later. The case where the encryption / decryption unit 8 cannot perform decryption will be described later.
【0060】
The key acquisition unit 4 receives the channel encryption key encrypted with the public key of the requesting user, decrypts it with the user's private key, and acquires the channel encryption key. In addition, the encryption key ID is received together with the encrypted channel encryption key, and the acquired channel encryption key and encryption key ID are stored in the encryption key list of the storage unit 2. Further, the key acquisition unit 4 is a new channel transmitted from another user terminal when the user terminal does not have the key change attribute or when the user terminal has the key change attribute but the priority is not the first. Get the encryption key. Since the acquired new channel encryption key is encrypted using the immediately preceding channel encryption key, the key acquisition unit 4 takes out the immediately preceding channel encryption key from the storage unit 2 and decrypts the transmitted channel encryption key. To be. Further, in the same manner as described above, the encryption key ID is obtained from the decrypted channel encryption key, and is stored in the encryption key list in association with the channel encryption key. Further, when the key acquisition unit 4 does not receive the new channel encryption key even after the predetermined timing for updating the channel encryption key has elapsed, the key acquisition unit 4 notifies the user management unit 3 of the instruction to change the priority. Upon receiving this notification, the user management unit 3 advances the priority of the key change attribute. The update of the channel encryption key will be described later.
【0061】
The key distribution unit 5 verifies the request for the channel encryption key transmitted from another user terminal. To verify the request, the user certificate sent from the requester together with the request for the channel encryption key is used. As a result of the verification, if it is determined that the requester is a legitimate user, the latest channel encryption key is taken out from the encryption key list and encrypted with the requester's public key included in the user certificate. The key distribution unit 5 applies a one-way function such as a hash function to the extracted channel encryption key to obtain an encryption key ID, and transmits the encrypted channel encryption key and the encryption key ID to the requester. Since the encryption key ID only needs to be able to uniquely identify the channel encryption key, the serial number, the date and time when the channel encryption key was generated, and the like may be used as the encryption key ID. Further, when the encryption key ID is transmitted together with the request, the key distribution unit 5 transmits the channel encryption key specified by the encryption key ID.
【0062】
The key change unit 6 newly generates a channel encryption key at an appropriate timing, and transmits the generated channel encryption key to another user terminal. As a timing for newly generating a channel encryption key, for example, it may be generated at regular intervals. Further, by monitoring the number of conversations and the amount of conversation data in the chat client, it may be generated for each fixed number of conversations or for each fixed amount of conversations. In addition, the user information is monitored so that when the number of users in the channel reaches a predetermined number, for example 1, when the topic of the channel changes, or when a predetermined time has passed since the last conversation, the user changes the channel encryption key. Various timings can be considered, such as any time to instruct. The key change unit 6 may transmit the generated channel encryption key immediately, but it is preferable to suspend the transmission in a state where the conversation continues intermittently and to perform the transmission when the conversation is interrupted. ..
【0063】
The new channel encryption key may be generated by combining information such as secret information, time information, and channel-specific information held in the user terminal and applying a one-way function such as a hash function. The confidential information held in the user terminal is preferably information that is difficult for a third party to easily come up with, such as the serial number of the board in the terminal or the address of a specific program, and is static information in terms of time. It is even more preferable if the information changes rather than.
【0064】
As the time information, the time data at the generation timing of the channel encryption key is acquired by using the time data acquisition program routine. The time data acquisition program routine uses the internal clock of the user terminal and is usually provided by an operating system running on the user terminal. As the time data, the total seconds from January 1, 1970 output by the time data acquisition program routine are generally used. Examples of channel-specific information include a channel name and a password set for the channel.
【0065】
From the viewpoint of security, it is preferable to encrypt and transmit the generated new channel encryption key rather than transmitting it as it is. For example, if a new channel encryption key is encrypted and transmitted using the previous channel encryption key, it is considered that the receiving side can also decrypt and easily prevent eavesdropping. It is preferable that the channel encryption key is generated and distributed based on the key change attribute of the user information. That is, the channel encryption key is generated and distributed only when the key change attribute of the user information is given. The key change attribute is set by the user management unit 3 in each user terminal as described above. When the priority is set together with the key change attribute, the channel encryption key is updated as follows, for example.
【0066】
In the user having the highest priority, the key change unit 6 generates a new channel encryption key at a predetermined timing as described above and transmits the new channel encryption key to another user terminal. For users with the second or higher priority, if a new channel encryption key is not transmitted even after a predetermined time has passed, it is assumed that the first user terminal could not transmit the channel encryption key for some reason. to decide. This determination is made by the key acquisition unit 4 as described above. Then, the user who is newly ranked first as a result of sequentially raising the priority by the user management unit 3 generates and distributes the channel encryption key.
【0067】
The key generation unit 7 generates the first channel encryption key when the chat client is the channel creator. As for the generation method, as in the case of updating the channel encryption key, it is preferable to combine information such as secret information, time information, and channel-specific information in the user terminal and apply a hash function to generate the information. As the time information, for example, the data of the time when the channel is opened can be used. Further, the key generation unit 7 creates an encryption key ID in the same manner as the above-mentioned key distribution unit 5 by applying a hash function to the generated channel encryption key, and stores the channel encryption key and the encryption key ID in association with each other. Store in part 2.
【0068】
The encryption / decryption unit 8 extracts the channel encryption key held in the storage unit 2 in accordance with the transmission of the encrypted conversation content from the chat client distribution unit 12, which will be described later, and decrypts the conversation content. I do. The latest channel encryption key is usually used as the channel encryption key used for decryption, but if the encryption key ID is described at the beginning of the conversation content, decryption is performed using the channel encryption key specified by the encryption key ID. I do.
【0069】
Further, the encryption / decryption unit 8 instructs the key acquisition unit 4 to make a key request when the decryption cannot be performed. When decryption cannot be performed, (1) the channel encryption key is not held in the storage unit 2, or (2) the channel encryption key corresponding to the notified encryption key ID is held in the storage unit 2. If not. The decrypted conversation content is sent to the chat client again and displayed on the screen in the same way as when a normal message is received.
【0070】
Further, when the encryption / decryption unit 8 receives the conversation content from the distribution unit 12, it encrypts it using the latest channel encryption key. Then, describe the encryption flag or encryption key ID at the beginning of the encrypted conversation content, and send it to the chat client again. In the chat client, a transmission command is added to the data transmitted from the security enhancement device 1 and transmitted in the same manner as the normal conversation content.
【0071】
[Chat Client] As shown in FIG. 1, in the chat client 10 in the present embodiment, a cooperation unit 11 and a distribution unit 12 are provided according to the security strengthening device 1. The cooperation unit 11 interprets the commands sent and received by the chat client and distributes the processing to each component of the security enhancement device 1. Specifically, when the cooperation unit 11 interprets a command in which the user information changes, the cooperation unit 11 notifies the user management unit 3 of the change in the user information and its contents to the user management unit 3. The commands include, for example, the command "PART" indicating the exit of the user, the command "JOIN" indicating the participation, the command "MODE # CH1 + o" that grants the privilege of the channel operator, and the command "MODE # CH1" that sets the key distribution attribute. + d userA ", key change attribute and priority setting command" MODE # CH1 + xn userA "etc. On the contrary, it accepts and processes the key distribution attribute setting command "MODE # CH1 + d userA" and the key change attribute and priority setting command "MODE # CH1 + xn userA" from the user management unit 3.
【0072】
When the cooperation unit 11 interprets the command indicating the granting of the channel encryption key and the encryption mode setting command, the cooperation unit 11 notifies the key acquisition unit 4. In addition, it receives and processes a command requesting acquisition of a channel encryption key from the key acquisition unit 4. When the cooperation unit 11 interprets the command indicating the request for the channel encryption key, the cooperation unit 11 notifies the key distribution unit 5 of the request. In addition, it accepts and processes the channel encryption key grant command in response to the request from the key distribution unit 5.
【0073】
When the first part of the transmitted conversation message is the encryption flag "1" or the encryption key ID, the distribution unit 12 notifies the encryption / decryption unit 8 of the decryption instruction. Specifically, the encryption flag or the encryption key ID and the encrypted conversation content are sent to the encryption / decryption unit 8. In addition, the distribution unit 12 receives an encryption instruction and decryption from the user, and when the encryption is instructed, sends the input conversation content to the encryption / decryption unit 8. For example, a GUI (Graphic User Interface) can be used to display a command button on the screen to instruct and decrypt the encryption, and the command button can be turned on / off. Further, the distribution unit 12 processes the conversation content, which is encrypted by the encryption / decryption unit 8 and includes the encryption flag or the encryption key ID, in the same manner as the normal conversation content. That is, the encrypted conversation content is added with a transmission command by the chat client in the same manner as the normal conversation content, and is transmitted as a statement in the normal chat system.
【0074】
[Processing flow] Next, the main processing flow performed by the security enhancement device 1 will be described. FIG. 3 is a flowchart showing the processing flow of the main routine performed by the security enhancement device 1. Figures 4 to 6 show the details of the processing performed in the main routine. FIG. 4 is a flowchart showing the flow of the key acquisition process for acquiring the key from another user terminal, FIG. 5 is a flowchart showing the flow of the key distribution process for distributing the key to the other user terminal, and FIG. It is a flowchart which shows the flow of the request verification process for verifying a key request from another user. Further, FIG. 7 is a flowchart showing the flow of the key change process when the channel encryption key is changed according to a predetermined condition, which is performed independently of the main routine.
【0075】
(1) Main routine When the chat client joins the channel or opens the channel on the user terminal, the processing of the main routine shown in FIG. 3 is started. In order to facilitate the explanation, the case where the key distribution attribute and the key change attribute are set in conjunction with the channel operator will be described as an example.
【0076】
In step S1, the user management unit 3 sets the key distribution attribute and the key change attribute in conjunction with the channel operator of the user information. In step S2, the user management unit 3 determines whether or not the user is the creator of the channel. If there is only one user in the channel, that is, the only chat client participating in the channel is its own chat client, that user is the channel creator, and the process proceeds to step S3. If there are multiple users in the channel instead of the channel creator, the process proceeds to step S4 to obtain the channel encryption key.
【0077】
In step S3, the key generation unit 7 generates the channel encryption key at the user terminal of the channel opener. Further, the generated channel encryption key is assigned an encryption key ID, stored in the encryption key list of the storage unit 2, and the process proceeds to step S5. In step S4, a user who is not the channel creator requests the channel encryption key from another user terminal by the key acquisition subroutine described later, and acquires the channel encryption key. In step S5, a user having the key distribution attribute distributes the channel encryption key to another user terminal by the key distribution subroutine described later.
【0078】
In step S6, it is determined whether or not the chat client leaves the channel, and if so, the process ends. If it does not exit, return to step S5 and distribute the channel encryption key in response to requests from other users. Although not shown, the user management unit 3 receives a notification of a change in user information from a chat client independently of the main routine, and updates the key distribution attribute and the key change attribute according to the notification.
【0079】
(2) Key acquisition process Next, the key acquisition process performed in step S4 of the main routine will be described with reference to FIG. First, in step S11, the key acquisition unit 4 determines whether or not the encryption mode is set. In the encryption mode, all conversation contents are encrypted and it is necessary to acquire the channel encryption key, so the process proceeds to step S13 described later. If it is not in the encryption mode, the process proceeds to step S12.
【0080】
In step S12, the key acquisition unit 4 determines whether or not the key acquisition is instructed by the encryption / decryption unit 8. If the encryption flag is "1" or a conversation message containing the encryption key ID is received without acquiring the channel encryption key, the encryption / decryption unit 8 acquires the key from the key acquisition unit 4. Because it gives instructions. In step S12, an instruction from the encryption / decryption unit 8 is awaited, and if there is an instruction, the process proceeds to step S13.
【0081】
In step S13, the key acquisition unit 4 generates a random number for selecting another user. In step S14, the key acquisition unit 4 selects one of the other users having the key distribution attribute based on the generated random number. In step S15, the key acquisition unit 4 retrieves the user's public key from the storage unit 2, attaches a user certificate including the user's public key to the channel name and nickname, and transmits a request for the channel encryption key. As described above, when the key acquisition unit 4 requests the channel encryption key in response to the reception of the conversation message including the encryption key ID, the key acquisition unit 4 specifies the encryption key ID and transmits the request. On the contrary, when the request is made in response to the notification of the encryption mode or the reception of the conversation message whose encryption flag is "1", the request is sent without specifying the encryption key ID.
【0082】
In step S16, the key acquisition unit 4 determines whether or not the channel encryption key and the encryption key ID have been received, and if not, proceeds to step S17. If it has been received, the process proceeds to step S18. In step S17, the key acquisition unit 4 determines whether or not the predetermined time T has elapsed, and if not, returns to step S16 and waits for the reception of the channel encryption key. If the predetermined time T has elapsed, the key acquisition unit 4 determines that the selected user cannot transmit the channel encryption key for some reason, and returns to step S13 to select another user terminal again.
【0083】
In step S18, the key acquisition unit 4 decrypts the received encryption key using the user's public key to obtain the channel encryption key, stores it in the encryption key list together with the encryption key ID received together with the channel encryption key, and performs processing. finish. (3) Key distribution process Next, the key distribution process performed in step S5 of the main routine will be described with reference to FIG.
【0084】
First, in step S21, the key distribution unit 5 refers to the user information and determines whether or not the user terminal has the key distribution attribute. If there is no key distribution attribute, the process ends, and if there is, the process proceeds to step S22. In step S22, the key distribution unit 5 determines whether or not a request for a channel encryption key has been received from another user terminal. If it has been received, the process proceeds to step S23, and if it has not been received, it waits until the request is received.
【0085】
In step S23, the key distribution unit 5 executes the request verification subroutine described later, verifies whether the source of the request is a legitimate user, and obtains the verification result. In step S24, the key distribution unit 5 determines whether or not the requesting user is a legitimate user based on the verification result, and if not legitimate, proceeds to step S25. If it is a legitimate user, the process proceeds to step S26.
【0086】
In step S25, the key distribution unit 5 performs an appropriate process such as sending a message to an unauthorized user that the channel encryption key cannot be distributed. In step S26, since the request source is a legitimate user, the key distribution unit 5 extracts the public key of the request source user from the user certificate sent together with the request for the channel encryption key.
【0087】
In step S27, the key distribution unit 5 retrieves the latest channel encryption key from the encryption key list. If the encryption key ID has been sent with the request, retrieve the channel encryption key specified by the encryption key ID. In addition, a hash function is applied to the extracted channel encryption key to obtain the encryption key ID. In step S28, the key distribution unit 5 encrypts the channel encryption key with the public key of the requesting user.
【0088】
In step S29, the key distribution unit 5 transmits the encrypted channel encryption key and encryption key ID to the requesting user terminal via the chat client, and returns to the main routine. (4) Request verification processing subroutine Next, the request verification process performed in step S23 of the key distribution subroutine will be described with reference to FIG.
【0089】
In step S31, the key distribution unit 5 retrieves the user certificate sent with the request for the channel encryption key. In step S32, the key distribution unit 5 retrieves the digital signature of the certificate authority in the user certificate. In step S33, the key distribution unit 5 searches the extracted electronic signature from the certificate authority database normally possessed by the user terminal.
【0090】
In step S34, the key distribution unit 5 determines whether or not the electronic signature is registered in the certificate authority DB based on the result of the search, and if not, proceeds to step S391. If it is registered, the process proceeds to step S35. In step S35, the key distribution unit 5 acquires the public key of the certificate authority from the certificate authority DB.
【0091】
In step S36, the key distribution unit 5 decrypts the electronic signature with the public key of the certificate authority and requests a message digest (MD) of the user certificate. In step S37, the key distribution unit 5 extracts the portion of the user certificate that is the target of the digital signature, and calculates the message digest (MD') using a commonly used algorithm. Examples of commonly used algorithms include MD5 and SHA.
【0092】
In step S38, the key distribution unit 5 compares the two message digests, and if they match, the process proceeds to step S39. If they do not match, the process proceeds to step S391. In step S39, the key distribution unit 5 determines that "the requesting user is valid" as the verification result.
【0093】
In step S391, the key distribution unit 5 treats the requesting user as an unjust user, and sends, for example, a notification to the requesting user that it is unjust. (5) Key change process Next, the key change process performed independently in parallel with the main routine will be described with reference to FIG. 7.
【0094】
First, in step S41, the key change unit 6 determines whether or not the user terminal has the key change attribute by referring to the user information. If it is determined that there is no key change attribute, the process proceeds to step S50 described later. If it is determined that there is a key change attribute, the process proceeds to step S42. In step S42, the key change unit 6 determines whether or not the priority given to the user terminal together with the key change attribute is the first. If it is the first place, it shifts to step S43, and if it is the second place or later, it shifts to step S50 which will be described later.
【0095】
In step S43, the key changing unit 6 waits for the occurrence of a predetermined trigger, and when the predetermined trigger occurs, the process proceeds to step S44. Now, for the sake of clarity, it is assumed that the channel encryption key is changed when there is only one user in the channel or at predetermined time intervals. Specifically, when the number of users in the channel becomes the last one, or when a predetermined time has elapsed since the previous change even if there are a plurality of users in the channel, the process proceeds to step S44.
【0096】
In step S44, the key change unit 6 generates an encryption key according to a predetermined rule. For example, a new channel encryption key is obtained by multiplying the combination of the address where the program is stored, the time when the trigger occurs, the channel name, and the channel password on the user terminal by a hash function. In addition, a hash function is applied to the new channel encryption key to obtain the encryption key ID.
【0097】
In step S45, the key change unit 6 acquires the immediately preceding channel encryption key from the encryption key list. In step S46, the key change unit 6 encrypts the generated new encryption key with the immediately preceding channel encryption key. In step S47, the key change unit 6 determines whether or not to transmit the encrypted new channel encryption key based on the current conversation situation. For example, if a predetermined time has passed since the last remark, it is determined that the conversation is interrupted, and the process proceeds to step S48. If the predetermined time has not passed, it is determined that the conversation is continuing intermittently, and step S47 is repeated again to wait for the conversation to be interrupted.
【0098】
In step S48, the key change unit 6 transmits the encrypted new channel encryption key and encryption key ID to another user terminal via the chat client. In step S49, it is determined whether or not the chat client of the user terminal has left the channel, and if so, the process ends. If not exiting, the process returns to step S42 and the process is repeated.
【0099】
If it is determined in step S41 that there is no key change attribute, or if it is determined in step S42 that the priority of the key change attribute is second or lower, the process proceeds to step S50 for a new channel encryption key. Get it. In step S50, the key acquisition unit 4 waits for a predetermined time to elapse from the previous change of the channel encryption key, and when the predetermined time elapses, the process proceeds to step S51. In the present embodiment, the key acquisition unit 4 monitors the elapsed time from the previous change of the channel encryption key by referring to the internal clock in the user terminal.
【0100】
In step S51, the key acquisition unit 4 determines whether or not a new channel encryption key has been acquired, and if not yet acquired, the key acquisition unit 4 notifies the user management unit 3 of the advancement of the priority. Go to step S52. If it has been acquired, the process proceeds to step S described later. In step S52, the user management unit 3 that has received the notification sequentially raises the priority of the user having the second or higher priority of the key change attribute, and rewrites the user information. As a result, the priority of all users who were second or higher before rewriting changes.
【0101】
In step S53, the key change unit 6 determines whether or not the priority has become the first place due to the rewriting of the priority order, and if it is the first place, the process proceeds to step S43 to change the channel encryption key. If the priority is second or higher, the process proceeds to step S50 and a new channel encryption key is acquired. In step S54, since a new channel encryption key transmitted from another user terminal is acquired, the key acquisition unit 4 decrypts the encrypted channel encryption key using the immediately preceding channel encryption key, and obtains a new channel. Get the encryption key.
【0102】
In step S55, the acquisition unit stores the obtained channel encryption key and the encryption key ID in the encryption key list in association with each other. In step S56, it is determined whether or not the chat client of the user terminal has left the channel, and if so, the process ends. If not exiting, the process returns to step S41 and the process is repeated.
【0103】
<Example of the second embodiment> When a one-to-one conversation is performed between chat clients, the key acquisition unit 4 of the conversation start source adds its own public key to the other party and issues a session key request. .. At the other party receiving the request, the key generation unit 7 generates the session key, encrypts the session key with the request source's public key, and sends it to the request source. The session key may be generated by applying a hash function to the combination of the unique information of the start source and the other party of the conversation, the time, and the secret information built in the client, as in the first embodiment.
【0104】
Further, as in the first embodiment, it is preferable that the new session key is encrypted using the immediately preceding session key and sent to the other party. Further, at the time of transmission, it is preferable to encrypt the new session key with the public key of the other party and transmit it, as in the first embodiment. The key acquisition unit 4 of the request source decrypts the session key with the user's private key and stores it in the storage unit 2. After that, the message is encrypted by the session key and the conversation is held.
【0105】
The timing and conditions for changing the session key are the same as those in the first embodiment. That is, the session key is changed when a predetermined time elapses, when the predetermined number of conversations is exceeded, when the predetermined conversation amount is exceeded, and the like. Further, the session key may be changed by the starter of the conversation or by the other party of the conversation. The session key may be changed by the person who sent the message last time or by the person who received the message last time.
【0106】
Needless to say, the key distribution unit 5 that receives the request to start the conversation checks the validity of the public key attached to the request and does not accept the request if it is unreasonable. The public key is usually a public key with a digital signature of a certificate authority built into the user terminal, a public key with a digital signature of the connected server, or a public key that has been digitally signed by itself. It is conceivable to admit it as.
【0107】
<Example of Third Embodiment> In the above-described first embodiment, the key distribution attribute and the key change attribute are provided by the user management unit 3 provided in the security enhancement device 1, but other methods are also possible. For example, like the channel operator attribute, the key distribution attribute and the key change attribute are provided as user attributes on the chat system. Each chat client acquires the key distribution attribute and the key change attribute from the chat server as a part of the user information and stores them in the user DB as well as the nickname and the channel operator attribute. The security enhancement device refers to the user information in the user DB and performs the above-mentioned processing.
【0108】
<Example of Fourth Embodiment> In the first embodiment described above, the timing of changing the channel encryption key is monitored by the key acquisition unit 4, but other embodiments are also conceivable. For example, the key generation unit 7, the key distribution unit 5, and the key change unit 6 transmit the time when the channel encryption key is next changed together with the channel encryption key. Each user terminal will have the expiration date of the channel encryption key together with the channel encryption key. The key acquisition unit 4 of each user terminal sets the expiration date of the channel encryption key as the change timing of the channel encryption key. By transmitting the time indicating the expiration date of the channel encryption key together with the channel encryption key, the channel encryption key can be changed not only at predetermined time intervals but also at any timing.
【0109】
However, it is conceivable that the internal clock may deviate from each user terminal. Therefore, it is conceivable to use the relative time and the starting time instead of the time as the information indicating the expiration date of the channel encryption key. As the starting point time, the time when the channel encryption key is generated is used, and as the relative time, the time until the next channel key is changed when the generation time is used as the starting point is used.
【0110】
Further, as described above, it is possible to change the channel encryption key when other changes occur rather than based on time, for example, when there is only one user in the channel. With such a setting, the frequency of change may be too low and the channel encryption key may not be changed for a long time. Examples of the method for preventing such a case include the following methods.
【0111】
Usually, the algorithm used to generate a key gives the key an expiration date. Therefore, the key generation unit 7, the key distribution unit 5, and the key change unit 6 transmit the expiration date together with the channel encryption key to each user terminal. If the predetermined change does not occur until the expiration date of the channel encryption key, the key acquisition unit 4 sets the expiration date as the change timing of the channel encryption key.
【0112】
[Effect of the invention]
Channel encryption keys are distributed and managed among chat clients, keys are distributed among clients using public key cryptography, and channel encryption keys are shared. Since the channel encryption key is generated and distributed between clients regardless of the server, the security of conversations in the channel can be enhanced without leaking the message contents to the server. Further, since the message is encrypted / decrypted between the clients, the load is distributed to the client side and the load on the server can be reduced.
[Simple explanation of drawings]
[Figure 1]
The functional block diagram of the security enhancement device which concerns on 1st Embodiment example.
[Figure 2]
Explanatory drawing which shows an example of user information.
[Fig. 3]
The flowchart which shows the flow of the main processing performed by the security strengthening apparatus which concerns on 1st Embodiment example.
[Fig. 4]
A flowchart showing the flow of the key acquisition process.
[Fig. 5]
A flowchart showing the flow of the key distribution process.
[Fig. 6]
A flowchart showing the flow of request verification processing.
[Fig. 7]
A flowchart showing the flow of the key change process.
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2003069695A | Cited by | Japan | Examiner |
| JP2004302667A | Cited by | Japan | Search report |
| JP2022514398A | Cited by | Japan | Search report |
| JP2015216413A | Cited by | Japan | Examiner |
| KR101594846B1 | Cited by | Republic of Korea | Search report |
| JP2011004385A | Cited by | Japan | Examiner |
| JP2008538676A | Cited by | Japan | Examiner |
| JP2014161043A | Cited by | Japan | Examiner |
| JP2005537713A | Cited by | Japan | Search report |
| CN113939820A | Cited by | China | Search report |
| JP4927330B2 | Cited by | Japan | Search report |
| JP2004355268A | Cited by | Japan | Search report |
| JP2006033198A | Cited by | Japan | Examiner |
| US8095469B2 | Cited by | United States of America | Applicant |
| US8527424B2 | Cited by | United States of America | Applicant |
| JP2008148851A | Cited by | Japan | Examiner |
| JP2006350651A | Cited by | Japan | Search report |
| JP2012070426A | Cited by | Japan | Search report |
| JP2007267301A | Cited by | Japan | Search report |
| US6970566B1 | Cited by | United States of America | Search report |
| JPH06237249A | Cites | Japan | Search report |
| JPH06303231A | Cites | Japan | Search report |
| JPH0637750A | Cites | Japan | Search report |
| JPH0774743A | Cites | Japan | Search report |
| JPH0954741A | Cites | Japan | Search report |
| JPH10289185A | Cites | Japan | Search report |
| JPH1051438A | Cites | Japan | Search report |
3 members in 2 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 30800798 | Japan | A | |
| JP19980308007 | – | – | – |
Members3
| Document | Office | Kind | |
|---|---|---|---|
| JP2000134193AThis record | Japan | A | |
| US6711264B1 | United States of America | B1 | |
| JP3644579B2 | Japan | B2 |
18 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 |
Numbers
- Publication
- 2000-134193
- Publication, DOCDB
- 2000134193
- Publication, EPODOC
- JP2000134193
- Application
- 10308007
- Application, DOCDB
- 30800798
- Application, EPODOC
- JP19980308007
Titles2
- Japanese
- セキュリティ強化方法及び装置
- English
- [Title of Invention] Security Enhancement Method and Device
Classification
- CPC, 4
- H04L9/0891
- H04L9/0894
- H04L9/14
- H04L2209/60
- IPC, 2
- G06F13 00
- H04L9 08