Transmission method, system, and related apparatus

The method of generating and verifying authentication codes in satellite communication systems addresses the lack of secure transmission mechanisms, ensuring secure and efficient data transfer by preventing repeated processing and billing issues.

JP2026016389APending Publication Date: 2026-02-03HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025159521
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-09-30
Filing Date
2025-09-25
Publication Date
2026-02-03

AI Technical Summary

Technical Problem

Satellite communication systems lack secure transmission mechanisms suitable for civilian terminals due to their long delays and limited air interface resources, making it difficult to implement secure data transmission protocols designed for cellular networks.

Method used

A method involving a transmitting device generating an authentication code based on specific information and data, which is then used to create a data packet, and a receiving device verifying the packet's reception status using a corresponding authentication code, ensuring secure and reliable data transmission in satellite systems.

Benefits of technology

This approach prevents repeated processing and billing issues by ensuring data packets are correctly received, thus enhancing security and efficiency in satellite communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026016389000001_ABST
    Figure 2026016389000001_ABST
Patent Text Reader

Abstract

Although a mature secure transmission mechanism exists in a cellular network, steps of the secure transmission mechanism in the cellular network are complex, and a large quantity of air interface resources are required for signaling exchange. The satellite communication system cannot support a secure transmission mechanism in a cellular network due to a long delay and limited air interface resources.SOLUTION: This application discloses a transmission method, a system, and a related apparatus. The sending device may generate the authentication code A based on the sending time information and the original data. The sending device may send, to a receiving device in the first transmission system, a data packet including the authentication code A. After receiving the data packet, the receiving device may generate the authentication code B based on the receiving time information and the data packet, and the receiving device may determine a receiving status of the data packet based on the authentication code B.SELECTED DRAWING: Figure 8A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority to Chinese Patent Application No. 202110878362.0, entitled "SECURE TRANSMISSION SOLUTION," filed with the State Intellectual Property Office of China on July 31, 2021, and Chinese Patent Application No. 202111166937.2, entitled "TRANSMISSION METHOD, SYSTEM, AND RELATED APPARATUS," filed with the State Intellectual Property Office of China on September 30, 2021, which are hereby incorporated by reference in their entireties.

[0002] This application relates to the field of satellite communications, and in particular to transmission methods, systems, and related devices. [Background technology]

[0003] Satellite communication services can be used for positioning and communication in areas where mobile communication is not possible or cannot be implemented, such as oceans, deserts, grasslands, and uninhabited areas, or where communication systems are damaged. Currently, satellite communication systems do not provide civilian terminals with secure transmission mechanisms for use. To securely transmit data between terminals and satellites, communication protocols need to be designed specifically for the characteristics of civilian services and devices and the characteristics of satellite communication systems.

[0004] Although a mature secure transmission mechanism exists in cellular networks, the steps of the secure transmission mechanism in cellular networks are complicated and require a large amount of air interface resources for signaling exchange.Satellite communication systems cannot support the secure transmission mechanism in cellular networks due to their long delay and limited air interface resources. Summary of the Invention [Means for solving the problem]

[0005] This application discloses a transmission method, system, and related apparatus. A transmitting device can generate an authentication code A based on information A and original data. The transmitting device can transmit a data packet including the authentication code A to a receiving device in a first transmission system. After receiving the data packet, the receiving device can generate an authentication code B based on information B and the data packet. The receiving device can determine the reception status of the data packet based on the authentication code B. Information A can be transmission time information and information B can be reception time information, or information A can be context information A and information B can be context information B. In this way, after the receiving device receives the repeatedly transmitted data packet, the receiving device cannot analyze the data packet, and as a result, problems with repeated processing and billing do not occur.

[0006] According to a first aspect, the present application provides: a first device generating a first authentication code based on first information, a first key, and first data, where the first information is transmission time information or first context information; a first device generating a first data packet based on the first authentication code and the first data; and a first device transmitting the first data packet to a second device in a first transmission system; A transmission method including the steps of:

[0007] In a possible implementation, before the first device generates the first authentication code based on the first information, the first key, and the first data, the method further includes the first device obtaining the first key, wherein the first key is obtained by the first device through negotiation with the second device in a second transmission system, and the first transmission system is different from the second transmission system.

[0008] In a possible implementation, before the first device generates the first authentication code based on the first information, the first key, and the first data, the method further includes the first device establishing a communication connection with a fourth device, and the first device obtaining the first key via the fourth device.

[0009] In a possible implementation, the first key is a key that is preset by the first device.

[0010] In a possible implementation, the second transmission system is a cellular transmission system or a wireless local area network WLAN transmission system, and the first transmission system is a satellite transmission system.

[0011] In a possible implementation, the first device obtains the first key by negotiating with the second device using a Generic Bootstrapping Architecture GBA procedure in the second transmission system.

[0012] In a possible implementation, transmitting a first data packet by a first device to a second device in a first transmission system includes: processing the first data packet into at least one second data packet at a Message Data Convergence Protocol (MDCP) layer of the first device and / or a Satellite Link Control (SLC) layer of the first device, and then transmitting the at least one second data packet to the second device via the third device; This particularly includes:

[0013] In a possible implementation, the transmission time information indicates a time at which the first device transmits the first data packet.

[0014] In a possible implementation, the time at which the first device transmits the first data packet is the time at which the application AP layer of the first device transmits the first data packet to the Message Data Convergence Protocol MDCP layer, or is the time estimated by the first device to transmit the first data packet to the second device.

[0015] In a possible implementation, the first device obtains the transmission time information through positioning timing.

[0016] In a possible implementation, the first data packet includes packaged first data and a first authentication code.

[0017] In a possible implementation, the transmission time of the data packets is in Coordinated Universal Time UTC or Greenwich Mean Time GMT format.

[0018] In a possible implementation, the specified time granularity of the transmission time of the data packet includes any one of years, months, days, hours, minutes, or seconds, and the first device and the second device update the specified time granularity through negotiation within the second transmission system.

[0019] In a possible implementation, the first device obtains the transmission time information via the fourth device.

[0020] In a possible implementation, the first device acquires the first information based on the transmission time information and the specified time granularity in a preset coding scheme.

[0021] In a possible implementation, after the first device transmits the first data packet, the method includes: receiving, by the first device, a first application layer receipt sent by the second device, the first application layer receipt indicating a status of receipt of the first data packet by the second device; Further includes:

[0022] In a possible implementation, the first information is first context information, which indicates information regarding an amount of first data packets successfully transmitted by the first device, information regarding an amount of application receipts successfully received by the first device, or a count value or sequence number of first data packets transmitted by the first device.

[0023] In a possible implementation, the first data packet further includes first instruction information, where the first instruction information indicates a first message ID of the first data packet, or the first instruction information indicates a first count value or a first sequence number of the first data packet.

[0024] In a possible implementation, the AP layer of the first device associates a first message ID, a first count value, or a first sequence number with the first data packet, and the first device adds a preset value to the value of the first message ID, the first count value, or the first sequence number.

[0025] In a possible implementation, the first data packet further includes third indication information, which indicates that the first data packet is a newly transmitted data packet or a retransmitted data packet.

[0026] In a possible implementation, when the value of the third indication information is a first value, the third indication information indicates that the first data packet is a newly transmitted data packet, or when the value of the third indication information is a second value, the third indication information indicates that the first data packet is a retransmitted data packet.

[0027] In a possible implementation, before the first device generates the first authentication code based on the first information, the first key, and the first data, the method includes: The first device obtains an initial value of the first information in the second transmission system; or The first device acquires an initial value of the first information via the fourth device. Further includes:

[0028] In a possible implementation, after the first device transmits the first data packet, the method includes: receiving, by the first device, a first application layer receipt sent by the second device, the first application layer receipt indicating a status of receipt of the first data packet by the second device; It further includes:

[0029] In a possible implementation, after the first device receives the first application layer receipt sent by the second device, the method includes: the first device adding a preset value to the value of the first information, wherein the adjusted value of the first information is different from the value of the first information; It further includes:

[0030] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes the first device adjusting a value of the first information to an initial value if the first application receipt indicates that the second device failed to receive the first data packet.

[0031] In a possible implementation, after the first device adjusts the value of the first information to an initial value, the method further includes the first device sending third information to the second device, wherein the value of the third information is the same as the adjusted value of the first information.

[0032] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes the first device displaying success prompt information if the first application receipt indicates that the first data packet has been successfully sent, where the success prompt information prompts a user that a message corresponding to the first data packet has been successfully sent.

[0033] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes the first device displaying failure prompt information if the first application receipt indicates that the first data packet failed to be sent, the failure prompt information prompting a user that a message corresponding to the first data packet failed to be sent.

[0034] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes, when the first application receipt includes second message ID information, the first device displaying success prompt information, where the success prompt information prompts a user that the data packet indicated by the second message ID information has been successfully sent.

[0035] In a possible implementation, generating a first data packet based on the first authentication code and the first data by the application layer of the first device specifically includes encrypting the first authentication code and the first data based on a first key by the application layer of the first device to generate the first data packet, wherein the first data packet includes the encrypted first authentication code and the encrypted first data.

[0036] In a possible implementation, the application layer of the first device encrypts first data based on a first key to generate a first data packet, the first data packet including the encrypted first data.

[0037] In a possible implementation, after the first device transmits the first data packet to the second device in the first transmission system, the method further includes the first device receiving second application receipt information in the second transmission system, the second application receipt information indicating a status of transmitting the first data packet by the first device in the first transmission system.

[0038] In a possible implementation, after the first device transmits the first data packet to the second device in the first transmission system, the method further includes the first device displaying transmission prompt information, the transmission prompt information prompting a user that the first device has transmitted the first data packet to the second device.

[0039] According to a second aspect, the present application provides a transmission method, including: a second device receiving, in a first transmission system, a first data packet transmitted by the first device; the second device generating a second authentication code based on second information, a first key, and the first data packet, where the second information is reception time information or second context information; and the second device determining a reception status of the first data packet based on the second authentication code.

[0040] In a possible implementation, before the second device generates the second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device obtaining the first key, wherein the first key is obtained by the second device through negotiation with the first device in a second transmission system, the second transmission system being different from the first transmission system.

[0041] In a possible implementation, the second transmission system is a cellular or WLAN transmission system and the first transmission system is a satellite transmission system.

[0042] In a possible implementation, the second device obtains the first key by negotiating with the first device using a Generic Bootstrapping Architecture GBA procedure in the second transmission system.

[0043] In a possible implementation, the first key is a key that is preset by the first device.

[0044] In a possible implementation, the second device receiving the first data packet in the first transmission system specifically includes the second device receiving the first data packet transmitted by the third device in the first transmission system.

[0045] In a possible implementation, the second device determines a first authentication code based on the first data packet.

[0046] In a possible implementation, the reception time information indicates a reception time of the first data packet.

[0047] In a possible implementation, before the second device generates the second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device receiving the second information sent by the third device.

[0048] In a possible implementation, before the second device generates the second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device receiving third information sent by the third device, and the second device generating the second information based on the third information.

[0049] In a possible implementation, the second context information indicates information regarding the amount of first data packets successfully received by the second device, or a count value or sequence value of the first data packets received by the second device.

[0050] In a possible implementation, the first data packet includes first indication information, and the first indication information indicates a first message ID / first sequence number / first count value of the first data packet.

[0051] In a possible implementation, the first data packet includes third indication information, and the third indication information indicates that the first data packet is a newly transmitted data packet / a retransmitted data packet.

[0052] In a possible implementation, before the second device generates the second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device obtaining an initial value of the second information in the second transmission system.

[0053] In a possible implementation, the second device determining a reception status of the first data packet based on the second authentication code specifically includes the second device determining a reception status of the first data packet based on whether the first authentication code is the same as the second authentication code.

[0054] In a possible implementation, the second device comparing the first authentication code with the second authentication code includes: if the first authentication code is the same as the second authentication code, the second device determining that the first data packet has been successfully received; If the first authentication code is different from the second authentication code, the second device determines that the first data packet was unsuccessfully received; or If the first authentication code is different from the second authentication code, the second device updates the second information and generates an updated second authentication code based on the updated second information; and the second device compares the updated second authentication code with the first authentication code to determine a reception status of the first data packet. This particularly includes:

[0055] In a possible implementation, if the updated second authentication code is the same as the first authentication code, the second device determines that the first data packet has been successfully received, and the second device adds a preset value to the value of the updated second information.

[0056] In a possible implementation, if the updated second authentication code is the same as the first authentication code, the second device generates and sends to the first device a first application receipt including second instruction information, where the second instruction information indicates the message ID of the most recent successfully received data packet.

[0057] In a possible implementation, if the updated second authentication code is the same as the first authentication code, the second device generates and sends to the first device a first application receipt indicating that the first data packet was successfully transmitted.

[0058] In a possible implementation, if the updated second authentication code is different from the first authentication code, the second device generates and sends to the first device a first application receipt indicating that the first data packet failed to be received.

[0059] In a possible implementation, the second device comparing the first authentication code with the second authentication code includes: if the first authentication code is the same as the second authentication code, the second device determining that the first data packet has been successfully received; If the first authentication code is different from the second authentication code, the second device determines that the first data packet was unsuccessfully received; or If the first authentication code is different from the second authentication code, the second device updates the second information and generates a temporary authentication code based on the updated second information; and the second device compares the temporary authentication code with the first authentication code to determine a reception status of the first data packet. This particularly includes:

[0060] If the temporary authentication code is the same as the first authentication code, the second device generates and sends to the first device a first application receipt including second instruction information, where the second instruction information indicates the message ID of the most recent successfully received data packet; or if the temporary authentication code is different from the first authentication code, the second device generates and sends to the first device a first application receipt indicating that the first data packet failed to be received.

[0061] In a possible implementation, after the second device determines that the first data packet has been successfully received, the method includes: recording information regarding the time when the first data packet was successfully received; recording a message ID corresponding to the first data packet; and / or the second device adding a preset value to the value of the second information, the adjusted value of the second information being different from the value of the second information; Further includes:

[0062] In a possible implementation, the second device 2 Comparing the authentication code of the second authentication code with the first authentication code 2 If the authentication code is the same as the first authentication code, the second device determines that the first data packet has been successfully received and generates a first application layer receipt indicating that the first data packet has been successfully received; or 2If the authentication code of the first data packet is different from the first authentication code, the second device determines that the first data packet failed to be received and generates a first application layer receipt indicating that the first data packet failed to be received.

[0063] In a possible implementation, the second device 2 Comparing the authentication code of the second authentication code with the first authentication code 2 If the authentication code is the same as the first authentication code, the second device determines that the first data packet has failed to be received, and generates a first application layer receipt indicating that the first data packet has failed to be received, wherein the first application layer receipt includes a message ID corresponding to the successfully received data packet or 2 If the authentication code is different from the first authentication code, the second device determines that the first data packet failed to be received and generates a first application layer receipt indicating that the first data packet failed to be received.

[0064] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes, if the second device determines that the first data packet has been successfully received based on the second authentication code, the second device sending a first application receipt to the first device, wherein the first application receipt indicates that the first data packet has been successfully received.

[0065] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the second device sending a first application receipt to the first device, wherein the first application receipt further includes a second message ID, and the second message ID indicates a message ID corresponding to the most recent successfully transmitted data packet.

[0066] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the second device sending a first application receipt to the first device, wherein the first application receipt indicates that the first data packet failed to be received.

[0067] In a possible implementation, if the second device determines, based on the second authentication code, that the first data packet has been successfully received, the method further includes the second device adding a predetermined value to a value of the second information, wherein the adjusted value of the second information is different from the value of the second information.

[0068] In a possible implementation, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further includes the second device adjusting a value of the second information to a preset value.

[0069] In a possible implementation, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further includes the second device receiving third information sent by the first device, and the second device adjusting a value of the second information to the value of the third information.

[0070] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes the second device sending second application receipt information to the first device in the second transmission system, wherein the second application receipt information indicates a reception status of the first data packet by the second device in the first transmission system.

[0071] According to a third aspect, the present application provides a method for manufacturing a semiconductor device comprising: receiving, by a third device, at least one second data packet transmitted by the first device; a third device generating a first data packet based on the at least one second data packet; a third device transmitting a first data packet to a second device; A transmission method including the steps of:

[0072] In a possible implementation, the third device transmits the second information or the fourth information to the second device, and the second information or the fourth information is reception time information.

[0073] In a possible implementation, the reception time information indicates a corresponding time at which the third device receives the first data packet in the at least one second data packet.

[0074] According to a fourth aspect, the present application provides: receiving, by the first device, a third data packet on the first transmission system; the first device generating a third authentication code based on the fifth information and the third data packet, the fifth information comprising: Reception generating time information or fifth context information; and determining, by the first device, a reception status of the third data packet based on the third authentication code; A transmission method including the steps of:

[0075] In a possible implementation, the first device generating the third authentication code based on the fifth information and the third data packet may be the first device generating the third authentication code based on the fifth information, the third data packet, and the first key. to produce To achieve especially include.

[0076] In a possible implementation, before the first device generates the third authentication code based on the fifth information, the first key, and the third data packet, the method further includes the first device obtaining the first key, wherein the first key is obtained by the first device through negotiation with the second device in a second transmission system, and the first transmission system is different from the second transmission system.

[0077] In a possible implementation, the first device is 5 information, the first key, and the second 3 Data packet Based on 3 Before generating the authentication code, the method further includes the first device establishing a communication connection with a fourth device, and the first device obtaining the first key via the fourth device.

[0078] In a possible implementation, the first key is a key that is preset by the first device.

[0079] In a possible implementation, the first transmission system is a satellite transmission system and the second transmission system is a non-satellite transmission system.

[0080] In a possible implementation, the second transmission system is a cellular transmission system or a wireless local area network WLAN transmission system.

[0081] In a possible implementation, the first device obtains the first key by negotiating with the second device using a Generic Bootstrapping Architecture (GBA) procedure in the second transmission system.

[0082] In a possible implementation, the first device determines a fourth authentication code based on the third data packet.

[0083] In a possible implementation, the first device receiving the third data packet in the first transmission system specifically includes the first device receiving at least one fourth data packet transmitted by the third device, and a Satellite Link Control SLC layer of the first device and / or a Message Data Convergence Protocol MDCP layer of the first device processing the at least one fourth data packet into a third data packet.

[0084] In a possible implementation, 5 The information is reception time information.

[0085] In a possible implementation, the reception time information indicates the time at which the first device received the third data packet.

[0086] In a possible implementation, the time at which the first device receives the third data packet is the time at which the first device receives the first fourth data packet in the at least one fourth data packet.

[0087] In a possible implementation, the first device acquires the fifth information through positioning timing.

[0088] In a possible implementation, the first device obtains the fifth information based on the reception time information and a specified time granularity of the preset coding scheme.

[0089] In a possible implementation, the fifth information is fifth context information, which indicates information regarding the amount of third data packets successfully received by the first device, or the count value or sequence number of the third data packets received by the first device.

[0090] In a possible implementation, the third data packet includes sixth indication information, and the sixth indication information indicates a fourth message ID / fourth sequence number / fourth count value of the third data packet.

[0091] In a possible implementation, the third data packet includes fourth indication information, and the fourth indication information indicates that the third data packet is a newly transmitted data packet or a retransmitted data packet.

[0092] In a possible implementation, before the first device generates the third authentication code based on the fifth information, the first key, and the third data packet, the method further includes the first device obtaining an initial value of the fifth information in the second transmission system.

[0093] In a possible implementation, the first device determining a reception status of the third data packet based on the third authentication code specifically includes the first device determining a reception status of the third data packet based on whether the third authentication code is the same as the fourth authentication code.

[0094] In a possible implementation, the first device determining a receipt status of the third data packet based on whether the third authentication code is the same as the fourth authentication code includes: If the third authentication code is the same as the fourth authentication code, the first device determines that the third data packet has been successfully received; If the third authentication code is different from the fourth authentication code, the first device determines that the third data packet failed to be received; or If the third authentication code is different from the fourth authentication code, the first device generates temporary information based on the fifth information, generates a temporary authentication code based on the temporary information, and the first device performs the fourth authentication process to determine a reception status of the third data packet. 4 Comparing the authentication code with the temporary authentication code This particularly includes:

[0095] If the fourth authentication code is the same as the temporary authentication code, the first device generates and sends to the second device a third application receipt including fifth instruction information, or if the fourth authentication code is different from the temporary authentication code, the first device generates and sends to the second device a failed application receipt.

[0096] In a possible implementation, if the third authentication code is different from the fourth authentication code, the first device updates the value of the fifth information and generates an updated third authentication code based on the updated fifth information, and the first device compares the updated third authentication code with the fourth authentication code to determine a reception status of the third data packet.

[0097] In a possible implementation, if the updated third authentication code is the same as the fourth authentication code, the first device generates and sends to the second device a third application receipt including fifth instruction information, or if the updated third authentication code is different from the fourth authentication code, the first device generates and sends to the second device a third application receipt indicating that the transmission of the third data packet failed.

[0098] In a possible implementation, if the updated third authentication code is the same as the fourth authentication code, the first device generates and sends to the second device a third application receipt indicating that the third data packet was successfully transmitted.

[0099] In a possible implementation, if the updated third authentication code is the same as the fourth authentication code, the first device adds a preset value to the value of the updated fifth information.

[0100] In a possible implementation, the indication application receipt includes fifth indication information, and the value of the fifth indication information is the same as the value of the sixth indication information of the latest successfully received data packet.

[0101] In a possible implementation, after the first device determines that the third data packet has been successfully received, the method includes: recording information regarding the time when the third data packet was successfully received; recording the message ID corresponding to the third data packet; and / or adding a preset value to the value of the fifth information, where the adjusted value of the fifth information is different from the value of the fifth information; Further includes:

[0102] In a possible implementation, after the first device determines a reception status of the third data packet based on the third authentication code, the method further includes the first device sending a third application receipt to the second device, the third application receipt indicating the reception status of the third data packet.

[0103] In a possible implementation, the first device authenticates the second device based on the third authentication code. 3After determining the reception status of the data packet, if the first device determines that the reception status of the third data packet is correct reception, the method further includes: the first device adding a preset value to a value of the fifth information, wherein the adjusted value of the fifth information is different from the value of the fifth information.

[0104] In a possible implementation, the first device authenticates the second device based on the third authentication code. 3 After determining the reception status of the third data packet, the method further includes: if the first device determines that the reception status of the third data packet is reception failed, the first device updates a value of the fifth information to a preset value. Optionally, the preset value is an initial value.

[0105] In a possible implementation, the method further includes the first device receiving seventh information transmitted by the second device, and the first device updating a value of the fifth information to a value of the seventh information based on the seventh information.

[0106] In a possible implementation, after the first device determines that the third data packet has been successfully received, the method further includes the first device displaying the third data.

[0107] In a possible implementation, after the first device determines a reception status of the third data packet based on the third authentication code, the method includes: The first device transmits third application receipt information to a second device in a second transmission system, the third application receipt information being transmitted to a second device in the first transmission system. 1 indicating a status of receipt of the third data packet by the device. Further includes:

[0108] According to a fifth aspect, the present application provides a method for a second device to receive sixth information and a 3and generating a fourth authentication code based on the data, wherein the sixth information is transmission time information or sixth context information; an application AP layer of the second device generating a third data packet based on the fourth authentication code and the first data; and the second device transmitting the third data packet to the first device in the first transmission system.

[0109] In a possible implementation, generating a fourth authentication code based on the sixth information and the first data by the second device may be especially include.

[0110] In a possible implementation, before the second device generates the fourth authentication code based on the sixth information, the first key, and the first data, the method includes: and a second device obtaining a first key, the first key being obtained by the first device through negotiation with the second device in a second transmission system, the first transmission system being different from the second transmission system. Further includes:

[0111] In a possible implementation, the first key is a pre-configured key.

[0112] In a possible implementation, the second device obtains the first key by negotiating with the first device using a Generic Bootstrapping Architecture (GBA) procedure within the second transmission system.

[0113] In a possible implementation, the second device transmitting the third data packet to the first device in the first transmission system specifically includes the second device transmitting the third data packet to the first device via the third device.

[0114] In a possible implementation, the sixth information indicates transmission time information.

[0115] In a possible implementation, the transmission time information indicates the time when the fourth authentication code was generated or the time when the second device transmitted the third data packet.

[0116] In a possible implementation, the time at which the second device transmits the third data packet is the time at which the second device delivers the third data packet to the third device, or is the time estimated by the second device to transmit the third data packet to the first device.

[0117] In a possible implementation, after obtaining the third data packet through the packaging, the second device adds a fourth authentication code to the third data packet.

[0118] In a possible implementation, the format of the generation time of the fourth authentication code is Coordinated Universal Time UTC or Greenwich Mean Time GMT.

[0119] In a possible implementation, the minimum time granularity of the generation time of the fourth authentication code includes any one of the following: year, month, day, hour, minute, or second.

[0120] In a possible implementation, the second device obtains the sixth information based on the transmission time information in a specified encoding format and a specified time granularity.

[0121] In a possible implementation, before the second device generates the fourth authentication code based on the sixth information, the first key, and the first data, the method further includes the second device obtaining the sixth information through the third device.

[0122] In a possible implementation, before the second device generates the fourth authentication code based on the sixth information, the first key, and the first data, the method further includes the second device receiving eighth information sent by the third device, and the second device generating the sixth information based on the eighth information.

[0123] Optionally, the second device receives sixth information transmitted by the third device.

[0124] In a possible implementation, the sixth information is sixth context information, and the sixth context information indicates information regarding the amount of third data packets successfully transmitted by the second device, information regarding the amount of application receipts successfully received by the second device, or a count value or sequence value of the third data packets transmitted by the second device.

[0125] In a possible implementation, the method further includes the second device obtaining an initial value of the sixth information in the second transmission system, or the second device resetting the sixth information to a preset value in the second transmission system.

