WO2008040213A1 - Message encryption and signature method, system and device in communication system - Google Patents
Message encryption and signature method, system and device in communication system Download PDFInfo
- Publication number
- WO2008040213A1 WO2008040213A1 PCT/CN2007/070664 CN2007070664W WO2008040213A1 WO 2008040213 A1 WO2008040213 A1 WO 2008040213A1 CN 2007070664 W CN2007070664 W CN 2007070664W WO 2008040213 A1 WO2008040213 A1 WO 2008040213A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- content
- public key
- terminal
- service device
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Definitions
- the present invention relates to the field of communications, and in particular to an encrypted transmission technique for information in a communication system.
- SIP Session Initiation Protocol
- IETF Internet Engineering Task Force
- Next Generation next generation network
- NTN Internet-based Internet Protocol
- ' ⁇ ' is one of the core protocols of the multimedia communication network, and the third generation partner project (3rd Generation Partnership)
- 3GPP Third Generation Partnership Project
- 3G Third Generation
- SIP signaling As a signaling for transmission over the IP network is a critical issue.
- the security issues of SIP signaling include ensuring the confidentiality and integrity of information, preventing replay attacks and information spoofing, providing authentication of participants in the session, and preventing Deny of Service ("DoS") attacks and applications. Security, etc.
- the agent referred to as "UA” for short, must release some information to the proxy server.
- SIP entities such as between UA and UA also need to identify each other.
- SIP itself borrows from Hypertext Transfer Protocol (Hyper Text) Transfer
- ' ⁇ ' in terms of security, also reuses HTTP and Simple Mail Transfer Protocol (Simple Mail Transfer)
- SMTP Short Transfer Protocol
- TLS Internet Protocol Security
- Internet Protocol Internet Protocol
- IPSec IP Security
- SIPS refers to secure SIP, which follows SIP
- the transport layer specified in the URI scheme must be TLS.
- the URI scheme guarantees security through hop-by-hop security and a mutual trust model between servers.
- HTTP authentication provides the ability to challenge (challenge), relying on 401 and 407 responses as well as header domain delivery challenges and credentials.
- the HTTP digest authentication scheme can be applied to SIP without major modifications, providing replay protection and one-way authentication. (In 3GPP, HTTP is extended to HTTP.
- AKA-Digest (RFC3310), can provide two-way authentication).
- S/MIME SIP Extensions
- the UA can encrypt the header by encrypting the message by using the S/MIMES part (such as encrypting only part of the header field and the message body), or encrypting the header field, and can provide partial header fields and message bodies. End-to-end confidentiality and integrity and mutual authentication.
- S/MIME can provide integrity and confidentiality for SIP header domains through SIP message tunneling.
- Digest authentication is based on shared key (also known as regular encryption); S/MIME is based on a public key encryption system (hereafter referred to as public key system).
- the coding of public key systems differs from the method of sharing keys.
- the public key system is asymmetric, it uses two different keys, and the symmetric shared key method uses only one key. This does not mean that public key system encryption is more secure than shared key.
- the security level of any encryption scheme depends on the length of the key and the computational workload involved in deciphering the password. From the perspective of combating cryptanalysis, neither conventional encryption nor the public key system is superior to the other.
- a network entity such as a Proxy or Back to Back User Agent (B2B)
- IP Multimedia IP Multimedia Subsystem
- IMS IP Multimedia Subsystem
- the terminal wants to describe the session description protocol in the SIP message (Sessi on Description
- SDP Session Control Protocol
- P-CSCF Proxy-Call Session Control Function
- Serving-Call Session Control Serving-Call Session Control
- S-CSCF S-CSCF Function
- the S-CSCF can provide services according to the SDP. Similarly, the SDP information is confidential to the I-CSCF or HSS.
- the draft draft-ietf-sip-e2m-sec proposes a method for message encryption/signature, which is based on the public key system: [17] Specifically, the terminal first uses the private key of the terminal to sign different header fields or message body parts according to different requirements. After that, the terminal generates a key for encrypting the information, which is called a regular key.
- CEK the content key, the header field or the message body is encrypted by the CEK; then the CEK is encrypted by the public key of the intermediate entity, and the key for encrypting the CEK is called key-encripti on -key, referred to as "KEK”. Finally, the terminal organizes the encrypted information into S/MIME format for transmission.
- the terminal notifies the intermediate entity or the peer terminal through the unprotectedAttrs parameter, uses the CEK encrypted for the current message content as the KEK of the subsequent message; and generates a new CEK in each message, and the new CEK is reused by the KEK encryption.
- the KEK in this draft is a conventional encrypted key, not a public key based on the public key system. In this way, the process of public key encryption can be saved.
- the terminal needs to be encrypted, and some use conventional encryption, and some use public key encryption, it may need to use a specific chip, resulting in an increase in the cost of the terminal;
- the public key can be obtained by: obtaining the public key from the specified server, or subscribing to the server (so that when the public key changes) ⁇ Get notified), no matter what method will increase the load on the terminal.
- an embodiment of the present invention provides a method for encrypting a message in a communication system, including
- the terminal generates a content key for the message to be sent, and sends the generated content key to the public key service device, wherein the public key service device is configured to use a public key pair of an entity that needs to know the content of the message Encrypting the content key, and returning the encrypted content key to the terminal;
- the terminal encrypts the content of the to-be-sent message by using the generated content key
- the terminal receives the encrypted content key and transmits the encrypted message and the content key encrypted by the public key.
- An embodiment of the present invention provides a method for encrypting a message in a communication system, including:
- the public key service device receives a content key for encrypting the message content
- An embodiment of the present invention provides a method for message signature in a communication system, including:
- the terminal sends the content of the message that needs to be signed to the public key service device, where the public key service device is configured to sign the content of the message by using the first private key, and return the signed message to the Terminal
- the terminal receives the signed message.
- An embodiment of the present invention provides a system for encrypting a message in a communication system, including:
- a terminal configured to generate a content key for the message to be sent and send, and receive the encrypted content key
- the public key service device is configured to receive the content key sent by the terminal, encrypt the content key by using a public key of an entity that needs to know the content of the message, and return the content key to the terminal.
- An embodiment of the present invention provides a terminal, including:
- a generating module configured to generate a content key for the message to be sent
- a first encryption module configured to encrypt content of the message by using a content key generated by the generating module
- a first transceiver module configured to send a content key generated by the generating module to a public key service device for encryption, receive an encrypted content key from the public key service device, and send the The encrypted content key and the encrypted message of the first encryption module.
- An embodiment of the present invention provides a public key service device, including:
- a second transceiver module configured to receive a content key from the terminal for encrypting the content of the message to be sent by the terminal
- a second encryption module configured to encrypt, by using a public key of an entity that needs to know the content of the message, a content key received by the second transceiver module, and the encrypted content is used by the second transceiver module The key is returned to the terminal.
- An embodiment of the present invention provides a system for message signature in a communication system, including:
- a terminal configured to send a message content that needs to be signed to the public key service device, and receive the signed message content from the public key service device;
- the public key service device is configured to receive the message content from the terminal that needs to be signed, sign the content of the message by using the first private key, and send the signed message content to the terminal.
- An embodiment of the present invention provides a terminal, including:
- the first transceiver module is configured to send the content of the message that needs to be signed to the public key service device, and receive the signed message content from the public key service device.
- An embodiment of the present invention provides a public key service device, including:
- a second transceiver module configured to receive a message content from the terminal that needs to be signed
- the signature module is configured to sign the content of the message received by the second transceiver module by using the first private key, and send the signed message content to the terminal by the second transceiver module.
- the terminal generates a content key for the message to be sent, and sends the generated content key to the public key service device, and the public key
- the service device encrypts the content key by using the public key of the entity that needs to know the content of the message, and the terminal encrypts the content of the message only by using the content key, and then encrypts the encrypted message and the content key encrypted by the public key. Send to the peer terminal.
- the special public key service device performs this part of the function, so that the terminal only needs to perform some calculations.
- the small conventional encryption greatly reduces the burden on the terminal, and the terminal does not need to configure the special encryption and decryption chip/software of the public key system, which reduces the cost of the terminal.
- FIG. 1 is a schematic diagram of a network structure of message encryption in the prior art
- FIG. 2 is a schematic diagram of message encryption in a communication system of the present invention
- FIG. 3 is a schematic diagram of a network structure in a method of message encryption in a communication system according to a first embodiment of the present invention
- FIG. 4 is a flowchart of a method for encrypting a message in a communication system according to a first embodiment of the present invention
- FIG. 5 is a flowchart of a method of decrypting a message after encryption in a communication system according to a first embodiment of the present invention
- FIG. 6 is a system configuration diagram of message encryption in a communication system according to a third embodiment of the present invention.
- the terminal generates a content key for the message to be sent, and sends the generated content key to the public key service device, and the public key service device uses the public key pair of the entity that needs to know the content of the message.
- the content key is encrypted, and the terminal encrypts the content of the message using only the generated content key, and then sends the encrypted message and the public key encrypted content key to the opposite terminal.
- step 210 the terminal needs to sign the message to be sent (including the header field of the message or the specified message body), and send the content of the message to be signed to the public key service device.
- the public key service device signs the message with the first private key, and returns the signed message to the terminal.
- the content of the message is signed by the public key service device using the first private key, so that the terminal receiving the message can determine the source of the message, thereby combining with the subsequent encryption operation to ensure the security of the message transmission in both directions.
- the first private key may be a private key of the public key service device or a private key of the terminal.
- the public key service device can authenticate the terminal, so the signature of the public key service device of the authentication terminal can also ensure the security of the message source, and the security is adopted. Signing the private key of the public key service device ensures that the private key of the terminal is not compromised. If the first private key is the private key of the terminal, the source of the message can be uniquely determined, and the security of the source is more secure.
- step 230 the terminal generates a content key for the message and transmits the content key to the public key service device for encryption.
- the public key service device encrypts the content key by using a public key of an entity that needs to know the content of the message, and returns the encrypted content key to the content key. terminal.
- the special public key service device performs this part of the function, so that the terminal only needs to perform some conventional encryption with small calculation amount, which greatly reduces the burden on the terminal. And the terminal does not need to configure the public key system special encryption and decryption chip/software, which reduces the cost of the terminal.
- step 250 the terminal encrypts the signed message content using the generated content key.
- step 260 the terminal sends the encrypted message and the public key encrypted content key to the opposite terminal.
- the public key service device includes two interfaces, the first interface is the interface Y, and the second interface is the interface.
- the interface is an interface between the public key service device and the certificate server, and the interface may be an HTTP interface or a SIP interface
- the interface Z is an interface between the terminal and the public key service device, and the terminal passes through the interface Z and A secure connection is established between the public key service devices, and information is exchanged with the public key service device through the secure connection.
- Interface Z is based on a secure connection protocol, such as based on IPSec. For interface Z, different protocols can be used for information transfer, which can be a private interface or a SIP interface.
- IP protocol messages are extended as follows:
- This header field is used by the terminal to request encryption or signature from the public key service device, and is used to identify the terminal to the public key service. Whether the device requests to sign or request encryption.
- This header field contains:
- the header field further contains:
- Information indicating the entity that needs to know the content of the message indicates an entity that needs to know the content of the message during the transmission of the message, including an intermediate entity or a peer terminal in the message delivery path.
- the entities that need to know the content of the message can be one or more, and the public key information of these entities is represented by the KeyRef parameter.
- the first header field enables the terminal to notify the public key service device to encrypt the specified content public key by using the SIP message that extends the first header field.
- helper-value method; cid *(;KeyRef) *(SEMI generic-param)
- sip-clean-msg-id LDQUOT dot-atom "@" (dot-atom I host) RDQUOT
- HostRef "hostref, EQUAL host
- UriRef "uriref EQUAL absoluteURI
- This header field is used after the public key service device returns the encrypted or signed content, and is used to transfer the encrypted or signed information to the terminal by the public key service device.
- This header field contains: [95] a. Indicates information in the message requesting signature or encrypted content. This information corresponds to the content of the cid parameter contained in the Security-Helper header field, which is convenient for the terminal to match. The information is passed through orig-cid.
- the parameters are returned to the terminal.
- [96] b Identifies the information of the signed or encrypted content in the message. Used to return the content signed or encrypted by the public key service device, indexed by the new-cid parameter.
- [97] c Information indicating the entity that needs to know the content of the message. This information corresponds to the content of the KeyRef parameter contained in the Security-Helper header field. It is also used to indicate that the entity that needs to know the content of the message during the message transmission process returns to the terminal through the same KeyRef parameter, which facilitates the terminal to complete the matching.
- the public key service device can make the terminal correctly complete the matching by mapping the cid parameter to the orig-cid parameter and returning the KeyRef as it is.
- New-cid "new- cid” EQUAL sip-clean-msg-id
- the second header field enables the public key service device to return the encrypted or signed content to the terminal by extending the SIP message of the second header field.
- this tag can be used in the Require header field, indicating that the public key service device must have the above Security-Helper
- the header field is processed, and the public key service device is incapable of processing, and the failure indication is returned through the label.
- the MESSAGE message can be used for communication between the terminal and the public key service device.
- step 401 when the terminal wants the public key service device to perform security-related processing, set the Security-Helper header field according to the content of the SIP message to be signed. Set the request signature request in the method parameter of this header field, and set it in the cid parameter. The index of the message content of the line signature.
- the terminal sends the set SIP message to the public key service device through the interface Z.
- the terminal may include multiple header field values in the header field, and the public key service device may separately perform signature processing on the contents indexed by the plurality of cids included in the header value fields.
- the terminal can have multiple ways to discover the public key service device:
- DHCP DHCP Protocol
- the node can be supported by the general packet radio service gateway (GPRS Gateway)
- GPRS Gateway general packet radio service gateway
- GGSN Node, referred to as "GGSN", notifies the address of the public key service device of the terminal during the establishment of the packet data protocol context.
- step 402 after receiving the SIP message from the interface Z, the public key service device decodes and checks the message, if the Require header field in the message does not contain the security-helper tag, or contains s ecurity- The helper tag and the public key service device support the signature and encryption function, then proceeds to step 404; otherwise, if there is a security-helper in the Require header field of the message
- step 403 If the public key service device does not support the signature and encryption function, then the process proceeds to step 403, and a response is sent to the terminal to inform the terminal that the public key service device does not support the signature and encryption functions.
- the public key service device further checks the Security-Helper header field, first checks the method parameter in the header field, and uses the public key service after determining that the terminal is currently requesting to sign the message content.
- Device private key pair
- the content of the cid cable is subjected to signature processing, and the signed message content is returned to the terminal through the Security-Response header field in the SIP message.
- the public key service device can obtain the private key of the terminal, the content of the cid index can also be signed and processed using the private key of the terminal.
- the public key service device signs The first private key used is the private key of the public key service device. Since the public key service device and the terminal are in the same access domain, the public key service device can authenticate the terminal, and therefore the public key service of the authentication terminal Signing the device also ensures the security of the source, and signing with the private key of the public key service device ensures that the private key of the terminal is not compromised. If the first private key used by the public key service device signature is the private key of the terminal, the source of the message can be uniquely determined, and the security of the source is more secure.
- the terminal generates a content key for the message content to be sent, and transmits the content key to the public key service device through the SIP message. Specifically, the terminal carries the content key in the SIP message body, and sets a Security-Helper header field of the SIP message, and takes the method
- the parameter is set to identify the encryption request, the cid parameter is set to point to the content key, and the identifier of the intermediate entity or the peer terminal that needs to know the content of the message is set in the KeyRef parameter, and the set message containing the content key is sent to the public key service. device.
- the public key service device After receiving the message, the public key service device also checks the method parameter in the Security-Helper header field, and after determining that the terminal currently requests encryption, checks the intermediate entity or pair indicated by the KeyRef parameter. Whether the public key of the terminal is cached locally, if not, then proceeds to step 407, and the public key service device according to the KeyRef
- the parameter obtains the public key of the corresponding entity from the certificate server, and the public key service device can establish a connection with the certificate server through the interface Y, and obtain the public key of the entity that needs to know the content of the message.
- the process of obtaining the public key can be based on HTTP, LDAP, SIP, etc. Then proceed to step 408; otherwise, if the public key of the intermediate entity or the peer terminal indicated by the KeyRef parameter is cached locally, then the process proceeds directly to step 408.
- the public key service device encrypts the content key using the public key of the entity indicated by the KeyRef parameter.
- the public key service device may also save the public key of the corresponding entity locally, and subscribe to the certificate update notification of the entity to the certificate server, when the public key of an entity is updated, ⁇ Get the latest public key,
- the public key service device returns the encrypted content key to the terminal.
- step 410 the terminal encrypts the signed message content by using the generated content key thereof.
- the public key service device encrypts and signs the message independently of other operations in the public key service device, such as certificate acquisition/update.
- the public key service device After non-essential, the public key service device does not own the private key of the terminal. When signature is required, the public key service device uses its own private key to sign to ensure that the private key of the terminal is not compromised.
- the public key service device prohibits the preservation of the content key of the terminal, and the public key service device should be completely stateless for the key and key reuse process.
- the secure connection between the terminal and the public key service device is independent of the secure connection between the terminal and the SIP server. After the public key service device signs part of the message content or encrypts the content key, the content of the communication cannot be known.
- the encrypted content key is encrypted using the public key of the pizzahut.exampleB .com host.
- the message returned on the interface Z is as follows:
- step 510 an intermediate entity or terminal in the message delivery path that needs to know the content of the message first uses itself after receiving the encrypted message from the terminal and the content key encrypted by the public key.
- the private key decrypts the content key.
- step 520 the intermediate entity or terminal decrypts the content of the message using the content key.
- the signature verification is performed using the public key corresponding to the first private key used by the public key service device to sign. If the first private key used by the public key service device signature is the private key of the public key service device, the public key of the public key service device is used to verify the content of the message, thereby determining the source of the message; if the public key service device The first private key used for the signature is the private key of the terminal, and the content of the message is verified using the public key of the terminal.
- the second embodiment relates only to a method of message signing in a communication system.
- the content of the message that needs to be signed is sent to the public key service device, and the public key service device uses the first private key to
- the message content is signed and the signed message is returned to the terminal.
- the content of the message to be signed may be the message body of the SIP message or the specified header field, and the first private key used for the signature may be the private key of the public key service device or the private key of the terminal.
- the public key service device must authenticate the terminal in advance.
- the public key service device and the terminal are in the same access domain, the authentication is achievable.
- the public key service device signs the message content for the terminal to ensure the security of the message source. Since the signature of the public key of the public key service device is used to ensure that the private key of the terminal is not compromised and security is ensured, it is ideal.
- the source of the message can be uniquely determined, and the security of the source is more secure. It should be noted that in order to ensure that the content of the message is not leaked, the terminal and the public key service device must exchange information through an independent secure connection.
- the encryption system includes a terminal, a public key service device, and a certificate server.
- the terminal includes a generating module, configured to generate a content key for the message to be sent; Encrypting the content of the message by using the content key generated by the generating module; the first transceiver module is configured to send the content key generated by the generating module to the public key service device for encryption, and receive the encrypted content from the public key service device.
- the content key, the encrypted content key and the encrypted message of the first encryption module are sent to an intermediate entity or a peer terminal in the message delivery path that needs to know the content of the message.
- the first transceiver module is further configured to send the content of the message to be sent to the public key service device for signature, and receive the signed message content returned by the public key service device;
- the message content encrypted by the encryption module using the content key is the signed message content.
- the public key service device includes: a second transceiver module, configured to receive a content key from the terminal for encrypting the content of the message to be sent by the terminal; and a second encryption module, configured to obtain a public key of an entity that needs to know the content of the message And encrypting the content key from the second transceiver module using the public key of the entity that needs to know the content of the message, and returning the encrypted content key to the terminal by the second transceiver module.
- the public key of the entity that needs to know the content of the message can be obtained from the certificate server or locally, and the entity that needs to know the content of the message is an intermediate entity or a peer terminal in the message delivery path.
- the public key encryption operation with a very large amount of calculation is separated from the terminal, and then the special public key service device performs the partial functions, so that the terminal only needs to perform some conventional encryption with a small amount of calculation.
- the burden on the terminal is greatly reduced, and the terminal does not need to configure the special encryption and decryption chip/software of the public key system, thereby reducing the cost and burden of the terminal, since the public key service can be designed as a device with strong processing capability, thereby It can speed up the encryption process, shorten the call connection time, and further ensure the security of content key encryption.
- the public key service device further includes: a signature module, and the terminal is in the right Before the content of the message is encrypted, the content of the message may be sent to the public key service device by the first transceiver module, and the signature module of the public key service device uses the first private key to sign the content of the message to determine the security of the message source.
- the first private key used for the signature may be the private key of the public key service device or the private key of the terminal.
- the public key service device may authenticate the terminal in advance, and in the case that the terminal passes the authentication, the public key service device is the terminal. Sign the message content. It is ideal to use the private key of the public key service device to sign the peer to ensure that the security of the source is secured. Of course, if the first private key is the private key of the terminal, the source of the message can be uniquely determined, and the security of the source is more secure. It should be noted that in order to improve the security of information interaction and prevent the leakage of the terminal message content or the private key, the terminal and the public key service device must exchange information through an independent secure connection.
- each module in the terminal and the public key service device in the embodiment may be implemented by independent physical units, or may be combined into the same physical unit, as long as it can be implemented.
- the function corresponding to each module can achieve the effects of the present invention.
- the fourth embodiment separates the message signatures in the communication system from the encryption system to form an independent signature system.
- the system includes a terminal and a public key service device, where the terminal includes a first transceiver module, configured to send the content of the message that needs to be signed to the public key service device, and receive the signed message content from the public key service device;
- the device includes a second transceiver module, configured to receive a message content from the terminal that needs to be signed, and a signature module, configured to sign, by using the first private key, the content of the message received by the second transceiver module, and the signature is performed by the second transceiver module
- the content of the message is sent to the terminal.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The invention discloses message encryption and signature method, system and device to reduce cost, burden and call-delay while the terminal is encrypting and signing. The terminal generates content key to the message to be sent, sends the generated content key to public key service device, and the public key service device encrypts the content key with public key to the entity to receive the message content; the terminal encrypts the message content only with the content key, then, sends the encrypted message and content key encrypted by the public key to opposite terminal. Before terminal encrypts message content, it sends the message content to the public key service device, the public key service signs the message content with its private key.
Description
说明书 通信系统中消息加密签名的方法及系统和设备 Method, system and device for message encryption signature in communication system
[1] 技术领域 [1] Technical field
[2] 本发明涉及通信领域, 特别涉及通信系统中信息的加密传输技术。 [2] The present invention relates to the field of communications, and in particular to an encrypted transmission technique for information in a communication system.
[3] 发明背景 [3] Background of the invention
[4] 会话初始化协议 (Session Initiation [4] Session Initiation Protocol (Session Initiation)
Protocol, 简称" SIP") 是互联网工程任务组 (INTERNET ENGINEERING TASK FORCE, 简称 "IETF") 制定的多媒体通信系统体系中的核心协议, 作为下一代 网络 (Next Generation Protocol, referred to as "SIP", is the core protocol in the multimedia communication system system developed by the Internet Engineering Task Force (IETF), as the next generation network (Next Generation).
Network, 简称" NGN") 中的重要协议, 主要用于完成多媒体会话控制功能。 SI P协议目前被认为是下一代基于网间互联协议 (Internet The important protocol in the Network, referred to as "NGN", is mainly used to complete the multimedia session control function. The SI P protocol is currently considered to be the next generation of Internet-based Internet Protocol (Internet).
Protocol, 简称' ΊΡ") 的多媒体通信网络的核心协议之一, 而第三代合作伙伴项 目 (3rd Generation Partnership Protocol, referred to as 'ΊΡ') is one of the core protocols of the multimedia communication network, and the third generation partner project (3rd Generation Partnership)
Project, 简称" 3GPP") 也已经确定釆用 SIP协议作为第三代移动通信 (The Third Generation, 简称" 3G") 全 IP阶段的多媒体域会话控制协议。 Project, referred to as "3GPP"), has also identified the SIP protocol as the third-generation mobile communication (The Third Generation, referred to as "3G") all-IP stage multimedia domain session control protocol.
[5] 由于 IP网本身的安全性问题以及网络的复杂性, SIP信令作为一种在 IP网上传输 的信令, 其安全性是一个至关重要的问题。 SIP信令的安全性问题包括保证信息 的机密性和完整性, 防止重放攻击和信息欺骗, 提供会话中对参与者的鉴别, 防止拒绝服务 (Deny of Service, 简称 "DoS") 攻击、 应用的安全性等。 [5] Due to the security of the IP network itself and the complexity of the network, SIP signaling as a signaling for transmission over the IP network is a critical issue. The security issues of SIP signaling include ensuring the confidentiality and integrity of information, preventing replay attacks and information spoofing, providing authentication of participants in the session, and preventing Deny of Service ("DoS") attacks and applications. Security, etc.
[6] 将信令进行完全加密将为信令的机密性提供最好的保护, 同吋还可以保证信息 不会被恶意中间媒介修改。 然而, 在实际应用中, SIP请求和响应不能在端到端 的用户之间完全加密, 因为在大多数网络体系结构中, 信息头域 (如 Request-UR I、 Routes 和 Via) , 对服务器来说必须是可见的, 只有这样, SIP请求和响应才 能够正确地路由。 同吋, 代理服务器需要修改消息的某些参数 (如增加 Via头域 值) , 因此, SIP用户代理 (User [6] Fully encrypting the signaling will provide the best protection for the confidentiality of the signaling, and it will also ensure that the information will not be modified by malicious intermediate media. However, in practice, SIP requests and responses cannot be fully encrypted between end-to-end users, because in most network architectures, header fields (such as Request-UR I, Routes, and Via) are for the server. Must be visible, only then, SIP requests and responses can be routed correctly. Peer, the proxy server needs to modify some parameters of the message (such as increasing the Via header field value), therefore, the SIP user agent (User
agent, 简称" UA") 必须幵放部分信息给代理服务器。 另外, SIP的实体之间 (如 UA和 UA之间) 还需要相互鉴别。 SIP本身借鉴了超文本传输协议 (Hyper Text
Transfer The agent, referred to as "UA" for short, must release some information to the proxy server. In addition, SIP entities (such as between UA and UA) also need to identify each other. SIP itself borrows from Hypertext Transfer Protocol (Hyper Text) Transfer
Protocol, 简称' ΉΤΤΡ") 的模型, 在安全性上, 也重用了 HTTP和简单邮件传送 协议 (Simple Mail Transfer Protocol, referred to as 'ΉΤΤΡ'), in terms of security, also reuses HTTP and Simple Mail Transfer Protocol (Simple Mail Transfer)
Protocol, 简称" SMTP") 的一些安全模型, 利用消息头和消息体为多媒体会话提 供点到点或端到端的安全机制。 Protocol, abbreviated as "SMTP", provides a point-to-point or end-to-end security mechanism for multimedia sessions using message headers and message bodies.
[7] IETF RFC3261中给出了 SIP中实现安全性的几种方案: [7] Several schemes for implementing security in SIP are given in IETF RFC3261:
[8] (1)传输层和网络层安全。 两种流行的方案是传输层安全 (Transport Layer [8] (1) Transport layer and network layer security. Two popular solutions are transport layer security (Transport Layer)
Security, 简称" TLS") 和网际协议安全 (internet Protocol Security, referred to as "TLS" and Internet Protocol Security (internet Protocol)
Security, 简称 "IPSec") 。 Security, referred to as "IPSec").
[9] (2)SIPS URI方案。 SIPS是指安全 SIP, 这种方案遵循 SIP [9] (2) SIPS URI scheme. SIPS refers to secure SIP, which follows SIP
URI的语法格式, 但是提供了一些措施使得数据可以安全到达指定的资源。 SIPS The grammar format of the URI, but provides some measures to make the data safe to reach the specified resource. SIPS
URI方案中指定了传输层必须是 TLS。 SIPS The transport layer specified in the URI scheme must be TLS. SIPS
URI方案通过逐跳的安全和服务器之间的相互信任模型来保证安全性。 SIPS URI表不为: sips:alice@ Atlanta.com;transport=tcp。 The URI scheme guarantees security through hop-by-hop security and a mutual trust model between servers. The SIPS URI table is not: sips:alice@ Atlanta.com;transport=tcp.
[10] (3)HTTP [10] (3) HTTP
Digest认证。 HTTP认证提供了挑战 (challenge) 的能力, 依靠 401和 407响应以及 头域运送挑战和信任状。 HTTP摘要认证方案不用经过较大的修改就可以应用在 SIP中, 提供了重放保护和单向认证 (在 3GPP中, HTTP被扩展为 HTTP Digest certification. HTTP authentication provides the ability to challenge (challenge), relying on 401 and 407 responses as well as header domain delivery challenges and credentials. The HTTP digest authentication scheme can be applied to SIP without major modifications, providing replay protection and one-way authentication. (In 3GPP, HTTP is extended to HTTP.
AKA-Digest (RFC3310) , 可以提供双向认证) 。 AKA-Digest (RFC3310), can provide two-way authentication).
[11] (4)安全 /多用途 Internet邮件扩展 (Secure/Multipurpose Internet Mail [11] (4) Security / Multipurpose Internet Mail Extension (Secure/Multipurpose Internet Mail
Extensions , 简称 "S/MIME") 是一种端到端的加密。 端到端地将 SIP消息完全加 密将保证机密性, 但是在实际中是不实用的, 因为网络中间媒介 (如代理服务 器) 需要读某些消息头域来保证消息正确的路由, 如果这些中间媒介被排除在 安全框架之外, SIP消息将不能进行正确的路由传送。 但是, SIP Extensions, or "S/MIME" for short, are an end-to-end encryption. Fully encrypting SIP messages end-to-end will guarantee confidentiality, but it is impractical in practice because network intermediate media (such as proxy servers) need to read certain message header fields to ensure proper routing of messages, if these intermediate media Excluded from the security framework, SIP messages will not be routed correctly. However, SIP
UA可以通过使用 S/MIMES部分加密消息 (如仅对部分头域和消息体加密) , 或 者只加密消息体, 而避免对用于路由的头域进行加密, 可以为部分头域和消息 体提供端到端的机密性和完整性以及相互鉴别。 The UA can encrypt the header by encrypting the message by using the S/MIMES part (such as encrypting only part of the header field and the message body), or encrypting the header field, and can provide partial header fields and message bodies. End-to-end confidentiality and integrity and mutual authentication.
同吋, S/MIME可以通过 SIP消息隧道为 SIP头域提供完整性和机密性。
[12] 上述的 HTTP Similarly, S/MIME can provide integrity and confidentiality for SIP header domains through SIP message tunneling. [12] The above HTTP
Digest认证是基于共享密钥的 (也称为常规加密) ; 而 S/MIME则是一个基于公 幵密钥加密体系的 (以下简称为公钥体系) 。 Digest authentication is based on shared key (also known as regular encryption); S/MIME is based on a public key encryption system (hereafter referred to as public key system).
[13] 公钥体系的编码学和共享密钥的方法不同, 公钥体系是非对称的, 它用到了两 个不同的密钥, 而对称的共享密钥的方法则只使用一个密钥。 这并不是指公钥 体系加密比共享密钥的方式安全, 实际上, 任何加密方案的安全程度都依赖于 密钥的长度和破译密码所包含的计算工作量。 从抗击密码分析的角度讲, 无论 是常规加密还是公钥体系都没有比对方优越的地方。 [13] The coding of public key systems differs from the method of sharing keys. The public key system is asymmetric, it uses two different keys, and the symmetric shared key method uses only one key. This does not mean that public key system encryption is more secure than shared key. In fact, the security level of any encryption scheme depends on the length of the key and the computational workload involved in deciphering the password. From the perspective of combating cryptanalysis, neither conventional encryption nor the public key system is superior to the other.
[14] 同样, 公钥体系也不会使常规加密成为一种过吋的技术, 相反, 由于当前公钥 加密在计算上的巨大幵销, 使得在可以预见的将来常规加密并不会被抛弃。 公 钥加密的发明者之一写到: "大家几乎普遍接受的观点是公幵密钥密码编码学的 使用仅限于密钥管理和数字签名等应用"。 [14] Similarly, public key systems do not make conventional encryption an overkill technique. Conversely, due to the huge computational credit of current public key encryption, conventional encryption will not be abandoned in the foreseeable future. . One of the inventors of public key cryptography wrote: "The almost universally accepted view is that the use of public key cryptography is limited to applications such as key management and digital signatures."
[15] 在 SIP网络中, 网络实体, 如 Proxy (代理服务器) 或者背靠背用户代理 (Back to Back User Agent, 简称 "B2B [15] In a SIP network, a network entity, such as a Proxy or Back to Back User Agent (B2B)
UA") , 需要获取 SIP信令中的信息, 但是为了保持安全性, 终端可能不希望将 S IP信令中的全部信息暴露给所有的中间实体, 终端希望可以按照自己的意愿将部 分头域信息或者消息体暴露给中间的网络实体。 例如在 IP多媒体子系统 (IP Multimedia UA"), the information in the SIP signaling needs to be obtained, but in order to maintain security, the terminal may not want to expose all the information in the SIP signaling to all intermediate entities, and the terminal hopes to have a partial header field according to its own wishes. Information or message bodies are exposed to intermediate network entities. For example in the IP Multimedia Subsystem (IP Multimedia)
Subsystem, 简称 "IMS") 网络中, 终端希望将 SIP消息中的会话描述协议 (Sessi on Description Subsystem, referred to as "IMS", in the network, the terminal wants to describe the session description protocol in the SIP message (Sessi on Description
Protocol, 简称" SDP") 信息暴露给代理呼叫会话控制功能 (Proxy-Call Session Control Function, 简称" P-CSCF") 和服务呼叫会话控制功能 (Serving-Call Session Control Protocol, referred to as "SDP") Information is exposed to Proxy-Call Session Control Function ("P-CSCF") and Serving-Call Session Control (Serving-Call Session Control)
Function, 简称" S-CSCF") , 使得 P-CSCF可以根据 SDP进行资源预留和控制, S- CSCF可以根据 SDP提供业务, 同吋, SDP信息对 I-CSCF或者 HSS而言是保密的 Function, abbreviated as "S-CSCF"), enables the P-CSCF to perform resource reservation and control according to the SDP. The S-CSCF can provide services according to the SDP. Similarly, the SDP information is confidential to the I-CSCF or HSS.
[16] 为了解决上述问题, draft-ietf-sip-e2m-sec草案提出了一种进行消息加密 /签名的 方法, 这种方法是基于公钥体系的:
[17] 具体地说, 终端首先根据不同的需求对不同的头域或者消息体部分利用终端的 私钥进行签名。 之后, 终端生成一个为信息进行加密的密钥, 称之为常规密钥[16] In order to solve the above problem, the draft draft-ietf-sip-e2m-sec proposes a method for message encryption/signature, which is based on the public key system: [17] Specifically, the terminal first uses the private key of the terminal to sign different header fields or message body parts according to different requirements. After that, the terminal generates a key for encrypting the information, which is called a regular key.
(Content-Encription-Key (Content-Encription-Key
简称" CEK") , 也即内容密钥, 通过 CEK对头域或者消息体进行加密; 然后利用 中间实体的公钥对 CEK进行加密, 将该对此 CEK进行加密的密钥称为 key-encripti on-key, 简称" KEK"。 最后, 终端将加密后的信息组织为 S/MIME格式进行传输 Referred to as "CEK"), that is, the content key, the header field or the message body is encrypted by the CEK; then the CEK is encrypted by the public key of the intermediate entity, and the key for encrypting the CEK is called key-encripti on -key, referred to as "KEK". Finally, the terminal organizes the encrypted information into S/MIME format for transmission.
[18] 通过该方法, 使得密文在传输的过程中, 只有那些指定的中间实体可以进行解 密并验证数字签名, 从而保证了信息的安全。 其网络结构示意图如图 1所示。 [18] By this method, in the process of transmission of ciphertext, only those designated intermediate entities can decrypt and verify the digital signature, thereby ensuring the security of the information. Its network structure is shown in Figure 1.
[19] 另外, 为了减少每次消息的公钥加密过程, 草案中同吋提出了一种常规密钥重 用的机制: [19] In addition, in order to reduce the public key encryption process for each message, the draft peer proposed a mechanism for regular key reuse:
[20] 终端通过 unprotectedAttrs参数通知中间实体或者对端终端, 使用为当前消息内 容加密的 CEK作为后续消息的 KEK; 并在每个消息中产生一个新的 CEK, 这个 新的 CEK被重用的 KEK加密。 值得一提的是, 此草案中的 KEK均是常规加密的 密钥, 而不是基于公钥体系的公钥。 通过这种方式, 可以节省公钥加密的耗吋 过程。 [20] The terminal notifies the intermediate entity or the peer terminal through the unprotectedAttrs parameter, uses the CEK encrypted for the current message content as the KEK of the subsequent message; and generates a new CEK in each message, and the new CEK is reused by the KEK encryption. . It is worth mentioning that the KEK in this draft is a conventional encrypted key, not a public key based on the public key system. In this way, the process of public key encryption can be saved.
[21] 然而, 由于上述的方法需要终端进行 S/MIME处理并进行加密, 存在以下问题 [21] However, since the above method requires the terminal to perform S/MIME processing and encryption, the following problems exist.
[22] 1.因为终端需要加密, 且部分使用常规加密, 部分使用公钥加密, 可能需要使 用特定的芯片, 导致终端的成本上升; [22] 1. Because the terminal needs to be encrypted, and some use conventional encryption, and some use public key encryption, it may need to use a specific chip, resulting in an increase in the cost of the terminal;
[23] 2.因为终端的处理能力有限, 而且公钥加密本身需要的计算量大, 因此加密过 程将导致终端的处理吋长增加, 进而导致呼叫接续吋延增大; 特别是当终端需 要对多个中间实体或者对端终端暴露不同的信息吋, 需要对各种信息进行不同 的加密或者签名, 会导致处理吋延急剧增大。 [23] 2. Because the processing capacity of the terminal is limited, and the amount of calculation required by the public key encryption itself is large, the encryption process will increase the processing length of the terminal, which in turn leads to a delay in call connection; especially when the terminal needs to When multiple intermediate entities or peer terminals expose different information, different information needs to be encrypted or signed differently, which will lead to a sharp increase in processing delay.
[24] 3.因为终端在加密的过程中需要获得中间实体的公钥, 公钥的获得方法有: 向 指定的服务器获得公钥, 或向服务器进行订阅 (这样当公钥发生变化吋可以及 吋得到通知) , 无论何种方法都会增加终端的负荷。 [24] 3. Because the terminal needs to obtain the public key of the intermediate entity in the process of encryption, the public key can be obtained by: obtaining the public key from the specified server, or subscribing to the server (so that when the public key changes)吋 Get notified), no matter what method will increase the load on the terminal.
[25] 发明内容
[26] 有鉴于此, 本发明的主要目的在于提供一种通信系统中消息加密签名的方法及 系统和设备, 使得终端进行加密和签名吋的成本、 负荷和呼叫吋延得以减少。 [25] Summary of the invention In view of the above, it is a primary object of the present invention to provide a method, system and apparatus for message cryptographic signature in a communication system such that the cost, load and call delay of the terminal for encryption and signature are reduced.
[27] 为实现上述目的, 本发明实施例提供了一种通信系统中消息加密的方法, 包括 [27] In order to achieve the above object, an embodiment of the present invention provides a method for encrypting a message in a communication system, including
[28] 终端为待发送的消息生成内容密钥, 将所生成的内容密钥发送到公钥服务设备 , 其中, 所述公钥服务设备用于使用需要知道该消息内容的实体的公钥对该内 容密钥加密, 并将加密后的所述内容密钥返回所述终端; [28] The terminal generates a content key for the message to be sent, and sends the generated content key to the public key service device, wherein the public key service device is configured to use a public key pair of an entity that needs to know the content of the message Encrypting the content key, and returning the encrypted content key to the terminal;
[29] 终端使用所述生成的内容密钥对所述待发送的消息的内容进行加密; [29] the terminal encrypts the content of the to-be-sent message by using the generated content key;
[30] 终端接收加密后的内容密钥, 并发送所述加密后的消息和所述经公钥加密的内 容密钥。 [30] The terminal receives the encrypted content key and transmits the encrypted message and the content key encrypted by the public key.
[31] 本发明实施例提供了一种通信系统中消息加密的方法, 包括: An embodiment of the present invention provides a method for encrypting a message in a communication system, including:
[32] 公钥服务设备接收用于对消息内容进行加密的内容密钥; [32] The public key service device receives a content key for encrypting the message content;
[33] 使用需要知道该消息内容的实体的公钥对所述内容密钥加密; [33] encrypting the content key using a public key of an entity that needs to know the content of the message;
[34] 发送所述加密后的内容密钥。 [34] Sending the encrypted content key.
[35] 本发明实施例提供了一种通信系统中消息签名的方法, 包括: An embodiment of the present invention provides a method for message signature in a communication system, including:
[36] 终端将需要签名的消息内容发送给公钥服务设备, 其中, 所述公钥服务设备用 于使用第一私钥对所述消息内容进行签名, 并将所述签名后的消息返回所述终 端; [36] The terminal sends the content of the message that needs to be signed to the public key service device, where the public key service device is configured to sign the content of the message by using the first private key, and return the signed message to the Terminal
[37] 终端接收所述经签名后的消息。 [37] The terminal receives the signed message.
[38] 本发明实施例提供了一种通信系统中消息加密的系统, 包含: An embodiment of the present invention provides a system for encrypting a message in a communication system, including:
[39] 终端, 用于为待发送的消息生成内容密钥并发送, 以及接收加密后的内容密钥 [39] a terminal, configured to generate a content key for the message to be sent and send, and receive the encrypted content key
, 并使用所述生成的内容密钥对所述消息的内容加密, 将所述加密后的内容密 钥和所述加密后的消息发送; And encrypting the content of the message by using the generated content key, and transmitting the encrypted content key and the encrypted message;
[40] 公钥服务设备, 用于接收所述终端发送的内容密钥, 使用需要知道该消息内容 的实体的公钥对该内容密钥加密, 并返回给所述终端。 [40] The public key service device is configured to receive the content key sent by the terminal, encrypt the content key by using a public key of an entity that needs to know the content of the message, and return the content key to the terminal.
[41] 本发明实施例提供了一种终端, 包含: An embodiment of the present invention provides a terminal, including:
[42] 生成模块, 用于为待发送的消息生成内容密钥; [42] a generating module, configured to generate a content key for the message to be sent;
[43] 第一加密模块, 用于使用所述生成模块生成的内容密钥对所述消息的内容加密
[44] 第一收发模块, 用于将所述生成模块所生成的内容密钥发送到公钥服务设备进 行加密, 并从所述公钥服务设备接收加密后的内容密钥, 以及发送所述加密后 的内容密钥和所述第一加密模块加密后的消息。 [43] a first encryption module, configured to encrypt content of the message by using a content key generated by the generating module [44] a first transceiver module, configured to send a content key generated by the generating module to a public key service device for encryption, receive an encrypted content key from the public key service device, and send the The encrypted content key and the encrypted message of the first encryption module.
[45] 本发明实施例提供了一种公钥服务设备, 包含: An embodiment of the present invention provides a public key service device, including:
[46] 第二收发模块, 用于接收来自终端的用于加密终端待发送消息内容的内容密钥 [46] a second transceiver module, configured to receive a content key from the terminal for encrypting the content of the message to be sent by the terminal
[47] 第二加密模块, 用于使用需要知道所述消息内容的实体的公钥对所述第二收发 模块收到的内容密钥加密, 并由所述第二收发模块将加密后的内容密钥返回所 述终端。 [47] a second encryption module, configured to encrypt, by using a public key of an entity that needs to know the content of the message, a content key received by the second transceiver module, and the encrypted content is used by the second transceiver module The key is returned to the terminal.
[48] 本发明实施例提供了一种通信系统中消息签名的系统, 包括: An embodiment of the present invention provides a system for message signature in a communication system, including:
[49] 终端, 用于将需要签名的消息内容发送给所述公钥服务设备, 并从所述公钥服 务设备接收签名后的消息内容; [49] a terminal, configured to send a message content that needs to be signed to the public key service device, and receive the signed message content from the public key service device;
[50] 公钥服务设备, 用于接收来自终端的需要签名的消息内容,使用第一私钥对所述 消息内容进行签名, 并将所述签名后的消息内容发送给所述终端。 [50] The public key service device is configured to receive the message content from the terminal that needs to be signed, sign the content of the message by using the first private key, and send the signed message content to the terminal.
[51] 本发明实施例提供了一种终端, 包含: An embodiment of the present invention provides a terminal, including:
[52] 第一收发模块, 用于将需要签名的消息内容发送给所述公钥服务设备, 并从所 述公钥服务设备接收签名后的消息内容。 [52] The first transceiver module is configured to send the content of the message that needs to be signed to the public key service device, and receive the signed message content from the public key service device.
[53] 本发明实施例提供了一种公钥服务设备, 包含: An embodiment of the present invention provides a public key service device, including:
[54] 第二收发模块, 用于接收来自终端的需要签名的消息内容; [54] a second transceiver module, configured to receive a message content from the terminal that needs to be signed;
[55] 签名模块, 用于使用第一私钥对所述第二收发模块收到的消息内容进行签名, 并由所述第二收发模块将签名后的消息内容发送给所述终端。 [55] The signature module is configured to sign the content of the message received by the second transceiver module by using the first private key, and send the signed message content to the terminal by the second transceiver module.
[56] 通过比较可以发现, 本发明的技术方案与现有技术的主要区别在于, 终端为待 发送的消息生成内容密钥, 将所生成的内容密钥发送到公钥服务设备, 由公钥 服务设备使用需要知道该消息内容的实体的公钥对该内容密钥加密, 终端仅使 用该内容密钥对该消息的内容加密, 之后, 将加密后的消息和经公钥加密的内 容密钥发送给对端终端。 通过将计算量十分大的公钥加密操作从终端上分离, 转而由专门的公钥服务设备完成此部分功能, 使得终端只需进行一些计算量较
小的常规加密, 大大减少了终端的负担, 且终端无需配置公钥体系专门的加密 和解密芯片 /软件, 降低了终端的成本。 [56] It can be found that the main difference between the technical solution of the present invention and the prior art is that the terminal generates a content key for the message to be sent, and sends the generated content key to the public key service device, and the public key The service device encrypts the content key by using the public key of the entity that needs to know the content of the message, and the terminal encrypts the content of the message only by using the content key, and then encrypts the encrypted message and the content key encrypted by the public key. Send to the peer terminal. By separating the public key encryption operation with a very large amount of computation from the terminal, the special public key service device performs this part of the function, so that the terminal only needs to perform some calculations. The small conventional encryption greatly reduces the burden on the terminal, and the terminal does not need to configure the special encryption and decryption chip/software of the public key system, which reduces the cost of the terminal.
[57] 附图简要说明 [57] BRIEF DESCRIPTION OF THE DRAWINGS
[58] 图 1是现有技术中消息加密的网络结构示意图; [58] FIG. 1 is a schematic diagram of a network structure of message encryption in the prior art;
[59] 图 2是本发明通信系统中消息加密的原理图; 2 is a schematic diagram of message encryption in a communication system of the present invention;
[60] 图 3是根据本发明第一实施方式的通信系统中消息加密的方法中的网络结构示 意图; 3 is a schematic diagram of a network structure in a method of message encryption in a communication system according to a first embodiment of the present invention;
[61] 图 4是根据本发明第一实施方式的通信系统中消息加密的方法流程图; 4 is a flowchart of a method for encrypting a message in a communication system according to a first embodiment of the present invention;
[62] 图 5是根据本发明第一实施方式的通信系统中消息加密后的解密方法流程图; [63] 图 6是根据本发明第三实施方式的通信系统中消息加密的系统结构图。 5 is a flowchart of a method of decrypting a message after encryption in a communication system according to a first embodiment of the present invention; [63] FIG. 6 is a system configuration diagram of message encryption in a communication system according to a third embodiment of the present invention.
[64] 实施本发明的方式 [64] Mode for carrying out the invention
[65] 为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明作进 一步地详细描述。 The present invention will be further described in detail below with reference to the accompanying drawings.
[66] 本发明实施例通过终端为待发送的消息生成内容密钥, 将所生成的内容密钥发 送到公钥服务设备, 由公钥服务设备使用需要知道该消息内容的实体的公钥对 该内容密钥加密, 终端仅使用该生成的内容密钥对该消息的内容加密, 之后, 将加密后的消息和经公钥加密的内容密钥发送给对端终端。 通过将计算量十分 大的公钥加密操作从终端上分离, 转而由专门的公钥服务设备完成此部分功能 , 使得终端只需进行一些计算量较小的常规加密, 从而减少终端的负担, 降低 终端进行加密吋成本。 [66] In the embodiment of the present invention, the terminal generates a content key for the message to be sent, and sends the generated content key to the public key service device, and the public key service device uses the public key pair of the entity that needs to know the content of the message. The content key is encrypted, and the terminal encrypts the content of the message using only the generated content key, and then sends the encrypted message and the public key encrypted content key to the opposite terminal. By separating the public key encryption operation with a very large amount of computation from the terminal, the special public key service device performs this part of the function, so that the terminal only needs to perform some conventional encryption with a small amount of calculation, thereby reducing the burden on the terminal. Reduce the cost of the terminal for encryption.
具体地说, 如图 2所示, 在步骤 210中, 终端在需要为待发送的消息 (包括消息 的头域或指定的消息体) 签名吋, 将需要签名的消息内容发送给公钥服务设备 接着进入步骤 220, 公钥服务设备收到该消息的内容后, 使用第一私钥对其进 行签名, 并将签名后的消息返回该终端。 通过公钥服务设备使用第一私钥对消 息的内容进行签名, 使得接收该消息的终端能够确定消息的来源, 从而与之后 的加密操作组合, 双向确保消息传输的安全性。 其中, 该第一私钥可以是公钥 服务设备的私钥, 或者是终端的私钥。 如果第一私钥是公钥服务设备的私钥,
由于公钥服务设备和终端是在同一个接入域中的, 公钥服务设备可以对终端进 行认证, 因此由认证终端的公钥服务设备进行签名同样能够保证消息来源的安 全性, 且釆用公钥服务设备的私钥进行签名可以确保终端的私钥不被泄密。 如 果第一私钥是终端的私钥, 可以唯一确定消息的来源, 在消息来源的安全性上 更有保障。 Specifically, as shown in FIG. 2, in step 210, the terminal needs to sign the message to be sent (including the header field of the message or the specified message body), and send the content of the message to be signed to the public key service device. Then, proceeding to step 220, after receiving the content of the message, the public key service device signs the message with the first private key, and returns the signed message to the terminal. The content of the message is signed by the public key service device using the first private key, so that the terminal receiving the message can determine the source of the message, thereby combining with the subsequent encryption operation to ensure the security of the message transmission in both directions. The first private key may be a private key of the public key service device or a private key of the terminal. If the first private key is the private key of the public key service device, Since the public key service device and the terminal are in the same access domain, the public key service device can authenticate the terminal, so the signature of the public key service device of the authentication terminal can also ensure the security of the message source, and the security is adopted. Signing the private key of the public key service device ensures that the private key of the terminal is not compromised. If the first private key is the private key of the terminal, the source of the message can be uniquely determined, and the security of the source is more secure.
[69] 接着进入步骤 230, 终端为该消息生成内容密钥, 并将该内容密钥发送到公钥 服务设备进行加密。 [69] Next, proceeding to step 230, the terminal generates a content key for the message and transmits the content key to the public key service device for encryption.
[70] 接着进入步骤 240, 该公钥服务设备收到该内容密钥后, 使用需要知道该消息 内容的实体的公钥对该内容密钥加密, 并将加密后的内容密钥返回给该终端。 通过将计算量十分大的公钥加密操作从终端上分离, 转而由专门的公钥服务设 备完成此部分功能, 使得终端只需进行一些计算量较小的常规加密, 大大减少 了终端的负担, 且终端无需配置公钥体系专门的加密和解密芯片 /软件, 降低了 终端的成本。 [70] Next, proceeding to step 240, after receiving the content key, the public key service device encrypts the content key by using a public key of an entity that needs to know the content of the message, and returns the encrypted content key to the content key. terminal. By separating the public key encryption operation with a very large amount of computation from the terminal, the special public key service device performs this part of the function, so that the terminal only needs to perform some conventional encryption with small calculation amount, which greatly reduces the burden on the terminal. And the terminal does not need to configure the public key system special encryption and decryption chip/software, which reduces the cost of the terminal.
[71] 接着进入步骤 250, 该终端使用该生成的内容密钥加密该签名后的消息内容。 [71] Next, proceeding to step 250, the terminal encrypts the signed message content using the generated content key.
[72] 接着进入步骤 260, 终端将其加密后的消息和经过公钥加密的内容密钥向对端 终端发送。 [72] Next, proceeding to step 260, the terminal sends the encrypted message and the public key encrypted content key to the opposite terminal.
[73] 下面根据发明原理对本发明第一实施方式进行说明, 本发明第一实施方式主要 涉及通信系统中消息加密的方法。 在本实施方式中, 公钥服务设备包含两个接 口, 第一接口是接口 Y, 第二接口是接 ΠΖ。 如图 3所示, 接口 Υ是公钥服务设备 与证书服务器之间的接口, 该接口可以是 HTTP接口或 SIP接口; 接口 Z是终端与 公钥服务设备之间的接口, 终端通过接口 Z与公钥服务设备之间建立安全连接, 并通过该安全连接与公钥服务设备进行信息的交互。 接口 Z是基于安全的连接协 议的, 如基于 IPSec。 对于接口 Z, 可以釆用不同的协议来进行信息传递, 可以是 私有接口或 SIP接口。 The first embodiment of the present invention will now be described in accordance with the principles of the invention. The first embodiment of the present invention is directed to a method of message encryption in a communication system. In this embodiment, the public key service device includes two interfaces, the first interface is the interface Y, and the second interface is the interface. As shown in FIG. 3, the interface is an interface between the public key service device and the certificate server, and the interface may be an HTTP interface or a SIP interface; the interface Z is an interface between the terminal and the public key service device, and the terminal passes through the interface Z and A secure connection is established between the public key service devices, and information is exchanged with the public key service device through the secure connection. Interface Z is based on a secure connection protocol, such as based on IPSec. For interface Z, different protocols can be used for information transfer, which can be a private interface or a SIP interface.
[74] 如果接口 Z釆用 SIP接口, 由于现有的 SIP协议无法传输相关参数, 因此需要对 S [74] If the interface Z uses the SIP interface, since the existing SIP protocol cannot transmit the relevant parameters, it is necessary to
IP协议消息进行扩展如下: The IP protocol messages are extended as follows:
[75] 1.新增用于请求加密或签名的第一头域: Security-Helper [75] 1. Added first header field for requesting encryption or signature: Security-Helper
[76] 此头域在终端向公钥服务设备请求加密或签名吋使用, 用于标识终端向公钥服
务设备请求进行签名还是请求进行加密处理。 此头域中包含: [76] This header field is used by the terminal to request encryption or signature from the public key service device, and is used to identify the terminal to the public key service. Whether the device requests to sign or request encryption. This header field contains:
[77] a.指示终端请求签名或请求加密的信息, 通过语法中的 method参数进行表示。 [77] a. Instructing the terminal to request signature or request for encryption, represented by the method parameter in the grammar.
[78] b.标识消息中请求签名或加密的内容的信息。 该信息标识终端请求加密 /签名吋[78] b. Identify information in the message that requests signature or encryption. This information identifies the terminal requesting encryption/signature吋
, 希望加密 /签名的具体内容是什么。 这些加密 /签名的内容对公钥服务设备是透 明的, 这些信息可以通过 cid参数来标识, 通过 cid参数索引到消息体中的相应部 分。 , what is the specific content of the encryption/signature? These encrypted/signed contents are transparent to the public key service device. These information can be identified by the cid parameter and indexed to the corresponding part of the message body by the cid parameter.
[79] 如果是请求进行加密处理, 则该头域中进一步包含: [79] If the request is for encryption, the header field further contains:
[80] c.指示需要知道该消息内容的实体的信息。 该信息指示在消息传输的过程中, 需要知道该消息内容的实体, 包括消息传递路径中的中间实体或对端终端。 需 要知道该消息内容的实体可以是一个或多个, 这些实体的公钥信息通过 KeyRef 参数表示。 [80] c. Information indicating the entity that needs to know the content of the message. The information indicates an entity that needs to know the content of the message during the transmission of the message, including an intermediate entity or a peer terminal in the message delivery path. The entities that need to know the content of the message can be one or more, and the public key information of these entities is represented by the KeyRef parameter.
[81] 通过该第一头域, 使得终端能够釆用扩展该第一头域的 SIP消息通知公钥服务 设备对指定的内容进行指定实体公钥的加密。 [81] The first header field enables the terminal to notify the public key service device to encrypt the specified content public key by using the SIP message that extends the first header field.
[82] 扩展后的语法格式为: [82] The extended syntax is:
[83] Security-Helper = "Security-Helper" HCOLON helper-value * (COMMA [83] Security-Helper = "Security-Helper" HCOLON helper-value * (COMMA
helper-value) Helper-value)
[84] helper-value = method; cid *(;KeyRef) *(SEMI generic-param) [84] helper-value = method; cid *(;KeyRef) *(SEMI generic-param)
[85] method-tag = "encrpty" I "sign" I token [85] method-tag = "encrpty" I "sign" I token
[86] cid = "cid" EQUAL sip-clean-msg-id [86] cid = "cid" EQUAL sip-clean-msg-id
[87] sip-clean-msg-id = LDQUOT dot-atom "@" (dot-atom I host) RDQUOT [87] sip-clean-msg-id = LDQUOT dot-atom "@" (dot-atom I host) RDQUOT
[88] dot-atom = atom *( "." atom ) [88] dot-atom = atom *( "." atom )
[89] atom = 1*( alphanum I "-" I "!" I " " I "*" I "_" I "+" I '"" I "、,, I "-" ) [89] atom = 1*( alphanum I "-" I "!" I " " I "*" I "_" I "+" I """ I ",,, I "-" )
[90] KeyRef = HostRef I UriRef [90] KeyRef = HostRef I UriRef
[91] HostRef = "hostref, EQUAL host [91] HostRef = "hostref, EQUAL host
[92] UriRef = "uriref EQUAL absoluteURI [92] UriRef = "uriref EQUAL absoluteURI
[93] 2.新增用于返回加密或签名后内容的第二头域: Security-Response [93] 2. Added a second header field for returning encrypted or signed content: Security-Response
[94] 此头域在公钥服务设备返回加密或签名后的内容吋使用, 用于传递公钥服务设 备向终端返回经过加密或签名后的信息。 此头域包含:
[95] a.指示消息中请求签名或加密的内容的信息。 该信息与 Security-Helper头域中包 含的 cid参数内容相对应, 便于终端进行匹配, 该信息通过 orig-cid [94] This header field is used after the public key service device returns the encrypted or signed content, and is used to transfer the encrypted or signed information to the terminal by the public key service device. This header field contains: [95] a. Indicates information in the message requesting signature or encrypted content. This information corresponds to the content of the cid parameter contained in the Security-Helper header field, which is convenient for the terminal to match. The information is passed through orig-cid.
参数返回终端。 The parameters are returned to the terminal.
[96] b.标识消息中经签名或加密后的内容的信息。 用于返回经过公钥服务设备签名 或加密处理后的内容, 通过 new-cid参数进行索引。 [96] b. Identifies the information of the signed or encrypted content in the message. Used to return the content signed or encrypted by the public key service device, indexed by the new-cid parameter.
[97] c.指示需要知道该消息内容的实体的信息。 该信息与 Security-Helper头域中包含 的 KeyRef参数内容相对应, 同样用于指示在消息传输的过程中, 需要知道该消 息内容的实体, 通过相同的 KeyRef参数返回终端, 便于终端完成匹配。 [97] c. Information indicating the entity that needs to know the content of the message. This information corresponds to the content of the KeyRef parameter contained in the Security-Helper header field. It is also used to indicate that the entity that needs to know the content of the message during the message transmission process returns to the terminal through the same KeyRef parameter, which facilitates the terminal to complete the matching.
[98] 也就是说, 在完成加密后, 公钥服务设备可以通过将 cid参数映射到 orig-cid参 数以及将 KeyRef原样返回, 使得终端能够正确完成匹配。 [98] That is to say, after the encryption is completed, the public key service device can make the terminal correctly complete the matching by mapping the cid parameter to the orig-cid parameter and returning the KeyRef as it is.
[99] 其具体语法格式为: [99] The specific syntax is:
[100] Security-Response = "Security-Response" HCOLON response-value * (COMMA response-value) [100] Security-Response = "Security-Response" HCOLON response-value * (COMMA response-value)
[101] Response = Oirg-cid; New-cid [; KeyRef] *(SEMI generic-param) [101] Response = Oirg-cid; New-cid [; KeyRef] *(SEMI generic-param)
[102] Orig-cid = "orig-cid" EQUAL sip-clean-msg-id [102] Orig-cid = "orig-cid" EQUAL sip-clean-msg-id
[103] New-cid = "new- cid" EQUAL sip-clean-msg-id [103] New-cid = "new- cid" EQUAL sip-clean-msg-id
[104] 通过该第二头域, 使得公钥服务设备能够通过扩展了该第二头域的 SIP消息将 加密或签名后的内容返回终端。 [104] The second header field enables the public key service device to return the encrypted or signed content to the terminal by extending the SIP message of the second header field.
[105] 3.新增可选标签 Tag, 此标签可以用于 Require头域, 表示公钥服务设备必须对 上述的 Security-Helper [105] 3. Added optional tag Tag, this tag can be used in the Require header field, indicating that the public key service device must have the above Security-Helper
头域进行处理, 公钥服务设备无能力处理, 则通过该标签返回失败指示。 The header field is processed, and the public key service device is incapable of processing, and the failure indication is returned through the label.
[106] 具体语法格式为: Option tag: security-helper [106] The specific syntax is: Option tag: security-helper
[107] 另外, 在终端和公钥服务设备之间没有必要建立 SIP呼叫, 只需要进行 SIP的事 务处理就可以了, 所以在终端和公钥服务设备之间, 可以利用 MESSAGE消息来 进行通讯。 [107] In addition, there is no need to establish a SIP call between the terminal and the public key service device, and only SIP transaction processing is required. Therefore, the MESSAGE message can be used for communication between the terminal and the public key service device.
[108] 具体的签名 /加密过程如图 4所示, 在步骤 401中, 当终端希望公钥服务设备进 行安全相关的处理吋, 根据需要进行签名的 SIP消息内容设置其 Security-Helper 头域, 在此头域的 method参数中设置为标识签名请求, 在 cid参数中设置需要进
行签名的消息内容的索引。 之后终端将设置后的 SIP消息通过接口 Z发送给公钥 服务设备。 终端可以在此头域中包含多个头域值, 公钥服务设备可以对这些头 值域中包含的多个 cid所索引的内容分别进行签名处理。 [108] The specific signature/encryption process is as shown in FIG. 4. In step 401, when the terminal wants the public key service device to perform security-related processing, set the Security-Helper header field according to the content of the SIP message to be signed. Set the request signature request in the method parameter of this header field, and set it in the cid parameter. The index of the message content of the line signature. After that, the terminal sends the set SIP message to the public key service device through the interface Z. The terminal may include multiple header field values in the header field, and the public key service device may separately perform signature processing on the contents indexed by the plurality of cids included in the header value fields.
[109] 如果终端不能确定服务器是否能够提供公钥服务的功能, 则可在 SIP消息的 Req uire头域中添加标签 (Tag) security-helper, 以便服务器在无能力进行签名及加 密吋返回失败信息。 [109] If the terminal cannot determine whether the server can provide the function of the public key service, you can add a tag security-helper in the Req uire header field of the SIP message, so that the server is unable to sign and encrypt and return the failure information. .
[110] 其中, 终端对于公钥服务设备的发现过程可以有多种方式: [110] Among them, the terminal can have multiple ways to discover the public key service device:
[111] 1.配置方式: 在终端上固定配置公钥服务设备的地址, 从而使得每次的公钥签 名 /加密请求都会发送到对应的公钥服务设备上; [111] 1. Configuration mode: The address of the public key service device is fixedly configured on the terminal, so that each public key sign/encryption request is sent to the corresponding public key service device;
[112] 2·通过动态主机配置协议 (Dynamic Host Configuration [112] 2. Through Dynamic Host Configuration Protocol (Dynamic Host Configuration
Protocol, 简称" DHCP") 方式: 当终端启动, 获取 IP地址的吋候, 通过 DHCP通 知该终端公钥服务设备的地址; Protocol, referred to as "DHCP" mode: When the terminal starts and obtains an IP address, the address of the public key service device of the terminal is notified through DHCP.
[113] 3.对于移动终端, 可以由通用分组无线业务网关支持节点 (GPRS Gateway[113] 3. For mobile terminals, the node can be supported by the general packet radio service gateway (GPRS Gateway)
Support Support
Node , 简称" GGSN") 在分组数据协议上下文建立过程中通知该终端公钥服务设 备的地址。 Node, referred to as "GGSN", notifies the address of the public key service device of the terminal during the establishment of the packet data protocol context.
[114] 接着进入步骤 402, 公钥服务设备从接口 Z上接收到 SIP消息后, 对消息进行解 码以及检査, 如果消息中的 Require头域中没有包含 security-helper标签, 或包含 s ecurity-helper标签且本公钥服务设备支持该签名和加密功能, 则进入步骤 404; 反之, 如果消息中的 Require头域中存在 security-helper [114] Next, proceeding to step 402, after receiving the SIP message from the interface Z, the public key service device decodes and checks the message, if the Require header field in the message does not contain the security-helper tag, or contains s ecurity- The helper tag and the public key service device support the signature and encryption function, then proceeds to step 404; otherwise, if there is a security-helper in the Require header field of the message
标签但是本公钥服务设备不支持该签名和加密功能, 则进入步骤 403, 发送 420 响应给终端, 告知终端本公钥服务设备不支持签名和加密功能。 If the public key service device does not support the signature and encryption function, then the process proceeds to step 403, and a response is sent to the terminal to inform the terminal that the public key service device does not support the signature and encryption functions.
[115] 在步骤 404中, 公钥服务设备进一步检査 Security-Helper头域, 首先检査头域中 的 method参数, 在确定终端当前请求的是对消息内容进行签名后, 使用本公钥 服务设备的私钥对 [115] In step 404, the public key service device further checks the Security-Helper header field, first checks the method parameter in the header field, and uses the public key service after determining that the terminal is currently requesting to sign the message content. Device private key pair
cid索弓 I的内容进行签名处理, 并通过 SIP消息中的 Security-Response头域将签名 后的消息内容返回给该终端。 如果该公钥服务设备能够获得终端的私钥, 则同 样可以使用终端的私钥对 cid索引的内容进行签名处理。 如果公钥服务设备签名
使用的第一私钥是公钥服务设备的私钥, 由于公钥服务设备和终端是在同一个 接入域中的, 公钥服务设备可以对终端进行认证, 因此由认证终端的公钥服务 设备进行签名同样能够保证消息来源的安全性, 且釆用公钥服务设备的私钥进 行签名可以确保终端的私钥不被泄密。 如果公钥服务设备签名使用的第一私钥 是终端的私钥, 可以唯一确定消息的来源, 在消息来源的安全性上更有保障。 The content of the cid cable is subjected to signature processing, and the signed message content is returned to the terminal through the Security-Response header field in the SIP message. If the public key service device can obtain the private key of the terminal, the content of the cid index can also be signed and processed using the private key of the terminal. If the public key service device signs The first private key used is the private key of the public key service device. Since the public key service device and the terminal are in the same access domain, the public key service device can authenticate the terminal, and therefore the public key service of the authentication terminal Signing the device also ensures the security of the source, and signing with the private key of the public key service device ensures that the private key of the terminal is not compromised. If the first private key used by the public key service device signature is the private key of the terminal, the source of the message can be uniquely determined, and the security of the source is more secure.
[116] 接着进入步骤 405, 终端为待发送的消息内容生成内容密钥, 并通过 SIP消息将 该内容密钥发送到公钥服务设备。 具体地说, 终端将该内容密钥携带在 SIP消息 体中, 并设置该 SIP消息的 Security-Helper头域, 将 method [116] Next, proceeding to step 405, the terminal generates a content key for the message content to be sent, and transmits the content key to the public key service device through the SIP message. Specifically, the terminal carries the content key in the SIP message body, and sets a Security-Helper header field of the SIP message, and takes the method
参数设置为标识加密请求, cid参数设置为指向内容密钥, 在 KeyRef参数中设置 需要知道消息内容的中间实体或对端终端的标识, 将设置后的包含内容密钥的 消息发送到公钥服务设备。 The parameter is set to identify the encryption request, the cid parameter is set to point to the content key, and the identifier of the intermediate entity or the peer terminal that needs to know the content of the message is set in the KeyRef parameter, and the set message containing the content key is sent to the public key service. device.
[117] 接着进入步骤 406, 公钥服务设备收到该消息后, 同样检査 Security-Helper头域 中的 method参数, 在确定终端当前请求进行加密后, 检査 KeyRef参数指示的中 间实体或对端终端的公钥是否缓存在本地, 如果不是则进入步骤 407, 公钥服务 设备根据 KeyRef [117] Next, proceeding to step 406, after receiving the message, the public key service device also checks the method parameter in the Security-Helper header field, and after determining that the terminal currently requests encryption, checks the intermediate entity or pair indicated by the KeyRef parameter. Whether the public key of the terminal is cached locally, if not, then proceeds to step 407, and the public key service device according to the KeyRef
参数从证书服务器获得相应实体的公钥, 公钥服务设备可以通过接口 Y与证书服 务器建立连接, 获得需要知道消息内容的实体的公钥, 获得公钥的过程可以基 于 HTTP, LDAP, SIP等, 接着进入步骤 408; 反之, 如果 KeyRef参数指示的中 间实体或对端终端的公钥是缓存在本地, 则直接进入步骤 408, The parameter obtains the public key of the corresponding entity from the certificate server, and the public key service device can establish a connection with the certificate server through the interface Y, and obtain the public key of the entity that needs to know the content of the message. The process of obtaining the public key can be based on HTTP, LDAP, SIP, etc. Then proceed to step 408; otherwise, if the public key of the intermediate entity or the peer terminal indicated by the KeyRef parameter is cached locally, then the process proceeds directly to step 408.
公钥服务设备使用 KeyRef参数指示的实体的公钥对内容密钥进行加密。 为了减 少公钥获得所消耗的吋间, 公钥服务设备也可以将相应实体的公钥保存在本地 , 并向证书服务器订阅实体的证书更新通知, 当某个实体的公钥更新吋, 可以 及吋得到最新的公钥, The public key service device encrypts the content key using the public key of the entity indicated by the KeyRef parameter. In order to reduce the time consumed by the public key acquisition, the public key service device may also save the public key of the corresponding entity locally, and subscribe to the certificate update notification of the entity to the certificate server, when the public key of an entity is updated,吋Get the latest public key,
[118] 接着进入步骤 409, 公钥服务设备将加密后的内容密钥返回给终端。 [118] Next, proceeding to step 409, the public key service device returns the encrypted content key to the terminal.
[119] 接着进入步骤 410, 终端使用其生成的内容密钥对签名后的消息内容进行加密 [119] Next, proceeding to step 410, the terminal encrypts the signed message content by using the generated content key thereof.
[120] 接着进入步骤 411, 终端将其加密后的消息和经过公钥加密的内容密钥向对端 终端发送。
[121] 在加密的过程中, 为了提高加密的安全级别, 需注意如下几点: [120] Next, proceeding to step 411, the terminal sends the encrypted message and the content key encrypted by the public key to the opposite terminal. [121] In the process of encryption, in order to improve the security level of encryption, the following points should be noted:
[122] 1.终端与公钥服务设备之间必须通过安全连接进行信息交互, 如 IPSec等。 [122] 1. The terminal and the public key service device must exchange information through a secure connection, such as IPSec.
[123] 2.公钥服务设备对消息的加密和签名处理独立于该公钥服务设备中的其它操作 , 如证书获取 /更新等。 [123] 2. The public key service device encrypts and signs the message independently of other operations in the public key service device, such as certificate acquisition/update.
[124] 3.在非必要吋, 公钥服务设备不拥有终端的私钥, 当需要进行签名吋, 公钥服 务设备使用自己的私钥进行签名, 以保证终端的私钥不被泄密。 [124] 3. After non-essential, the public key service device does not own the private key of the terminal. When signature is required, the public key service device uses its own private key to sign to ensure that the private key of the terminal is not compromised.
[125] 4.终端和公钥服务设备间的消息禁止普通的公钥服务设备维护人员跟踪, 并为 消息的维护操作设置日志记录, 在发生特殊情况吋, 可以在日志的监视下进行 消息的跟踪。 通过这一方式防止终端的消息或密钥被泄漏。 [125] 4. The message between the terminal and the public key service device prohibits the maintenance of the ordinary public key service device maintenance personnel, and sets the log record for the maintenance operation of the message. In the special case, the message can be monitored under the monitoring of the log. track. In this way, the message or key of the terminal is prevented from being leaked.
[126] 5.公钥服务设备禁止保存终端的内容密钥, 公钥服务设备对于密钥和密钥重用 过程应该是完全无状态的。 [126] 5. The public key service device prohibits the preservation of the content key of the terminal, and the public key service device should be completely stateless for the key and key reuse process.
[127] 6.所述终端和所述公钥服务设备之间的安全连接与所述终端和 SIP服务器间的安 全连接相互独立。 使得公钥服务设备在对部分的消息内容进行签名或者对内容 密钥进行加密后, 依然无法知道通讯的内容。 [127] 6. The secure connection between the terminal and the public key service device is independent of the secure connection between the terminal and the SIP server. After the public key service device signs part of the message content or encrypts the content key, the content of the communication cannot be known.
[128] 下面对接口 Z上终端发送的 SIP消息进行示例 (括号里的字体是对消息的说明, 不属于消息的一部分) : [128] The following is an example of a SIP message sent by a terminal on interface Z. The font in parentheses is a description of the message and is not part of the message:
[129] 在此消息中, 终端请求公钥服务设备 [129] In this message, the terminal requests the public key service device
[130] 1·对 SDP消息进行签名; [130] 1. Sign the SDP message;
[131] 2·将终端用于 SDP [131] 2. Use the terminal for SDP
加密的内容密钥使用 pizzahut.exampleB .com主机的公钥进行加密。 The encrypted content key is encrypted using the public key of the pizzahut.exampleB .com host.
[132] MESSAGE sip:public-key-service.exampleA.com SIP/2.0 [132] MESSAGE sip:public-key-service.exampleA.com SIP/2.0
[133] Via: SIP/2.0/UDP pc33.exampleA.com;branch=z9hG4bK776asdhds [133] Via: SIP/2.0/UDP pc33.exampleA.com;branch=z9hG4bK776asdhds
[134] Max-Forwards: 70 [134] Max-Forwards: 70
[135] To: <sip:public-key-service.exampleA.com> [135] To: <sip:public-key-service.exampleA.com>
[136] From: Alice <sip: alice @ exampleA.com>;tag= 1928301774 [136] From: Alice <sip: alice @ exampleA.com>;tag= 1928301774
[137] Call-ID: a84b4c76e66710@pc33.exampleA.com [137] Call-ID: a84b4c76e66710@pc33.exampleA.com
[138] CSeq: 3 MESSAGE [138] CSeq: 3 MESSAGE
[139] Contact: <sip : alice @ pc33. example A.com>
Security-Helper: method=sign ;cid=' 'telotardmdst @ example A. com' [139] Contact: <sip : alice @ pc33. example A.com> Security-Helper: method=sign ;cid=''telotardmdst @ example A. com'
Security-Helper: method=encrypt;hostref=pizzahut.exampleB.com; Security-Helper: method=encrypt;hostref=pizzahut.exampleB.com;
Content- Type: multipart/mixed;boundary="boundary- 1 Content- Type: multipart/mixed;boundary="boundary- 1
Content-Length: XXX Content-Length: XXX
-boundary- 1 -boundary- 1
Content- Type: application/sdp Content- Type: application/sdp
Content- ID: <telotardmdst@exampleA.com> Content- ID: <telotardmdst@exampleA.com>
v=0 V=0
o=alice 53655765 2353687637 IN IP4 pc33.atlanta.com o=alice 53655765 2353687637 IN IP4 pc33.atlanta.com
s=- t=00 s=- t=00
c=IN IP4 pc33.atlanta.com c=IN IP4 pc33.atlanta.com
m=audio 3456 RTP/AVP 0 1 3 99 m=audio 3456 RTP/AVP 0 1 3 99
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
boundary- 1 Boundary-1
Content- Type: application/text Content- Type: application/text
Content- ID: <atyydsdcstm@ exampleA.com> Content- ID: <atyydsdcstm@ exampleA.com>
Sdfasdfadfasdagetetetetetlteooyytmyts (此处是终端用于加密的内容密钥, 但是
Sdfasdfadfasdagetetetetetlteooyytmyts (here is the content key used by the terminal for encryption, but
-boundary- 1 -boundary- 1
公钥服务设备根据终端的请求对相应内容进行签名及加密后, 在接口 Z上返回 的消息如下: After the public key service device signs and encrypts the corresponding content according to the request of the terminal, the message returned on the interface Z is as follows:
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.exampleA.com;branch=z9hG4bK776asdhds Via: SIP/2.0/UDP pc33.exampleA.com;branch=z9hG4bK776asdhds
To: <sip:public-key-service.exampleA.com> To: <sip:public-key-service.exampleA.com>
From: Alice <sip: alice @ exampleA.com>;tag= 1928301774
:166] Call-ID: a84b4c76e66710@pc33.exampleA.com From: Alice <sip: alice @ exampleA.com>;tag= 1928301774 :166] Call-ID: a84b4c76e66710@pc33.exampleA.com
:167] CSeq: 3 MESSAGE :167] CSeq: 3 MESSAGE
168] Security-Response:orig-cid=''telotardmdst@exampleA.com'';new-cid=''1234@exam pleA.com" , 168] Security-Response: orig-cid=''telotardmdst@exampleA.com'';new-cid=''1234@exam pleA.com" ,
169] orig-cid="atyydsdcstm@exampleA.com";new-cid="5678@exampleA.com"; 169] orig-cid="atyydsdcstm@exampleA.com";new-cid="5678@exampleA.com";
170] hostref=pizzahut.exampleB .com 170] hostref=pizzahut.exampleB .com
171] Content- Type: multipart/mixed;boundary="boundary-l" 171] Content- Type: multipart/mixed;boundary="boundary-l"
:172] Content-Length: XXX (此处填入实际的长度) :172] Content-Length: XXX (fill in the actual length here)
;173] — boundaryl (第一部分, 经过数字签名后的消息体) ;173] — boundaryl (Part 1, digitally signed message body)
174] Content- Type: application/pkcs7-signature; name=smime.p7s 174] Content- Type: application/pkcs7-signature; name=smime.p7s
175] Content- Transfer-Encoding: base64 175] Content- Transfer-Encoding: base64
176] Content-ID: < 1234 @ exampleA.com> 176] Content-ID: < 1234 @ exampleA.com>
177] Content-Disposition: attachment; filename=smime.p7s; 177] Content-Disposition: attachment; filename=smime.p7s;
178] handling=required 178] handling=required
:179] ghyHhHUujhJ jH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT6 :179] ghyHhHUujhJ jH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT6
; 180] 4VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJ 756tbB9HGTrfvbnj; 180] 4VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJ 756tbB9HGTrfvbnj
:181] n8HHGTrfvhJ jH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4:181] n8HHGTrfvhJ jH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4
:182] 7GhIGfHfYT64VQbnj756 :182] 7GhIGfHfYT64VQbnj756
183] boundaryl (第二咅 |5分, 使用 pizzahut.exampleB.com 183] boundaryl (second 咅 |5 points, using pizzahut.exampleB.com
公钥加密的内容密钥) Public key encrypted content key)
184] Content- Type: application/pkcs7-mime; smime-type=enveloped-data; 184] Content- Type: application/pkcs7-mime; smime-type=enveloped-data;
185] name=smime.p7m 185] name=smime.p7m
186] Content- Transfer-Encoding: base64 186] Content- Transfer-Encoding: base64
187] Content-Disposition: attachment; filename=smime.p7m 187] Content-Disposition: attachment; filename=smime.p7m
188] Content-ID: <5678@exampleA.com> 188] Content-ID: <5678@exampleA.com>
190] * Sdfasdfadfasdagetetetetetlteooyytmyts * 190] * Sdfasdfadfasdagetetetetetlteooyytmyts *
:191]
[192] boundary- 1 :191] [192] boundary- 1
[193] 下面对通信系统中消息加密后的解密方法进行简单说明。 [193] The following briefly describes the decryption method after the message is encrypted in the communication system.
[194] 如图 5所示, 在步骤 510中, 消息传递路径中需要知道消息内容的中间实体或终 端收到来自终端的加密后的消息和经公钥加密的内容密钥后, 首先使用自身的 私钥解密出内容密钥。 [194] As shown in FIG. 5, in step 510, an intermediate entity or terminal in the message delivery path that needs to know the content of the message first uses itself after receiving the encrypted message from the terminal and the content key encrypted by the public key. The private key decrypts the content key.
[195] 接着进入步骤 520, 中间实体或终端使用该内容密钥解密消息的内容。 [195] Next, proceeding to step 520, the intermediate entity or terminal decrypts the content of the message using the content key.
[196] 在解密出消息的内容后, 接着进入步骤 530, 以公钥服务设备签名使用的第一 私钥对应的公钥进行签名验证。 如果该公钥服务设备签名使用的第一私钥是公 钥服务设备的私钥, 则使用公钥服务设备的公钥对消息的内容进行验证, 从而 确定消息的来源; 如果该公钥服务设备签名使用的第一私钥是终端的私钥, 则 使用该终端的公钥对消息的内容进行验证。 [196] After decrypting the content of the message, proceeding to step 530, the signature verification is performed using the public key corresponding to the first private key used by the public key service device to sign. If the first private key used by the public key service device signature is the private key of the public key service device, the public key of the public key service device is used to verify the content of the message, thereby determining the source of the message; if the public key service device The first private key used for the signature is the private key of the terminal, and the content of the message is verified using the public key of the terminal.
[197] 下面对本发明第二实施方式进行说明, 第二实施方式仅涉及通信系统中消息签 名的方法。 在本实施方式中, 终端在需要对消息内容进行签名吋, 如在加密待 发送的消息之前, 将需要签名的消息内容发送给公钥服务设备, 由公钥服务设 备使用第一私钥对该消息内容进行签名, 并将签名后的消息返回该终端。 其中 需要签名的消息内容可以是 SIP消息的消息体或指定头域, 用于签名的第一私钥 可以是公钥服务设备的私钥或终端的私钥。 对于第一私钥是公钥服务设备的私 钥的情况, 公钥服务设备必须预先对终端进行认证, 由于公钥服务设备和终端 是在同一个接入域中的, 因此认证是可以实现的, 在终端通过认证的情况下, 公钥服务设备为终端进行消息内容的签名, 以确保消息来源的安全性。 由于釆 用公钥服务设备的私钥进行签名可以确保终端的私钥不被泄密, 且安全性能够 得到保证, 因此较为理想。 当然, 如果第一私钥是终端的私钥, 则可以唯一确 定消息的来源, 在消息来源的安全性上更有保障。 需要注意的是, 为了保证消 息内容不外泄, 终端与公钥服务设备之间必须通过独立的安全连接进行信息的 交互。 Next, a second embodiment of the present invention will be described. The second embodiment relates only to a method of message signing in a communication system. In this embodiment, after the terminal needs to sign the message content, for example, before encrypting the message to be sent, the content of the message that needs to be signed is sent to the public key service device, and the public key service device uses the first private key to The message content is signed and the signed message is returned to the terminal. The content of the message to be signed may be the message body of the SIP message or the specified header field, and the first private key used for the signature may be the private key of the public key service device or the private key of the terminal. For the case where the first private key is the private key of the public key service device, the public key service device must authenticate the terminal in advance. Since the public key service device and the terminal are in the same access domain, the authentication is achievable. In the case that the terminal is authenticated, the public key service device signs the message content for the terminal to ensure the security of the message source. Since the signature of the public key of the public key service device is used to ensure that the private key of the terminal is not compromised and security is ensured, it is ideal. Of course, if the first private key is the private key of the terminal, the source of the message can be uniquely determined, and the security of the source is more secure. It should be noted that in order to ensure that the content of the message is not leaked, the terminal and the public key service device must exchange information through an independent secure connection.
[198] 下面对本发明第三实施方式进行说明, 第三实施方式涉及通信系统中消息加密 的系统, 如图 6所示, 该加密系统包含终端、 公钥服务设备和证书服务器。 其中 , 终端包含生成模块, 用于为待发送的消息生成内容密钥; 第一加密模块, 用
于使用生成模块生成的内容密钥对消息的内容加密; 第一收发模块, 用于将生 成模块所生成的内容密钥发送到公钥服务设备进行加密, 并从公钥服务设备接 收加密后的内容密钥, 将该加密后的内容密钥和第一加密模块加密后的消息向 消息传递路径中需要知道消息内容的中间实体或对端终端发送。 所述第一收发 模块还用于将所述待发送的消息的内容发送到所述公钥服务设备进行签名, 以 及接收所述公钥服务设备返回的经签名后的消息内容; 所述第一加密模块使用 内容密钥加密的消息内容为经签名的消息内容。 The following describes a third embodiment of the present invention. The third embodiment relates to a system for encrypting a message in a communication system. As shown in FIG. 6, the encryption system includes a terminal, a public key service device, and a certificate server. The terminal includes a generating module, configured to generate a content key for the message to be sent; Encrypting the content of the message by using the content key generated by the generating module; the first transceiver module is configured to send the content key generated by the generating module to the public key service device for encryption, and receive the encrypted content from the public key service device The content key, the encrypted content key and the encrypted message of the first encryption module are sent to an intermediate entity or a peer terminal in the message delivery path that needs to know the content of the message. The first transceiver module is further configured to send the content of the message to be sent to the public key service device for signature, and receive the signed message content returned by the public key service device; The message content encrypted by the encryption module using the content key is the signed message content.
[199] 公钥服务设备包含: 第二收发模块, 用于接收来自终端的用于加密终端待发送 消息内容的内容密钥; 第二加密模块, 用于获得需要知道消息内容的实体的公 钥, 并使用需要知道消息内容的实体的公钥对来自第二收发模块的内容密钥加 密, 由第二收发模块将加密后的内容密钥返回终端。 该需要知道消息内容的实 体的公钥可以从证书服务器获得, 也可以从本地获得, 且该需要知道消息内容 的实体是消息传递路径中的中间实体或对端终端。 [199] The public key service device includes: a second transceiver module, configured to receive a content key from the terminal for encrypting the content of the message to be sent by the terminal; and a second encryption module, configured to obtain a public key of an entity that needs to know the content of the message And encrypting the content key from the second transceiver module using the public key of the entity that needs to know the content of the message, and returning the encrypted content key to the terminal by the second transceiver module. The public key of the entity that needs to know the content of the message can be obtained from the certificate server or locally, and the entity that needs to know the content of the message is an intermediate entity or a peer terminal in the message delivery path.
[200] 本实施例通过将计算量十分大的公钥加密操作从终端上分离, 转而由专门的公 钥服务设备完成此部分功能, 使得终端只需进行一些计算量较小的常规加密, 大大减少了终端的负担, 且终端无需配置公钥体系专门的加密和解密芯片 /软件 , 降低了终端的成本和负担的同吋, 由于公钥服务可以设计为有较强处理能力 的设备, 从而可以加快加密的过程, 缩短呼叫接续吋间, 并且进一步保障了内 容密钥加密的安全性。 另外, 由于公钥服务设备上的公钥加密和解密芯片 /软件 , 可以在多个终端间进行统计复用, 所以保持一定的收敛比 (例如 1000个终端 , 只配置 100个芯片) , 可以降低整个网络的成本。 [200] In this embodiment, the public key encryption operation with a very large amount of calculation is separated from the terminal, and then the special public key service device performs the partial functions, so that the terminal only needs to perform some conventional encryption with a small amount of calculation. The burden on the terminal is greatly reduced, and the terminal does not need to configure the special encryption and decryption chip/software of the public key system, thereby reducing the cost and burden of the terminal, since the public key service can be designed as a device with strong processing capability, thereby It can speed up the encryption process, shorten the call connection time, and further ensure the security of content key encryption. In addition, due to the public key encryption and decryption chip/software on the public key service device, statistical multiplexing can be performed among multiple terminals, so a certain convergence ratio (for example, 1000 terminals, only 100 chips) can be maintained, which can be reduced. The cost of the entire network.
[201] 为了使得接收消息的中间实体或对端终端能够确定消息的来源, 避免受到来源 不明的信息攻击, 双向确保消息传输的安全性, 在公钥服务设备还包含: 签名 模块, 终端在对消息的内容加密之前, 可以通过第一收发模块将消息内容发送 给公钥服务设备, 由公钥服务设备的签名模块使用第一私钥对消息的内容进行 签名, 以确定消息来源的安全性。 用于签名的第一私钥可以是公钥服务设备的 私钥或终端的私钥。 对于第一私钥是公钥服务设备的私钥的情况, 公钥服务设 备可以预先对终端进行认证, 在终端通过认证的情况下, 公钥服务设备为终端
进行消息内容的签名。 釆用公钥服务设备的私钥进行签名使得消息来源安全性 得到保证的同吋, 可以避免终端的私钥被泄密, 因此较为理想。 当然, 如果第 一私钥是终端的私钥, 则可以唯一确定消息的来源, 在消息来源的安全性上更 有保障。 需要注意的是, 为了提高信息交互的安全性, 防止终端消息内容或私 钥泄漏, 终端与公钥服务设备之间必须通过独立的安全连接进行信息的交互。 [201] In order to enable the intermediate entity or the peer terminal receiving the message to determine the source of the message, to avoid the information attack of unknown source, and to ensure the security of the message transmission in both directions, the public key service device further includes: a signature module, and the terminal is in the right Before the content of the message is encrypted, the content of the message may be sent to the public key service device by the first transceiver module, and the signature module of the public key service device uses the first private key to sign the content of the message to determine the security of the message source. The first private key used for the signature may be the private key of the public key service device or the private key of the terminal. For the case where the first private key is the private key of the public key service device, the public key service device may authenticate the terminal in advance, and in the case that the terminal passes the authentication, the public key service device is the terminal. Sign the message content. It is ideal to use the private key of the public key service device to sign the peer to ensure that the security of the source is secured. Of course, if the first private key is the private key of the terminal, the source of the message can be uniquely determined, and the security of the source is more secure. It should be noted that in order to improve the security of information interaction and prevent the leakage of the terminal message content or the private key, the terminal and the public key service device must exchange information through an independent secure connection.
[202] 值得一提的是, 在实际应用中, 本实施方式中终端以及公钥服务设备中的各模 块可以各自通过独立的物理单元实现, 也可以合并到同一个物理单元实现, 只 要能够实现各模块对应的功能即能够达到本发明的效果。 [202] It is worth mentioning that, in practical applications, each module in the terminal and the public key service device in the embodiment may be implemented by independent physical units, or may be combined into the same physical unit, as long as it can be implemented. The function corresponding to each module can achieve the effects of the present invention.
[203] 下面对本发明第四实施方式进行说明, 第四实施方式将通信系统中的消息签名 从加密系统中独立出来, 形成独立的签名系统。 该系统包含终端和公钥服务设 备, 其中, 终端包含第一收发模块, 用于将需要签名的消息内容发送给公钥服 务设备, 并从公钥服务设备接收签名后的消息内容; 公钥服务设备包含第二收 发模块, 用于接收来自终端的需要签名的消息内容; 签名模块, 用于使用第一 私钥对第二收发模块收到的消息内容进行签名, 并由第二收发模块将签名后的 消息内容发送给终端。 The fourth embodiment of the present invention will now be described. The fourth embodiment separates the message signatures in the communication system from the encryption system to form an independent signature system. The system includes a terminal and a public key service device, where the terminal includes a first transceiver module, configured to send the content of the message that needs to be signed to the public key service device, and receive the signed message content from the public key service device; The device includes a second transceiver module, configured to receive a message content from the terminal that needs to be signed, and a signature module, configured to sign, by using the first private key, the content of the message received by the second transceiver module, and the signature is performed by the second transceiver module The content of the message is sent to the terminal.
[204] 虽然通过参照本发明的某些优选实施方式, 已经对本发明进行了图示和描述, 但本领域的普通技术人员应该明白, 可以在形式上和细节上对其作各种改变, 而不偏离本发明的精神和范围。
While the invention has been illustrated and described with reference to the preferred embodiments embodiments of the present invention The spirit and scope of the invention are not departed.
Claims
[1] 1 . 一种通信系统中消息加密的方法, 其特征在于, 包括: [1] 1. A method for encrypting a message in a communication system, comprising:
终端为待发送的消息生成内容密钥, 将所生成的内容密钥发送到公钥服务 设备, 其中, 所述公钥服务设备用于使用需要知道该消息内容的实体的公 钥对该内容密钥加密, 并将加密后的所述内容密钥返回所述终端; 终端使用所述生成的内容密钥对所述待发送的消息的内容进行加密; 终端接收加密后的内容密钥, 并发送所述加密后的消息和所述经公钥加密 的内容密钥。 The terminal generates a content key for the message to be sent, and sends the generated content key to the public key service device, wherein the public key service device is configured to use the public key of the entity that needs to know the content of the message to encrypt the content. Key encryption, and returning the encrypted content key to the terminal; the terminal encrypts the content of the message to be sent by using the generated content key; the terminal receives the encrypted content key, and sends The encrypted message and the public key encrypted content key.
[2] 2. 根据权利要求 1所述的通信系统中消息加密的方法, 其特征在于, 所述 终端通过以下方式之一获得所述公钥服务设备的地址: [2] The method for encrypting a message in a communication system according to claim 1, wherein the terminal obtains an address of the public key service device by one of the following methods:
所述终端获得本地固定配置的公钥服务设备的地址; 或, Obtaining, by the terminal, an address of a locally fixed public key service device; or
接收通过动态主机配置协议通知的所述公钥服务设备的地址; 或 在分组数据协议上下文建立过程中, 所述终端接收所述公钥服务设备的地 址, 其中所述终端是移动终端。 Receiving an address of the public key service device notified by a dynamic host configuration protocol; or receiving, in a packet data protocol context establishment process, an address of the public key service device, wherein the terminal is a mobile terminal.
[3] 3. 根据权利要求 1所述的通信系统中消息加密的方法, 其特征在于, 所述 终端在对所述待发送的消息的内容加密之前, 还包括: [3] The method for encrypting a message in the communication system according to claim 1, wherein the terminal further comprises: before encrypting the content of the message to be sent, the terminal further comprises:
将所述待发送的消息的内容发送给所述公钥服务设备, 其中, 所述公钥服 务设备用于使用第一私钥对所述待发送消息的内容进行签名, 并将所述签 名后的消息返回所述终端; Sending the content of the to-be-sent message to the public key service device, where the public key service device is configured to sign the content of the to-be-sent message by using the first private key, and after the signature Message back to the terminal;
所述终端使用所述生成的内容密钥对所述经签名的消息内容进行加密。 The terminal encrypts the signed message content using the generated content key.
[4] 4. 根据权利要求 3所述的通信系统中消息加密的方法, 其特征在于, 所述 第一私钥包括: 所述公钥服务设备的私钥或所述终端的私钥。 [4] The method for encrypting a message in a communication system according to claim 3, wherein the first private key comprises: a private key of the public key service device or a private key of the terminal.
[5] 5. 根据权利要求 3所述的通信系统中消息加密的方法, 其特征在于, 所述 待发送的消息是会话初始协议 SIP消息, 所述待发送的消息的内容为 SIP消 息的消息体和 /或指定头域。 [5] The method for encrypting a message in the communication system according to claim 3, wherein the message to be sent is a session initiation protocol SIP message, and the content of the message to be sent is a message of a SIP message. Body and / or specify the header field.
[6] 6. 根据权利要求 5所述的通信系统中消息加密的方法, 其特征在于, 在所 述 SIP消息中包含用于请求加密或签名的第一头域, 所述第一头域包含以下 之一或其任意组合:
指示终端请求签名或请求加密的信息; [6] 6. The method for encrypting a message in a communication system according to claim 5, wherein the SIP message includes a first header field for requesting encryption or signature, and the first header field includes One of the following or any combination: Instructing the terminal to request signature or request for encrypted information;
标识所述消息中请求签名或加密的内容的信息; Identifying information in the message requesting to sign or encrypt content;
指示所述需要知道该消息内容的实体的信息。 Information indicating the entity that needs to know the content of the message.
[7] 7. 根据权利要求 1至 6中任一项所述的通信系统中消息加密的方法, 其特征 在于, 所述终端通过第二接口与所述公钥服务设备之间建立安全连接, 并 通过所述安全连接与所述公钥服务设备进行信息的交互; [7] The method for encrypting a message in a communication system according to any one of claims 1 to 6, wherein the terminal establishes a secure connection with the public key service device through the second interface, And interacting with the public key service device through the secure connection;
所述第二接口基于安全的连接协议; The second interface is based on a secure connection protocol;
所述第二接口是私有接口或 SIP接口。 The second interface is a private interface or a SIP interface.
[8] 8. 一种通信系统中消息加密的方法, 其特征在于, 包括: [8] 8. A method for encrypting a message in a communication system, comprising:
公钥服务设备接收用于对消息内容进行加密的内容密钥; The public key service device receives a content key for encrypting the message content;
使用需要知道该消息内容的实体的公钥对所述内容密钥加密; 发送所述加密后的内容密钥。 Encrypting the content key using a public key of an entity that needs to know the content of the message; transmitting the encrypted content key.
[9] 9. 根据权利要求 8所述的通信系统中消息加密的方法, 其特征在于, 还包 括: [9] 9. The method for encrypting a message in a communication system according to claim 8, further comprising:
公钥服务设备接收待签名的消息内容; The public key service device receives the message content to be signed;
使用获得的第一私钥对所述消息内容进行签名; Signing the message content using the obtained first private key;
发送所述签名后的消息内容。 Sending the signed message content.
[10] 10. 根据权利要求 9所述的通信系统中消息加密的方法, 其特征在于, 所述 第一私钥包括: 所述公钥服务设备的私钥或发送所述消息内容的终端的私 钥。 [10] The method for encrypting a message in a communication system according to claim 9, wherein the first private key comprises: a private key of the public key service device or a terminal that sends the message content Private key.
[11] 11 . 根据权利要求 9所述的通信系统中消息加密的方法, 其特征在于, 所述 公钥服务设备接收的消息中包括: 用于请求加密或签名的第一头域, 所述 第一头域包含以下之一或其任意组合: [11] The method for encrypting a message in a communication system according to claim 9, wherein the message received by the public key service device comprises: a first header field for requesting encryption or signature, The first header field contains one of the following or any combination thereof:
指示终端请求签名或请求加密的信息; Instructing the terminal to request signature or request for encrypted information;
标识所述消息中请求签名或加密的内容的信息; Identifying information in the message requesting to sign or encrypt content;
指示所述需要知道该消息内容的实体的信息。 Information indicating the entity that needs to know the content of the message.
[12] 12. 根据权利要求 11所述的通信系统中消息加密的方法, 其特征在于, 在 所述公钥服务设备接收的消息中还包含可选标签, 所述公钥服务设备在无
能力加密或签名所述消息中的内容吋, 通过该可选标签返回失败指示。 [12] 12. The method for encrypting a message in a communication system according to claim 11, wherein the message received by the public key service device further includes an optional label, and the public key service device is The ability to encrypt or sign the content in the message 返回, returning a failure indication via the optional tag.
[13] 13. 根据权利要求 8所述的通信系统中消息加密的方法, 其特征在于, 所述 需要知道该消息内容的实体的公钥是通过如下方式获得的: 所述公钥服务设备从证书服务器或本地获得所述需要知道消息内容的实体 的公钥。 [13] The method for encrypting a message in a communication system according to claim 8, wherein the public key of the entity that needs to know the content of the message is obtained by: the public key service device The certificate server or the public key of the entity that needs to know the content of the message is obtained locally.
[14] 14. 根据权利要求 13所述的通信系统中消息加密的方法, 其特征在于, 所 述公钥服务设备通过第一接口与所述证书服务器建立连接, 获得所述需要 知道消息内容的实体的公钥; [14] 14. The method for encrypting a message in a communication system according to claim 13, wherein the public key service device establishes a connection with the certificate server through the first interface, and obtains the content that needs to know the message. The public key of the entity;
所述第一接口是超文本传输协议接口或 SIP接口。 The first interface is a hypertext transfer protocol interface or a SIP interface.
[15] 15. 根据权利要求 9或 11所述的通信系统中消息加密的方法, 其特征在于, 所述公钥服务设备接收的消息中包括: 用于返回加密或签名后内容的第二 头域, 所述第二头域包含以下之一或其任意组合: [15] The method for encrypting a message in a communication system according to claim 9 or 11, wherein the message received by the public key service device comprises: a second header for returning encrypted or signed content The second header field includes one of the following or any combination thereof:
指示所述消息中请求签名或加密的内容的信息; Indicating information of the content requested to be signed or encrypted in the message;
标识所述消息中经签名或加密后的内容的信息; Identifying information of the signed or encrypted content in the message;
指示所述需要知道该消息内容的实体的信息。 Information indicating the entity that needs to know the content of the message.
[16] 16. 根据权利要求 8所述的通信系统中消息加密的方法, 其特征在于, 所述 公钥服务设备禁止普通维护人员对公钥服务设备与其他设备间的消息进行 跟踪, 并为所述消息的维护操作设置日志记录。 [16] 16. The method for encrypting a message in a communication system according to claim 8, wherein the public key service device prohibits a general maintenance personnel from tracking messages between the public key service device and other devices, and The maintenance operation of the message sets a log record.
[17] 17. 根据权利要求 8所述的通信系统中消息加密的方法, 其特征在于, 所述 公钥服务设备禁止保存所述内容密钥。 [17] 17. The method of message encryption in a communication system according to claim 8, wherein the public key service device prohibits saving the content key.
[18] 18. 根据权利要求 8所述的通信系统中消息加密的方法, 其特征在于, 所述 需要知道消息内容的实体是消息传递路径中的中间实体或对端终端。 [18] 18. The method for encrypting a message in a communication system according to claim 8, wherein the entity that needs to know the content of the message is an intermediate entity or a peer terminal in the message delivery path.
[19] 19. 一种通信系统中消息签名的方法, 其特征在于, 包括: [19] 19. A method for message signature in a communication system, comprising:
终端将需要签名的消息内容发送给公钥服务设备, 其中, 所述公钥服务设 备用于使用第一私钥对所述消息内容进行签名, 并将所述签名后的消息返 回所述终端; The terminal sends the message content that needs to be signed to the public key service device, where the public key service device is configured to sign the message content by using the first private key, and return the signed message to the terminal;
终端接收所述经签名后的消息。 The terminal receives the signed message.
[20] 20. 根据权利要求 19所述的通信系统中消息签名的方法, 其特征在于, 所
述第一私钥包括: 所述公钥服务设备的私钥或所述终端的私钥。 [20] 20. The method of message signature in a communication system according to claim 19, wherein The first private key includes: a private key of the public key service device or a private key of the terminal.
[21] 21 . 根据权利要求 19所述的通信系统中消息签名的方法, 其特征在于, 所 述需要签名的消息是会话初始协议 SIP消息, 所述需要签名的消息的内容为[21] The method for message signature in a communication system according to claim 19, wherein the message to be signed is a session initiation protocol SIP message, and the content of the message to be signed is
SIP消息的消息体和 /或指定头域。 The message body of the SIP message and/or the specified header field.
[22] 22. 一种通信系统中消息加密的系统, 其特征在于, 包含: [22] 22. A system for encrypting messages in a communication system, comprising:
终端, 用于为待发送的消息生成内容密钥并发送, 以及接收加密后的内容 密钥, 并使用所述生成的内容密钥对所述消息的内容加密, 将所述加密后 的内容密钥和所述加密后的消息发送; a terminal, configured to generate a content key for the message to be sent and send, and receive the encrypted content key, and encrypt the content of the message by using the generated content key, and encrypt the encrypted content Key and the encrypted message are sent;
公钥服务设备, 用于接收所述终端发送的内容密钥, 使用需要知道该消息 内容的实体的公钥对该内容密钥加密, 并返回给所述终端。 And a public key service device, configured to receive a content key sent by the terminal, encrypt the content key by using a public key of an entity that needs to know the content of the message, and return the content key to the terminal.
[23] 23. 根据权利要求 22所述的通信系统中消息加密的系统, 其特征在于, 还 包含证书服务器, 所述公钥服务设备, 还用于从所述证书服务器获得所述 需要知道消息内容的实体的公钥。 [23] 23. The system for encrypting a message in a communication system according to claim 22, further comprising a certificate server, wherein the public key service device is further configured to obtain the need to know the message from the certificate server. The public key of the entity of the content.
[24] 24. 一种终端, 其特征在于, 包含: [24] 24. A terminal, comprising:
生成模块, 用于为待发送的消息生成内容密钥; a generating module, configured to generate a content key for the message to be sent;
第一加密模块, 用于使用所述生成模块生成的内容密钥对所述消息的内容 加密; a first encryption module, configured to encrypt a content of the message by using a content key generated by the generating module;
第一收发模块, 用于将所述生成模块所生成的内容密钥发送到公钥服务设 备进行加密, 并从所述公钥服务设备接收加密后的内容密钥, 以及发送所 述加密后的内容密钥和所述第一加密模块加密后的消息。 a first transceiver module, configured to send a content key generated by the generating module to a public key service device for encryption, receive an encrypted content key from the public key service device, and send the encrypted a content key and a message encrypted by the first encryption module.
[25] 25. 根据权利要求 24所述的终端, 其特征在于, 所述第一收发模块还用于 将所述待发送的消息的内容发送到所述公钥服务设备进行签名, 以及接收 所述公钥服务设备返回的经签名后的消息内容; [25] 25. The terminal according to claim 24, wherein the first transceiver module is further configured to send the content of the message to be sent to the public key service device for signature, and receive the Decoding the signed message content returned by the public key service device;
所述第一加密模块使用内容密钥加密的消息内容为经签名的消息内容。 The message content encrypted by the first encryption module using the content key is the signed message content.
[26] 26. 一种公钥服务设备, 其特征在于, 包含: [26] 26. A public key service device, comprising:
第二收发模块, 用于接收来自终端的用于加密终端待发送消息内容的内容 密钥; a second transceiver module, configured to receive a content key from the terminal for encrypting the content of the message to be sent by the terminal;
第二加密模块, 用于使用需要知道所述消息内容的实体的公钥对所述第二
收发模块收到的内容密钥加密, 并由所述第二收发模块将加密后的内容密 钥返回所述终端。 a second encryption module, configured to use the public key pair of the entity that needs to know the content of the message The content key received by the transceiver module is encrypted, and the encrypted content key is returned by the second transceiver module to the terminal.
[27] 27 . 根据权利要求 26所述的公钥服务设备, 其特征在于, 还包含签名模块 [27] 27. The public key service device according to claim 26, further comprising a signature module
, 用于在所述第二收发模块接收来自所述终端的待发送消息的内容后, 使 用第一私钥对所述消息的内容进行签名, 并通过所述第二收发模块将所述 经签名后的消息内容返回所述终端。 And after the second transceiver module receives the content of the to-be-sent message from the terminal, using a first private key to sign the content of the message, and signing the signed by the second transceiver module The subsequent message content is returned to the terminal.
[28] 28 . 一种通信系统中消息签名的系统, 其特征在于, 包括: [28] 28. A system for message signing in a communication system, comprising:
终端, 用于将需要签名的消息内容发送给所述公钥服务设备, 并从所述公 钥服务设备接收签名后的消息内容; a terminal, configured to send a message content that needs to be signed to the public key service device, and receive the signed message content from the public key service device;
公钥服务设备, 用于接收来自终端的需要签名的消息内容,使用第一私钥对 所述消息内容进行签名, 并将所述签名后的消息内容发送给所述终端。 And a public key service device, configured to receive a message content from the terminal that needs to be signed, sign the content of the message by using a first private key, and send the signed message content to the terminal.
[29] 29. 一种终端, 其特征在于, 包含: [29] 29. A terminal, comprising:
第一收发模块, 用于将需要签名的消息内容发送给所述公钥服务设备, 并 从所述公钥服务设备接收签名后的消息内容。 The first transceiver module is configured to send the content of the message that needs to be signed to the public key service device, and receive the signed message content from the public key service device.
[30] 30. 一种公钥服务设备, 其特征在于, 包含: [30] 30. A public key service device, comprising:
第二收发模块, 用于接收来自终端的需要签名的消息内容; 签名模块, 用于使用第一私钥对所述第二收发模块收到的消息内容进行签 名, 并由所述第二收发模块将签名后的消息内容发送给所述终端。
a second transceiver module, configured to receive a message content that needs to be signed from the terminal, and a signature module, configured to sign, by using the first private key, the content of the message received by the second transceiver module, and by the second transceiver module The signed message content is sent to the terminal.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610153501 CN101141251B (en) | 2006-09-08 | 2006-09-08 | Method, system and equipment for message encryption signature in communication system |
CN200610153501.9 | 2006-09-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2008040213A1 true WO2008040213A1 (en) | 2008-04-10 |
Family
ID=39193020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2007/070664 WO2008040213A1 (en) | 2006-09-08 | 2007-09-10 | Message encryption and signature method, system and device in communication system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101141251B (en) |
WO (1) | WO2008040213A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137214B2 (en) | 2010-12-15 | 2015-09-15 | Microsoft Technology Licensing, Llc | Encrypted content streaming |
CN102752272A (en) * | 2011-04-22 | 2012-10-24 | 中兴通讯股份有限公司 | Method, system and device for processing digital signatures of media message |
CN105763571A (en) * | 2016-04-27 | 2016-07-13 | 蓝盾信息安全技术有限公司 | SIP-based asymmetric voice encryption |
CN108833091B (en) * | 2018-05-28 | 2021-03-12 | 武汉斗鱼网络科技有限公司 | Encryption method, decryption method and device for log file |
CN110572454A (en) * | 2019-09-11 | 2019-12-13 | 深圳钱客多信息科技有限公司 | Advertisement delivery system for guaranteeing safety of advertisement delivery process |
CN110768831B (en) * | 2019-10-24 | 2022-12-16 | 上海东谷云数字科技有限公司 | Method and system for acquiring monitoring plug-in |
CN113038459A (en) * | 2019-12-25 | 2021-06-25 | 中兴通讯股份有限公司 | Private information transmission method and device, computer equipment and computer readable medium |
CN111431890B (en) * | 2020-03-20 | 2021-12-03 | 苏州瑞立思科技有限公司 | Low-overhead intermediate server proxy transmission authentication method and device |
CN111756699B (en) * | 2020-05-28 | 2022-05-06 | 苏州浪潮智能科技有限公司 | LLDP protocol optimization method and system based on asymmetric encryption |
CN113992352B (en) * | 2021-09-27 | 2024-06-25 | 青岛海尔科技有限公司 | Message pushing method and device, electronic equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1350735A (en) * | 1999-05-10 | 2002-05-22 | 艾利森电话股份有限公司 | Indirect public-key encryption |
CN1470972A (en) * | 2002-06-28 | 2004-01-28 | System and method for providing key operation of safety server | |
CN1633062A (en) * | 2004-12-31 | 2005-06-29 | 北京中星微电子有限公司 | A secure transmission method for media content |
CN1679066A (en) * | 2002-07-12 | 2005-10-05 | 英格里安网络公司 | Network attached encryption |
CN1677978A (en) * | 2004-03-31 | 2005-10-05 | 微软公司 | Signing and validating session initiation protocol routing headers |
CN1798021A (en) * | 2004-12-28 | 2006-07-05 | 株式会社日立制作所 | Communication supporting server, method and system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1277365C (en) * | 2003-06-27 | 2006-09-27 | 武汉理工大学 | High performance and quick public pin encryption |
-
2006
- 2006-09-08 CN CN 200610153501 patent/CN101141251B/en not_active Expired - Fee Related
-
2007
- 2007-09-10 WO PCT/CN2007/070664 patent/WO2008040213A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1350735A (en) * | 1999-05-10 | 2002-05-22 | 艾利森电话股份有限公司 | Indirect public-key encryption |
CN1470972A (en) * | 2002-06-28 | 2004-01-28 | System and method for providing key operation of safety server | |
CN1679066A (en) * | 2002-07-12 | 2005-10-05 | 英格里安网络公司 | Network attached encryption |
CN1677978A (en) * | 2004-03-31 | 2005-10-05 | 微软公司 | Signing and validating session initiation protocol routing headers |
CN1798021A (en) * | 2004-12-28 | 2006-07-05 | 株式会社日立制作所 | Communication supporting server, method and system |
CN1633062A (en) * | 2004-12-31 | 2005-06-29 | 北京中星微电子有限公司 | A secure transmission method for media content |
Also Published As
Publication number | Publication date |
---|---|
CN101141251B (en) | 2012-05-23 |
CN101141251A (en) | 2008-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9537837B2 (en) | Method for ensuring media stream security in IP multimedia sub-system | |
Fischl et al. | Framework for establishing a secure real-time transport protocol (SRTP) security context using datagram transport layer security (DTLS) | |
JP5106682B2 (en) | Method and apparatus for machine-to-machine communication | |
US8832821B2 (en) | Method and apparatuses for end-to-edge media protection in an IMS system | |
Westerlund et al. | Options for securing RTP sessions | |
EP1717986B1 (en) | Key distribution method | |
WO2008040213A1 (en) | Message encryption and signature method, system and device in communication system | |
CN101379802B (en) | Method and device for the encoded transmission of media data between the media server and the subscriber terminal | |
US8713634B2 (en) | Systems, methods and computer program products supporting provision of web services using IMS | |
WO2011022999A1 (en) | Method and system for encrypting video conference data by terminal | |
WO2010124482A1 (en) | Method and system for implementing secure forking calling session in ip multi-media subsystem | |
KR101016277B1 (en) | Method and apparatus for sip registering and establishing sip session with enhanced security | |
US11218515B2 (en) | Media protection within the core network of an IMS network | |
Floroiu et al. | A comparative analysis of the security aspects of the multimedia key exchange protocols | |
Fischl et al. | RFC 5763: Framework for Establishing a Secure Real-time Transport Protocol (SRTP) Security Context Using Datagram Transport Layer Security (DTLS) | |
Westerlund et al. | RFC 7201: Options for Securing RTP Sessions | |
Rescorla | Internet Engineering Task Force (IETF) J. Fischl Request for Comments: 5763 Skype, Inc. Category: Standards Track H. Tschofenig | |
Alsmairat | Securing SIP in VoIP Domain | |
Rescorla | SIP J. Fischl Internet-Draft CounterPath Solutions, Inc. Intended status: Standards Track H. Tschofenig Expires: May 15, 2008 Nokia Siemens Networks | |
WO2008083620A1 (en) | A method, a system and an apparatus for media flow security context negotiation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07801072 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 07801072 Country of ref document: EP Kind code of ref document: A1 |