[0126] In a possible implementation, the third data packet further includes sixth indication information, where the sixth indication information indicates a fourth message ID of the third data packet, or the sixth indication information indicates a fourth count value or a fourth sequence number of the third data packet.

[0127] In a possible implementation, when the sixth instruction information indicates a fourth count value or a fourth sequence number of the third data packet, the method further includes an application layer of the second device associating the fourth count value or the fourth sequence number with the third data packet, and the second device adding a predetermined value to the value of the fourth count value or the fourth sequence number.

[0128] In a possible implementation, the third data packet further includes fourth indication information, where the fourth indication information indicates new transmission / retransmission information of the third data packet.

[0129] In a possible implementation, the application AP layer of the second device generating a third data packet based on the fourth authentication code and the first data particularly includes the application layer of the second device encrypting the fourth authentication code and the first data based on the first key to generate the third data packet, wherein the third data packet includes the encrypted fourth authentication code and the encrypted first data.

[0130] In a possible implementation, after the second device transmits the third data packet, the method further comprises: receiving, by the second device, a third application layer receipt sent by the first device, the third application layer receipt indicating a status of receipt of the third data packet by the first device; Further includes:

[0131] In a possible implementation, after the second device receives the third application layer receipt sent by the first device, the method further includes the second device adding a predetermined value to the value of the sixth information, wherein the adjusted value of the sixth information is different from the value of the sixth information.

[0132] In a possible implementation, the second device receives fourth application receipt information in the second transmission system, the fourth application receipt information indicating a status of sending a third data packet by the second device in the first transmission system; The second device is 4 Update the sending status based on the application receipt information.

[0133] In a possible implementation, the second device deletes the successfully transmitted third data packet.

[0134] According to a sixth aspect, the present application provides a method for manufacturing a semiconductor device comprising: receiving, by a third device, a third data packet transmitted by the second device; a third device generating at least one fourth data packet based on the third data packet; the third device transmitting at least one fourth data packet to the first device; A transmission method including the steps of:

[0135] In a possible implementation, before the third device receives the third data packet transmitted by the second device, the method further includes the third device transmitting second information or fourth information to the second device, where the second information or fourth information is time information.

[0136] According to a seventh aspect, the present application provides a method for manufacturing a semiconductor device comprising: a first device generating a first authentication code based on first information, a first key, and first data, where the first information is transmission time information or first context information; a first device generating a first data packet based on the first authentication code and the first data; and a first device transmitting the first data packet to a second device in a first transmission system; A transmission method including the steps of:

[0137] In a possible implementation, before the first device generates the first authentication code based on the first information, the first key, and the first data, the method further includes the first device obtaining the first key, wherein the first key is obtained by the first device through negotiation with the second device in a second transmission system, and the first transmission system is different from the second transmission system.

[0138] In a possible implementation, before the first device generates the first authentication code based on the first information, the first key, and the first data, the method further includes the first device establishing a communication connection with a fourth device, and the first device obtaining the first key via the fourth device.

[0139] In a possible implementation, the first key is a key that is preset by the first device.

[0140] In a possible implementation, the second transmission system is a cellular transmission system or a wireless local area network WLAN transmission system, and the first transmission system is a satellite transmission system.

[0141] In a possible implementation, the first device obtains the first key by negotiating with the second device using a Generic Bootstrapping Architecture GBA procedure in the second transmission system.

[0142] In a possible implementation, the transmission time information indicates the time when the first authentication code was generated or indicates the time when the first device transmits the first data packet.

[0143] In a possible implementation, the time at which the first device transmits the first data packet is the time at which the application AP layer of the first device transmits the first data packet to the Message Data Convergence Protocol MDCP layer, or is the time estimated by the first device to transmit the first data packet to the second device.

[0144] In a possible implementation, the first device obtains the transmission time information through positioning timing.

[0145] In a possible implementation, the first data packet includes packaged first data and a first authentication code.

[0146] In a possible implementation, the transmission time of the data packets is in Coordinated Universal Time UTC or Greenwich Mean Time GMT format.

[0147] In a possible implementation, the specified time granularity of the transmission time of the data packet includes any one of years, months, days, hours, minutes, or seconds, and the first device and the second device update the specified time granularity through negotiation within the second transmission system.

[0148] In a possible implementation, the first device obtains the transmission time information via the fourth device.

[0149] In a possible implementation, the first device acquires the first information based on the transmission time information and the specified time granularity in a preset coding scheme.

[0150] In a possible implementation, after the first device transmits the first data packet, the method includes: receiving, by the first device, a first application layer receipt sent by the second device, the first application layer receipt indicating a status of receipt of the first data packet by the second device; Further includes:

[0151] In a possible implementation, the first information is first context information, which indicates information regarding an amount of first data packets successfully transmitted by the first device, information regarding an amount of application receipts successfully received by the first device, or a count value or sequence number of first data packets transmitted by the first device.

[0152] In a possible implementation, the first data packet further includes first instruction information, where the first instruction information indicates a first message ID of the first data packet, or the first instruction information indicates a first count value or a first sequence number of the first data packet.

[0153] In a possible implementation, the AP layer of the first device associates a first message ID, a first count value, or a first sequence number with the first data packet, and the first device adds a preset value to the value of the first message ID, the first count value, or the first sequence number.

[0154] In a possible implementation, the first data packet further includes third indication information, which indicates that the first data packet is a newly transmitted data packet or a retransmitted data packet.

[0155] In a possible implementation, when the value of the third indication information is a first value, the third indication information indicates that the first data packet is a newly transmitted data packet, or when the value of the third indication information is a second value, the third indication information indicates that the first data packet is a retransmitted data packet.

[0156] In a possible implementation, before the first device generates the first authentication code based on the first information, the first key, and the first data, the method includes: The first device obtains an initial value of the first information in the second transmission system; or The first device acquires an initial value of the first information via the fourth device. Further includes:

[0157] In a possible implementation, after the first device transmits the first data packet, the method includes: receiving, by the first device, a first application layer receipt sent by the second device, the first application layer receipt indicating a status of receipt of the first data packet by the second device; Further includes:

[0158] In a possible implementation, after the first device receives the first application layer receipt sent by the second device, the method includes: the first device adding a preset value to the value of the first information, wherein the adjusted value of the first information is different from the value of the first information; Further includes:

[0159] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes the first device adjusting a value of the first information to an initial value if the first application receipt indicates that the second device failed to receive the first data packet.

[0160] In a possible implementation, after the first device adjusts the value of the first information to an initial value, the method further includes the first device sending third information to the second device, wherein the value of the third information is the same as the adjusted value of the first information.

[0161] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes the first device displaying success prompt information if the first application receipt indicates that the first data packet has been successfully sent, where the success prompt information prompts a user that a message corresponding to the first data packet has been successfully sent.

[0162] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes the first device displaying failure prompt information if the first application receipt indicates that the first data packet failed to be sent, the failure prompt information prompting a user that a message corresponding to the first data packet failed to be sent.

[0163] In a possible implementation, after the first device receives a first application layer receipt sent by the second device, the method further includes, when the first application receipt includes second message ID information, the first device displaying success prompt information, where the success prompt information prompts a user that the data packet indicated by the second message ID information has been successfully sent.

[0164] In a possible implementation, generating a first data packet based on the first authentication code and the first data by the application layer of the first device specifically includes encrypting the first authentication code and the first data based on a first key by the application layer of the first device to generate the first data packet, wherein the first data packet includes the encrypted first authentication code and the encrypted first data.

[0165] In a possible implementation, the application layer of the first device encrypts first data based on a first key to generate a first data packet, the first data packet including the encrypted first data.

[0166] In a possible implementation, after the first device transmits the first data packet to the second device in the first transmission system, the method further includes the first device receiving second application receipt information in the second transmission system, the second application receipt information indicating a status of transmitting the first data packet by the first device in the first transmission system.

[0167] In a possible implementation, after the first device transmits the first data packet to the second device in the first transmission system, the method further includes the first device displaying transmission prompt information, the transmission prompt information prompting a user that the first device has transmitted the first data packet to the second device.

[0168] According to an eighth aspect, the present application provides a transmission method, including: a second device receiving, in a first transmission system, a first data packet transmitted by the first device; the second device generating a second authentication code based on second information, a first key, and the first data packet, where the second information is reception time information or second context information; and the second device determining a reception status of the first data packet based on the second authentication code.

[0169] In a possible implementation, before the second device generates the second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device obtaining the first key, wherein the first key is obtained by the second device through negotiation with the first device in a second transmission system, the second transmission system being different from the first transmission system.

[0170] In a possible implementation, the second transmission system is a cellular or WLAN transmission system and the first transmission system is a satellite transmission system.

[0171] In a possible implementation, the second device obtains the first key by negotiating with the first device using a Generic Bootstrapping Architecture GBA procedure in the second transmission system.

[0172] In a possible implementation, the first key is a key that is preset by the first device.

[0173] In a possible implementation, the second device receiving the first data packet in the first transmission system includes a satellite link control (SLC) layer of the second device receiving at least one second data packet transmitted by the first device, and a message data convergence protocol (MDCP) layer and / or a second data packet of the second device receiving at least one second data packet transmitted by the first device.2 The method particularly includes: a satellite link control layer (SLC layer) of the device obtaining the first data packet based on the at least one second data packet.

[0174] In a possible implementation, the second device determines a first authentication code based on the first data packet.

[0175] In a possible implementation, the reception time information indicates a reception time of the first data packet.

[0176] In a possible implementation, before the second device generates the second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device obtaining a reception time of the first data packet at the MDCP layer / SLC layer, and the second device generating the second information based on the reception time of the first data packet at the MDCP layer / SLC layer.

[0177] In a possible implementation, before the second device generates a second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device obtaining a reception time of the first data packet at the MDCP layer / SLC layer, the second device determining that the reception time of the first data packet is eighth information and uploading the eighth information to the AP layer, and the second device generating second information based on the eighth information at the AP layer.

[0178] In a possible implementation, the second context information indicates information regarding the amount of first data packets successfully received by the second device, or a count value or sequence value of the first data packets received by the second device.

[0179] In a possible implementation, the first data packet includes first indication information, and the first indication information indicates a first message ID / first sequence number / first count value of the first data packet.

[0180] In a possible implementation, the first data packet includes third indication information, and the third indication information indicates that the first data packet is a newly transmitted data packet / a retransmitted data packet.

[0181] In a possible implementation, before the second device generates the second authentication code based on the second information, the first key, and the first data packet, the method further includes the second device obtaining an initial value of the second information in the second transmission system.

[0182] In a possible implementation, the second device determining a reception status of the first data packet based on the second authentication code specifically includes the second device determining a reception status of the first data packet based on whether the first authentication code is the same as the second authentication code.

[0183] In a possible implementation, the second device comparing the first authentication code with the second authentication code includes: if the first authentication code is the same as the second authentication code, the second device determining that the first data packet has been successfully received; If the first authentication code is different from the second authentication code, the second device determines that the first data packet was unsuccessfully received; or If the first authentication code is different from the second authentication code, the second device updates the second information and generates a temporary authentication code based on the updated second information; and the second device compares the temporary authentication code with the first authentication code to determine a reception status of the first data packet. This particularly includes:

[0184] If the temporary authentication code is the same as the first authentication code, the second device generates and sends to the first device a first application receipt including second instruction information, where the second instruction information indicates the message ID of the most recent successfully received data packet; or if the temporary authentication code is different from the first authentication code, the second device generates and sends to the first device a first application receipt indicating that the first data packet failed to be received.

[0185] In a possible implementation, after the second device determines that the first data packet has been successfully received, the method includes: recording information regarding the time when the first data packet was successfully received; recording a message ID corresponding to the first data packet; and / or the second device adding a preset value to the value of the second information, the adjusted value of the second information being different from the value of the second information; Further includes:

[0186] In a possible implementation, the second device 2 Comparing the authentication code of the second authentication code with the first authentication code may, in particular, 2 If the authentication code is the same as the first authentication code, the second device determines that the first data packet has been successfully received and generates a first application layer receipt indicating that the first data packet has been successfully received; or 2 If the authentication code of the first data packet is different from the first authentication code, the second device determines that the first data packet failed to be received and generates a first application layer receipt indicating that the first data packet failed to be received.

[0187] In a possible implementation, the second device 2 Comparing the authentication code of the second authentication code with the first authentication code 2If the authentication code is the same as the first authentication code, the second device determines that the first data packet has failed to be received, and generates a first application layer receipt indicating that the first data packet has failed to be received, wherein the first application layer receipt includes a message ID corresponding to the successfully received data packet or 2 If the authentication code is different from the first authentication code, the second device determines that the first data packet failed to be received and generates a first application layer receipt indicating that the first data packet failed to be received.

[0188] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes, if the second device determines that the first data packet has been successfully received based on the second authentication code, the second device sending a first application receipt to the first device, wherein the first application receipt indicates that the first data packet has been successfully received.

[0189] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the second device sending a first application receipt to the first device, wherein the first application receipt further includes a second message ID, and the second message ID indicates a message ID corresponding to the most recent successfully transmitted data packet.

[0190] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the second device sending a first application receipt to the first device, wherein the first application receipt indicates that the first data packet failed to be received.

[0191] In a possible implementation, if the second device determines, based on the second authentication code, that the first data packet has been successfully received, the method further includes the second device adding a predetermined value to a value of the second information, wherein the adjusted value of the second information is different from the value of the second information.

[0192] In a possible implementation, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further includes the second device adjusting a value of the second information to a preset value.

[0193] In a possible implementation, if the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further includes the second device receiving third information sent by the first device, and the second device adjusting a value of the second information to the value of the third information.

[0194] In a possible implementation, after the second device determines a reception status of the first data packet based on the second authentication code, the method further includes the second device sending second application receipt information to the first device in the second transmission system, wherein the second application receipt information indicates a reception status of the first data packet by the second device in the first transmission system.

[0195] According to a ninth aspect, the present application provides a method for manufacturing a semiconductor device comprising: receiving, by the first device, a third data packet on the first transmission system; The first device generates a third authentication code based on fifth information and the third data packet, where the fifth information is transmission time information or fifth context information; and the first device determines a reception status of the third data packet based on the third authentication code; A transmission method including the steps of:

[0196] In a possible implementation, the first device generating the third authentication code based on the fifth information and the third data packet may be the first device generating the third authentication code based on the fifth information, the third data packet, and the first key. to produce To achieve especially include.

[0197] In a possible implementation, before the first device generates the third authentication code based on the fifth information, the first key, and the third data packet, the method further includes the first device obtaining the first key, wherein the first key is obtained by the first device through negotiation with the second device in a second transmission system, and the first transmission system is different from the second transmission system.

[0198] In a possible implementation, the first device is 5 information, the first key, and the second 3 Data packet Based on 3 Before generating the authentication code, the method further includes the first device establishing a communication connection with a fourth device, and the first device obtaining the first key via the fourth device.

[0199] In a possible implementation, the first key is a key that is preset by the first device.

[0200] In a possible implementation, the first transmission system is a satellite transmission system and the second transmission system is a non-satellite transmission system.

[0201] In a possible implementation, the second transmission system is a cellular transmission system or a wireless local area network WLAN transmission system.

[0202] In a possible implementation, the first device obtains the first key by negotiating with the second device using a Generic Bootstrapping Architecture (GBA) procedure in the second transmission system.

[0203] In a possible implementation, the first device determines a fourth authentication code based on the third data packet.

[0204] In a possible implementation, the first device receiving the third data packet in the first transmission system specifically includes the first device receiving at least one fourth data packet transmitted by the second device, and a Satellite Link Control SLC layer of the first device and / or a Message Data Convergence Protocol MDCP layer of the first device processing the at least one fourth data packet into a third data packet.

[0205] In a possible implementation, 5 The information is reception time information.

[0206] In a possible implementation, the reception time information indicates the time at which the first device received the third data packet.

[0207] In a possible implementation, the time at which the first device receives the third data packet is the time at which the first device receives the first fourth data packet in the at least one fourth data packet.

[0208] In a possible implementation, the first device acquires the fifth information through positioning timing.

[0209] In a possible implementation, the first device obtains the fifth information based on the reception time information and a specified time granularity of the preset coding scheme.

[0210] In a possible implementation, the fifth information is fifth context information, which indicates information regarding the amount of third data packets successfully received by the first device, or the count value or sequence number of the third data packets received by the first device.

[0211] In a possible implementation, the third data packet includes sixth indication information, and the sixth indication information indicates a fourth message ID / fourth sequence number / fourth count value of the third data packet.

[0212] In a possible implementation, the third data packet includes fourth indication information, and the fourth indication information indicates that the third data packet is a newly transmitted data packet or a retransmitted data packet.

[0213] In a possible implementation, before the first device generates the third authentication code based on the fifth information, the first key, and the third data packet, the method further includes the first device obtaining an initial value of the fifth information in the second transmission system.

[0214] In a possible implementation, the first device determining a reception status of the third data packet based on the third authentication code specifically includes the first device determining a reception status of the third data packet based on whether the third authentication code is the same as the fourth authentication code.

[0215] In a possible implementation, the first device determining a receipt status of the third data packet based on whether the third authentication code is the same as the fourth authentication code includes: If the third authentication code is the same as the fourth authentication code, the first device determines that the third data packet has been successfully received; If the third authentication code is different from the fourth authentication code, the first device determines that the third data packet failed to be received; or If the third authentication code is different from the fourth authentication code, the first device 5 generating temporary information based on the information of the third data packet, generating a temporary authentication code based on the temporary information, and 4 Comparing the authentication code with the temporary authentication code This particularly includes:

[0216] If the fourth authentication code is the same as the temporary authentication code, the first device generates and sends an instruction application receipt to the second device, or if the fourth authentication code is different from the temporary authentication code, the first device generates and sends a failure application receipt to the second device.

[0217] In a possible implementation, the indication application receipt includes fifth indication information, and the value of the fifth indication information is the same as the value of the sixth indication information of the latest successfully received data packet.

[0218] In a possible implementation, after the first device determines that the third data packet has been successfully received, the method includes: recording information regarding the time when the third data packet was successfully received; recording the message ID corresponding to the third data packet; and / or adding a preset value to the value of the fifth information, where the adjusted value of the fifth information is different from the value of the fifth information; Further includes:

[0219] In a possible implementation, after the first device determines a reception status of the third data packet based on the third authentication code, the method further includes the first device sending a third application receipt to the second device, the third application receipt indicating the reception status of the third data packet.

[0220] In a possible implementation, the first device authenticates the second device based on the third authentication code. 3 After determining the reception status of the data packet, if the first device determines that the reception status of the third data packet is correct reception, the method further includes: the first device adding a preset value to a value of the fifth information, wherein the adjusted value of the fifth information is different from the value of the fifth information.

[0221] In a possible implementation, the first device authenticates the second device based on the third authentication code. 3 After determining the reception status of the third data packet, the method further includes: if the first device determines that the reception status of the third data packet is reception failed, the first device updates a value of the fifth information to a preset value. Optionally, the preset value is an initial value.

[0222] In a possible implementation, the method further includes the first device receiving seventh information transmitted by the second device, and the first device updating a value of the fifth information to a value of the seventh information based on the seventh information.

[0223] In a possible implementation, after the first device determines that the third data packet has been successfully received, the method further includes the first device displaying the third data.

[0224] In a possible implementation, after the first device determines a reception status of the third data packet based on the third authentication code, the method includes: the first device sending third application receipt information to a second device in the second transmission system, the third application receipt information indicating a reception status of the third data packet by the second device in the first transmission system; Further includes:

[0225] According to a tenth aspect, the present application provides a method for manufacturing a semiconductor device comprising: The second device generates a fourth authentication code based on sixth information and the first data, where the sixth information is transmission time information or sixth context information; an application AP layer of the second device generates a third data packet based on the fourth authentication code and the first data; and the second device transmits the third data packet to the first device in the first transmission system; A transmission method including the steps of:

[0226] In a possible implementation, generating a fourth authentication code based on the sixth information and the first data by the second device may be especially include.

[0227] In a possible implementation, before the second device generates the fourth authentication code based on the sixth information, the first key, and the first data, the method includes: and a second device obtaining a first key, the first key being obtained by the first device through negotiation with the second device in a second transmission system, the first transmission system being different from the second transmission system. Further includes:

[0228] In a possible implementation, the first key is a pre-configured key.

[0229] In a possible implementation, the second device obtains the first key by negotiating with the first device using a Generic Bootstrapping Architecture (GBA) procedure within the second transmission system.

[0230] In a possible implementation, the second device transmitting the third data packet to the first device in the first transmission system specifically includes the second device transmitting the third data packet to the first device via the third device.

[0231] In a possible implementation, the sixth information indicates transmission time information.

[0232] In a possible implementation, the transmission time information indicates the time when the fourth authentication code was generated or the time when the second device transmitted the third data packet.

[0233] In a possible implementation, the time at which the second device transmits the third data packet is the time at which the second device delivers the third data packet to the third device, or is the time estimated by the second device to transmit the third data packet to the first device.

[0234] In a possible implementation, after obtaining the third data packet through the packaging, the second device adds a fourth authentication code to the third data packet.

[0235] In a possible implementation, the format of the generation time of the fourth authentication code is Coordinated Universal Time UTC or Greenwich Mean Time GMT.

[0236] In a possible implementation, the minimum time granularity of the generation time of the fourth authentication code includes any one of the following: year, month, day, hour, minute, or second.

[0237] In a possible implementation, the second device obtains the sixth information based on the transmission time information in a specified encoding format and a specified time granularity.

[0238] In a possible implementation, before the second device generates the fourth authentication code based on the sixth information, the first key, and the first data, the method further includes the second device obtaining the sixth information through the third device.

[0239] In a possible implementation, before the second device generates the fourth authentication code based on the sixth information, the first key, and the first data, the method further includes the MDCP layer / SLC layer of the second device obtaining eighth information, and the second device generating the sixth information based on the eighth information at the AP layer.

[0240] Optionally, the second device generates sixth information at the MDCP layer / SLC layer.

[0241] In a possible implementation, the sixth information is sixth context information, and the sixth context information indicates information regarding the amount of third data packets successfully transmitted by the second device, information regarding the amount of application receipts successfully received by the second device, or a count value or sequence value of the third data packets transmitted by the second device.

[0242] In a possible implementation, the method further includes the second device obtaining an initial value of the sixth information in the second transmission system, or the second device resetting the sixth information to a preset value in the second transmission system.

[0243] In a possible implementation, the third data packet further includes sixth indication information, where the sixth indication information indicates a fourth message ID of the third data packet, or the sixth indication information indicates a fourth count value or a fourth sequence number of the third data packet.

[0244] In a possible implementation, when the sixth instruction information indicates a fourth count value or a fourth sequence number of the third data packet, the method further includes an application layer of the second device associating the fourth count value or the fourth sequence number with the third data packet, and the second device adding a predetermined value to the value of the fourth count value or the fourth sequence number.

[0245] In a possible implementation, the third data packet further includes fourth indication information, where the fourth indication information indicates new transmission / retransmission information of the third data packet.

[0246] In a possible implementation, the application AP layer of the second device generating a third data packet based on the fourth authentication code and the first data particularly includes the application layer of the second device encrypting the fourth authentication code and the first data based on the first key to generate the third data packet, wherein the third data packet includes the encrypted fourth authentication code and the encrypted first data.

[0247] In a possible implementation, after the second device transmits the third data packet, the method further comprises: receiving, by the second device, a third application layer receipt sent by the first device, the third application layer receipt indicating a status of receipt of the third data packet by the first device; Further includes:

[0248] In a possible implementation, after the second device receives the third application layer receipt sent by the first device, the method further includes the second device adding a predetermined value to the value of the sixth information, wherein the adjusted value of the sixth information is different from the value of the sixth information.

[0249] In a possible implementation, the second device receives fourth application receipt information in the second transmission system, the fourth application receipt information indicating a status of sending a third data packet by the second device in the first transmission system; The second device is 4 Update the sending status based on the application receipt information.

[0250] In a possible implementation, the second device deletes the successfully transmitted third data packet.

[0251] According to an eleventh aspect, the present application provides a method for manufacturing a semiconductor device comprising: A transmitting device generates an authentication code A based on information A and original data, where the information A is transmission time information or context information A; the transmitting device obtains a data packet based on the authentication code A and the original data; and the transmitting device transmits the data packet to a receiving device in a first transmission system; A transmission method including the steps of:

[0252] In a possible implementation, the transmitting device generating an authentication code A based on the information A and the original data specifically includes the transmitting device generating an authentication code A based on the information A, a specified key, and the original data.

[0253] In a possible implementation, the sending device obtains the designated key by negotiating with the receiving device in the second transmission system.

[0254] In a possible implementation, the first transmission system is different from the second transmission system.

[0255] In a possible implementation, the designated key is a key that is pre-configured by the sending device.

[0256] In a possible implementation, the second transmission system is a cellular transmission system or a wireless local area network WLAN transmission system, and the first transmission system is a satellite transmission system.

[0257] In a possible implementation, the sending device obtains the designated key by negotiating with the receiving device using a Generic Bootstrapping Architecture GBA procedure in the second transmission system.

[0258] In a possible implementation, the information A is transmission time information, and the information A indicates the transmission time of the data packet.

[0259] In a possible implementation, the time at which the transmitting device transmits the data packet is the time at which the application AP layer of the transmitting device transmits the data packet to the Message Data Convergence Protocol MDCP layer, or the time estimated by the transmitting device to transmit the data packet to the receiving device.

[0260] In a possible implementation, information A is context information A, which indicates information about the amount of data packets transmitted or the sequence number or count value of the data packets.

[0261] In a possible implementation, the data packet further includes a message ID field A, which is used to identify the data packet.

[0262] In a possible implementation, the data packet further comprises a sequence number field A, which is used to identify the data packet and further indicates the information A.

[0263] In a possible implementation, the transmitting device associates a sequence number A with the data packet and generates a sequence number field A based on the sequence number A.

[0264] In a possible implementation, the sending device associates a message ID with the data packet and generates a message ID field A based on the message ID.

[0265] In a possible implementation, the data packet further includes a retransmission indication field, which indicates that the data packet is a retransmitted data packet or a newly transmitted data packet.

[0266] In a possible implementation, the sending device encrypts the original data and the authentication code A by using a designated key, and then adds packet header information before the encrypted original data and the encrypted authentication code A to obtain a data packet. The packet header information includes an encryption instruction field, which indicates the encryption algorithm used by the sending device.

[0267] In a possible implementation, after the transmitting device transmits the data packet to the receiving device in the first transmission system, the method further includes the transmitting device adding a predetermined value to the sequence number A, and the transmitting device adjusting the value of the sequence number A based on the adjusted context information A.

[0268] In a possible implementation, the transmitting device adjusting the value of the sequence number A based on the adjusted context information A specifically includes the transmitting device determining a value of the hyperframe number A based on the adjusted sequence number A, and adjusting the value of the sequence number A based on the adjusted context information A and the hyperframe number A.

[0269] In a possible implementation, the transmitting device is a terminal and the receiving device is a satellite network device.

[0270] In a possible implementation, the transmitting device is a satellite network device and the receiving device is a terminal.

[0271] In a possible implementation, after the transmitting device transmits a data packet to the receiving device in the first transmission system, the method further includes the transmitting device adding a preset value to the value of the context information A after receiving a successful application receipt transmitted by the receiving device, where the successful application receipt indicates that the receiving device has successfully received the data packet.

[0272] In a possible implementation, when the sending device is a terminal, after the sending device sends a data packet to the receiving device in the first transmission system, the method further includes, after the sending device receives a successful application receipt sent by the receiving device, the sending device displaying success prompt information, wherein the success prompt information prompts a user that the data packet has been successfully sent.

[0273] In a possible implementation, when the transmitting device is a satellite network device, after the transmitting device transmits the data packet to the receiving device in the first transmission system, the method further includes the transmitting device deleting the data packet in the memory after the transmitting device receives a successful application receipt transmitted by the receiving device.

[0274] In a possible implementation, after the transmitting device transmits a data packet to a receiving device in the first transmission system, the method further includes the transmitting device adding a predetermined value to the value of the context information A after receiving a failed application receipt transmitted by the receiving device, where the failed application receipt indicates that the receiving device failed to receive the data packet.

[0275] In a possible implementation, after the transmitting device transmits the data packet to the receiving device in the first transmission system, the method further includes the transmitting device adjusting the value of the context information A to a preset value after receiving a failed application receipt transmitted by the receiving device.

[0276] In a possible implementation, after the transmitting device adjusts the value of the context information A to the preset value, the method further includes the transmitting device transmitting the value of the context information A to the receiving device.

[0277] In a possible implementation, after the transmitting device transmits the data packet to the receiving device in the first transmission system, the method further includes, after the transmitting device receives a failed application receipt transmitted by the receiving device, the transmitting device negotiating with the receiving device regarding the value of the context information A in the second transmission system.

[0278] In a possible implementation form, when the sending device is a terminal, after the sending device sends a data packet to a receiving device in the first transmission system, the method further includes, after the sending device receives a failed application receipt sent by the receiving device, the sending device displaying failure prompt information, wherein the failure prompt information prompts a user that the data packet has failed to be sent.

[0279] In a possible implementation, after the sending device sends a data packet to the receiving device in the first transmission system, the method further includes: after the sending device receives an indication application receipt sent by the receiving device, the sending device adds a preset value to the value of the context information A, where the indication application receipt indicates that the current data packet has failed to be sent, and the indication application receipt includes a message ID field B, and the message ID field B indicates the latest successfully sent data packet;

[0280] In a possible implementation form, when the sending device is a terminal, after the sending device sends a data packet to the receiving device in the first transmission system, the method further includes, after the sending device receives an instruction application receipt sent by the receiving device, the sending device displaying success prompt information and failure prompt information, wherein the success prompt information prompts the user that the data packet indicated by the message ID field B has been successfully sent, and the failure prompt information prompts the user that the current data packet has failed to be sent.

[0281] In a possible implementation, when the transmitting device is a terminal, after the transmitting device transmits a data packet to the receiving device in the first transmission system, the method further includes the transmitting device displaying transmission prompt information, wherein the transmission prompt information prompts a user that the transmitting device has transmitted the data packet to the receiving device.

[0282] In a possible implementation, after the transmitting device transmits the data packet to the receiving device in the first transmission system, the method further includes receiving, in the second transmission system, a configuration application receipt transmitted by the receiving device, and then the transmitting device determining a reception status of the data packet transmitted in the first transmission system based on the configuration application receipt.

[0283] According to a twelfth aspect, the present application provides a transmission method, including: a receiving device receiving a data packet transmitted by a transmitting device in a first transmission system; the receiving device generating an authentication code B based on information B and the data packet, where the information B is reception time information or context information B; and the receiving device determining a reception status of the data packet based on the authentication code B.

[0284] In a possible implementation, the receiving device generating an authentication code B based on information B and the original data specifically includes the receiving device generating an authentication code B based on information B, a specified key, and the original data.

[0285] In a possible implementation, the receiving device obtains the designated key by negotiating with the transmitting device in the second transmission system.

[0286] In a possible implementation, the first transmission system is different from the second transmission system.

[0287] In a possible implementation, the designated key is a key that is pre-configured by the receiving device.

[0288] In a possible implementation, the second transmission system is a cellular transmission system or a wireless local area network WLAN transmission system, and the first transmission system is a satellite transmission system.

[0289] In a possible implementation, the receiving device obtains the designated key by negotiating with the transmitting device using a Generic Bootstrapping Architecture GBA procedure in the second transmission system.

[0290] In a possible implementation, information B is reception time information, which indicates the reception time of the data packet.

[0291] In a possible implementation, the time at which the receiving device receives the data packet is the time at which the satellite link control (SLC) layer of the receiving device receives the first satellite link control protocol data unit (SLC PDU) of the data packet.

[0292] In a possible implementation, information B is context information B, which indicates information about the amount of data packets received or the sequence numbers or count values ​​of the data packets.

[0293] In a possible implementation, the data packet further comprises a sequence number field A, which is used to identify the data packet and further indicates the context information B.

[0294] In a possible implementation, the receiving device determines the value of the sequence number B based on the context information field A and the stored sequence number B.

[0295] In a possible implementation, the receiving device determining the value of the sequence number B based on the context information field A and the stored sequence number B specifically includes the receiving device determining the value of the hyperframe number B based on the values ​​of the sequence number field A and the sequence number B, and the receiving device obtaining the sequence number B based on the context information field A and the hyperframe number B.

[0296] In a possible implementation, when the value of the sequence number field A is less than or equal to the value of the sequence number B, the receiving device adds a preset value to the value of the hyperframe number B.

[0297] In a possible implementation, the receiving device concatenates the hyperframe number B and the context information field A to obtain the sequence number B.

[0298] In a possible implementation, after obtaining the context information B, the receiving device can adjust the value of the sequence number B to the value of the sequence number field A.

[0299] In a possible implementation, the data packet further includes a message ID field A, which is used to identify the data packet.

[0300] In a possible implementation, the receiving device is a satellite network device and the transmitting device is a terminal.

[0301] In a possible implementation, the receiving device is a terminal and the transmitting device is a satellite network device.

[0302] In a possible implementation, the receiving device obtains the authentication code A based on the data packet.

[0303] In a possible implementation, the receiving device determining the reception status of the data packet based on the authentication code B specifically includes the receiving device comparing the authentication code A with the authentication code B to determine the reception status of the data packet.

[0304] In a possible implementation, the receiving device comparing authentication code A with authentication code B to determine the reception status of the data packet particularly includes the receiving device determining that the data packet has been successfully received if authentication code B is the same as authentication code A.

[0305] In a possible implementation, after the receiving device determines that the data packet has been successfully received, the method further includes the receiving device generating a successful application receipt, the successful application receipt indicating that the receiving device has successfully received the data packet, and the receiving device transmitting the successful application receipt to the transmitting device.

[0306] In a possible implementation, the data packet includes a message ID field A, and after the receiving device determines that the data packet has been successfully received, the method further includes the receiving device adjusting the value of the message ID field B to the value of the message ID field A.

[0307] In a possible implementation, when the receiving device is a terminal, after the receiving device determines that the data packet has been successfully received, the method further includes the receiving device displaying the original data.

[0308] In a possible implementation, when the receiving device is a satellite network device, after the receiving device determines that the data packet has been successfully received, the method further includes the receiving device transmitting the original data via the second transmission system to an electronic device in the second transmission system.

[0309] In a possible implementation, the receiving device comparing authentication code A with authentication code B to determine the reception status of the data packet particularly includes the receiving device determining that the data packet failed to be received if authentication code B differs from authentication code A.

[0310] In a possible implementation, after the receiving device determines that the data packet failed to be received, the method further includes the receiving device generating a failure application receipt, the failure application receipt indicating that the receiving device failed to receive the data packet, and the receiving device transmitting the failure application receipt to the transmitting device.

[0311] In a possible implementation, after the receiving device determines that the data packet failed to be received, the method further includes the receiving device generating an indication application receipt based on the message ID field B, where the indication application receipt indicates that the receiving device failed to receive the data packet and the message ID field B indicates the most recent data packet that was successfully received by the receiving device, and the receiving device sending the indication application receipt to the sending device.

[0312] In a possible implementation, if authentication code B is different from authentication code A, after the receiving device determines that the data packet has failed to be received, the method further includes the receiving device generating information C based on information B and generating authentication code C based on information C, and the receiving device determining, based on authentication code C, whether the sending device has not received a recent successful application receipt.

[0313] In a possible implementation, if authentication code C is the same as authentication code A, i.e., if the receiving device determines that the sending device has not received the most recently sent successful application receipt, the receiving device sends a successful application receipt to the sending device.

[0314] In a possible implementation, if authentication code C is different from authentication code A, the receiving device sends a failed application receipt to the sending device.

[0315] In a possible implementation, the data packet further includes a retransmission indication field, which indicates that the data packet is a retransmitted data packet or a newly transmitted data packet.

[0316] In a possible implementation, if authentication code B is different from authentication code A, after the receiving device determines that the data packet failed to be received, the method further includes the receiving device determining that the data packet includes a retransmission instruction field indicating that the data packet is a newly transmitted data packet, and the receiving device generating and sending a failed application receipt to the sending device.

[0317] In a possible implementation, if authentication code B is different from authentication code A, after the receiving device determines that the data packet failed to be received, the method further includes: the receiving device determining that the data packet includes a retransmission indication field indicating that the data packet is a retransmitted data packet; the receiving device generating information C based on information B and generating authentication code C based on information C; and the receiving device determining, based on authentication code C, whether the sending device has not received a most recent successful application receipt.

[0318] In a possible implementation, if authentication code C is the same as authentication code A, i.e., if the receiving device determines that the sending device has not received the most recently sent successful application receipt, the receiving device sends a successful application receipt to the sending device.

[0319] In a possible implementation, if authentication code C is different from authentication code A, the receiving device sends a failed application receipt to the sending device.

[0320] In a possible implementation, the receiving device sends a set application receipt to the sending device in the second transmission system, the set application receipt indicating the status of receiving the data packet of the sending device by the receiving device in the first transmission system.

[0321] According to a thirteenth aspect, the present application provides a satellite communication system including a transmitting device and a receiving device.

[0322] The transmitting device is configured to generate an authentication code A based on information A and the original data, where information A is transmission time information or context information A.

[0323] The sending device is further configured to obtain a data packet based on the authentication code A and the original data.

[0324] The transmitting device is further configured to transmit the data packets to the receiving device on the first transmission system.

[0325] The receiving device is configured to receive data packets transmitted by the transmitting device in the first transmission system.

[0326] The receiving device is further configured to generate an authentication code B based on the information B and the data packet, where the information B is receiving time information or context information B.

[0327] The receiving device is further configured to determine a reception status of the data packet based on the authentication code B.

[0328] In a possible implementation, the present application provides a communications device including one or more processors, one or more memories, and a transceiver, wherein the transceiver and the one or more memories are coupled to the one or more processors, the one or more memories being configured to store computer program code, the computer program code including computer instructions, and wherein execution of the computer instructions by the one or more processors enables the communications device to perform a method according to either the eleventh aspect or the twelfth aspect.

[0329] In a possible implementation, the communication device is a terminal or a satellite network device.

[0330] In a possible implementation, the present application provides a computer-readable storage medium that stores instructions that, when executed on a computer, enable the computer to perform a method according to either the eleventh or twelfth aspect.

[0331] In a possible implementation, the present application provides a chip or chip system. The chip or chip system is applied to a terminal and includes a processing circuit and an interface circuit. The interface circuit is configured to receive code instructions and transmit the code instructions to the processing circuit. The processing circuit is configured to execute the code instructions to perform the method according to either the eleventh or twelfth aspect.

[0332] According to a fourteenth aspect, the present application provides a communication device including one or more processors, one or more memories, and a transceiver, wherein the transceiver and the one or more memories are coupled to the one or more processors, the one or more memories are configured to store computer program code, the computer program code including computer instructions, and when the one or more processors execute the computer instructions, the communication device is enabled to perform a method of the first aspect, the fourth aspect, the seventh aspect, or the ninth aspect, or any one of possible implementation forms of the first aspect, the fourth aspect, the seventh aspect, or the ninth aspect.

[0333] The communication device may also be a terminal or device in another product form.

[0334] According to a fifteenth aspect, the present application provides a communication device including one or more processors, one or more memories, and a transceiver. The transceiver and the one or more memories are coupled to the one or more processors, and the one or more memories are configured to store computer program code, the computer program code including computer instructions, and when the one or more processors execute the computer instructions, the communication device is enabled to perform a method of the second aspect, the fifth aspect, the eighth aspect, or the tenth aspect, or any one of possible implementation forms of the second aspect, the fifth aspect, the eighth aspect, or the tenth aspect.

[0335] The communication device may be a satellite network device or any network element or combination of network elements within a satellite network device.

[0336] According to a sixteenth aspect, the present application provides a communication device including one or more processors, one or more memories, and a transceiver, wherein the transceiver and the one or more memories are coupled to the one or more processors, the one or more memories are configured to store computer program code, the computer program code including computer instructions, and when the one or more processors execute the computer instructions, the communication device is enabled to perform the method of the third aspect or the sixth aspect or any one of the possible implementation forms of the third aspect or the sixth aspect.

[0337] The communication device may be any network element or combination of network elements within a satellite network device.

[0338] According to a seventeenth aspect, the present application provides a computer storage medium comprising computer instructions which, when executed on a computer, enable the computer to perform the method of the first, fourth, seventh, or ninth aspect, or any one of the possible implementations of the first, fourth, seventh, or ninth aspects.

[0339] According to an eighteenth aspect, the present application provides a computer storage medium comprising computer instructions which, when executed on a computer, enable the computer to perform the method of the second, fifth, eighth, or tenth aspect, or any one of the possible implementations of the second, fifth, eighth, or tenth aspects.

[0340] According to a nineteenth aspect, the present application provides a computer storage medium comprising computer instructions which, when executed on a computer, enable the computer to perform the method of the third aspect or the sixth aspect, or any one of the possible implementations of the third aspect or the sixth aspect.

[0341] According to a twentieth aspect, the present application provides a computer program product, which, when running on a computer, enables the computer to perform the method of the first, fourth, seventh, or ninth aspect, or any one of the possible implementations of the first, fourth, seventh, or ninth aspects.

[0342] According to a twenty-first aspect, the present application provides a computer program product, which, when running on a computer, enables the computer to perform the method of the second, fifth, eighth or tenth aspect, or any one of the possible implementations of the second, fifth, eighth or tenth aspects.

[0343] According to a twenty-second aspect, the present application provides a computer program product, which, when running on a computer, enables the computer to perform the method of the third aspect or the sixth aspect, or any one of the possible implementations of the third aspect or the sixth aspect.

[0344] According to a twenty-third aspect, the present application provides a chip or chip system. The chip or chip system is applied to a terminal and includes a processing circuit and an interface circuit. The interface circuit is configured to receive code instructions and transmit the code instructions to the processing circuit. The processing circuit is configured to execute the code instructions to perform a method according to the first, fourth, seventh, or ninth aspect, or any one of possible implementations of the first, fourth, seventh, or ninth aspect. [Brief explanation of the drawings]

[0345] [Figure 1A] 1 is a schematic diagram of a satellite communication system according to an embodiment of the present application; [Figure 1B] FIG. 2 is a schematic diagram of another satellite communication system according to an embodiment of the present application. [Figure 2A(1)] 1 is a schematic diagram of a protocol capsule architecture for inbound data in a satellite communication system according to an embodiment of the present application; [Figure 2A(2)] 1 is a schematic diagram of a protocol capsule architecture for inbound data in a satellite communication system according to an embodiment of the present application; [Figure 2B(1)] 1 is a schematic diagram of a protocol analysis architecture for inbound data in a satellite communication system according to an embodiment of the present application; [Figure 2B(2)] 1 is a schematic diagram of a protocol analysis architecture for inbound data in a satellite communication system according to an embodiment of the present application; [Figure 3A(1)] 1 is a schematic diagram of a protocol capsule architecture for outbound data in a satellite communication system according to an embodiment of the present application; [Figure 3A(2)] 1 is a schematic diagram of a protocol capsule architecture for outbound data in a satellite communication system according to an embodiment of the present application; [Figure 3A(3)] 1 is a schematic diagram of a protocol capsule architecture for outbound data in a satellite communication system according to an embodiment of the present application; [Figure 3B(1)] 1 is a schematic diagram of a protocol analysis architecture for outbound data in a satellite communication system according to an embodiment of the present application; [Figure 3B(2)] 1 is a schematic diagram of a protocol analysis architecture for outbound data in a satellite communication system according to an embodiment of the present application; [Figure 3B(3)] 1 is a schematic diagram of a protocol analysis architecture for outbound data in a satellite communication system according to an embodiment of the present application; [Figure 4] FIG. 2 is a schematic diagram of an authentication verification procedure during inbound transmission in a satellite communication system according to an embodiment of the present application; [Figure 5] 1 is a flowchart of a method for obtaining a designated key according to an embodiment of the present application; [Figure 6] FIG. 1 is a schematic diagram of a replay attack scenario according to an embodiment of the present application; [Figure 7A] FIG. 2 is a schematic diagram of the processing steps of a transmission method according to an embodiment of the present application; [Figure 7B] FIG. 2 is a schematic diagram of the processing steps of a transmission method according to an embodiment of the present application; [Figure 8A] FIG. 10 is a schematic diagram of the processing steps of another transmission method according to an embodiment of the present application; [Figure 8B] FIG. 10 is a schematic diagram of the processing steps of another transmission method according to an embodiment of the present application; [Figure 8C] FIG. 10 is a schematic diagram of the processing steps of another transmission method according to an embodiment of the present application; [Figure 9] FIG. 2 is a schematic diagram of an inbound transmission procedure according to an embodiment of the present application; [Figure 10] FIG. 2 is a schematic diagram of an outbound transmission procedure according to an embodiment of the present application; [Figure 11A] FIG. 10 is a schematic diagram of the processing steps of another transmission method according to an embodiment of the present application; [Figure 11B] FIG. 10 is a schematic diagram of the processing steps of another transmission method according to an embodiment of the present application; [Figure 12] FIG. 10 is a schematic diagram of another inbound transmission procedure according to an embodiment of the present application; [Figure 13] FIG. 10 is a schematic diagram of another outbound transmission procedure according to an embodiment of the present application; [Figure 14] FIG. 2 is a schematic diagram of a transmission procedure according to an embodiment of the present application; [Figure 15A] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 15B] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 15C] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 15D] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 15E] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 15F] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 15G] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 15H] FIG. 2 is a schematic diagram of a group of interfaces according to an embodiment of the present application. [Figure 16A] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 16B] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 17A] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 17B] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 17C] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 18A] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 18B] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 18C]FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 19] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 20] FIG. 2 is a schematic diagram of an interface according to an embodiment of the present application. [Figure 21A] FIG. 10 is a schematic diagram of the processing steps of another transmission method according to an embodiment of the present application; [Figure 21B] FIG. 10 is a schematic diagram of the processing steps of another transmission method according to an embodiment of the present application; [Figure 22A] FIG. 10 is a schematic diagram of another inbound transmission procedure according to an embodiment of the present application; [Figure 22B] FIG. 10 is a schematic diagram of another inbound transmission procedure according to an embodiment of the present application; [Figure 23A] FIG. 10 is a schematic diagram of another outbound transmission procedure according to an embodiment of the present application; [Figure 23B] FIG. 10 is a schematic diagram of another outbound transmission procedure according to an embodiment of the present application; [Figure 24A] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 24B] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 25A] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 25B] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 25C] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 25D] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 26] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 27A] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 27B]FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 28A] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 28B] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 29] FIG. 2 is a schematic diagram of an interface according to an embodiment of the present application. [Figure 30A] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 30B] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 31A] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 31B] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 32] FIG. 10 is a schematic diagram of another inbound transmission procedure according to an embodiment of the present application; [Figure 33] FIG. 10 is a schematic diagram of another outbound transmission procedure according to an embodiment of the present application; [Figure 34] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 35A] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 35B] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 36A] FIG. 10 is a schematic diagram of another inbound transmission procedure according to an embodiment of the present application; [Figure 36B] FIG. 10 is a schematic diagram of another inbound transmission procedure according to an embodiment of the present application; [Figure 37A] FIG. 10 is a schematic diagram of another outbound transmission procedure according to an embodiment of the present application; [Figure 37B] FIG. 10 is a schematic diagram of another outbound transmission procedure according to an embodiment of the present application; [Figure 38] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 39] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 40] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 41] FIG. 10 is a schematic diagram of another transmission procedure according to an embodiment of the present application; [Figure 42] FIG. 1 is a schematic diagram of a hardware structure according to an embodiment of the present application. [Figure 43A] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. [Figure 43B] FIG. 10 is a schematic diagram of another group of interfaces according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION

[0346] The following provides a detailed and clear description of the technical solutions in the embodiments of the present application with reference to the accompanying drawings. In the description of the embodiments of the present application, " / " means "or" unless otherwise specified. For example, A / B may represent A or B. In this specification, "and / or" only describes an association relationship for describing related objects and indicates that three relationships may exist. For example, A and / or B can indicate the following three cases: when only A exists, when both A and B exist, and when only B exists.

[0347] The terms "first" and "second" below are for descriptive purposes only and should not be understood as an indication or implication of relative importance or an implicit indication of the quantity of the technical features shown. Thus, a feature qualified by "first" or "second" may explicitly or implicitly include one or more features. In the description of embodiments of this application, "a plurality of" means two or more, unless otherwise specified.

[0348] A satellite communication system 10 according to an embodiment of the present application will now be described.

[0349] As shown in FIG. 1A, the satellite communication system 10 may include, but is not limited to, a terminal 100, a satellite 21, a satellite network device 200, a cellular network device 400, a terminal 300, and the like.

[0350] A terminal 100 in a satellite network can transmit a satellite message to a terminal 300 in a cellular network. Specifically, the terminal 100 can first transmit the satellite message to a satellite 21. The satellite 21 can only perform relaying and directly forward the satellite message transmitted by the terminal 100 to a satellite network device 200 on the ground. The satellite network device 200 can analyze the satellite message forwarded by the satellite 21 according to a satellite communication protocol and forward the message content analyzed from the satellite message to a cellular network device 400. The cellular network device 400 can forward the message content to the terminal 300 by using a conventional cellular communication network.

[0351] The terminal 300 in the cellular network can also send a satellite message to the terminal 100 in the satellite network. In the outbound process, the terminal 300 can send an SMS message to the short message service center 25 through the conventional cellular communication network. The short message service center 25 can forward the SMS message of the terminal 300 to the satellite network device 200. The satellite network device 200 can relay the SMS message of the terminal 300 to the terminal 100 using the satellite 21.

[0352] Optionally, the satellite communication system 10 may further include an emergency rescue platform and an emergency rescue center. The satellite network device 200 may use the emergency rescue platform to transmit the emergency rescue-type satellite message transmitted by the terminal 100 to the emergency rescue center.

[0353] The satellite network device 200 may include, but is not limited to, a terrestrial transceiver station 22, a central station 23, and an integrated communications platform 24. The terrestrial transceiver station 22 may include one or more devices each having a transmit capability and one or more devices each having a receive capability, or one or more devices each having a transmit and receive capability. This is not a limitation herein. The terrestrial transceiver station 22 may include a physical l、 The central station 23 may be configured to perform the data processing functions of the satellite network device 200 at the PHY layer. l、 The unified communications platform 24 may be configured to perform data processing functions of the satellite network device 200 at the application layer (SLC) and message data convergence protocol (MDCP) layers. n、 The unified communications platform 24 may be configured to perform data processing functions at the AP layer. The unified communications platform 24 may also be referred to as a unified communications gateway 24.

[0354] The cellular network device 400 may include, but is not limited to, a short message service center (SMSC) 25, a home location register (HLR) 28, a business & operation support system (BOSS) 29, a bootstrapping server function (BSF) 41, and a home subscriber server (HSS) 42. The bootstrapping server 41 and the home subscriber server 42 are not shown in FIG. 1A.

[0355] The short message service center 25 may be configured to forward data transmitted by the satellite network device 200 to a terminal within the cellular network, or may be configured to forward data within the cellular network to the satellite network device 200.

[0356] The telecommunications business operation support system 29 may be configured to perform terminal registration. During registration, the telecommunications business operation support system 29 may assign a corresponding personal identification (ID) number or the like to the terminal (e.g., terminal 100). The ID number may be the mobile phone number of the terminal.

[0357] The bootstrapping server 41 may be configured to receive service requests from the terminal 100 and the satellite network device 200. The bootstrapping server 41 may be further configured to store authentication parameters obtained from the home subscriber server 42. The authentication parameters may include, but are not limited to, a random (RAND), an authentication token (AUTN), an expected response (XRES), a cipher key (CK), and an integrity key (IK). The bootstrapping server 41 may further generate a session key_network_application function (Ks_NAF) based on the authentication parameters. The bootstrapping server 41 may further send the Ks_NAF to the satellite network device 200. The bootstrapping server 41 may further send some of the authentication parameters (RAND and AUTN) to the terminal 100.

[0358] The home location register 28 and / or the home subscriber server 42 may be configured to generate authentication parameters and transmit the authentication parameters to the bootstrapping server 41. The RAND and AUTN may be used by the terminal 100 to calculate a CK, an IK, and a response (RES). The XRES in the authentication parameters may be used by the satellite network device 200 to authenticate whether the terminal 100 is a valid terminal. Only when the satellite network device 200 determines that the XRES is the same as the RES, the satellite network device 200 determines that the terminal 100 is a valid terminal (the authentication performed by the satellite network device 200 was successful), and the satellite network device 200 and the terminal 100 can encrypt / decrypt communication data by using the Ks_NAF. The CK and IK in the authentication parameters may be used to calculate the Ks_NAF.

[0359] It should be noted that in the following embodiments of the present application, Ks_NAF is a designated key (also referred to as a first key). The designated key can be used to encrypt / decrypt data. Optionally, the designated key can also be used to generate an authentication code.

[0360] It should be noted that the process of the terminal 100 transmitting data to the satellite network device 200 is inbound. The process of the satellite network device 200 transmitting data to the terminal 100 is outbound.

[0361] In a possible implementation, the terrestrial transceiver station 22 and the central station 23 may be the same device. For example, the device may be the terrestrial central station 31 in the satellite communication system 20 shown in FIG. 1B. The terrestrial central station 31 may be configured to perform data processing functions of the satellite network device 200 at the physical layer, the satellite link control layer, and the message data convergence protocol layer.

[0362] In a possible implementation, the transmitting device and the receiving device can obtain a designated key in the second transmission system. The transmitting device can obtain an authentication code A based on the designated key and the original data and transmit a data packet including the authentication code A to the receiving device in the first transmission system. The receiving device can generate an authentication code B based on the designated key and the data packet. The receiving device can determine the reception status of the data packet based on the authentication code B. In this manner, the transmitting device and the receiving device can update and obtain the designated key by using the abundant air interface resources of the cellular network, thereby saving the air interface resources of the satellite network that are needed to negotiate the designated key. Alternatively, the transmitting device and the receiving device can transmit the authentication code and the original data together to reduce the interaction steps required for authentication, thereby further saving the air interface resources of the satellite network.

[0363] It should be noted that the first transmission system may be a satellite transmission system (also referred to as a satellite network or a satellite communication system), for example, the above-mentioned satellite communication system 10. In some embodiments, the first transmission system may be a BeiDou network transmission system. It should be further noted that the second transmission system is a transmission system that is not the first transmission system. For example, the second transmission system may be a cellular transmission system (also referred to as a cellular network), or the second transmission system may be a wireless local area network (WLAN) transmission system. This is not limited in the embodiments of the present application.

[0364] In the following embodiments of the present application, a satellite network and a cellular network are used as examples to illustrate the transmission method.

[0365] The following describes the protocol architecture of inbound data in the satellite communication system 10 according to one embodiment of the present application.

[0366] 2A(1) and 2A(2) are schematic diagrams of a protocol encapsulation architecture for inbound data in a satellite communication system 10 according to one embodiment of the present application.

[0367] As shown in FIG. 2A(1) and FIG. 2A(2), the transmission protocol layer of the terminal 100 can be divided into an application layer, a message data convergence protocol layer, a satellite link control layer, and a physical layer.

[0368] When the terminal 100 transmits data to the satellite network device 200, the operation procedure of the transmission protocol in the terminal 100 may be as follows:

[0369] In the AP layer, the terminal 100 generates a first data packet. The first data packet includes original data and a first authentication code generated based on a designated key and the original data. For example, the terminal 100 can generate a first authentication code based on the original data (also referred to as first data) and a designated key, concatenate the first authentication code and the original data together, and perform processing (e.g., add a packet header) to obtain the first data packet. The original data can include, but is not limited to, data entered by a user, an indication of the number of receiving users, a receiving user ID, location information of the terminal 100, voice, an image, an animation, etc.

[0370] In a possible implementation, the terminal 100 may use a designated key to encrypt the concatenated first authentication code and original data to obtain encrypted data. The terminal 100 may add packet header information before the encrypted data to obtain a first data packet. The packet header information may include, but is not limited to, an encryption instruction field. The encryption instruction field may indicate an encryption algorithm that the terminal 100 uses to encrypt the data.

[0371] Optionally, before terminal 100 encrypts the concatenated first authentication code and the original data, terminal 100 can first compress the concatenated first authentication code and the original data. It can be understood that the packet header information can further include a compression indication field. The compression indication field can indicate a compression algorithm used by terminal 100 to compress the data.

[0372] In a possible implementation, the terminal 100 may encrypt only the original data to obtain encrypted data. The terminal 100 may add packet header information before the encrypted data to obtain a first data packet. The packet header information may include, but is not limited to, an encryption indication field. Finally, the terminal 100 adds a first authentication code to the first data packet to obtain a first data packet including the first authentication code and the encrypted data.

[0373] In the MDCP layer, the terminal 100 can obtain a first data packet delivered by the AP layer via the inter-layer interface and use the first data packet as an MDCP SDU. In the MDCP layer, the terminal 100 can add padding data to the trailer of the MDCP SDU up to a specified length and add a redundancy length indication field to the MDCP SDU. The redundancy length indication field can indicate the length of the padding data. The terminal 100 can divide the MDCP SDU, to which the padding data and redundancy length indication field have been added, into one or more fixed-length MDCP segment data (M_segment) and add a succession indication field to the header of each MDCP segment data to obtain an MDCP PDU. That is, the MDCP PDU includes an M_segment and a succession indication field. The succession indication field can indicate the sequence of the current MDCP PDU among multiple MDCP PDUs in the same MDCP SDU, whether there is an MDCP PDU after the current MDCP PDU, or whether the current MDCP PDU is a unique MDCP PDU within the MDCP SDU.

[0374] In the SLC layer, the terminal 100 can obtain an MDCP PDU delivered by the MDCP layer via the inter-layer interface and use the MDCP PDU as an SLC SDU. In the SLC layer, the terminal 100 can segment the SLC SDU into one or more (e.g., four) fixed-length SLC segment data (S_segments) and add frame header information (also referred to as frame format indication information) to the header of each S_segment to obtain an SLC PDU. The frame header information may include, but is not limited to, a user ID field, a total frame quantity field, and a frame sequence number field. The user ID field may indicate a terminal (e.g., the terminal 100) that generated the SLC PDU. The total frame count field may indicate the total number of SLC PDUs included in the SLC SDU to which the SLC PDU belongs. The frame sequence number field may indicate the sequence number of the SLC PDU within the SLC SDU to which the SLC PDU belongs.

[0375] Note that in this specification, an SLC PDU may be referred to as a second data packet. That is, terminal 100 may process a first data packet into at least one second data packet by using the MDCP layer and the SLC layer. Alternatively, an MDCP segment may be referred to as a second data packet, and terminal 100 may process a first data packet into at least one second data packet by using the MDCP layer.

[0376] At the PHY layer, the terminal 100 can obtain the SLC PDU delivered by the SLC layer via the inter-layer interface. The terminal 100 can perform transmission processing (e.g., encoding, modulation, and spreading) operations on the SLC PDU to obtain inbound data. The terminal 100 can then transmit the inbound data to the satellite 21, which relays the inbound data to the satellite network device 200.

[0377] 2B(1) and 2B(2) are schematic diagrams of a protocol analysis architecture for inbound data in a satellite communication system 10 according to one embodiment of the present application.

[0378] As shown in Figures 2B(1) and 2B(2), the transmission protocol layers in the satellite network device 200 may be divided into an application layer, a message data convergence protocol layer, a satellite link control layer, and a physical layer. The satellite network device 200 may include, but is not limited to, a terrestrial transceiver station 22, a central station 23, and a unified communications platform 24. The terrestrial transceiver station 22 may be configured to handle protocol processing at the PHY layer. The central station 23 may be configured to handle protocol processing at the SLC layer and the MDCP layer. The unified communications platform 24 may be configured to handle protocol processing at the AP layer.

[0379] When the satellite network device 200 receives the data transmitted by the terminal 100, the operation procedure of the BeiDou packet transfer protocol in the satellite network device 200 may be as follows:

[0380] At the PHY layer, the satellite network device 200 can obtain inbound data transmitted by the terminal 100. The satellite network device 200 delivers the data obtained by performing reception processing (e.g., despreading, demodulation, and decoding) operations on the inbound data to the SLC layer via an inter-layer interface, so that the data can be used as an SLC PDU in the SLC layer.

[0381] In the SLC layer, the satellite network device 200 can concatenate SLC PDUs belonging to the same SLC SDU of the same terminal into one SLC SDU based on the frame header information of the SLC PDU. The satellite network device 200 delivers the SLC SDU to the MDCP layer through the inter-layer interface, so that the MDCP layer can use the SLC SDU as an MDCP PDU.

[0382] In the MDCP layer, satellite network device 200 can concatenate all MDCP PDUs belonging to the same MDCP SDU together in a received sequence and remove padding data and redundancy length indication fields from the concatenated MDCP PDUs to obtain an MDCP SDU. Satellite network device 200 can deliver the MDCP SDU to the AP layer through an inter-layer interface and use the MDCP SDU as a first data packet received in the AP layer. In this case, the SLC layer and MDCP layer of satellite network device 200 process at least one second data packet (SLC PDU) to obtain the first data packet, or the MDCP layer of satellite network device 200 processes at least one second data packet (MDCP PDU) to obtain the first data packet.

[0383] At the AP layer, the satellite network device 200 may generate a second authentication code based on the designated key and the first data packet and determine the reception status of the first data packet based on the second authentication code. Specifically, the satellite network device 200 may obtain the original data in the first data packet and then generate a second authentication code based on the designated key and the original data. The satellite network device 200 may obtain the first authentication code in the first data packet and determine, through comparison, whether the first authentication code is the same as the second authentication code, thereby determining the reception status of the first data packet. If the first authentication code is the same as the second authentication code, the satellite network device 200 determines that the first data packet has been successfully received. That is, the satellite network device 200 determines that the original data in the first data packet is data transmitted by the terminal 100, and the satellite network device 200 may perform a corresponding operation on the original data (e.g., forward the original data to the called user equipment in the cellular network). If the first authentication code is different from the second authentication code, the satellite network device 200 determines that the first data packet was not received successfully, i.e., the satellite network device 200 determines that the original data in the first data packet was not data transmitted by the terminal 100, and the satellite network device 200 can discard the first data packet.

[0384] In a possible implementation, the first data packet includes encrypted data, and the encrypted data includes an encrypted first authentication code and the encrypted original data. The satellite network device 200 may determine the encryption algorithm used by the terminal 100 based on a packet header of the first data packet. 2The satellite network device 200 may decrypt the first data packet based on the specified key and encryption algorithm to obtain the original data and the first authentication code. The satellite network device 200 may generate a second authentication code based on the specified key and the original data.

[0385] Optionally, after decrypting the encrypted data, satellite network device 200 may obtain the compressed data. After decompressing the compressed data, satellite network device 200 obtains the first authentication code and the original data.

[0386] In a possible implementation, the first data packet includes encrypted data and a first authentication code. The satellite network device 200 can directly obtain the first authentication code in the first data packet. The satellite network device 200 can perform a decryption operation on the encrypted data based on the designated key and the encryption indication field in the packet header information to obtain the original data.

[0387] In this embodiment of the present application, the above protocol processing process is only an example for illustration, and the specific protocol processing operation is not limited in the present application.

[0388] The following describes the protocol architecture for outbound data within the satellite communication system 10 according to one embodiment of the present application.

[0389] 3A(1)-3A(3) are schematic diagrams of a protocol capsule architecture for outbound data in a satellite communication system 10 according to one embodiment of the present application.

[0390] As shown in Figures 3A(1) to 3A(3), the transmission protocol layers in the satellite network device 200 can be divided into an application layer, a message data convergence protocol layer, a satellite link control layer, and a physical layer.

[0391] When the satellite network device 200 transmits data to the terminal 100, the operation procedure of the packet forwarding protocol in the satellite network device 200 may be as follows:

[0392] At the AP layer, the satellite network device 200 generates a third data packet. The third data packet includes the original data and a fourth authentication code. For example, the satellite network device 200 generates the third data packet. 3 The third data packet may include, but is not limited to, data sent by a third party server (e.g., short message service center 25), text, flags, audio, images, animations, etc.

[0393] Optionally, the satellite network device 200 may generate a fourth authentication code based solely on the original data.

[0394] In a possible implementation, the satellite network device 200 may encrypt the concatenated original data and the fourth authentication code based on a specified key and encryption algorithm to obtain encrypted data. The satellite network device 200 may add a packet header before the encrypted data to obtain a third data packet. The packet header may include, but is not limited to, an encryption indication field. The encryption indication field may indicate the encryption algorithm used by the satellite network device 200 to encrypt the data.

[0395] Optionally, before encrypting the concatenated fourth authentication code and the original data, satellite network device 200 may first compress the concatenated fourth authentication code and the original data. It may be understood that the packet header may further include a compression indication field. The compression indication field may indicate the compression algorithm used by satellite network device 200 to compress the data.

[0396] Further, optionally, satellite network device 200 may compress the concatenated fourth authentication code and the original data to obtain compressed data. Satellite network device 200 may add a compression indicator field before the compressed data and then encrypt the compressed data with the added compression indicator field by using the specified key to obtain encrypted data.

[0397] In a possible implementation, satellite network device 200 may encrypt only the original data to obtain the encrypted data. Satellite network device 200 may add packet header information before the encrypted data to obtain the third data packet. The packet header information may include, but is not limited to, an encryption indication field. Finally, satellite network device 200 may add a fourth authentication code to the third data packet to obtain the third data packet. 4 and obtain a third data packet containing the authentication code and the encrypted data.

[0398] In the MDCP layer, the satellite network device 200 can obtain the third data packet delivered by the AP layer via the inter-layer interface and use the third data packet as an MDCP SDU. The satellite network device 200 can divide the MDCP SDU into one or more MDCP segment data (M_segment) and add a succession indication field to the header of each MDCP segment data to obtain an MDCP PDU. That is, the MDCP PDU includes an M_segment and a succession indication field. The succession indication field can indicate the sequence of the current MDCP PDU within the same MDCP SDU, for example, whether the current MDCP PDU is a unique PDU, whether there is an MDCP PDU after the current MDCP PDU, or whether the current MDCP PDU is the first MDCP PDU.

[0399] For example, the data length of the following indicator field can occupy 2 bits. The meaning of the value of the following indicator field can be as follows: 01: Indicates that the MDCP PDU is the start MDCP PDU of multiple MDCP PDUs in an MDCP SDU. 10: Indicates that the MDCP PDU is an intermediate MDCP PDU among multiple MDCP PDUs in an MDCP SDU, that is, an MDCP PDU other than the start MDCP PDU and the last MDCP PDU in the MDCP SDU. 11: Indicates that the MDCP PDU is the last MDCP PDU among multiple MDCP PDUs in the MDCP SDU. 00: Indicates that the MDCP PDU is a unique MDCP PDU within an MDCP SDU.

[0400] It should be noted that the subsequent instruction field is merely an example and does not constitute a specific limitation to this embodiment of the present application.

[0401] In the SLC layer, the satellite network device 200 can obtain the MDCP PDU delivered by the MDCP layer through the inter-layer interface and use the MDCP PDU as an SLC SDU. The satellite network device 200 can segment the SLC SDU into one or more (e.g., four) SLC segment data (S_segments) and add frame header information to the header of each S_segment to obtain the SLC PDU. The frame header information may include, but is not limited to, a user ID field, a total frame quantity field, and a frame sequence number field. The user ID field may be used to identify a receiving device (e.g., terminal 100), and the value of the user ID field is the ID number of the receiving device. For a detailed description of the total frame quantity field and the frame sequence number field, see FIG. 2 A(1) and figure 2 A (2) Please refer to the above-mentioned embodiment in . The details will not be described again herein. It should be noted that in this specification, the SLC PDU may be referred to as a fourth data packet. The satellite device 200 may process the third data packet into at least one fourth data packet at the MDCP layer and the SLC layer. Alternatively, the MDCP segment may be referred to as a fourth data packet, and the satellite device 200 may process the third data packet into at least one fourth data packet at the MDCP layer.

[0402] At the PHY layer, the satellite network device 200 can obtain the SLC PDUs delivered by the SLC layer through the inter-layer interface and use the SLC PDUs as user frames. The satellite network device 200 can concatenate user frames (also referred to as data frames) of one or more users together and then add a frame header (e.g., a version number) and a check bit to obtain a physical frame. The satellite network device 200 can perform transmission processing (e.g., encoding, modulation, and spreading) operations on the physical frame to obtain coded data of the message tributary (S2C_d tributary). The satellite network device 200 can combine the coded data of the S2C_d tributary and the pilot data (also referred to as secondary code) of the pilot tributary (S2C_p tributary) into pilot-coded data, i.e., outbound data, and transmit the outbound data to the satellite 21. The satellite 21 relays the outbound data to one or more terminals. It can be understood that the pilot data of the S2C_p tributary is associated with the satellite beam. When the satellite beam is known, the pilot data of the S2C_p tributary is also known and does not need to be decoded. The coded data of the S2C_d tributary needs to be decoded.

[0403] 3B(1)-3B(3) are schematic diagrams of a protocol analysis architecture for outbound data in a satellite communication system 10 according to one embodiment of the present application.

[0404] As shown in FIG. 3B(1) to FIG. 3B(3), the transmission protocol layer in the terminal 100 can be divided into an application layer, a message data convergence protocol layer, a satellite link control layer, and a physical layer.

[0405] At the PHY layer, the terminal 100 may capture the coded data of the S2C_d tributary based on the secondary code of the S2C_p tributary transmitted by the satellite network device 200. After capturing the coded data of the S2C_d tributary, the terminal 100 may perform receive processing (e.g., despreading, demodulation, and decoding) operations on the coded data of the S2C_d tributary to obtain a physical frame. The terminal 100 may extract a user frame belonging to the terminal 100 from the physical frame. The terminal 100 may convey the user frame to the SLC layer via an inter-layer interface, where the user frame can be used as an SLC PDU.

[0406] In the SLC layer, if the user frame received by the terminal 100 is a universal data frame, the terminal 100 can concatenate SLC PDUs belonging to the same SLC SDU into one SLC SDU. The terminal 100 delivers the SLC SDU to the MDCP layer via the inter-layer interface, and the MDCP layer can use the SLC SDU as an MDCP PDU. If the user frame received by the terminal 100 is an ACK frame, the terminal 100 can retransmit data / send the next SLC SDU based on the value of the bitmap field.

[0407] In the MDCP layer, the terminal 100 can concatenate one or more MDCP PDUs, from which packet headers have been removed, into one MDCP SDU. The terminal 100 can deliver the MDCP SDU to the AP layer via the inter-layer interface and use the MDCP SDU as a third data packet received by the AP layer. In this case, the SLC layer and MDCP layer of the terminal 100 process at least one fourth data packet (SLC PDU) to obtain the third data packet.

[0408] In the AP layer, the terminal 100 may generate a third authentication code based on the specified key and the third data packet and determine the reception status of the third data packet based on the third authentication code. Specifically, the terminal 100 may obtain the original data in the third data packet and then generate the third authentication code based on the specified key and the original data. The terminal 100 may obtain a fourth authentication code in the third data packet and determine, through comparison, whether the fourth authentication code is the same as the third authentication code, thereby determining the reception status of the third data packet. If the fourth authentication code and the third authentication code are the same, the terminal 100 determines that the third data packet has been successfully received. That is, the terminal 100 determines that the original data in the third data packet is data transmitted by the satellite network device 200, and the terminal 100 may perform a corresponding operation on the original data (e.g., display the original data on the display screen of the terminal 100 in the form of an SMS message). If the fourth authentication code and the third authentication code are different, the terminal 100 determines that the third data packet has failed to be received, that is, the terminal 100 determines that the original data in the third data packet is not the data transmitted by the satellite network device 200, and the terminal 100 can discard the third data packet.

[0409] Optionally, terminal 100 may generate a third authentication code based only on the original data in the third data packet.

[0410] In a possible implementation, the third data packet includes encrypted data, and the encrypted data includes an encrypted fourth authentication code and the encrypted original data. The terminal 100 can determine the encryption algorithm used by the satellite network device 200 based on the encryption instruction field of the third data packet, and then decrypt the encrypted data based on the specified key and encryption algorithm to obtain the original data and the fourth authentication code. The terminal 100 can generate the third authentication code based on the specified key and the original data obtained through decryption.

[0411] Optionally, after decrypting the decrypted data, the terminal 100 may obtain the compressed data. After decompressing the compressed data, the terminal 100 obtains the fourth authentication code and the original data.

[0412] In a possible implementation, the third data packet includes encrypted data and a fourth authentication code. The terminal 100 can directly extract the fourth authentication code in the third data packet. The terminal 100 can perform a decryption operation on the decrypted data based on the designated key and the encryption indication field in the packet header information to obtain the original data. The terminal 100 then obtains the third authentication code based on the original data and the designated key.

[0413] In this embodiment of the present application, the above protocol processing process is only an example for illustration, and the specific protocol processing operation is not limited in the present application.

[0414] In the following, a method for transmission in a satellite communication system according to an embodiment of the present application will be described.

[0415] FIG. 4 is a schematic diagram of an authentication verification procedure during inbound transmission in a satellite communication system according to an embodiment of the present application.

[0416] S401: The terminal 100, the satellite network device 200, and the cellular network device 400 negotiate a designated key.

[0417] Specifically, for a detailed description of the negotiation regarding the designated key, please refer to the embodiment of Figure 5. The details will not be described again in this specification. After obtaining the designated key by using the cellular network device 400, the terminal 100 and the satellite network device 200 can store the designated key. The terminal 100 and the satellite network device 200 can encrypt / decrypt data by using the designated key.

[0418] In a possible implementation, the designated key obtained by the terminal 100 and the satellite network device 200 in the cellular network can only be used within a preset time (e.g., 15 days), and the available time of the designated key may be referred to as the designated key validity period. After the designated key validity period expires, the terminal 100 and the satellite network device 200 need to return to the cellular network to update the designated key and the designated key validity period.

[0419] S402: The terminal 100 acquires the original data.

[0420] The original data may include, but is not limited to, data entered by the calling user (user of terminal 100) (e.g., text data, image data, audio data, or video data), a call-receiving user volume indication, a call-receiving user ID, location information of terminal 100, etc.

[0421] In some embodiments, after receiving the first input of the calling user, the terminal 100 can obtain original data in response to the first input and transmit the original data to the satellite network device 200. In this embodiment of the present application, the input can include, but is not limited to, a gesture, a voice, etc. The gesture can include a gesture that directly touches the display screen of the terminal 100 (e.g., a tap) and a floating gesture that does not directly touch the display screen.

[0422] S403: The terminal 100 generates a first authentication code based on the specified key and original data.

[0423] The terminal 100 may generate a first authentication code based on a specified key and original data using a specified algorithm. For example, the terminal 100 may obtain a first authentication code for a specified key and original data by using an algorithm approved by a State Password Management Board.

[0424] S404: The terminal 100 obtains a first data packet based on the first authentication code and the original data.

[0425] The terminal 100 may obtain and encrypt the concatenated first authentication code and original data by concatenating the first authentication code and the original data together using a designated key to obtain encrypted data. The terminal 100 may add packet header information before the encrypted data to obtain a first data packet. The packet header information may include, but is not limited to, an encryption instruction field. The encryption instruction field may indicate an encryption algorithm used by the terminal 100. The encryption instruction field may be 2 bits long. For example, a value of 00 in the encryption instruction field indicates that the transmitting device should not use an encryption algorithm. A value of 01 in the encryption instruction field indicates that the transmitting device should use a hash algorithm approved by the State Password Management Board.

[0426] S405: The terminal 100 may transmit a first data packet to the satellite network device 200.

[0427] Specifically, for a description of the specific procedure for the terminal 100 to transmit data to the satellite network device 200, please refer to the above-mentioned embodiments in FIG. 2A(1) and FIG. 2A(2). The details will not be described again in this specification. It should be noted that in the process in which the terminal 100 transmits a first data packet to the satellite network device 200, the first data packet includes a user identifier. For example, the frame header information added by the terminal 100 at the SLC layer may include a user ID field. The user ID field may be used to identify the terminal 100. The value of the user ID field is the ID number of the terminal 100. The ID number of the terminal 100 may indicate parameters such as a designated key corresponding to the terminal 100.

[0428] S406: The satellite network device 200 may generate a second authentication code based on the designated key and the first data packet.

[0429] The satellite network device 200 can decrypt the first data packet by using the designated key to obtain the first authentication code and the original data. The satellite network device 200 can determine the encryption algorithm used by the terminal 100 based on the encryption instruction field in the packet header. The satellite network device 200 can use the designated key to decrypt the encrypted data in the first data packet by using a decryption algorithm corresponding to the encryption algorithm to obtain the first authentication code and the original data. For a description of the specific procedure in which the satellite network device 200 receives data from the terminal 100, please refer to the above-mentioned embodiments in Figures 2B(1) and 2B(2). The details will not be described again in this specification.

[0430] The satellite network device 200 can generate the second authentication code based on the specified key and the original data by using a specified algorithm (e.g., a grouping encryption algorithm). The specified algorithm used by the satellite network device 200 to generate the second authentication code is the same as the specified algorithm used by the terminal 100 to generate the authentication code.

[0431] S407: The satellite network device 200 determines whether the first authentication code is the same as the second authentication code.

[0432] The satellite network device 200 can determine the receipt status of the first data packet based on the second authentication code.

[0433] If satellite network device 200 determines that the first authentication code is different from the second authentication code, satellite network device 200 may determine that the first data packet was unsuccessfully received and may discard the first data packet. Optionally, satellite network device 200 may perform step S408.

[0434] If the satellite network device 200 determines that the first authentication code is the same as the second authentication code, the satellite network device 200 determines that the first data packet has been successfully received. Optionally, the satellite network device 200 may perform step S409.

[0435] S408: The satellite network device 200 sends a failed application receipt to the terminal 100.

[0436] If satellite network device 200 determines that the first authentication code is different from the second authentication code, satellite network device 200 may further generate a failed application receipt. The failed application receipt indicates that satellite network device 200 failed to receive the first data packet. Satellite network device 200 may transmit the failed application receipt to terminal 100.

[0437] S409: The satellite network device 200 may transmit the original data to the cellular network device 400.

[0438] The satellite network device 200 can transmit the original data to the cellular network device 400 (e.g., the short message service center 25). The cellular network device 400 can forward the original data to the called user (e.g., the terminal 300) in a specified format (e.g., an SMS message). Optionally, the satellite network device 200 can further perform step S410.

[0439] S410: The satellite network device sends a successful application receipt to the terminal 100.

[0440] If satellite network device 200 determines that the first authentication code is the same as the second authentication code, satellite network device 200 may further generate a successful application receipt. The successful application receipt indicates that satellite network device 200 successfully received the first data packet. Satellite network device 200 may transmit the successful application receipt to terminal 100.

[0441] The following describes a flowchart of a method for obtaining a designated key according to an embodiment of the present application.

[0442] In a possible implementation, the terminal 100 and the satellite network device 200 may obtain the designated key through negotiation in the cellular network. In this way, the terminal 100 can also perform data encryption and decryption in the satellite network by using the designated key, and does not need to negotiate the designated key with the satellite network device, thereby ensuring data security while saving air interface resources of the satellite network device.

[0443] Specifically, the terminal 100 and the satellite network device 200 can obtain the designated key by using a generic bootstrapping architecture (GBA) procedure. For example, as shown in FIG. 5, the specific steps for the terminal 100 and the satellite network device 200 to obtain the designated key are as follows:

[0444] S501: The terminal 100 sends a service request 1 to the satellite network device 200.

[0445] When the terminal 100 is in a cellular network, the terminal 100 may send a service request 1 to a satellite network device 200 in the cellular network. The service request 1 may include an identifier of the terminal 100, and the identifier is used to identify the identity of the terminal 100. For example, the service request 1 may be a hypertext transfer protocol GET (HTTP GET) request.

[0446] S502: The satellite network device 200 sends a service response 1 to the satellite network device 200.

[0447] After receiving service request 1, satellite network device 200 may determine, based on the identifier of terminal 100, that the designated key of terminal 100 is not stored in satellite network device 200 or that the designated key of terminal 100 has expired, and then satellite network device 200 may send service response 1 to terminal 100. Service response 1 may instruct terminal 100 to obtain the designated key by using cellular network device 400.

[0448] S503: The terminal 100 transmits a service request 2 to the bootstrapping server 41.

[0449] After receiving the service response 1, the terminal 100 may send a service request 2 to the bootstrapping server 41. The service request 2 may include an identifier of the terminal 100. The service request 2 may instruct the cellular network device 400 to send parameters, such as a random RAND and an authentication token AUTN, to the terminal 100 that are needed to generate a specified key. For example, the service request 2 may be a Hypertext Transfer Protocol authentication and key agreement (AKA) request.

[0450] S504: The bootstrapping server 41 sends an authentication request to the home subscriber server 42.

[0451] After receiving the service request 2, the bootstrapping server 41 can send an authentication request to the home subscriber server 42. The authentication request includes an identifier of the terminal 100. The authentication request can instruct the home subscriber server 42 to feed back authentication parameters of the terminal 100. For a description of the authentication parameters, please refer to the above embodiment shown in FIG. 1A. The details will not be described again herein. For example, the authentication request may be a multimedia authentication request (MAR).

[0452] S505: The home subscriber server 42 sends the authentication parameters (including RAND, AUTN, XRES, CK, and IK) to the bootstrapping server 41.

[0453] After receiving the authentication request, the home subscriber server 42 can obtain authentication parameters of the terminal 100 based on the identifier of the terminal 100. The home subscriber server 42 pre-stores the identifier of the terminal 100 and the CK and IK corresponding to the identifier. The home subscriber server 42 may further obtain a random RAND by using a random generator. The home subscriber server 42 can generate an AUTN and an XRES based on the RAND, IK, and CK. The home subscriber server 42 can send the generated authentication parameters to the bootstrapping server 41. The identifier of the terminal 100 can include, but is not limited to, the mobile number of the terminal 100, an IP multimedia private identity (IMPI), a temporary IP multimedia private identity (TMPI), etc.

[0454] S506: The bootstrapping server 41 sends a service response 2 to the terminal 100.

[0455] After receiving the authentication parameters, the bootstrapping server 41 can send a service response 2 to the terminal 100. The service response 2 may include RAND and AUTN.

[0456] S507: The terminal 100 generates CK, IK, and RES based on RAND and AUTN.

[0457] After receiving the RAND and AUTN, the terminal 100 may obtain the CK, IK, and RES through calculations based on the RAND and AUTN by using a SIM card. The algorithm used by the terminal 100 to generate the RES is the same as the algorithm used by the cellular network device 400 to generate the XRES.

[0458] S508: The terminal 100 sends a service request 3 (including RES) to the bootstrapping server 41.

[0459] After generating the RES, the terminal 100 can send a service request 3 to the cellular network device 400. The service request 3 includes the RES. For example, the service request 3 may be an HTTP GET request whose header field includes the RES.

[0460] S509: The bootstrapping server 41 can determine through comparison whether XRES is the same as RES.

[0461] After receiving the service request 3 of the terminal 100, the bootstrapping server 41 can verify the identity of the terminal 100 by determining, through comparison, whether the RES is the same as the XRES. If the bootstrapping server 41 determines that the RES is the same as the XRES, the bootstrapping server 41 can perform steps S510 and S511.

[0462] S510: The bootstrapping server 41 can generate Ks_NAF, a specified key validity period for Ks_NAF, and a bootstrapping transaction identifier (B-TID) for Ks_NAF based on the CK and IK.

[0463] The bootstrapping server 41 can obtain Ks_NAF through calculation based on CK and IK by using an algorithm for generating a designated key. In addition, the bootstrapping server 41 can generate a B-TID corresponding to Ks_NAF and a designated key validity period. Ks_NAF is a designated key for the terminal 100 and is used by the satellite network device 2 00 to encrypt / decrypt data during data transmission. The B-TID may be used by the satellite network device 200 to obtain the Ks_NAF of the terminal 100 from the bootstrapping server 41. The specified key validity period may indicate the validity time of the specified key (Ks_NAF).

[0464] S511: The bootstrapping server 41 can send a service response 3 to the terminal 100.

[0465] The service response 3 may include the specified key validity period and B-TID. The service response 3 may instruct the terminal 100 to generate the specified key by using the parameters in the service response 2.

[0466] S512: The terminal 100 may generate Ks_NAF based on the authentication parameters.

[0467] The terminal 100 can obtain Ks_NAF through calculation based on CK and IK by using an algorithm for generating a designated key. The algorithm used by the terminal 100 to generate the designated key is the same as the algorithm used by the cellular network device 400. Within the designated key validity period, in a data transmission process, the terminal 100 may obtain Ks_NAF (designated key) through calculation by using authentication parameters to perform data encryption / decryption operations.

[0468] S513: The terminal 100 sends a service request 4 (including the B-TID) to the satellite network device 200.

[0469] After obtaining Ks_NAF through calculation, the terminal 100 may send a service request 4 to the satellite network device 200. The service request 4 may include the B-TID. The service request 4 may instruct the satellite network device 200 to obtain a specified key for the terminal 100.

[0470] S514: The satellite network device 200 sends a parameter request to the bootstrapping server 41.

[0471] After receiving the service request 4, the satellite network device 200 may send a parameter request to the bootstrapping server 41. The parameter request may include the B-TID. For example, the parameter request may be a bootstrapping-info-request (bootstrapping-info-request, BIR).

[0472] S515: The bootstrapping server 41 sends a parameter response to the satellite network device 200.

[0473] The bootstrapping server 41 may send a parameter response to the satellite network device 200 based on the B-TID of the terminal 100. The parameter response may include the Ks_NAF and the specified key validity period of the terminal 100. Optionally, the bootstrapping server 41 may generate only the B-TID and the specified key validity period in step S515, and then generate the specified key Ks_NAF after receiving the parameter request from the satellite network device 200.

[0474] S516: The satellite network device 200 sends a service response 4 to the terminal 100.

[0475] After receiving the designated key returned by the bootstrapping server 41, the satellite network device 200 can send a service response 4 to the terminal 100. The service response 4 can indicate that the terminal 100 and the satellite network device 200 can perform data encryption / decryption operations within the designated key validity period by using the Ks_NAF stored by the terminal 100 and the satellite network device 200. It can be understood that the Ks_NAF is the designated key obtained by the terminal 100 and the satellite network device 200 by using the cellular network device 400.

[0476] In this way, the designated key is updated in the cellular network, and a validity period is preset for the designated key. In the satellite network, the terminal 100 and the satellite network device 200 can perform data encryption / decryption operations by using the designated key within the validity period. This is a satellite communication system, which saves air interface resources required to negotiate the designated key and also reduces the steps of generating the designated key.

[0477] However, because the sending device and the receiving device generate the authentication code based only on the original data, when the receiving device repeatedly receives the message of the sending device, the repeated message may be repeatedly analyzed and processed, and the repeated message may be charged multiple times. As shown in Figure 6, when the sending device is the terminal 100 and the receiving device is the satellite network device 200, if the inbound message of the terminal 100 is intercepted by an attacking terminal and the inbound message is repeatedly sent to the satellite network device 200, the computing resources of the satellite network device 200 may be occupied, and the message fee of the terminal 100 may be repeatedly calculated.

[0478] Therefore, one embodiment of the present application provides a transmission method. A sending device can generate an authentication code A based on information A and original data. The sending device may obtain a data packet based on the authentication code A and the original data. The sending device may send the data packet to a receiving device in a first transmission system. After receiving the data packet, the receiving device can generate an authentication code B based on the data packet and information B. The receiving device may receive a data packet based on the authentication code B. Te de The information A and information B are information that is updated by the sending device and the receiving device based on the transmission, for example, time information, which can be updated over time, or Is The information is about the amount of data packets, and can be updated by the transmitting device and the receiving device based on the amount of data packets sent and the amount of data packets received, respectively.

[0479] In this way, the authentication code A in the repeatedly transmitted data packet is generated based on the information A that exists before the update, so the authentication code B generated by the receiving device based on the updated information B is the authentication code A in the repeatedly transmitted data packet. AThis is different from "0", which indicates that the data packet may be forwarded by an invalid terminal, and the receiving device may determine that the data packet has failed to be received, resulting in no recurring processing and billing issues.

[0480] In a possible implementation, the information A of the transmitting device is sending time information, and the information B of the receiving device is receiving time information. In this way, when the difference between the sending time of the transmitting device and the receiving time of the receiving device exceeds a preset minimum time granularity, the information A is different from the information B, i.e., the authentication code A is different from the authentication code B. Therefore, the receiving device cannot analyze the data packet sent by the transmitting device, and as a result, the problem of repeated processing and billing does not occur.

[0481] Specifically, the transmitting device can generate an authentication code A based on information A and the original data. The transmitting device can transmit a data packet including the authentication code A to a receiving device in a first transmission system. Information A is transmission time information. After receiving the data packet, the receiving device can generate an authentication code B based on information B and the data packet. The receiving device may determine the reception status of the data packet based on the authentication code B. Information B is reception time information. In this way, when the interval between the time when the transmitting device generates the authentication code and the time when the receiving device receives the data packet exceeds the minimum time granularity, the receiving device cannot analyze the data packet, and as a result, no recursive processing and billing problems occur.

[0482] 7A and 7B are schematic diagrams of the processing steps of a transmission method according to an embodiment of the present application.

[0483] 1. The sending device generates an authentication code A based on the original data and information A.

[0484] Information A is transmission time information, and information A can indicate the transmission time of the data packet.

[0485] (1) The transmitting device obtains the transmission time of the data packet.

[0486] In the inbound process, the transmission time of the data packet may be any time during the entire period from the time when the transmitting device (terminal 100) acquires the original data to the time when the transmitting device generates the authentication code A plus the offset time (offset for short). The time when the terminal 100 acquires the original data may be the time when the terminal 100 receives the input of the satellite message sent by the calling user. In this case, the original data includes the data input by the calling user. The time when the terminal 100 generates the authentication code A is , De The transmission time of the first data packet may be the current time acquired by the terminal 100 by executing a program statement to acquire the transmission time of the data packet (e.g., by using the current time acquisition function getCurrentTime()). The terminal 100 may determine the transmission time of the data packet based on the satellite positioning timing. Alternatively, the transmission time of the first data packet may be expressed as the time when the transmitting device (terminal 100) delivers the first data packet to the MDCP layer in the AP layer. Alternatively, the transmission time of the first data packet may be estimated by the transmitting device (terminal 100) and expressed as the time when the transmitting device (terminal 100) transmits the first data packet to the receiving device (satellite network device 200).

[0487] In the outbound process, the transmission time of the data packet can be any time within a period from the time the transmitting device (satellite network device 200) acquires the original data to the time the transmitting device generates authentication code A plus an offset. The time the satellite network device 200 acquires the original data may be the time the satellite network device 200 receives the service request sent by the terminal 100, or the time the satellite network device 200 acquires the original data may be the time the satellite network device 200 receives the message sent to the terminal 100, the time the satellite network device 200 transmits the data to the terminal 100, or the time the satellite network device 200 generates authentication code A plus an offset, which is used to estimate the time the SLC layer, MDCP layer, or physical layer of the satellite network device 200 transmits the data. The time the satellite network device 200 generates authentication code A may be the current time acquired by the satellite network device 200 by executing a program statement to acquire the transmission time of the first data packet (e.g., by the unified communications platform 24 in the satellite network device 200 by using the current time acquisition function getCurrentTime()). The terrestrial transceiver station 22 or central station 23 in the satellite network device 200 can determine the transmission time of the data packet based on the satellite 21 .

[0488] Optionally, in the outbound process, the satellite network device 200 can obtain a scheduling time of the data packet based on the outbound data volume and the outbound air interface resource, and the satellite network device 200 can estimate the outbound time of the data packet based on the scheduling time of the data packet. That is, the transmission time of the data packet of the satellite network device 200 can be the estimated outbound time of the data packet. For example, the unified communication platform 24 in the satellite network device 200 receives the schedulable time indicated by the terrestrial transceiver station 22 or the central station 23.

[0489] In some embodiments, the transmission time of a data packet may be expressed as the time at which the transmitting device delivers the data packet at the AP layer to the MDCP layer.

[0490] (2) The transmitting device generates information A based on the transmission time of the data packet.

[0491] After obtaining the transmission time of the data packet, the transmitting device may encode the time based on a preset or configured minimum time granularity to obtain information A. For example, a time value before the preset minimum time granularity within the transmission time of the data packet may be extracted, and encoding (e.g., binary-decimal encoding or decimal-binary conversion) may be performed on the time value to obtain information A. In the case of inbound transmission, the transmitting device, i.e., terminal 100, may encode the time based on a preset minimum time granularity or a minimum time granularity configured for terminal 100 in a cellular network, a WLAN, or a satellite network to obtain information A. In the case of outbound transmission, the transmitting device, i.e., satellite network device 200, generates information A. For example, the unified communication platform 24 in the satellite network device 200 performs encoding based on the time provided by the terrestrial transceiver station 22 or the central station 23 and a preset or configured minimum time granularity to generate information A. In another example, the terrestrial transceiver station or central station in the satellite network device 200 performs encoding based on time and a preset or configured minimum time granularity to obtain information A, and then notifies the information A to the unified communications platform 24.

[0492] The preset or configured minimum time granularity may be 1 minute, 0.5 minutes, 30 minutes, etc. This is not limited in this application.

[0493] For example, the transmission time of the data packet is 2021-08-25 17:23:51. When the minimum time granularity is 1 minute, the time value that can be obtained by the transmitting device through extraction based on the preset minimum time granularity is 202108251723.

[0494] In another example, when the minimum time granularity is 0.5 minutes, the time values ​​that can be obtained by the transmitting device through extraction based on the preset minimum time granularity are as follows: For example, the transmitting device may record a time not exceeding 30 seconds as 0.0 minutes and a time exceeding 30 seconds as 0.5 minutes. In this case, the time value obtained based on the transmission time of the data packet is 202108251723.5. In another example, the transmitting device may record a time not exceeding 30 seconds as 00 seconds and a time exceeding 30 seconds as 30 seconds. In this case, the time value obtained based on the transmission time of the data packet is 20210825172330. In another example, the transmitting device may directly encode the time value before the minute to obtain binary data, and then add one bit of data to the end of the obtained binary data to indicate the first half or the second half (for example, 0 represents 1 second to 30 seconds, and 1 represents 31 seconds to 60 seconds). In another example, the transmitting device may divide the transmission time value of the data packet by the minimum granularity to obtain an integer value, where the integer value is the time value obtained by the transmitting device. In this case, the time value obtained by the transmitting device based on the transmission time is 404216503446. It can be understood that the actual transmission time of the data packet is the product of the time value and the value of the minimum time granularity. In this way, the time information can be identified by using the minimum granularity of the integer quantity.

[0495] For example, when the encoding method of the transmitting device is binary-decimal encoding and 8421 encoding, the transmitting device can learn that the value of information A is 0010 0000 0010 0001 0000 1000 0010 0101 0001 0111 0010 0011 in the 8421 encoding method based on the time value 202108251723. When the encoding method of the transmitting device is decimal-binary conversion method, the transmitting device can know that the value of information A is 10111100001110100101110010111001001011 through conversion based on the time value 202108251723.

[0496] It should be noted that the above values ​​of the preset minimum time granularity and the selection of the encoding scheme are only examples, which are not particularly limiting in this application.

[0497] In a possible implementation, the transmitting device may alternatively obtain time values ​​of one or more specific time granularities at the transmission time of the data packet, and then perform encoding to obtain the information A. For example, when the transmission time of the data packet is 2021-08-25 17:23:51 and the specific time granularity includes months, minutes, and hours, the time value obtained by the transmitting device is 082317.

[0498] (3) The sending device obtains an authentication code A based on the information A and the original data.

[0499] The sending device may obtain the authentication code A through calculation based on the information A and the original data by using a specified algorithm (eg, the SM3 hash algorithm).

[0500] Optionally, the sending device may obtain the authentication code A through a calculation based on the information A, the original data, and a key by using a specified algorithm.

[0501] 2. The sending device obtains the data packet based on the original data and the authentication code A.

[0502] The sending device may concatenate the authentication code A with the original data to obtain the data packet.

[0503] Optionally, the transmitting device can add packet header information before the authentication code A and the original data that are concatenated together to obtain a data packet. The packet header information can include a service type indication, etc. The service type indication can indicate the service type of the data packet (e.g., a data packet for transmitting a message to user equipment in a cellular network or a data packet for requesting data from the satellite network device 200).

[0504] In a possible implementation, the data packet may further include identification information used to identify the data packet, and the identification information may include, but is not limited to, a message ID field, a count value field, or a sequence number field of the data packet. information The identification information may be used by a receiving device to identify a transmitted data packet. For example, the identification information may be added to an application receipt to indicate the reception status of the data packet. The transmitting device can use the identification information in the application receipt to determine the reception status of the data packet corresponding to the identification information.

[0505] 3. The receiving device obtains the authentication code A and the original data based on the data packet.

[0506] After the receiving device receives the data packet sent by the transmitting device, the receiving device can obtain the authentication code A and the original data from the data packet. For a description of the sending of a data packet by the transmitting device and the receiving of the data packet by the receiving device during inbound, please refer to the aforementioned embodiments shown in Figures 2A(1) and 2A(2) and 2B(1) and 2B(2). For a description of the sending of a data packet by the transmitting device and the receiving of the data packet by the receiving device during outbound, please refer to the aforementioned embodiments shown in Figures 3A(1) to 3A(3) and 3B(1) to 3B(3). The details will not be described again in this specification. It should be noted that the transmitting device may process the data packet into at least one sub-data packet at the MDCP layer and the SLC layer, or the transmitting device may process the data packet into at least one sub-data packet at the MDCP layer. In the inbound process, the data packet may be regarded as the first data packet in Figures 2A(1) and 2A(2) or 2B(1) and 2B(2), and the sub-data packet may be regarded as the second data packet in Figures 2A(1) and 2A(2) or 2B(1) and 2B(2). In the outbound process, the data packet may be regarded as the third data packet in Figures 3A(1) to 3A(3) or 3B(1) to 3B(3), and the sub-data packet may be regarded as the fourth data packet in Figures 3A(1) to 3A(3) or 3B(1) to 3B(3).

[0507] 4. The receiving device obtains information B.

[0508] Information B is reception time information, and information B can indicate the reception time of the data packet.

[0509] (1) The receiving device obtains the reception time of the data packet.

[0510] The reception time of the data packet can be the time when the receiving device obtains the first sub-data packet of the data packet, the time when the receiving device obtains the first sub-data packet of the data packet minus the offset value, or any time within the period from the time when the receiving device obtains the first sub-data packet of the data packet minus the offset value to the time when the receiving device generates the authentication code B. The offset value can be set through configuration or based on a transmission delay (e.g., 540 ms) or a processing delay.

[0511] In certain cases, the reception time can be recorded using the SLC layer and transferred to the AP layer using the MDCP layer. The receiving device can record the reception time of each SLC PDU (sub-data packet) at the SLC layer. When concatenating at least one SLC PDU at the SLC layer based on frame header information to obtain an SLC SDU, the receiving device can record the earliest reception time of the at least one SLC PDU as the reception time of the SLC SDU and upload the SLC SDU and its corresponding reception time to the MDCP layer. After receiving the SLC SDU and its corresponding reception time uploaded from the SLC layer at the MDCP layer, the receiving device can use the SLC SDU as an MDCP PDU at the MDCP layer. The receiving device can determine whether the current MDCP PDU is the first MDCP PDU in the at least one MDCP PDU based on the succession indication field. For example, the succession indication field is 00 or 01. If the subsequent field indicates that the data in the MDCP PDU is the first segment of the corresponding MDCP SDU, or if the subsequent indication field indicates that the data in the MDCP PDU is all the data in the corresponding MDCP SDU, the receiving device reserves the receive time corresponding to the MDCP PDU and uses the receive time as the receive time of the MDCP SDU. The receiving device can upload the MDCP SDU and the receive time of the MDCP SDU to the AP layer at the MDCP layer. The receiving device can use the MDCP SDU as a data packet at the AP layer. The receive time corresponding to the MDCP SDU is the time when the receiving device obtains the first sub-data packet of the data packet.

[0512] In another specific case, the reception time can be recorded by using the SLC layer and transferred to the AP layer by using the MDCP layer. The acquisition method is the same as the previous case, and the details will not be described again in this specification. An offset value is subtracted from the uploaded time from the SLC layer. The offset value can be set through configuration or based on the transmission delay (e.g., 540 ms).

[0513] In another specific case, the reception time can be recorded by using the MDCP layer and transferred to the AP layer. The receiving device records the time when the first MDCP PDU is received at the MDCP layer. The MDCP layer can perform time recording based on the succession indication. For example, the succession indication field is 00 or 01. If the succession field indicates that the data of the MDCP PDU is the first segment of the corresponding MDCP SDU, or if the succession indication field indicates that the data of the MDCP PDU is all the data of the corresponding MDCP SDU, the receiving device reserves the reception time corresponding to the MDCP PDU and uses the reception time as the reception time of the MDCP SDU. The receiving device submits the reception time to the AP layer. The receiving device can use the MDCP SDU as a data packet at the AP layer. The reception time corresponding to the MDCP SDU is the time when the receiving device obtains the first sub-data packet of the data packet.

[0514] In another specific case, the reception time can be recorded by using the MDCP layer and transferred to the AP layer. The acquisition method is the same as the previous case, and the details will not be described again in this specification. An offset value is subtracted from the uploaded time from the MDCP layer. The offset value can be set through configuration or based on the transmission delay (e.g., 540 ms) or processing delay.

[0515] In another particular case, the reception time may be the time when the AP layer receives the MDCP SDU, or the time when packet assembly of the MDCP SDU submitted from the MDCP layer is completed.

[0516] In another specific case, the reception time may be the time when the AP layer receives the MDCP SDU minus an offset value, or the time when packet assembly of the MDCP SDU submitted by the MDCP layer is completed minus an offset value. The offset value may be set through configuration or based on a transmission delay (e.g., 540 ms) or a processing delay. In another specific case, the reception time may be the time when the receiving device calculates the authentication code B (e.g., by using the current time acquisition function getCurrentTime()) of the data packet. Reception It may be the current time obtained by executing a program statement to obtain the time.

[0517] In another particular case, the reception time is the time of the data packet when the receiving device calculates the authentication code B (for example, by using the current time acquisition function getCurrentTime()). Reception The offset value may be the current time obtained by executing a program statement to obtain the time minus the offset value, which may be set through configuration based on a transmission delay (e.g., 540 ms) or a processing delay.

[0518] In the case of inbound transmission, the receiving device is the satellite network device 200. The unified communication platform 24 in the satellite network device 200 is responsible for processing the AP layer, and the terrestrial transceiver station 22 or the central station 23 is responsible for processing the SLC layer and the MDCP layer, and the unified communication platform 24 can request time information from the terrestrial transceiver station 22 or the central station 23.

[0519] In the case of an outbound transmission, the receiving device is the terminal device 100 .

[0520] (2) The receiving device generates information B based on the reception time of the data packet.

[0521] After obtaining the reception time of the data packet, the receiving device can encode the time based on a preset or configured minimum time granularity to obtain information B. For example, a time value before the preset minimum time granularity in the reception time of the data packet may be extracted, and encoding (e.g., binary-decimal encoding or decimal-binary conversion) may be performed on the time value to obtain information B. In the case of outbound transmission, the receiving device, i.e., terminal 100, may encode the time based on a preset minimum time granularity or a minimum time granularity configured for terminal 100 in a cellular or satellite network to obtain information B. In the case of inbound transmission, the receiving device, i.e., satellite network device 200, generates information B. For example, the unified communication platform 24 in the satellite network device 200 performs encoding based on the reception time information of the data packet provided by the terrestrial transceiver station 22 or the central station 23 and a preset or configured minimum time granularity to generate information B. In another example, the terrestrial transceiver station or central station in the satellite network device 200 performs encoding based on the recorded time and a preset or configured minimum time granularity to obtain information B, and then transmits information B to the unified communications platform 24.

[0522] The preset minimum time granularity may be 1 minute, 0.5 minutes, 30 minutes, etc. This is not limited in this application.

[0523] It should be noted that the minimum time granularity and encoding scheme used by the receiving device to generate information B based on the reception time of the data packet are the same as those used by the transmitting device to generate information A. That is, for a description of generating information B by the receiving device, please refer to the above description of generating information A by the transmitting device. Details will not be described herein.

[0524] In a possible implementation, the receiving device can alternatively extract one or more time values ​​of a specific time granularity at the reception time of the data packet, and then perform encoding to obtain information B.

[0525] In a possible implementation, after obtaining the reception time of the MDCP SDU at the MDCP layer, the receiving device can use the reception time of the MDCP SDU as the reception time of the data packet, generate information B at the MDCP layer based on the reception time of the data packet, and upload the MDCP SDU and information B to the AP layer at the MDCP layer.

[0526] In a possible implementation, after obtaining the reception time of the SLC SDU at the SLC layer, the receiving device can use the reception time of the SLC SDU as the reception time of the data packet, generate information B at the SLC layer based on the reception time of the data packet and the minimum granularity information, upload information B to the MDCP layer, and upload the MDCP SDU and information B to the AP layer at the MDCP layer.

[0527] 5. The receiving device generates an authentication code B based on information B and the data packet.

[0528] The receiving device can obtain the authentication code B through calculation based on the information B and the original data in the data packet by using a designated algorithm (e.g., SM3 hash algorithm). The designated algorithm of the receiving device is the same as the designated algorithm of the transmitting device. For example, the transmitting device can add a designated algorithm indication to the packet header of the data packet, and the designated algorithm indication can indicate the designated algorithm used by the transmitting device, and the receiving device can obtain the authentication code B through calculation based on the information B and the original data in the data packet. Mu Based on the received signal, a designated algorithm indication to be used by the transmitting device can be determined. As another example, the transmitting device and the receiving device can negotiate a designated algorithm to be used in a cellular network.

[0529] 6. The receiving device determines the reception status of the data packet based on authentication code B.

[0530] The receiving device can determine the receipt status of the data packet by determining, through comparison, whether authentication code A is the same as authentication code B.

[0531] (1) If authentication code B is the same as authentication code A, the receiving device determines that the data packet has been successfully received. The receiving device may perform corresponding processing operations on the original data. For example, if the receiving device is the terminal 100, the receiving device may display the original data. When the receiving device is the satellite network device 200, the receiving device may forward the original data to a user equipment (e.g., terminal 300) in the cellular network. Optionally, the receiving device may further generate a successful application receipt and send the successful application receipt to the transmitting device. The successful application receipt may indicate that the receiving device has successfully received the data packet.

[0532] (2) If authentication code B is different from authentication code A, the receiving device may obtain information C based on information B. Specifically, the receiving device may obtain information C by subtracting a preset value (e.g., 1) from information B. The receiving device can obtain authentication code C based on information C and the original data by using a specified authentication algorithm. For example, based on the time corresponding to information B being 2021-09-23 18:00, the time corresponding to information C obtained by subtracting a preset value is 2021-09-23 17:59. Authentication code C is generated based on the time information corresponding to information C. The receiving device can determine whether authentication code C is the same as authentication code A through comparison.

[0533] (3) If authentication code A is the same as authentication code C, the receiving device may determine that the data packet has been successfully received. Optionally, the receiving device may further generate and send a success application receipt to the sending device. The success application receipt may indicate that the receiving device has successfully received the data packet.

[0534] (4) If authentication code A is different from authentication code C, the receiving device can determine that the data packet has failed to be received. Optionally, the receiving device can further generate and send a failure application receipt to the transmitting device. The failure application receipt can indicate that the receiving device has failed to receive the data packet. In this embodiment, authentication code A can be compared with authentication code B first, and then, if authentication code A is different from authentication code B, information C can be generated and authentication code A can be compared with authentication code C. Alternatively, after information B and information C are generated, authentication code B and authentication code C can be generated, and authentication code B and authentication code C can be compared with authentication code A. If either authentication code B or authentication code C is the same as authentication code A, it indicates that the data packet has been successfully received. Optionally, a successful reception application receipt can be fed back. If neither authentication code B nor authentication code C is the same as authentication code A, a failed transmission application receipt is fed back.

[0535] In some embodiments, after obtaining the reception time of the data packet, the receiving device may obtain a reception time set based on the reception time of the data packet. The receiving device may obtain a first time value in the reception time set based on the reception time of the data packet and a predetermined minimum time granularity. Then, the receiving device may subtract 1 from the first time value to obtain a second time value, and subtract 1 from the second time value to obtain a third time value. Similarly, the receiving device may obtain a reception time set including n time values, where n is a positive integer. The receiving device may perform encoding based on each time value in the reception time set to obtain an information B set. The receiving device may perform calculations on each value in the information B set and the original data by using a specified authentication algorithm to obtain an authentication code set. The receiving device may determine the reception status of the data packet by comparing the value in the authentication code set with authentication code A. If one value in the authentication code set is the same as authentication code A, the receiving device determines that the data packet has been successfully received. If none of the values ​​in the authentication code set is the same as authentication code A, the receiving device determines that the data packet failed to be received.

[0536] In a possible implementation, before obtaining the data packet, the sending device can encrypt the authentication code A and the original data by using a designated key. The sending device can further add packet header information including an encryption instruction field to the data packet. After receiving the data packet sent by the sending device, the receiving device can decrypt the data packet based on the encryption instruction field and the designated key to obtain the authentication code A and the original data. In this way, the sending device and the receiving device can ensure data security through data encryption.

[0537] The format of the data packet sending time and the data packet receiving time may be Universal Time Coordinated (UTC), Greenwich Mean Time (GMT), Beijing Time, Eastern Pacific Time, Western Pacific Time, etc. This is not limited to this embodiment.

[0538] It should be noted that, normally, the difference between the sending time of a data packet at the sending device and the receiving time of the data packet at the receiving device does not exceed a preset minimum time granularity, i.e., the receiving device can successfully receive the data packet sent by the sending device.

[0539] In a possible implementation, information A of the sending device is sending time information, and information B of the receiving device is receiving time information. The sending device can generate an authentication code A based on information A, a designated key, and original data, and then generate a data packet based on the authentication code A and the original data. The receiving device can generate an authentication code B based on information B, the designated key, and the data packet. In this way, repeated processing and billing issues do not occur. In addition, because both the sending device and the receiving device generate authentication codes based on their respective stored designated keys, the receiving device can further verify whether the designated keys of the two parties are the same by using the authentication code to verify the validity of the sending device.

[0540] 5, the terminal 100 and the satellite network device 200 may obtain the designated key through negotiation by using the cellular network. Alternatively, the terminal 100 and the satellite network device 200 may preset the same designated key.

[0541] In some embodiments, terminal 100 may obtain the designated key by using an intermediate device. The intermediate device and satellite network device 200 may first obtain the designated key through negotiation by using a cellular network (e.g., for a procedure by which the intermediate device and satellite network device 200 obtain the designated key through negotiation, see the procedure by which terminal 100 and satellite network device 200 obtain the designated key through negotiation illustrated in FIG. 5 ). The intermediate device may establish a communication connection (e.g., a Bluetooth connection, a Wi-Fi connection, or a sidelink connection) with terminal 100. The intermediate device may transmit the designated key to terminal 100 via the communication connection.

[0542] Furthermore, to ensure data transmission security, the sending device may concatenate the authentication code A and the original data to obtain concatenated data. Then, the sending device uses a designated key to encrypt the concatenated data by using a designated encryption algorithm to obtain encrypted data. The sending device may add packet header information before the encrypted data. The packet header information includes an encryption instruction field. The encryption instruction field may indicate a designated encryption algorithm (e.g., an SM3 hash algorithm) used by the sending device. The receiving device may decrypt the encrypted data in the data packet based on the encryption instruction field and the designated key to obtain the authentication code A and the original data. Then, the receiving device generates an authentication code B based on the original data, information B, and the designated key. This is shown in Figures 8A to 8C. In this way, data security can be further guaranteed because the sending device encrypts the data and then transmits the encrypted data to the receiving device.

[0543] The following describes the inbound procedure of the transmission method according to an embodiment of the present application.

[0544] The terminal 100 can generate a first authentication code based on first information, a designated key, and first data (also referred to as original data). The first information is transmission time information. The terminal 100 can obtain a first data packet based on the first authentication code, the designated key, and the first data. The terminal 100 can transmit the first data packet to the satellite network device 200. After receiving the first data packet, the satellite network device 200 can generate a second authentication code based on the second information, the designated key, and the first data packet. The second information is reception time information. The satellite network device 200 can determine the reception status of the first data packet based on the second authentication code. In this way, when the satellite network device 200 receives the repeatedly transmitted first data packet, the generated authentication code is different from the first authentication code in the first data packet because the second information has been updated over time. Thus, the satellite network device 200 determines that the first data packet failed to be received, and as a result, the problem of repeatedly receiving the same data packet does not arise.

[0545] FIG. 9 is a schematic diagram of an inbound transmission procedure according to an embodiment of the present application.

[0546] S901: The terminal 100, the satellite network device 200, and the cellular network device 400 negotiate a key.

[0547] For a description of the negotiation of the key by the terminal 100, the satellite network device 200, and the cellular network device 400, please refer to the above embodiment shown in Figure 5. The details will not be described again here. After negotiating the key, both the terminal 100 and the satellite network device 200 store the designated key.

[0548] S902: The terminal 100 acquires the original data.

[0549] After terminal 100 receives a satellite message input sent by a user, terminal 100 may generate original data based on the content of the satellite message input by the user in response to the input. Alternatively, after terminal 100 receives a user instruction, for example, when the user wants to initiate a query on a mailbox or obtain other information from the network, terminal 100 may generate original data based on the user request. The original data may include, but is not limited to, a recipient user number instruction, a recipient user identification number, data input by the user (e.g., text data, image data, or audio data), location information of terminal 100, etc.

[0550] S903: The terminal 100 generates a first authentication code based on the designated key, the original data, and the first information.

[0551] First, the terminal 100 may acquire the transmission time of the first data packet. The transmission time of the first data packet may be any time within a period from the time the terminal 100 acquires the original data to the time the terminal 100 generates the first authentication code. The time the terminal 100 acquires the original data may be the time the terminal 100 receives an input of a satellite message sent by the calling user. In this case, the original data includes the data input by the calling user. The time the terminal 100 generates the first authentication code may be the current time acquired by the terminal 100 by executing a program statement for acquiring the transmission time of the first data packet (for example, by using the current time acquisition function getCurrentTime()). The terminal 100 may determine the transmission time of the data packet based on the satellite positioning timing.

[0552] In some embodiments, the transmission time of the first data packet may be expressed as the time when terminal 100 delivers the first data packet to the MDCP layer in the AP layer.

[0553] In some other embodiments, the transmission time of the first data packet may be estimated by terminal 100 and represented as the time at which terminal 100 transmits the first data packet to satellite network device 200 .

[0554] Specifically, for obtaining the transmission time of the first data packet by the terminal 100, please refer to the above-mentioned embodiments shown in Figures 7A and 7B, and the details will not be described again in this specification.

[0555] Then, the terminal 100 generates first information based on the transmission time of the first data packet. After obtaining the transmission time of the first data packet, the terminal 100 may extract a time value before a preset minimum time granularity in the transmission time of the first data packet and perform encoding (e.g., binary-decimal encoding or decimal-binary conversion) on the time value to obtain the first information. The preset minimum time granularity may be 1 minute, 0.5 minutes, 30 minutes, etc. This is not limited in the present application. Specifically, for a description of generating the first information by the terminal 100, please refer to the above-mentioned embodiment shown in FIG. 7A and FIG. 7B. The details will not be described again in this specification.

[0556] Finally, the terminal 100 generates a first authentication code based on the specified key, the original data, and the first information. The terminal 100 can obtain the first authentication code through calculation based on the first information, the specified key, and the original data using a specified algorithm (e.g., the SM3 hash algorithm).

[0557] For example, the specified algorithm used by the terminal 100 may be a hash-based message authentication code (HMAC) algorithm based on the SM3 hash algorithm. The calculation formula for HMAC is as follows:

number

[0558] SM3 is a hash algorithm. k+ can be obtained based on a specified key. The length of k+ can be 64 bytes. The 16 most significant bytes are the specified key, and the 48 following bytes are all 0. opad is the byte 0x5C repeated 64 times, and ipad is the byte 0x36 repeated 64 times. text is the original data, and context is the first information.

number

[0559] S904: The terminal 100 may obtain a first data packet based on the first authentication code and the original data.

[0560] The terminal 100 may concatenate the first authentication code and the original data together to obtain a first data packet. Optionally, the terminal 100 may further add packet header information before the concatenated first authentication code and the original data to obtain the first data packet. The packet header information may include, but is not limited to, a service type indication, etc. The service type indication may indicate the service type of the first data packet (e.g., a data packet for transmitting a message to user equipment in a cellular network or a data packet for requesting data from the satellite network device 200).

[0561] In a possible implementation, the terminal 100 can further encrypt the first authentication code and the original data concatenated with each other by using a designated key to obtain a first data packet. For specific descriptions, please refer to the above-mentioned embodiments shown in Figures 8A to 8C. The details will not be described again in this specification.

[0562] S905: The terminal 100 transmits a first data packet to the satellite network device 200.

[0563] In a possible implementation, after transmitting the first data packet to the receiving device, the terminal 100 can display transmission prompt information, for example, displaying "Sent." The transmission prompt information can be used to prompt the user that the terminal 100 has transmitted the first data packet to the satellite network device 200. The transmission prompt information may further include a mark icon. The mark icon can be used to trigger (for example, by tapping) the display of an information explanation, for example, "Sent!" The display of an action suggestion (for example, a message has been sent to the receiving device and it has not been determined whether the message has reached the receiving device) can be triggered via a tap. The form of the transmission prompt information is not limited and can be text, an image, an animation, etc.

[0564] Specifically, the terminal 100 can process the first data packet at the MDCP layer and the SLC layer or the MDCP layer into at least one second data packet (SLC PDU or MDCP PDU), and then transmit the at least one second data packet to the satellite network device 200. For a specific description of the terminal 100 obtaining at least one second data packet and transmitting the at least one second data packet to the satellite network device 200, please refer to the above-mentioned embodiments shown in Figures 2A(1) and 2A(2) and 7A and 7B. The details will not be described again in this specification.

[0565] S906: The satellite network device 200 obtains a receiving time of the first data packet, and generates second information based on the receiving time.

[0566] Specifically, the satellite network device 200 may acquire the reception time of the first data packet in multiple ways. For example, when at least one second data packet is received at the SLC layer, the satellite network device 200 may record the reception time of each of the at least one second data packet. The satellite network device 200 may concatenate the second data packets belonging to one SLC SDU at the SLC layer based on frame header information of the second data packets to acquire an SLC SDU. The satellite network device 200 may determine the sequence of the reception times of the second data packets included in the SLC SDU through comparison and use the earliest reception time as the reception time of the SLC SDU. The satellite network device 200 may upload the SLC SDU and the reception time of the SLC SDU at the SLC layer to the MDCP layer. The satellite network device 200 may use the SLC SDU as an MDCP PDU at the MDCP layer and acquire the MDCP SDU based on the MDCP PDU. The satellite network device 200 can determine the first MDCP PDU in the MDCP SDU by using the subsequent indication field of the MDCP PDU, and use the reception time of the SLC SDU corresponding to the first MDCP PDU as the reception time of the MDCP SDU. The satellite network device 200 can upload the MDCP SDU and the reception time of the MDCP SDU to the AP layer at the MDCP layer. 200 may use the MDCP SDU as the first data packet, and the reception time of the MDCP SDU as the reception time of the first data packet at the AP layer. For a detailed description of the satellite network device 200 obtaining the reception time of the first data packet, please further refer to the above-mentioned embodiment shown in the inbound process of Figures 7A and 7B. The details will not be described again in this specification.

[0567] Specifically, please refer to the above-described embodiments shown in Figures 2B(1) and 2B(2) and 7A and 7B for a detailed description of receiving the first data packet by the satellite network device 200. The details will not be described again herein.

[0568] After obtaining the reception time of the first data packet at the AP layer (also referred to as the fourth information), the satellite network device 200 can generate the second information based on the fourth information and a preset or configured minimum time granularity. For a specific description of generating the second information by the satellite network device 200, please refer to the above-mentioned embodiment in which the receiving device generates the information B shown in Figures 7A and 7B. The details will not be described again in this specification.

[0569] S907: The satellite network device 200 may generate a second authentication code based on the designated key, the original data, and the second information.

[0570] The satellite network device 200 can obtain the second authentication code through calculation based on the second information and the original data in the first data packet by using a designated algorithm (e.g., SM3 hash algorithm). The designated authentication algorithm of the satellite network device 200 is the same as the designated authentication algorithm of the terminal 100.

[0571] For example, if the specified authentication algorithm used by terminal 100 may be a hash-based message authentication code (HMAC) algorithm based on the SM3 hash algorithm, then the specified authentication algorithm used by satellite network device 200 is also an HMAC algorithm based on SM3. The HMAC is calculated as follows:

number

[0572] SM3 is a hash algorithm. k+ can be obtained based on a specified key. The length of k+ can be 64 bytes. The 16 most significant bytes are the specified key, and the 48 following bytes are all 0. opad is the byte 0x5C repeated 64 times, and ipad is the byte 0x36 repeated 64 times. text is the original data, and context is the second information.

number

[0573] S908: The satellite network device 200 determines whether the first authentication code is the same as the second authentication code.

[0574] The satellite network device 200 can determine the reception status of the first data packet by determining whether the first authentication code is the same as the second authentication code through comparison. If the first authentication code is the same as the second authentication code, the satellite network device 200 may perform step S909 and may further perform step S910. For a detailed description of the first authentication code, please refer to authentication code A in the aforementioned embodiment shown in Figures 7A and 7B. For a detailed description of the second authentication code, please refer to authentication code B or authentication code C in the aforementioned embodiment shown in Figures 7A and 7B. The details will not be described again in this specification.

[0575] If the first authentication code is different from the second authentication code, the satellite network device 200 may perform step S911.

[0576] S909: The satellite network device 200 transmits the original data to the cellular network device 400.

[0577] The satellite network device 200 determines that the first authentication code is the same as the second authentication code and determines that the first data packet has been successfully received. The satellite network device 200 may perform corresponding processing operations on the original data. For example, the satellite network device 200 may forward the original data to user equipment (e.g., terminal 300) in the cellular network.

[0578] Optionally, the satellite network device 200 may further record information regarding the time when the first data packet is successfully received. For example, the information regarding the time when the first data packet is successfully received may be second information corresponding to the second authentication code. 200 may record the second information and forward the second information to a network element (e.g., a short message service center) in the cellular network. The network element in the cellular network may record a successful transmission time of the inbound message based on the received information about the time when the first data packet was successfully received, and then send the successful transmission time information to the terminal 100 in the cellular network and update the transmission status of the information that the terminal 100 failed to receive in the satellite network.

[0579] S910: The satellite network device 200 sends an application receipt to the terminal 100 to indicate that the first data packet has been successfully transmitted.

[0580] Satellite network device 200 may further generate a successful application receipt (an application receipt indicating that the first data packet was successfully transmitted). The successful application receipt may indicate that satellite network device 200 successfully received the data packet. Satellite network device 200 may transmit the successful application receipt to terminal 100.

[0581] S911: The satellite network device 200 sends an application receipt to the terminal 100 to indicate that the first data packet has failed to be sent.

[0582] Satellite network device 200 determines that the first authentication code is different from the second authentication code and determines that the first data packet failed to be received. Satellite network device 200 may delete the first data packet. Satellite network device 200 may further generate a failure application receipt (an application receipt indicating that the first data packet failed to be transmitted). The failure application receipt may indicate that satellite network device 200 failed to receive the data packet. Satellite network device 200 may transmit the failure application receipt to terminal 100.

[0583] In a possible implementation, after the satellite network device 200 determines that the first authentication code is different from the second authentication code, the satellite network device 200 may subtract a preset value (e.g., 1) from the value of the second information, and then generate a new second authentication code based on the adjusted second information, the specified key, and the original data.

[0584] The satellite network device 200 may determine through comparison whether the first authentication code is the same as the new second authentication code. If the first authentication code is the same as the new second authentication code, the satellite network device 200 may determine that the data packet has been successfully received. The satellite network device 200 may further perform steps S909 and S910.

[0585] If the first authentication code is different from the new second authentication code, satellite network device 200 may determine that the data packet failed to be received. Satellite network device 200 may further generate and send a failed application receipt to terminal 100. The failed application receipt may indicate that satellite network device 200 failed to receive the data packet.

[0586] In some embodiments, after receiving the failed application receipt, terminal 100 may generate and transmit a new first data packet to satellite network device 200 .

[0587] In this specification, the successful application receipt and the unsuccessful application receipt may be collectively referred to as a first application receipt, and the first application receipt may include indication information indicating to the user whether the data packet was successfully received.

[0588] In a possible implementation, after receiving an application receipt (including a failed application receipt or a successful application receipt), the terminal 100 can display result prompt information (including a successful prompt information or a failed prompt information) on the display screen. In this way, the user can determine the transmission status of the first data packet by using the result prompt information to avoid repeated transmission of a successfully transmitted satellite message.

[0589] Specifically, the terminal 100 may display success prompt information after receiving a success application receipt (an application receipt indicating that the first data packet has been successfully transmitted). The success prompt information may be used to prompt the user that the first data packet has been successfully transmitted.

[0590] After receiving a failure application receipt (an application receipt indicating that the first data packet failed to be transmitted), the terminal 100 may display failure prompt information. The failure prompt information may be used to prompt the user that the first data packet failed to be transmitted.

[0591] The following describes the outbound procedure of the transmission method according to an embodiment of the present application.

[0592] The satellite network device 200 receives the sixth information and the original data (the 3 The sixth information is transmission time information. The satellite network device 200 may obtain a third data packet based on the fourth authentication code and the original data. The satellite network device 200 may transmit the third data packet to the terminal 100. After receiving the third data packet, the terminal 100 may generate a third authentication code based on the fifth information and the third data packet. The fifth information is reception time information. The terminal 100 may determine the reception status of the third data packet based on the third authentication code. In this way, when the terminal 100 receives the repeatedly transmitted third data packet, the authentication code generated based on the fifth information is different from the fourth authentication code in the third data packet because the fifth information has been updated over time. Therefore, the terminal 100 does not determine that the third data packet has failed to be received and, as a result, does not receive the repeated data packet.

[0593] FIG. 10 is a schematic diagram of an outbound transmission procedure according to an embodiment of the present application.

[0594] S1001: The satellite network device 200 receives the original data transmitted by the cellular network device 400.

[0595] The satellite network device 200 receives the original data transmitted by the short message service center 25 in the cellular network device 400. The original data is data transmitted by a calling user of the cellular network (e.g., the user of the terminal 300) to a called user of the satellite network (the user of the terminal 100) (the data includes, but is not limited to, text data, image data, etc. input by the calling user). It should be noted that the cellular network device 400 may also transmit an identifier of the called user (e.g., the identification number or mobile number of the terminal 100) to the satellite network device 200 when transmitting the data transmitted by the terminal 300 to the terminal 100 to the satellite network device 200.

[0596] In some embodiments, the original data obtained by satellite network device 200 may be data stored in memory of satellite network device 200. For example, the original data may be map data stored in satellite network device 200.

[0597] In some other embodiments, the original data received by satellite network device 200 may be data (e.g., text data, image data, audio data, or video data) sent to satellite network device 200 by a third-party server.

[0598] S1002: Optionally, the satellite network device 200 receives a service request sent by the terminal 100.

[0599] The service request may be a request to download original data, where the receiving device of the original data is the terminal 100. After receiving the service request of the terminal 100, the satellite network device 200 can perform steps S1003 to S1005.

[0600] S1003: The satellite network device 200 generates a fourth authentication code based on the original data and the sixth information.

[0601] First, satellite network device 200 may obtain a transmission time of the third data packet. The transmission time of the third data packet may be any time during the entire period from the time satellite network device 200 obtains the original data to the time satellite network device 200 generates the fourth authentication code plus an offset. The time satellite network device 200 obtains the original data may be the time satellite network device 200 receives the service request sent by terminal 100, the time satellite network device 200 receives the original data sent by cellular network device 400, the time satellite network device 200 transmits the data to terminal 100, or the time satellite network device 200 generates the fourth authentication code minus the offset, and is used to estimate the time when the SLC layer, MDCP layer, or physical layer of satellite network device 200 will transmit the data. For example, the time at which the satellite network device 200 generates the fourth authentication code may be the current time obtained by the satellite network device 200 by executing a program statement to obtain the transmission time of the third data packet (e.g., by using the current time obtainment function getCurrentTime()).

[0602] In a possible implementation, satellite network device 200 may determine (based on central station 23 or terrestrial central station 31) the transmission time of the third data packet at the MDCP layer / SLC layer (also referred to as eighth information). Then, satellite network device 200 generates sixth information at the AP layer based on the eighth information and the minimum time granularity. Optionally, satellite network device 200 may determine the transmission time of the third data packet at the MDCP layer / SLC layer, generate sixth information based on the transmission time of the third data packet and the preset minimum time granularity, and then upload the sixth information to the AP layer.

[0603] In some embodiments, the transmission time of the third data packet may be expressed as the time when the satellite network device 200 delivers the third data packet to the MDCP layer at the AP layer, i.e., the time when the unified communications platform 24 delivers the third data packet to the central station 23 or the terrestrial central station 31.

[0604] For obtaining the transmission time of the third data packet by the satellite network device 200, please refer to the procedures in the embodiment shown in Figures 7A and 7B, and the details will not be described again in this specification.

[0605] Then, the satellite network device 200 generates sixth information based on the transmission time of the third data packet. After obtaining the transmission time of the third data packet, the satellite network device 200 can encode the time based on a preset or configured minimum time granularity to obtain the sixth information. For example, the satellite network device 200 may extract a time value before the preset or configured minimum time granularity within the transmission time of the third data packet and perform encoding (e.g., binary-to-decimal encoding or decimal-to-binary conversion) on the time value to obtain the sixth information. The preset or configured minimum time granularity may be 1 second, 1 minute, 0.5 minutes, 30 minutes, etc. This is not limited in the present application. Specifically, for a description of generating the sixth information by the satellite network device 200, please refer to the aforementioned embodiment shown in Figures 7A and 7B. The details will not be described again in this specification.

[0606] Finally, the satellite network device 200 generates a fourth authentication code based on the original data and the sixth information. In particular, the satellite network device 200 may obtain the fourth authentication code through calculation based on the sixth information and the original data by using a specified algorithm (e.g., an SM3 hash algorithm).

[0607] S1004: The satellite network device 200 obtains a third data packet based on the original data and the fourth authentication code.

[0608] Satellite network device 200 may concatenate the fourth authentication code and the original data together to obtain a third data packet. Optionally, satellite network device 200 may further add packet header information before the concatenated fourth authentication code and original data to obtain the third data packet. The packet header information may include, but is not limited to, a service type indication, etc. The service type indication may indicate the service type of the third data packet (e.g., a data packet for transmitting a satellite message to terminal 100, or a data packet for transmitting the amount of satellite messages transmitted to terminal 100).

[0609] In a possible implementation, the terminal 100 can obtain a fourth authentication code based on the designated key, the sixth information, and the original data.

[0610] In a possible implementation, the terminal 100 can further encrypt the fourth authentication code and the original data concatenated with each other by using a designated key to obtain a third data packet. For specific descriptions, please refer to the above-mentioned embodiments shown in Figures 8A to 8C. The details will not be described again in this specification.

[0611] S1005: The satellite network device 200 transmits the third data packet to the terminal 100.

[0612] Specifically, the satellite network device 200 can process the third data packet at the MDCP layer and the SLC layer to form at least one fourth data packet (SLC PDU), or the satellite network device 200 can process the third data packet at the MDCP layer to form at least one fourth data packet (MDCP PDU), and then transmit the at least one fourth data packet to the terminal 100. For a specific description of the satellite network device 200 obtaining at least one fourth data packet and transmitting the at least one fourth data packet to the terminal 100, please refer to the aforementioned embodiments shown in Figures 3A(1) to 3A(3). The details will not be described again in this specification.

[0613] S1006: The terminal 100 acquires the reception time of the third data packet, and generates fifth information based on the reception time.

[0614] The terminal 100 may acquire the reception time of the third data packet in multiple ways. For example, when the terminal 100 receives at least one fourth data packet at the SLC layer, the terminal 100 may record the reception time of each of the at least one fourth data packet. The terminal 100 may acquire an SLC SDU by concatenating the fourth data packets belonging to one SLC SDU based on frame header information of the fourth data packets at the SLC layer. The terminal 100 may determine the sequence of the reception times of the fourth data packets included in the SLC SDU through comparison and use the earliest reception time as the reception time of the SLC SDU. The terminal 100 may upload the SLC SDU and the reception time of the SLC SDU to the MDCP layer at the SLC layer. The terminal 100 may use the SLC SDU as an MDCP PDU at the MDCP layer and acquire the MDCP SDU based on the MDCP PDU. The terminal 100 can determine the first MDCP PDU in the MDCP SDU by using the subsequent indication field of the MDCP PDU, and can use the reception time of the SLC SDU corresponding to the first MDCP PDU as the reception time of the MDCP SDU. The terminal 100 can upload the MDCP SDU and the reception time of the MDCP SDU to the AP layer at the MDCP layer. Terminal In the AP layer, the terminal 100 may use the MDCP SDU as the third data packet and the reception time of the MDCP SDU as the reception time of the third data packet. For further detailed descriptions of the terminal 100 obtaining the reception time of the third data packet, please refer to the descriptions of the receiving device obtaining the reception time of the data packet in the embodiments of Figures 7A and 7B. The details will not be described again in this specification.

[0615] Specifically, for a detailed description of receiving the third data packet by the satellite network device 100, please refer to the above-described embodiments shown in Figures 2B(1) and 2B(2) and 7A and 7B. The details will not be described again herein.

[0616] After obtaining the reception time of the third data packet, the terminal 100 can generate fifth information based on the reception time of the third data packet and the preset or configured minimum time granularity. For a specific description of generating the fifth information by the terminal 100, please refer to the aforementioned embodiments shown in Figures 7A and 7B. The details will not be described again in this specification.

[0617] S1007: The terminal 100 obtains a third authentication code based on the third data packet and the fifth information.

[0618] The terminal 100 can obtain the third authentication code through calculation based on the fifth information and the original data in the third data packet by using a designated authentication algorithm (e.g., SM3 hash algorithm). The designated authentication algorithm of the satellite network device 200 is the same as the designated authentication algorithm of the terminal 100.

[0619] S1008: The terminal 100 determines whether the third authentication code is the same as the fourth authentication code.

[0620] The terminal 100 can determine the reception status of the third data packet by determining through comparison whether the third authentication code and the fourth authentication code are identical. If the third authentication code is identical to the fourth authentication code, the terminal 100 performs step S1009, and may optionally further perform step S1010.

[0621] Optionally, terminal 100 may further record information regarding the time when the third data packet was successfully received, and may generate fifth information corresponding to, for example, the third authentication code. The information regarding the time when the third data packet was successfully received may be used by terminal 100 to later transmit successful transmission time information to satellite device 200 or a network element in the second transmission system when terminal 100 accesses a second transmission system (e.g., a cellular network or a WLAN) to update the transmission status of information for which an application receipt was not received in the satellite network. This avoids billing issues.

[0622] If the third authentication code and the fourth authentication code are different, the terminal 100 can perform step S1011.

[0623] S1009: The terminal 100 displays the received prompt information.

[0624] The terminal 100 determines that the third authentication code is the same as the fourth authentication code, and determines that the third data packet has been successfully received. The terminal 100 may perform corresponding processing operations on the original data. For example, the terminal 100 may display receiving prompt information. The receiving prompt information may be used to prompt a user that a satellite message transmitted by a user equipment (e.g., the terminal 300) in a cellular network has been received. The receiving prompt information may include, but is not limited to, voice prompt information, text prompt information, vibration prompt information, etc. For example, if the receiving prompt information is text prompt information, the receiving prompt information may be "A satellite message has been received from 'Terminal 300'." Optionally, the terminal 100 may further display the original data in the third data packet on a display screen.

[0625] S1010: The terminal 100 sends an application receipt to the satellite network device 200 to indicate that the third data packet has been successfully received.

[0626] The terminal 100 may further generate a successful application receipt (an application receipt indicating that the third data packet was successfully transmitted). The successful application receipt may indicate that the terminal 100 successfully received the data packet. The terminal 100 may transmit the successful application receipt to the satellite network device 200.

[0627] In some embodiments, after receiving the successful application receipt, the satellite network device 200 may delete the original data in the third data packet.

[0628] S1011: The terminal 100 sends an application receipt to the satellite network device 200 to indicate that the third data packet is unsuccessfully received.

[0629] The terminal 100 determines that the third authentication code is different from the fourth authentication code and determines that the third data packet failed to be received. The terminal 100 may delete the third data packet. The terminal 100 may further generate a failed application receipt (an application receipt indicating that the third data packet failed to be transmitted). The failed application receipt may indicate that the terminal 100 failed to receive the data packet. The terminal 100 may transmit the failed application receipt to the satellite network device 200.

[0630] In a possible implementation, after the terminal 100 determines that the third authentication code is different from the fourth authentication code, the terminal 100 can subtract a preset value (e.g., 1) from the value of the fifth information, and then generate a new third authentication code based on the adjusted fifth information and the original data.

[0631] The receiving device may determine through comparison whether the fourth authentication code is the same as the new third authentication code. If the fourth authentication code and the new third authentication code are the same, the terminal 100 may determine that the data packet has been successfully received. The terminal 100 may further perform step S1010.

[0632] If the fourth authentication code is different from the new third authentication code, terminal 100 may determine that the data packet failed to be received. Terminal 100 may further generate and send a failed application receipt to satellite network device 200. The failed application receipt may indicate that terminal 100 failed to receive the data packet.

[0633] In some embodiments, after receiving the failed application receipt, satellite network device 200 may generate and transmit a new, third data packet to terminal 100 .

[0634] In this specification, the successful application receipt and the unsuccessful application receipt may be collectively referred to as a third application receipt, and the third application receipt may include indication information indicating to the user whether the data packet was successfully received.

[0635] The present application is not limited to the above-mentioned embodiments, and further provides the following embodiments. It should be noted that the following embodiments can be used in combination with the above-mentioned embodiments.

[0636] In a possible implementation, information A of the transmitting device is context information A, which may indicate information about the amount of data packets transmitted. The information about the amount of data packets transmitted is information about the amount of data packets successfully transmitted by the transmitting device. Information B of the receiving device is context information B, which may indicate information about the amount of data packets received. The information about the amount of data packets received is information about the amount of data packets successfully received by the receiving device (information about the amount of successful application receipts generated). The initial value of information A is the same as the initial value of information B. In this way, after successfully analyzing the data packet generated by the transmitting device based on information B, the receiving device can update the value of information B. After the receiving device receives the repeatedly transmitted data packet, the value of the updated information B is different from the value of information A before the update, i.e., authentication code A is different from authentication code B, so the receiving device cannot analyze the data packet transmitted by the transmitting device. As a result, repeated processing and billing problems do not occur.

[0637] It should be noted that before a transmitting device transmits a data packet to a receiving device, the transmitting device and the receiving device may obtain context information. The context information of the transmitting device may be referred to as context information A, i.e., information A. The context information of the receiving device may be referred to as context information B, i.e., information B.

[0638] In a possible implementation, the amount of data packets successfully transmitted by the transmitting device may be the amount of successful application receipts received by the transmitting device.

[0639] The following describes several ways in which the terminal 100 and the satellite network device 200 obtain context information. Specifically, the following are provided:

[0640] (1) The terminal 100 and the satellite network device 200 may acquire context information when acquiring a designated key through negotiation using a cellular network. For example, the terminal 100, the satellite network device 200, and the cellular network device 400 may perform steps S501 to S515 shown in FIG. 5. After the satellite network device 200 receives the parameter response (including the designated key) sent by the bootstrapping server 41, the satellite network device 200 may set its own context information. For example, the initial value of the context information of the satellite network device 200 may be X. Then, the satellite network device 200 may send a service response 4 to the terminal 100. The service response 4 may indicate that the terminal 100 and the satellite network device 200 can perform data encryption / decryption operations within a designated key validity period by using the designated key stored by the terminal 100 and the satellite network device 200. The service response 4 may further include the context information of the satellite network device 200. After receiving the service response 4, the terminal 100 can set the initial value of the context information of the terminal 100 to X based on the service response 4. It should be noted that as long as the value of the context information of the satellite network device 200 is the same as the value of the context information of the terminal 100, even if the initial value of the context information is any value, the reception results of the transmitting device and the receiving device will not be affected.

[0641] (2) Terminal 100 can obtain initial values ​​of the designated key and context information using the intermediate device. The intermediate device and satellite network device 200 may initially obtain the designated key, the context information of satellite network device 200, and the context information of terminal 100 through negotiation in the cellular network by using the above-described operations. The intermediate device may establish a communication connection (e.g., a Bluetooth connection) with terminal 100. The intermediate device can transmit the designated key and the context information of terminal 100 to terminal 100 via the communication connection.

[0642] (3) The initial values ​​of the information A of the terminal 100 and the information B of the satellite network device 200 are preset default values.

[0643] (4) The initial value of the information A of the terminal 100 is a data value configured by the satellite network device 200 for the terminal 100 .

[0644] 11A and 11B are schematic diagrams of the processing steps of a transmission method according to an embodiment of the present application.

[0645] 1. The sending device generates an authentication code A based on the original data and information A.

[0646] Information A is context information A, and information A may indicate information about the amount of data packets transmitted. The information about the amount of data packets transmitted is information about the amount of data packets successfully transmitted by the transmitting device. In this specification, information about the amount of successful application receipts received by the transmitting device may indicate information about the amount of data packets successfully transmitted by the transmitting device. That is, after receiving a successful application receipt, the transmitting device may add a preset value to the value of information A. It should be noted that the increment of information A is related to the amount of data packets successfully transmitted by the transmitting device.

[0647] The sending device may obtain an authentication code A based on the information A and the original data. For a detailed description of obtaining the authentication code A by the sending device, please refer to the aforementioned embodiment shown in Figures 7A and 7B. The details will not be described again in this specification.

[0648] In a possible implementation, the transmitting device may generate an authentication code A based on information A, a designated key, and the original data, and then generate a data packet based on the authentication code A and the original data. The receiving device can generate an authentication code B based on information B, the designated key, and the data packet. In this way, the validity of the transmitting device can be verified by using the designated key, thereby ensuring transmission security.

[0649] 2. The sending device obtains the data packet based on the original data and the authentication code A.

[0650] The sending device may concatenate the authentication code A with the original data to obtain the data packet.

[0651] Optionally, the transmitting device can add packet header information before the authentication code A and the original data that are concatenated together to obtain a data packet. The packet header information can include a service type indication, etc. The service type indication can indicate the service type of the data packet.

[0652] In a possible implementation, the sending device may concatenate the authentication code A and the original data to obtain concatenated data. Then, the sending device uses a designated key to encrypt the concatenated data by using a designated algorithm to obtain encrypted data. The sending device may add packet header information before the encrypted data. The packet header information includes an encryption instruction field. The encryption instruction field may indicate a designated algorithm (e.g., an SM3 hash algorithm) used by the sending device. In this way, data security can be further ensured because the sending device encrypts the data and then transmits the encrypted data to the receiving device.

[0653] The transmitting device can transmit data packets to the receiving device. For a description of the transmitting device transmitting data packets to the receiving device during inbound, please refer to the aforementioned embodiments shown in Figures 2A(1) and 2A(2). For a description of the transmitting device transmitting data packets to the receiving device during outbound, please refer to the aforementioned embodiments shown in Figures 3A(1) to 3A(3). Details will not be described again in this specification.

[0654] In a possible implementation, when the transmitting device is a terminal 100, after the transmitting device transmits a data packet to the receiving device, the transmitting device can display transmission prompt information. The transmission prompt information can be used to prompt a user that the transmitting device has transmitted a satellite message to the receiving device.

[0655] 3. The receiving device obtains the authentication code A and the original data based on the data packet.

[0656] After the receiving device receives the data packet sent by the transmitting device, the receiving device can obtain the authentication code A and the original data from the data packet. For a description of receiving the data packet by the receiving device during inbound, please refer to the aforementioned embodiments shown in Figures 2B(1) and 2B(2). For a description of receiving the data packet by the receiving device during outbound, please refer to the aforementioned embodiments shown in Figures 3B(1) to 3B(3). Details will not be described again in this specification.

[0657] In a possible implementation, the data packet includes an encryption instruction field and encrypted data, and the receiving device can decrypt the encrypted data in the data packet based on the encryption instruction field and the specified key to obtain the authentication code A and the original data.

[0658] 4. The receiving device generates an authentication code B based on information B and the data packet.

[0659] The receiving device can obtain the authentication code B through calculation based on the information B and the original data in the data packet by using a designated algorithm (e.g., SM3 hash algorithm). The designated algorithm of the receiving device is the same as the designated algorithm of the transmitting device. For example, the transmitting device can add a designated algorithm indication to the packet header of the data packet, and the designated algorithm indication can indicate the designated algorithm used by the transmitting device, and the receiving device can obtain the authentication code B through calculation based on the information B and the original data in the data packet. Mu Based on the received signal, a designated algorithm indication to be used by the transmitting device can be determined. As another example, the transmitting device and the receiving device can negotiate a designated algorithm to be used in a cellular network.

[0660] In a possible implementation, when the transmitting device generates an authentication code A based on the original data, information A, and a designated key, the receiving device can generate an authentication code B based on the original data, information B, and a designated key. The transmitting device and the receiving device can preset parameters required to generate the authentication code.

[0661] 5. The receiving device determines the reception status of the data packet based on authentication code B.

[0662] The receiving device can determine the receipt status of the data packet by determining, through comparison, whether authentication code A is the same as authentication code B.

[0663] (1) If authentication code B is the same as authentication code A, the receiving device determines that the data packet has been successfully received. The receiving device can perform corresponding processing operations on the original data. For specific descriptions, please refer to the embodiments of Figures 7A and 7B.

[0664] The receiving device may update the value of information B. Specifically, the receiving device may add a preset value to the value of information B.

[0665] The receiving device may further generate a successful application receipt and send the successful application receipt to the sending device, The successful application receipt may indicate that the receiving device successfully received the data packet.

[0666] (2) If authentication code B is different from authentication code A, the receiving device may determine that the data packet failed to be received. The receiving device may further generate and send a failure application receipt to the sending device. The failure application receipt may indicate that the receiving device failed to receive the data packet.

[0667] 6. The transmitting device determines the transmission status of the data packet based on the application receipt.

[0668] The sending device can determine the sending status of the data packet based on the application receipt.

[0669] (1) When the application receipt received by the sending device is a successful application receipt indicating that the receiving device has successfully received the data packet, the sending device can determine that the data packet has been successfully transmitted. The sending device may add a preset value to the value of information A. The preset value added in the sending device is the same as the preset value added in the receiving device.

[0670] In some embodiments, if the sending device is a terminal 100, after receiving the successful application receipt, the sending device may display success prompt information. The success prompt information may be used to prompt the user that the data packet has been successfully transmitted. Note that only after receiving the successful application receipt can the sending device determine that the data packet has been successfully transmitted.

[0671] (2) When the application receipt received by the transmitting device is a failed application receipt indicating that the receiving device failed to receive the data packet, the transmitting device can determine that the data packet failed to be transmitted.

[0672] Optionally, the transmitting device may retransmit data packets that were unsuccessfully transmitted.

[0673] In some embodiments, when the sending device is a terminal 100, after receiving the failed application receipt, the sending device may display failure prompt information. The failure prompt information may be used to prompt the user that the data packet failed to be sent.

[0674] The following describes the inbound procedure of the transmission method according to an embodiment of the present application.

[0675] The terminal 100 may generate a first authentication code based on the first information, the designated key, and the first data (also referred to as original data). The first information is first context information, and the first context information indicates information regarding the amount of data packets transmitted. The terminal 100 may obtain the first data packet based on the first authentication code, the designated key, and the original data. The terminal 100 may transmit the first data packet to the satellite network device 200. After receiving the first data packet, the satellite network device 200 may generate a second authentication code based on the second information, the designated key, and the first data packet. The second information is second context information, and the second context information indicates information regarding the amount of data packets received. The satellite network device 200 may determine a reception status of the first data packet based on the second authentication code. In this way, when the first data packet transmitted by the terminal 100 is successfully received, the satellite network device 200 may update the value of the second information. When satellite network device 200 repeatedly receives the first data packet, the updated second information is different from the second information existing before the update, and therefore the authentication code generated by satellite network device 200 based on the updated second information is different from the first authentication code in the first data packet. Therefore, satellite network device 200 determines that the first data packet has failed to be received, and as a result, the problem of repeatedly receiving the same data packet does not occur.

[0676] FIG. 12 is a schematic diagram of an inbound transmission procedure according to an embodiment of the present application.

[0677] S1201: The terminal 100, the satellite network device 200, and the cellular network device 400 negotiate a key, first information, and second information.

[0678] For a description of the negotiation of the key, the first information, and the second information by the terminal 100, the satellite network device 200, and the cellular network device 400, please refer to the above-mentioned embodiment shown in Figures 11A and 11B. The details will not be described again in this specification. After negotiating the key, both the terminal 100 and the satellite network device 200 store the designated key. The terminal 100 stores the first information. The satellite network device 200 stores the second information. The initial value of the first information is the same as the initial value of the second information.

[0679] S1202: The terminal 100 acquires the original data.

[0680] S1203: The terminal 100 generates a first authentication code based on the designated key, the original data, and the first information.

[0681] The terminal 100 can obtain the first authentication code through calculation by using a specified authentication algorithm (e.g., SM3 hash algorithm) based on the stored first information, the specified key, and the original data.

[0682] S1204: The terminal 100 may obtain a first data packet based on the first authentication code and the original data.

[0683] In a possible implementation, the terminal 100 can further encrypt the first authentication code and the original data concatenated together by using a designated key to obtain the first data packet.

[0684] S1205: The terminal 100 transmits a first data packet to the satellite network device 200.

[0685] In a possible implementation, after transmitting the first data packet to the receiving device, the terminal 100 can display transmission prompt information, for example, displaying "Sent." The transmission prompt information can be used to prompt the user that the terminal 100 has transmitted the first data packet to the satellite network device 200. The transmission prompt information may further include a mark icon. The mark icon can be used to trigger (for example, by tapping) the display of an information explanation, for example, "Sent!" The display of an action suggestion (for example, a message has been sent to the receiving device and it has not been determined whether the message has reached the receiving device) can be triggered via a tap. The form of the transmission prompt information is not limited and can be text, an image, an animation, etc.

[0686] S1206: The satellite network device 200 may generate a second authentication code based on the designated key, the original data, and the second information.

[0687] S1207: The satellite network device 200 determines whether the first authentication code is the same as the second authentication code.

[0688] The satellite network device 200 may determine the receipt status of the first data packet by determining, through a comparison, whether the first authentication code is the same as the second authentication code. If the first authentication code is the same as the second authentication code, the satellite network device 200 may perform steps S1208 to S1210.

[0689] If the first authentication code is different from the second authentication code, the satellite network device 200 may perform step S1213.

[0690] S1208: The satellite network device 200 updates the value of the second information.

[0691] The satellite network device 200 can add a preset value to the value of the second information. For example, when the value of the second information is 0 and the preset value is 1, the updated value of the second information is 1.

[0692] S1209: The satellite network device 200 transmits the original data to the cellular network device 400.

[0693] S1210: The satellite network device 200 sends a successful application receipt to the terminal 100.

[0694] S1211: The terminal 100 updates the value of the first information.

[0695] After receiving the successful application receipt sent by the satellite network device 200, the terminal 100 can add a preset value to the value of the first information. The preset value added to the first information is the same as the preset value added to the second information, in other words, the updated value of the first information is the same as the updated value of the second information. Optionally, the terminal 100 may further perform step S1212.

[0696] S1212: The terminal 100 displays the success prompt information.

[0697] The terminal 100 displays the success prompt information, which prompts the user that the first data packet has been successfully transmitted.

[0698] S1213: The satellite network device 200 sends a failed application receipt to the terminal 100.

[0699] Optionally, after receiving the failed application receipt, the terminal 100 may further perform step S1214.

[0700] S1214: The terminal 100 displays the failure prompt information.

[0701] The terminal 100 displays the failure prompt information, which prompts the user that the first data packet has failed to be transmitted.

[0702] Step S1202 to Step S120 7 For specific descriptions of steps S1209, S1210, and S1212, please refer to the aforementioned embodiment shown in Figure 9. The details will not be described again in this specification.

[0703] The following describes the outbound procedure of the transmission method according to an embodiment of the present application.

[0704] The satellite network device 200 receives the sixth information and the 3The fourth authentication code may be generated based on the data (also referred to as original data). The sixth information is sixth context information, and the sixth context information indicates information regarding the amount of data packets transmitted. The satellite network device 200 may obtain a third data packet based on the fourth authentication code and the original data. The satellite network device 200 may transmit the third data packet to the terminal 100. After receiving the third data packet, the terminal 100 may generate a third authentication code based on the fifth information and the third data packet. The fifth information is fifth context information, and the fifth context information indicates information regarding the amount of data packets received. The terminal 100 may determine a reception status of the third data packet based on the third authentication code. In this way, when the terminal 100 successfully receives the third data packet transmitted by the satellite network device 200, it may update the value of the fifth information. When terminal 100 repeatedly receives the third data packet, the updated fifth information is different from the fifth information existing before the update, and therefore the authentication code generated by terminal 100 based on the updated fifth information is different from the fourth authentication code in the third data packet. Therefore, terminal 100 determines that the third data packet has failed to be received, and as a result, the problem of repeatedly receiving the same data packet does not occur.

[0705] FIG. 13 is a schematic diagram of an outbound transmission procedure according to an embodiment of the present application.

[0706] S1301: The terminal 100, the satellite network device 200, and the cellular network device 400 negotiate the fifth information and the sixth information.

[0707] The terminal 100 and the satellite network device 200 may acquire their respective context information when acquiring a key through negotiation by using the cellular network device 400 in a cellular network. For a specific description, please refer to the above-described embodiment shown in FIG. 11A and FIG. 11B. The details will not be described again herein. Alternatively, the terminal 100 and the satellite network device 200 may establish a communication connection in a cellular network connection and acquire their respective context information through negotiation. The terminal 100 stores the fifth information. The satellite network device 200 stores the sixth information. The initial value of the fifth information is the same as the initial value of the sixth information.

[0708] S1302: The satellite network device 200 receives the original data transmitted by the cellular network device 400.

[0709] S1303: The satellite network device 200 receives the service request sent by the terminal 100.

[0710] S1304: The satellite network device 200 generates a fourth authentication code based on the original data and the sixth information.

[0711] The satellite network device 200 may generate a fourth authentication code based on the stored sixth information and the original data.

[0712] S1305: The satellite network device 200 obtains a third data packet based on the original data and the fourth authentication code.

[0713] S1306: The satellite network device 200 transmits the third data packet to the terminal 100.

[0714] S1307: The terminal 100 obtains a third authentication code based on the third data packet and the fifth information.

[0715] S1308: The terminal 100 determines whether the third authentication code is the same as the fourth authentication code.

[0716] The terminal 100 can determine the reception status of the third data packet by determining through comparison whether the third authentication code and the fourth authentication code are the same. If the third authentication code and the fourth authentication code are the same, the terminal 100 can perform steps S1309 to S1311.

[0717] If the third authentication code and the fourth authentication code are different, the terminal 100 can perform step S1313.

[0718] S1309: The terminal 100 displays the received prompt information.

[0719] S1310: The terminal 100 updates the value of the fifth information.

[0720] The terminal 100 may add a preset value to the value of the fifth information. For example, if the value of the fifth information is 0 and the preset value is 1, the updated value of the fifth information is 1.

[0721] S1311: The terminal 100 sends a successful application receipt to the satellite network device 200.

[0722] S1312: The satellite network device 200 updates the value of the sixth information.

[0723] After receiving the successful application receipt sent by the terminal 100, the satellite network device 200 may add a preset value to the value of the sixth information. The preset value added for the sixth information is the same as the preset value added for the fifth information, in other words, the updated value of the sixth information is the same as the updated value of the fifth information.

[0724] S1313: The terminal 100 sends a failed application receipt to the satellite network device 200.

[0725] Step S1302 et al. For specific descriptions of step S1309, step S1311, and step S1313, please refer to the aforementioned embodiment shown in Figure 10. The details will not be described again in this specification.

[0726] FIG. 14 is a schematic diagram of a transmission procedure according to an embodiment of the present application.

[0727] S1401: After generating an authentication code A based on information A, the sending device obtains a data packet based on the authentication code A and the original data, where the value of information A is X.

[0728] Specifically, for a detailed description of generating the authentication code A and obtaining the data packet by the transmitting device, please refer to the above-mentioned embodiment shown in Figures 11A and 11B, and the details will not be described again in this specification.

[0729] S1402: The transmitting device transmits a data packet to the receiving device.

[0730] Specifically, for a detailed description of transmitting data packets by a transmitting device to a receiving device, please refer to the above-mentioned embodiments shown in Figures 2A(1) and 2A(2) and 3A(1) to 3A(3), and the details will not be described again in this specification.

[0731] S1403: The receiving device generates an authentication code B based on the information B and the data packet, where the value of the information B is X.

[0732] Specifically, for a detailed description of generating the authentication code B by the receiving device, please refer to the above-mentioned embodiment shown in Figures 11A and 11B. The details will not be described again in this specification.

[0733] S1404: The receiving device determines that the authentication code A is the same as the authentication code B, and updates the value of the information B to X+i.

[0734] The receiving device determines that authentication code A is the same as authentication code B, and determines that the data packet has been successfully received. The receiving device may add i to the value of information B, i.e., update the value of information B to X+i.

[0735] S1405: The receiving device sends a successful application receipt to the sending device.

[0736] After determining that the data packet has been successfully received, the receiving device may generate a successful application receipt and send the successful application receipt to the sending device. The successful application receipt may indicate that the receiving device has successfully received the data packet.

[0737] S1406: The transmitting device updates the value of the information A to X+i.

[0738] After receiving the successful application receipt, the sending device can determine that the data packet has been successfully sent. The sending device may add i to the value of information A, i.e., update the value of information A to X+i. The sending device and the receiving device perform the update by using the same value of i.

[0739] S1407: After generating the authentication code A based on the information A, the sending device may obtain a data packet based on the authentication code A and the original data, where the value of the information A is X+i.

[0740] S1408: The transmitting device transmits the data packet to the receiving device.

[0741] S1409: The receiving device generates an authentication code B based on the information B and the data packet, where the value of the information B is X+i.

[0742] S1410: The receiving device determines that authentication code A is the same as authentication code B, and updates the value of information B to X+2i.

[0743] The receiving device determines that authentication code A is the same as authentication code B, and determines that the data packet has been successfully received. The receiving device may add i to the value of information B, that is, update the value of information B to X+2i.

[0744] S1411: The receiving device sends a successful application receipt to the sending device.

[0745] After determining that the data packet has been successfully received, the receiving device may generate a successful application receipt and send the successful application receipt to the sending device. The successful application receipt may indicate that the receiving device has successfully received the data packet.

[0746] S1412: The transmitting device updates the value of the information A to X+2i.

[0747] After receiving the successful application receipt, the sending device can determine that the data packet has been successfully sent. The sending device may add i to the value of information A, i.e., update the value of information A to X+2i. The sending device and the receiving device perform the update using the same value of i.

[0748] In this way, the transmitting device and the receiving device can synchronously update and maintain their respective context information, so that the transmitting device and the receiving device can transmit data packets and the receiving device is prevented from repeatedly processing repeatedly transmitted data packets.

[0749] The transmission method according to the present application will be specifically described below with reference to application scenarios.

[0750] In some inbound application scenarios, after receiving a first user input, the terminal 100 can transmit a satellite message (data packet) to the satellite network device 200 and display transmission prompt information. The transmission prompt information can be used to prompt the user that the terminal 100 has transmitted the satellite message to the satellite network device 200. After receiving an application receipt, the terminal 100 can display result prompt information. The result prompt information can be used to prompt the user that the satellite message was transmitted successfully or failed to be transmitted. In this way, the user of the terminal 100 can determine the transmission status of the satellite message and retransmit the satellite message when it fails to be transmitted.

[0751] For example, as shown in FIG. 15A , terminal 100 may display desktop 1500. Desktop 1500 may include multiple application icons (e.g., a clock application icon and a messaging application icon 1501). Messaging application icon 1501 may be used to trigger the display of a messaging application interface (e.g., messaging application interface 1510 shown in FIG. 15B ). Optionally, a status bar including icons such as a time identifier icon and a signal identifier icon may further be displayed at the top of desktop 1500. The signal identifier icon may be used to prompt the user that terminal 100 is in a scenario where a network is unavailable, i.e., a scenario where a communication connection to a second transmission system cannot be established. Optionally, multiple tray icons (e.g., a phone application icon, a contacts application icon, and a camera application icon) may be displayed below the multiple application icons, and the tray icons remain displayed during page switching. Optionally, messaging application icon 1501 may be a tray icon and is displayed below the multiple application icons.

[0752] After terminal 100 detects a user input (e.g., a tap) on messaging application icon 1501, terminal 100 may further display messaging application interface 1510 shown in FIG. 15B. As shown in FIG. 15B, messaging application interface 1510 may include a message summary display area and a title bar. The message summary display area may be used to display messages sent and received by terminal 100. The title bar may include, but is not limited to, a return control, a new message control 1511, etc. The return control may be used to trigger terminal 100 to display desktop 1500. The new message control 1511 may be used to trigger terminal 100 to create a new satellite message. Optionally, the aforementioned status bar may further be displayed at the top of messaging application interface 1510.

[0753] After the terminal 100 detects a user input (e.g., a tap) on the new message control 1511, the terminal 100 may further display a contacts interface 1520 shown in FIG. 15C. As shown in FIG. 15C, the contacts interface 1520 may include at least one contact icon (the contact icon may include, but is not limited to, a contact's name, a mobile number, etc.). The at least one contact icon may include a contact icon 1521. The contact icon 1521 may be used to trigger the terminal 100 to determine the recipient's ID number.

[0754] After the terminal 100 detects a user input (e.g., a tap) on the contact icon 1521, the terminal 100 may display a message details interface 1530 shown in FIG. 15D . As shown in FIG. 15D , the message details interface 1530 may include, but is not limited to, a message edit field 1533, a send control 1532, and a keyboard area 1531. The message edit field 1533 may be used to display data entered by a user by using the keyboard area 1531. The keyboard area 1531 may be used to receive a user input to trigger the terminal 100 to display corresponding data. The send control 1532 may be used to trigger the terminal 100 to send the data in the message edit field 1533 to a recipient after receiving the user input. For example, the message edit field 1533 may display the character information "X" entered by the user. Note that the content displayed in the message edit field 1533 is the content entered by the user. Here, in this embodiment of the present application, the content entered by the user is written as "X" simply to better explain the embodiment, and this description does not constitute a limitation on the content entered by the user.

[0755] It should be noted that because the terminal 100 is located in the first transmission system, the terminal 100 needs to send a satellite message to the called user (e.g., the terminal 300) by using the satellite network device 200. In the description of this embodiment of the present application, if the satellite network device 200 successfully receives the data packet sent by the terminal 100, the message is successfully sent to the called user by default.

[0756] The terminal 100 receives the user's input to the send control 1532 shown in Figure 15D, and in response to the input, the terminal 100 can transmit a data packet including the original data entered by the user (the data displayed in the message edit field 1533) to the satellite network device 200. Specifically, for a detailed description of the transmission of the data packet by the terminal 100 to the satellite network device 200, please refer to steps S1401 and S1402 of Figure 14. For a detailed description of the reception and processing of the data packet by the satellite network device 200, please refer to steps S1403 and S1404 of Figure 14.

[0757] When the terminal 100 receives a user input on the send control 1532 shown in FIG. 15D , in response to the input, the terminal 100 may further display a message details interface 1530 shown in FIG. 15E . The message details interface 1530 may include, but is not limited to, a message edit field 1533, a message box 1542, and a send prompt 1543. The message box 1542 may be used to display the content of a satellite message sent by the terminal 100 to the satellite network device 200. In this specification, the message box 1542 displays an “X.” The send prompt 1543 may be used to prompt the user that the terminal 100 has sent the content displayed in the message box 1542 to the satellite network device 200. The send prompt 1543 may include, but is not limited to, text prompt information. For example, the send prompt 1543 may be the string “Sent.” For a specific description of the message details interface 1530, please refer to the embodiment shown in FIG. 15D . The details will not be described again in this specification.

[0758] Then, after receiving the successful application receipt, the terminal 100 may display success prompt information 1551 shown in FIG. 15F. The success prompt information 1551 may be used to prompt the user that the terminal 100 has successfully sent the content in the message box 1542 to the recipient. The success prompt information 1551 may include, but is not limited to, text prompt information. For example, the success prompt information 1551 may be the text prompt information "Sent successfully." For a description of the satellite network device 200 sending the successful application receipt to the terminal 100, see step S1405 of FIG. 14. After receiving the successful application receipt, the terminal 100 may further update the value of the first information to X+i. For a specific description of the terminal 100 updating the first information, see step S1406 of FIG. 14.

[0759] After updating the value of the first information, the terminal 100 may receive a user input to the send control 1532 shown in FIG. 15F, and in response to the input, the terminal 100 may transmit a data packet including the original data entered by the user (the data displayed in the message edit field 1533) to the satellite network device 200. The message edit field 1533 may display the text information "X+i" entered by the user. Specifically, for a detailed description of the transmission of the data packet by the terminal 100 to the satellite network device 200, please refer to steps S1407 and S1408 of FIG. 14.

[0760] After the terminal 100 receives the user's input to the send control 1532 shown in FIG. 15F, the terminal 100 may further display a message box 1561 and a send prompt 1562 shown in FIG. 15G. The message box 1561 may be used to display the content of the satellite message sent by the terminal 100 to the satellite network device 200. In this specification, the message box 1561 displays "X+i". The send prompt 1562 may be used to prompt the user that the terminal 100 has sent the content displayed in the message box 1561 to the satellite network device 200. For a specific description of the message details interface 1530, please refer to the embodiment shown in FIG. 15D. The details will not be described again in this specification.

[0761] After receiving the successful application receipt, the terminal 100 may display success prompt information 1571 shown in Figure 15H. The success prompt information 1571 may be used to prompt the user that the terminal 100 has successfully sent the content in the message box 1561 to the recipient.

[0762] The following describes abnormal cases that may occur in embodiments of the present application.

[0763] 1. An abnormal case where data packets are lost.

[0764] When a transmitting device transmits a data packet to a receiving device and the receiving device does not receive the data packet of the transmitting device, the transmission of the next data packet between the transmitting device and the receiving device is not affected, as shown in FIG. 16A in detail.

[0765] S1601: After generating an authentication code A based on information A, the sending device obtains a data packet based on the authentication code A and the original data, where the value of information A is X.

[0766] S1602: The transmitting device fails to transmit a data packet to the receiving device.

[0767] The data packet is lost during transmission, and therefore the receiving device is unable to receive the data packet.

[0768] S1603: After generating the authentication code A based ...

Claims

1. A transmission method comprising: generating, by a first device, a first authentication code based on first information, a first key, and first data, wherein the first information is transmission time information or first context information; generating, by the first device, a first data packet based on the first authentication code and the first data; transmitting, by the first device, the first data packet to a second device in a first transmission system; A method comprising:

2. Before the step of generating, by the first device, a first authentication code based on the first information, the first key, and the first data, the method includes: obtaining, by the first device, the first key, the first key being obtained by the first device through negotiation with the second device in a second transmission system, the first transmission system being different from the second transmission system; The method of claim 1 further comprising:

3. Before the step of generating, by the first device, a first authentication code based on the first information, the first key, and the first data, the method includes: establishing, by the first device, a communication connection to a fourth device; obtaining, by the first device, the first key via the fourth device; The method of claim 1 further comprising:

4. The method of claim 1 , wherein the first key is a key preset by the first device.

5. 3. The method of claim 2, wherein the second transmission system is a cellular transmission system or a wireless local area network (WLAN) transmission system, and the first transmission system is a satellite transmission system.

6. 6. The method of claim 2 or 5, wherein the first device obtains the first key by negotiating with the second device using a Generic Bootstrapping Architecture (GBA) procedure in the second transmission system.

7. The step of transmitting, by the first device, the first data packet to a second device in a first transmission system includes: processing the first data packet into at least one second data packet at a Message Data Convergence Protocol (MDCP) layer of the first device and / or a Satellite Link Control (SLC) layer of the first device, and then transmitting the at least one second data packet to the second device via a third device; 6. The method according to any one of claims 1 to 5, comprising in particular:

8. The method according to claim 1 , wherein the transmission time information indicates a transmission time of the first data packet.

9. 9. The method of claim 8, wherein the time at which the first device transmits the first data packet is a time at which an application AP layer of the first device transmits the first data packet to the Message Data Convergence Protocol (MDCP) layer, or a time estimated by the first device to transmit the first data packet to the second device.

10. The method according to claim 1 , wherein the first device obtains the transmission time information through positioning timing.

11. 11. The method according to claim 1, wherein the first device obtains the first information based on the transmission time information and a specified time granularity in a preset coding scheme.

12. After the step of transmitting the first data packet by the first device, the method further comprises: receiving, by the first device, a first application layer receipt sent by the second device, the first application layer receipt indicating a status of receipt of the first data packet by the second device; 12. The method of claim 1, further comprising:

13. 8. The method of claim 1, wherein the first information is the first context information, and the first context information indicates information about an amount of first data packets successfully transmitted by the first device, information about an amount of application receipts successfully received by the first device, or a count value or sequence number of the first data packets transmitted by the first device.

14. 14. The method of claim 1, wherein the first data packet further includes first indication information, the first indication information indicating a first message ID of the first data packet, or the first indication information indicating a first count value or a first sequence number of the first data packet.

15. The method comprises: associating the first message ID, the first count value, or the first sequence number with the first data packet by an AP layer of the first device, and adding a preset value to the value of the first message ID, the first count value, or the first sequence number by the first device.

15. The method of any one of claims 1 to 7, claim 13, or claim 14, further comprising:

16. 16. The method according to claim 1, wherein the first data packet further includes third indication information, and the third indication information indicates that the first data packet is a newly transmitted data packet or a retransmitted data packet.

17. Before the step of generating, by the first device, a first authentication code based on the first information, the first key, and the first data, the method includes: obtaining, by the first device, an initial value of the first information in the second transmission system; or obtaining an initial value of the first information by the first device via the fourth device; 17. The method of any one of claims 13 to 16, further comprising:

18. After the step of transmitting the first data packet by the first device, the method further comprises: receiving, by the first device, a first application layer receipt sent by the second device, the first application layer receipt indicating a status of receipt of the first data packet by the second device; 18. The method of any one of claims 13 to 17, further comprising:

19. After the step of receiving, by the first device, a first application layer receipt sent by the second device, the method further comprises: adding, by the first device, a preset value to the value of the first information, wherein the adjusted value of the first information is different from the value of the first information; 20. The method of claim 18, further comprising:

20. After the step of receiving, by the first device, a first application layer receipt sent by the second device, the method further comprises: adjusting, by the first device, the value of the first information to the initial value if the first application receipt indicates that the second device failed to receive the first data packet.

20. The method of claim 19, further comprising:

21. After the step of adjusting, by the first device, the value of the first information to the initial value, the method further comprises: transmitting, by the first device, third information to the second device, a value of the third information being the same as the adjusted value of the first information; 21. The method of claim 20, further comprising:

22. After the step of receiving, by the first device, a first application layer receipt sent by the second device, the method further comprises: displaying, by the first device, success prompt information when the first application receipt indicates that the first data packet has been successfully transmitted, the success prompt information prompting a user that a message corresponding to the first data packet has been successfully transmitted; 22. The method of claim 12 or any one of claims 18 to 21, further comprising:

23. After the step of receiving, by the first device, a first application layer receipt sent by the second device, the method further comprises: displaying, by the first device, failure prompt information when the first application receipt indicates that the first data packet failed to be sent, the failure prompt information prompting a user that a message corresponding to the first data packet failed to be sent; 22. The method of claim 12 or any one of claims 18 to 21, further comprising:

24. After the step of receiving, by the first device, a first application layer receipt sent by the second device, the method further comprises: displaying, by the first device, success prompt information when the first application receipt includes second message ID information, the success prompt information prompting a user that the data packet indicated by the second message ID information has been successfully transmitted; 22. The method of claim 12 or any one of claims 18 to 21, further comprising:

25. generating a first data packet based on the first authentication code and the first data by the application layer of the first device; encrypting, by the application layer of the first device, the first authentication code and the first data based on the first key to generate the first data packet, the first data packet including the encrypted first authentication code and the encrypted first data.

25. The method according to any one of claims 1 to 24, comprising in particular:

26. After the step of transmitting, by the first device, the first data packet to a second device in a first transmission system, the method further comprises: receiving, by the first device, second application receipt information in the second transmission system, the second application receipt information indicating a status of transmitting the first data packet by the first device in the first transmission system; 26. The method of any one of claims 1 to 25, further comprising:

27. After the step of transmitting, by the first device, the first data packet to a second device in a first transmission system, the method further comprises: displaying, by the first device, transmission prompt information prompting the user that the first device has transmitted the first data packet to the second device; 27. The method of any one of claims 1 to 26, further comprising:

28. 1. A secure transmission method, comprising: receiving, by a second device in a first transmission system, a first data packet transmitted by the first device; generating, by the second device, a second authentication code based on second information, a first key, and the first data packet, wherein the second information is reception time information or second context information; determining, by the second device, a receipt status of the first data packet based on the second authentication code; A method comprising:

29. Before the step of generating, by the second device, a second authentication code based on second information, a first key, and the first data packet, the method further comprises: obtaining, by the second device, the first key, the first key being obtained by the second device through negotiation with the first device in a second transmission system, the second transmission system being different from the first transmission system; 30. The method of claim 28, further comprising:

30. 30. The method of claim 29, wherein the second transmission system is a cellular or WLAN transmission system and the first transmission system is a satellite transmission system.

31. 31. The method of claim 29 or 30, wherein the second device obtains the first key by negotiating with the first device using a Generic Bootstrapping Architecture (GBA) procedure in the second transmission system.

32. 29. The method of claim 28, wherein the first key is a key preset by the first device.

33. receiving a first data packet by a second device in a first transmission system; receiving, by the second device in the first transmission system, the first data packet transmitted by a third device; 33. The method according to any one of claims 28 to 32, comprising in particular:

34. 34. The method of any one of claims 28 to 33, wherein the second device determines a first authentication code based on the first data packet.

35. 35. The method of any one of claims 28 to 34, wherein the reception time information indicates a reception time of the first data packet.

36. Before the step of generating, by the second device, a second authentication code based on second information, a first key, and the first data packet, the method further comprises: receiving, by the second device, the second information transmitted by the third device; 36. The method of any one of claims 28 to 35, further comprising:

37. Before the step of generating, by the second device, a second authentication code based on second information, a first key, and the first data packet, the method further comprises: receiving, by the second device, third information transmitted by the third device; generating, by the second device, the second information based on the third information; 36. The method of any one of claims 28 to 35, further comprising:

38. 35. The method of claim 28, wherein the second context information indicates information about an amount of first data packets successfully received by the second device, or a count or sequence value of the first data packets received by the second device.

39. 39. The method of claim 28, wherein the first data packet includes first indication information, and the first indication information indicates a first message ID / a first sequence number / a first count value of the first data packet.

40. 40. The method of claim 28, wherein the first data packet includes third indication information, and the third indication information indicates that the first data packet is a newly transmitted data packet / a retransmitted data packet.

41. Before the step of generating, by the second device, a second authentication code based on second information, a first key, and the first data packet, the method further comprises:

41. The method of any one of claims 28 to 34 or 38 to 40, further comprising the step of obtaining, by the second device, an initial value of the second information in the second transmission system.

42. determining, by the second device, a receipt status of the first data packet based on the second authentication code; 42. The method of any one of claims 28 to 41, particularly comprising the step of determining, by the second device, the receipt status of the first data packet based on whether the first authentication code is the same as the second authentication code.

43. If the second device determines, based on the second authentication code, that the first data packet was successfully received, the method further comprises: sending, by the second device, a first application receipt to the first device, the first application receipt indicating that the first data packet was successfully received; 43. The method of claim 42, further comprising:

44. If the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further comprises: sending, by the second device, a first application receipt to the first device, the first application receipt further including a second message ID field, the second message ID field indicating a message ID corresponding to a most recent successfully transmitted data packet; 43. The method of claim 42, further comprising:

45. If the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further comprises: sending, by the second device, a first application receipt to the first device, the first application receipt indicating that the first data packet was unsuccessfully received; 43. The method of claim 42, further comprising:

46. If the second device determines, based on the second authentication code, that the first data packet was successfully received, the method further comprises: adding, by the second device, a preset value to the value of the second information, wherein the adjusted value of the second information is different from the value of the second information.

43. The method of claim 42, further comprising:

47. If the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further comprises:

43. The method of claim 42, further comprising adjusting, by the second device, a value of the second information to a preset value.

48. If the second device determines, based on the second authentication code, that the first data packet failed to be received, the method further comprises: receiving, by the second device, the third information transmitted by the first device; adjusting, by the second device, the value of the second information to the value of the third information; 43. The method of claim 42, further comprising:

49. After the step of determining, by the second device, a receipt status of the first data packet based on the second authentication code, the method further comprises: sending, by the second device, second application receipt information to the first device in the second transmission system, the second application receipt information indicating a receipt status of the first data packet by the second device in the first transmission system; 49. The method of any one of claims 28 to 48, further comprising:

50. A transmission method comprising: receiving, by a third device, at least one second data packet transmitted by the first device; generating, by the third device, a first data packet based on the at least one second data packet; transmitting, by the third device, the first data packet to a second device; A method comprising:

51. The method comprises: transmitting second information or fourth information by the third device to the second device, wherein the second information or the fourth information is reception time information; 51. The method of claim 50, further comprising:

52. 52. The method of claim 51, wherein the reception time information indicates a corresponding time at which the third device receives the first data packet within the at least one second data packet.

53. 53. A communications device comprising one or more processors and one or more memories, the one or more memories configured to store computer program code, the computer program code comprising computer instructions, the execution of which by the one or more processors enables the communications device to perform a method according to any one of claims 1 to 52.

54. 53. A computer-readable storage medium having stored thereon instructions that, when executed on a computer, enable the computer to perform the method of any one of claims 1 to 52.