RU2809740C2 - Method for processing file stored in external memory - Google Patents

Method for processing file stored in external memory Download PDF

Info

Publication number
RU2809740C2
RU2809740C2 RU2023102888A RU2023102888A RU2809740C2 RU 2809740 C2 RU2809740 C2 RU 2809740C2 RU 2023102888 A RU2023102888 A RU 2023102888A RU 2023102888 A RU2023102888 A RU 2023102888A RU 2809740 C2 RU2809740 C2 RU 2809740C2
Authority
RU
Russia
Prior art keywords
ciphertext
key
account
encryption
external memory
Prior art date
Application number
RU2023102888A
Other languages
Russian (ru)
Other versions
RU2023102888A (en
Inventor
Хунцзянь ЮЙ
Шуан ЛИ
Фэй Ван
Original Assignee
Хонор Девайс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хонор Девайс Ко., Лтд. filed Critical Хонор Девайс Ко., Лтд.
Publication of RU2023102888A publication Critical patent/RU2023102888A/en
Application granted granted Critical
Publication of RU2809740C2 publication Critical patent/RU2809740C2/en

Links

Images

Abstract

FIELD: computer technologies.
SUBSTANCE: invention relates to a method, a chip and a computer-readable storage medium for processing a file stored in an external memory. The method is applied to an electronic device, wherein the electronic device includes an internal memory that contains an erasable section and a non-erasable section, and the electronic device is connected to an external memory, wherein the method comprises: displaying an external memory encryption setting interface; receiving the first operation that is performed by the user at the encryption setting interface, wherein receiving the first operation that is performed by the user at the encryption setting interface comprises: receiving an encryption instruction, wherein the encryption instruction instructs to encrypt the first file stored in the external memory; encrypting the first file stored in the external memory using the second key in response to encryption instructions; obtaining the first account ID based on the encryption instruction; encrypting the first key based on the first account identifier to generate the first ciphertext, the first key being used to encrypt the second key; encrypting the first account identifier to generate the second ciphertext; and storing the first ciphertext and the second ciphertext in an non-erasable partition; receiving the second user operation; displaying the factory reset setting interface in response to the second operation; receiving a third operation that is performed by the user in the factory settings interface; performing a factory reset in response to the third operation, in which the data in the erasable partition is deleted during the factory reset, and the data in the non-erasable partition is retained during the factory reset; displaying the account verification interface; receiving verification information that is input by the user in the account verification interface; and checking the first account ID based on the verification information, when the first account ID is verified successfully, and, when an operation in which the user accesses the first file in the external memory is received, decrypting the first file encrypted in the external memory based on the first ciphertext and the second ciphertext stored in a non-erasable partition.
EFFECT: increased security of file storage in external media.
14 cl, 20 dwg

Description

Перекрестная ссылка на родственную заявкуCross reference to related application

Настоящая заявка испрашивает приоритет китайской патентной заявки № 202110566480.8, поданной в Национальное управление интеллектуальной собственности Китая 24 мая 2021 года и озаглавленной «METHOD FOR SAVING CIPHERTEXT AND APPARATUS», которая включена сюда во всей своей полноте путем ссылки.This application claims the benefit of Chinese Patent Application No. 202110566480.8, filed with the National Intellectual Property Office of China on May 24, 2021, entitled "METHOD FOR SAVING CIPHERTEXT AND APPARATUS", which is incorporated herein in its entirety by reference.

Область техники, к которой относится изобретениеField of technology to which the invention relates

Настоящая заявка относится к области терминалов и, в частности, к способу сохранения зашифрованного текста и устройству.The present application relates to the field of terminals and, in particular, to a method for storing ciphertext and an apparatus.

Уровень техникиState of the art

С появлением услуг с большим объемом данных, таких как улучшенная мобильная широкополосная связь (Enhanced Mobile Broadband, eMBB) и видео высокой четкости, электронное устройство сталкивается с проблемой нехватки места для хранения. Внешняя память (например, защищенная цифровая (secure digital, SD) карта), подключенная к электронному устройству, может решить проблему нехватки места для хранения. Для того, чтобы обеспечить безопасность данных, данные во внешней памяти должны быть зашифрованы и сохранены.With the advent of data-intensive services such as Enhanced Mobile Broadband (eMBB) and high-definition video, electronic devices are faced with the problem of running out of storage space. External storage (such as a secure digital (SD) card) connected to an electronic device can solve the problem of running out of storage space. To ensure data security, data in external memory must be encrypted and stored.

Ключ внешней памяти шифруется с использованием пароля экрана блокировки и затем сохраняется в стираемом разделе электронного устройства. Когда пользователь на электронном устройстве выполняет сброс к заводским настройкам (factory reset), зашифрованный ключ (а именно, зашифрованный текст) в стираемом разделе удаляется перед сохранением, и, следовательно, данные во внешней памяти не могут быть дешифрованы.The external storage key is encrypted using the lock screen password and then stored in an erasable partition of the electronic device. When a user performs a factory reset on an electronic device, the encrypted key (namely, the ciphertext) in the erased partition is deleted before being saved, and therefore the data in the external memory cannot be decrypted.

Сущность изобретенияThe essence of the invention

Настоящая заявка предоставляет способ сохранения зашифрованного текста и устройство для того, чтобы решить техническую задачу, которая состоит в том, что данные во внешней памяти не могут быть дешифрованы после того, как электронное устройство выполнит сброс к заводским настройкам.The present application provides a ciphertext storage method and apparatus to solve the technical problem that data in an external memory cannot be decrypted after an electronic device has been reset to factory settings.

Согласно первому аспекту предусмотрен способ сохранения зашифрованного текста, включающий в себя: получение инструкции шифрования, где инструкция шифрования инструктирует зашифровать файл во внешней памяти; получение собственного значения первого идентификатора учетной записи на основе инструкции шифрования; шифрование первого ключа с использованием собственного значения первого идентификатора учетной записи для генерации первого зашифрованного текста, где первый ключ используется для шифрования второго ключа, и второй ключ используется для шифрования первого файла во внешней памяти; шифрование собственного значения первого идентификатора учетной записи для генерации второго зашифрованного текста; и сохранение первого зашифрованного текста и второго зашифрованного текста в нестираемом разделе.According to a first aspect, there is provided a method for storing ciphertext, including: receiving an encryption instruction, where the encryption instruction instructs to encrypt a file in an external memory; obtaining the first account identifier's own value based on the encryption instruction; encrypting a first key using the first account ID's own value to generate a first ciphertext, where the first key is used to encrypt a second key, and the second key is used to encrypt a first file in the external memory; encrypting the eigenvalue of the first account identifier to generate a second ciphertext; and storing the first ciphertext and the second ciphertext in an indelible section.

Инструкция шифрования является инструкцией, которая инициируется тогда, когда пользователь шифрует внешнюю память в интерфейсе настройки шифрования. После получения инструкции шифрования электронное устройство генерирует первый зашифрованный текст и второй зашифрованный текст и сохраняет первый зашифрованный текст и второй зашифрованный текст в нестираемом разделе электронного устройства. Таким образом, до того, как пользователь выполнит сброс к заводским настройкам электронного устройства, электронное устройство завершит безопасное хранение первого зашифрованного текста и второго зашифрованного текста. После завершения сброса к заводским настройкам электронное устройство может восстановить первый ключ из нестираемого раздела, и затем дешифровать второй ключ во внешней памяти с использованием первого ключа и дешифровать файл во внешней памяти с использованием второго ключа, тем самым решая проблему, связанную с тем, что файл во внешней памяти не может быть дешифрован после сброса к заводским настройкам.The encryption instruction is an instruction that is initiated when the user encrypts the external memory in the encryption setting interface. Upon receiving the encryption instruction, the electronic device generates the first ciphertext and the second ciphertext and stores the first ciphertext and the second ciphertext in an indelible section of the electronic device. Thus, before the user performs a factory reset of the electronic device, the electronic device has completed securely storing the first ciphertext and the second ciphertext. After the factory reset is completed, the electronic device can recover the first key from the non-erasable partition, and then decrypt the second key in the external memory using the first key, and decrypt the file in the external memory using the second key, thereby solving the problem that the file in external memory cannot be decrypted after factory reset.

При необходимости способ дополнительно включает в себя: получение информации указателя для переключения учетной записи; проверку первого идентификатора учетной записи на основе информации указателя; получение собственного значения второго идентификатора учетной записи после проверки первого идентификатора учетной записи; и обновление первого зашифрованного текста и второго зашифрованного текста на основе собственного значения второго идентификатора учетной записи.Optionally, the method further includes: obtaining pointer information for switching an account; checking the first account ID based on the index information; obtaining its own value of the second account identifier after checking the first account identifier; and updating the first ciphertext and the second ciphertext based on the self value of the second account ID.

Пользователь может переключать идентификатор зарегистрированной на данный момент учетной записи (например, первый идентификатор учетной записи) в интерфейсе входа в систему с помощью учетной записи. После того, как пользователь инициирует электронное устройство для выработки информации инструкции для переключения учетной записи в интерфейсе входа в систему с помощью учетной записи, электронное устройство может запросить пользователя ввести пароль, соответствующий первому идентификатору учетной записи, для проверки первого идентификатора учетной записи. После проверки первого идентификатора учетной записи он указывает то, что пользователь, который меняет идентификатор учетной записи, является действительным пользователем. Электронное устройство может получить второй идентификатор учетной записи, введенный пользователем, вычислить хеш-значение (пример собственного значения) второго идентификатора учетной записи, и затем обновить первый зашифрованный текст и второй зашифрованный текст, используя хэш-значение второго идентификатора учетной записи. Электронное устройство может сначала дешифровать первый ключ, затем сгенерировать обновленный первый зашифрованный текст, используя хеш-значение второго идентификатора учетной записи, и затем сгенерировать обновленный второй зашифрованный текст, зашифровав хэш-значение второго идентификатора учетной записи. В приведенном выше решении после определения того, что текущий пользователь (пользователь, который меняет идентификатор учетной записи) является действительным пользователем, первый зашифрованный текст и второй зашифрованный текст обновляются с использованием идентификатора учетной записи (второго идентификатора учетной записи) текущего пользователя, и снимаются права на шифрование и дешифрование внешней памяти, соответствующей первому идентификатору учетной записи, тем самым обеспечивая безопасность данных во внешней памяти.The user can switch the currently registered account ID (such as the first account ID) in the account login interface. After the user initiates the electronic device to generate account switching instruction information at the account login interface, the electronic device may prompt the user to input a password corresponding to the first account ID to verify the first account ID. After checking the first account ID, it indicates that the user who changes the account ID is a valid user. The electronic device may receive a second account ID entered by the user, calculate a hash value (an example of an eigenvalue) of the second account ID, and then update the first ciphertext and the second ciphertext using the hash value of the second account ID. The electronic device may first decrypt the first key, then generate an updated first ciphertext using the hash value of the second account identifier, and then generate an updated second ciphertext using the hash value of the second account identifier. In the above solution, after determining that the current user (the user who changes the account ID) is a valid user, the first ciphertext and the second ciphertext are updated with the account ID (the second account ID) of the current user, and the rights to Encrypting and decrypting the external memory corresponding to the first account ID, thereby ensuring the security of the data in the external memory.

При необходимости способ дополнительно включает в себя: проверку первого идентификатора учетной записи после завершения сброса к заводским настройкам; и, когда первый идентификатор учетной записи успешно проверен, дешифрование первого зашифрованного текста и второго зашифрованного текста для генерации первого ключа.If necessary, the method further includes: checking the first account ID after the factory reset is completed; and, when the first account ID is successfully verified, decrypting the first ciphertext and the second ciphertext to generate the first key.

После того как электронное устройство выполнит сброс к заводским настройкам, активируется механизм проверки учетной записи. Механизм требует того, чтобы электронное устройство можно было нормально использовать только после успешной проверки учетной записи. Идентификатор последней зарегистрированной учетной записи (например, первый идентификатор учетной записи), который проверен перед сбросом к заводским настройкам, и это может гарантировать то, что пользователь электронного устройства после выполнения сброса к заводским настройкам является действительным пользователем с тем, чтобы обеспечить безопасность данных во внешней памяти.Once the electronic device performs a factory reset, the account verification mechanism is activated. The mechanism requires that the electronic device can only be used normally after successful account verification. The last registered account ID (such as the first account ID) that is verified before factory reset, and this can ensure that the user of the electronic device after performing a factory reset is a valid user, so as to ensure the security of data in the external memory.

При необходимости проверка первого идентификатора учетной записи включает в себя:If necessary, verification of the first account ID includes:

проверку первого идентификатора учетной записи при срабатывании защиты от сброса к заводским настройкам (factory reset protection, FRP).checking the first account ID when factory reset protection (FRP) is triggered.

При необходимости способ дополнительно включает в себя: шифрование первого ключа с использованием значения по умолчанию для генерации третьего зашифрованного текста; шифрование значения по умолчанию для генерации четвертого зашифрованного текста; и сохранение третьего зашифрованного текста и четвертого зашифрованного текста в нестираемом разделе.Optionally, the method further includes: encrypting a first key using a default value to generate a third ciphertext; default encryption to generate fourth ciphertext; and storing the third ciphertext and the fourth ciphertext in an indelible section.

Так как пользователь может переключить учетную запись, существует риск утечки, если электронное устройство продолжает использовать, после выполнения сброса к заводским настройкам, первый идентификатор учетной записи или второй идентификатор учетной записи для шифрования и сохранения первого ключа. После дешифрования первого ключа электронное устройство может использовать значение по умолчанию для шифрования и сохранения первого ключа, тем самым обеспечивая безопасность данных во внешней памяти.Since the user can switch accounts, there is a risk of leakage if the electronic device continues to use, after performing a factory reset, the first account ID or the second account ID to encrypt and store the first key. After decrypting the first key, the electronic device can use the default value to encrypt and store the first key, thereby ensuring the security of the data in the external memory.

При необходимости способ дополнительно включает в себя: копирование третьего зашифрованного текста и четвертого зашифрованного текста из нестираемого раздела в стираемый раздел; генерацию первого ключа на основе третьего зашифрованного текста и четвертого зашифрованного текста в стираемом разделе; и дешифрование на основе первого ключа первого файла, зашифрованного во внешней памяти.Optionally, the method further includes: copying a third ciphertext and a fourth ciphertext from the non-erasable section to the erasable section; generating a first key based on the third ciphertext and the fourth ciphertext in the erased section; and decrypting, based on the first key, the first file encrypted in the external memory.

При необходимости, перед проверкой первого идентификатора учетной записи, способ дополнительно включает в себя: получение инструкции сброса к заводским настройкам, которая инициируется интерфейсом восстановления; и форматирование данных в стираемом разделе на основе инструкции сброса к заводским настройкам.Optionally, before verifying the first account ID, the method further includes: receiving a factory reset instruction that is initiated by the recovery interface; and formatting the data in the erased partition based on the factory reset instructions.

При необходимости шифрование первого ключа с использованием собственного значения первого идентификатора учетной записи включает в себя: вызов ТА мастера ключей модуля управления ключами для шифрования первого ключа с использованием собственного значения первого идентификатора учетной записи. Шифрование собственного значения первого идентификатора учетной записи включает в себя: вызов ТА мастера ключей для шифрования собственного значения первого идентификатора учетной записи.Optionally, encrypting the first key using the first account identifier's own value includes: calling the key management module's key master TA to encrypt the first key using the first account identifier's own value. Encrypting the native value of the first account ID involves: calling the key master TA to encrypt the native value of the first account ID.

При необходимости сохранение первого зашифрованного текста и второго зашифрованного текста в нестираемом разделе включает в себя: вызов интерфейса прикладного программирования доверенной среды исполнения для сохранения первого зашифрованного текста и второго зашифрованного текста в нестираемом разделе.Optionally, storing the first ciphertext and the second ciphertext in the non-erasable section includes: calling a trusted execution environment application programming interface to store the first ciphertext and the second ciphertext in the non-erasable section.

При необходимости первый ключ дополнительно используется для шифрования третьего ключа, и третий ключ используется для шифрования второго файла, который зашифрован во внешней памяти.If necessary, the first key is additionally used to encrypt the third key, and the third key is used to encrypt the second file, which is encrypted in the external memory.

При необходимости способ дополнительно включает в себя: получение собственного значения пароля экрана блокировки на основе инструкции шифрования; шифрование первого ключа с использованием собственного значения пароля экрана блокировки для генерации пятого зашифрованного текста; шифрование собственного значения пароля экрана блокировки для генерации шестого зашифрованного текста; и сохранение пятого зашифрованного текста и шестого зашифрованного текста в стираемом разделе.Optionally, the method further includes: obtaining a custom lock screen password value based on the encryption instruction; encrypting the first key using the lock screen's own password value to generate a fifth ciphertext; encrypting your own lock screen password to generate a sixth ciphertext; and storing the fifth ciphertext and the sixth ciphertext in the erasable section.

При необходимости шифрование первого ключа с использованием собственного значения пароля экрана блокировки включает в себя: вызов ТА мастера ключей для шифрования первого ключа с использованием собственного значения пароля экрана блокировки. Шифрование собственного значения пароля экрана блокировки включает в себя: вызов ТА мастера ключей для шифрования собственного значения пароля экрана блокировки.Optionally, encrypting the first key using your own lock screen password value involves: Calling the key master TA to encrypt the first key using your own lock screen password value. Encrypting your own lock screen password value involves: calling the keymaster TA to encrypt your own lock screen password value.

При необходимости способ дополнительно включает в себя: получение пользовательской инструкции сброса, которая инициируется интерфейсом настройки; и резервное копирование пятого зашифрованного текста и шестого зашифрованного текста в нестираемый раздел на основе пользовательской инструкции сброса.Optionally, the method further includes: receiving a user reset instruction that is initiated by the configuration interface; and backing up the fifth ciphertext and the sixth ciphertext to a non-erasable partition based on the user's reset instruction.

При необходимости резервное копирование пятого зашифрованного текста и шестого зашифрованного текста в нестираемый раздел на основе пользовательской инструкции сброса включает в себя: дешифрование первого ключа из пятого зашифрованного текста и шестого зашифрованного текста на основе пользовательской инструкции сброса; шифрование первого ключа с использованием значения по умолчанию для генерации седьмого зашифрованного текста; шифрование значения по умолчанию для генерации восьмого зашифрованного текста; и сохранение седьмого зашифрованного текста и восьмого зашифрованного текста в нестираемом разделе.Optionally, backing up the fifth ciphertext and the sixth ciphertext to the non-erasable partition based on the user reset instruction includes: decrypting a first key from the fifth ciphertext and the sixth ciphertext based on the user reset instruction; encrypting the first key using a default value to generate a seventh ciphertext; default encryption to generate the eighth ciphertext; and storing the seventh ciphertext and the eighth ciphertext in an indelible section.

При необходимости способ дополнительно включает в себя: копирование седьмого зашифрованного текста и восьмого зашифрованного текста из нестираемого раздела в стираемый раздел после завершения пользовательского сброса; дешифрование первого ключа из седьмого зашифрованного текста и восьмого зашифрованного текста в стираемом разделе; и дешифрование на основе первого ключа первого файла, зашифрованного во внешней памяти.Optionally, the method further includes: copying a seventh ciphertext and an eighth ciphertext from the non-erasable partition to the erasable partition after the user reset is completed; decrypting the first key from the seventh ciphertext and the eighth ciphertext in the erased section; and decrypting, based on the first key, the first file encrypted in the external memory.

При необходимости стираемый раздел является разделом данных, и собственное значение пароля экрана блокировки является хэш-значением пароля экрана блокировки.Optionally, the partition being erased is the data partition, and the lock screen password's own value is a hash value of the lock screen password.

При необходимости нестираемый раздел является разделом sec_storage, и собственное значение первого идентификатора учетной записи является хэш-значением первого идентификатора учетной записи.Optionally, the non-erasable partition is the sec_storage partition, and the first account ID's own value is the hash value of the first account ID.

Согласно второму аспекту предусмотрен другой способ сохранения зашифрованного текста, включающий в себя: отображение интерфейса настройки шифрования внешней памяти; прием первой операции, которая выполняется пользователем в интерфейсе настройки шифрования; шифрование файла во внешней памяти в ответ на первую операцию; прием второй операции пользователя; отображение интерфейса настройки сброса к заводским настройкам в ответ на вторую операцию; прием третьей операции, которая выполняется пользователем в интерфейсе заводских настроек; выполнение сброса к заводским настройкам в ответ на третью операцию; отображение интерфейса проверки учетной записи; получение информации проверки, которая вводится пользователем в интерфейсе проверки учетной записи; и, когда информация проверки проверена и, когда получена операция, в которой пользователь осуществляет доступ к файлу во внешней памяти, дешифрование файла, зашифрованного во внешней памяти.According to the second aspect, another method of storing the ciphertext is provided, including: displaying an external memory encryption setting interface; receiving a first operation that is performed by the user in the encryption setting interface; encrypting a file in external memory in response to the first operation; receiving a second user operation; displaying the factory reset setting interface in response to the second operation; receiving a third operation that is performed by the user in the factory settings interface; performing a factory reset in response to the third operation; displaying the account verification interface; receiving verification information that is entered by the user in the account verification interface; and, when the verification information is verified and, when an operation in which the user accesses a file in the external memory is received, decrypting the file encrypted in the external memory.

Инструкция шифрования является инструкцией, которая инициируется тогда, когда пользователь шифрует внешнюю память в интерфейсе настройки шифрования. После получения инструкции шифрования электронное устройство генерирует первый зашифрованный текст и второй зашифрованный текст и сохраняет первый зашифрованный текст и второй зашифрованный текст в нестираемом разделе электронного устройства. Таким образом, прежде, чем пользователь выполнит сброс к заводским настройкам электронного устройства, электронное устройство завершит безопасное хранение первого зашифрованного текста и второго зашифрованного текста. После завершения сброса к заводским настройкам электронное устройство может восстановить первый ключ из нестираемого раздела, и затем дешифровать второй ключ во внешней памяти с использованием первого ключа и дешифровать файл во внешней памяти с использованием второго ключа, тем самым решая проблему, связанную с тем, что файл во внешней памяти не может быть дешифрован после сброса к заводским настройкам.The encryption instruction is an instruction that is initiated when the user encrypts the external memory in the encryption setting interface. Upon receiving the encryption instruction, the electronic device generates the first ciphertext and the second ciphertext and stores the first ciphertext and the second ciphertext in an indelible section of the electronic device. Thus, before the user performs a factory reset of the electronic device, the electronic device has completed securely storing the first ciphertext and the second ciphertext. After the factory reset is completed, the electronic device can recover the first key from the non-erasable partition, and then decrypt the second key in the external memory using the first key, and decrypt the file in the external memory using the second key, thereby solving the problem that the file in external memory cannot be decrypted after factory reset.

Согласно третьему аспекту предусмотрено устройство для сохранения зашифрованного текста, включающее в себя блок, выполненный с возможностью выполнения способа согласно любому из первого аспекта или второго аспекта. Устройство может быть терминальным устройством или может быть микросхемой в терминальном устройстве. Устройство может включать в себя блок ввода и блок обработки.According to a third aspect, there is provided an apparatus for storing ciphertext, including a unit configured to perform a method according to any of the first aspect or the second aspect. The device may be a terminal device or may be a chip within a terminal device. The device may include an input unit and a processing unit.

Когда устройство является терминальным устройством, блоком обработки может быть процессор, и блоком ввода может быть интерфейс связи. Терминальное устройство может дополнительно включать в себя память, и эта память выполнена с возможностью хранения кода компьютерной программы. Когда процессор исполняет код компьютерной программы памяти, терминальное устройство получает возможность выполнять способ согласно любому из первого аспекта или второго аспекта.When the device is a terminal device, the processing unit may be a processor, and the input unit may be a communication interface. The terminal device may further include a memory, and the memory is configured to store computer program code. When the processor executes the computer program memory code, the terminal device is able to execute the method according to any of the first aspect or the second aspect.

Когда устройством является микросхема в терминальном устройстве, блоком обработки может быть блок обработки внутри микросхемы, и блоком ввода может быть интерфейс вывода, вывод, схема и т.п. Микросхема может дополнительно включать в себя память. Память может быть памятью (например, регистром или кэшем) в микросхеме или может быть памятью (например, постоянной памятью или оперативной памятью), расположенной вне микросхемы. Память выполнена с возможностью хранения кода компьютерной программы. Когда процессор исполняет код компьютерной программы, который хранится в памяти, микросхема получает возможность выполнять любой из первого аспекта или второго аспекта.When the device is a chip in a terminal device, the processing unit may be a processing unit within the chip, and the input unit may be an output interface, output, circuit, or the like. The chip may further include memory. The memory may be memory (eg, a register or cache) on the chip, or may be memory (eg, read-only memory or random access memory) located off-chip. The memory is configured to store computer program code. When the processor executes computer program code that is stored in memory, the chip becomes capable of executing any of the first aspect or the second aspect.

Согласно четвертому аспекту предусмотрен машиночитаемый носитель данных. Машиночитаемый носитель данных хранит код компьютерной программы. Когда код компьютерной программы запускается на устройстве для сохранения зашифрованного текста, устройство может выполнить способ в соответствии с любым из первого аспекта или второго аспекта.According to a fourth aspect, a computer-readable storage medium is provided. A computer-readable storage medium stores computer program code. When computer program code is executed on a device for storing ciphertext, the device may perform a method in accordance with any of the first aspect or the second aspect.

Согласно пятому аспекту предусмотрен компьютерный программный продукт. Компьютерный программный продукт включает в себя код компьютерной программы. Когда код компьютерной программы запускается на устройстве для сохранения зашифрованного текста, устройство может выполнить способ в соответствии с любым из первого аспекта или второго аспекта.According to a fifth aspect, a computer program product is provided. The computer program product includes computer program code. When computer program code is executed on a device for storing ciphertext, the device may perform a method in accordance with any of the first aspect or the second aspect.

Краткое описание чертежейBrief description of drawings

Фиг. 1 – схематичное представление аппаратной системы, которая применима к устройству согласно настоящей заявке;Fig. 1 is a schematic representation of a hardware system that is applicable to a device according to this application;

фиг. 2 – схема программной системы, которая применима к устройству согласно настоящей заявке;fig. 2 – diagram of the software system that is applicable to the device according to this application;

фиг. 3 – схематичное представление интерфейса настройки шифрования согласно настоящей заявке;fig. 3 – schematic representation of the encryption settings interface according to this application;

фиг. 4 – схематичное представление интерфейса подтверждения шифрования согласно настоящей заявке;fig. 4 is a schematic representation of the encryption confirmation interface according to this application;

фиг. 5 – схематичное представление интерфейса обработки шифрования согласно настоящей заявке;fig. 5 is a schematic representation of the encryption processing interface according to this application;

фиг. 6 – схематичное представление способа сохранения ключа согласно настоящей заявке;fig. 6 – schematic representation of the method for storing the key according to this application;

фиг. 7 – схематичное представление процедуры шифрования согласно настоящей заявке;fig. 7 – schematic representation of the encryption procedure according to this application;

фиг. 8 – схематичное представление способа резервного копирования и восстановления ключа в сценарии пользовательского сброса согласно настоящей заявке;fig. 8 is a schematic representation of a method for backing up and restoring a key in a user reset scenario according to this application;

фиг. 9 – схематичное представление условия изменения хранения зашифрованного текста в области хранения в сценарии пользовательского сброса согласно настоящей заявке;fig. 9 is a schematic representation of a condition for changing the storage of ciphertext in a storage area in a user reset scenario according to the present application;

фиг. 10 – схематичное представление способа резервного копирования ключа в сценарии сброса к заводским настройкам согласно настоящей заявке;fig. 10 – schematic representation of the key backup method in the factory reset scenario according to this application;

фиг. 11 – схематичное представление интерфейса входа в систему с помощью учетной записи согласно настоящей заявке;fig. 11 is a schematic representation of the login interface using an account according to this application;

фиг. 12 – схематичное представление условия изменения хранения зашифрованного текста в области хранения, которая существует при переключении учетной записи согласно настоящей заявке;fig. 12 is a schematic representation of a condition for changing the storage of ciphertext in a storage area that exists when switching an account according to the present application;

фиг. 13 – схематичное представление интерфейса настройки сброса к заводским настройкам согласно настоящей заявке;fig. 13 is a schematic representation of the factory reset setting interface according to this application;

фиг. 14 – схематичное представление интерфейса подтверждения сброса к заводским настройкам согласно настоящей заявке;fig. 14 is a schematic representation of the factory reset confirmation interface according to this application;

фиг. 15 – схематичное представление интерфейса процесса сброса к заводским настройкам согласно настоящей заявке;fig. 15 – schematic representation of the interface of the reset process to factory settings according to this application;

фиг. 16 – схематичное представление способа использования ключа восстановления в сценарии восстановления заводских настроек согласно настоящей заявке;fig. 16 is a schematic representation of the method of using the recovery key in the factory reset scenario according to this application;

фиг. 17 – схематичное представление интерфейса проверки учетной записи согласно настоящей заявке;fig. 17 is a schematic representation of the account verification interface according to this application;

фиг. 18 – схематичное представление условия изменения хранения зашифрованного текста в области хранения в сценарии восстановления заводских настроек согласно настоящей заявке;fig. 18 is a schematic representation of the condition for changing the storage of ciphertext in the storage area in the factory reset scenario according to this application;

фиг. 19 – схематичное представление устройства для сохранения зашифрованного текста согласно настоящей заявке; иfig. 19 is a schematic representation of a device for storing ciphertext according to this application; And

фиг. 20 – схема электронного устройства для сохранения зашифрованного текста согласно настоящей заявке.fig. 20 is a diagram of an electronic device for storing ciphertext according to this application.

Подробное описание изобретенияDetailed Description of the Invention

Далее приводится описание технических решений, представленных в вариантах осуществления настоящей заявки со ссылкой на сопроводительные чертежи.The following is a description of the technical solutions presented in the embodiments of the present application with reference to the accompanying drawings.

На фиг. 1 показана аппаратная система, применимая к устройству согласно настоящей заявке.In fig. 1 shows a hardware system applicable to an apparatus according to the present application.

Устройство 100 может быть мобильным телефоном, интеллектуальным экраном, планшетным компьютером, носимым электронным устройством, бортовым электронным устройством, устройством дополненной реальности (augmented reality, AR), устройством виртуальной реальностью (virtual reality, VR), портативным компьютером, ультрамобильным персональным компьютером (ultra-mobile personal computer, UMPC), нетбуком, персональным цифровым помощником (personal digital assistant, PDA), проектором т.п. В этом варианте осуществления настоящей заявки конкретный тип устройства 100 не ограничен.The device 100 may be a mobile phone, a smart screen, a tablet computer, a wearable electronic device, an on-board electronic device, an augmented reality (AR) device, a virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (ultra- mobile personal computer (UMPC), netbook, personal digital assistant (PDA), projector, etc. In this embodiment of the present application, the specific type of device 100 is not limited.

Устройство 100 может включать в себя процессор 110, интерфейс 120 внешней памяти, внутреннюю память 121, интерфейс 130 универсальной последовательной шины (universal serial bus, USB), модуль 140 управления зарядкой, модуль 141 управления питанием, аккумуляторную батарею 142, антенну 1, антенну 2, модуль 150 мобильной связи, модуль 160 беспроводной связи, аудиомодуль 170, динамик 170А, приемник 170В, микрофон 170С, разъем 170D для гарнитуры, модуль 180 датчиков, ключ 190, двигатель 191, индикатор 192, камеру 193, дисплей 194 и интерфейс 195 карты модуля идентификации абонента (subscriber identification module, SIM) и т.п. Модуль 180 датчиков может включать в себя датчик 180А давления, гироскопический датчик 180В, датчик 180С барометрического давления, магнитный датчик 180D, датчик 180Е ускорения, датчик 180F расстояния, оптический датчик 180G приближения, датчик 180Н отпечатков пальцев, датчик 180J температуры, датчик 180K касания, датчик 180L окружающего света, датчик 180M костной проводимости и т.п.The device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging control module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2 , mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headset jack 170D, sensor module 180, key 190, motor 191, indicator 192, camera 193, display 194, and card interface 195 subscriber identification module (SIM), etc. The sensor module 180 may include a pressure sensor 180A, a gyroscopic sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, an optical proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, ambient light sensor 180L, bone conduction sensor 180M, etc.

Следует отметить, что структура, показанная на фиг. 1 не накладывает конкретного ограничения на устройство 100. В некоторых других вариантах осуществления настоящей заявки устройство 100 может включать больше или меньше компонентов, чем те, которые показаны на фиг. 1, или устройство 100 может включать в себя комбинацию некоторых компонентов, показанных на фиг. 1, или устройство 100 может включать в себя подкомпоненты некоторых компонентов, показанных на фиг. 1. Компоненты, показанные на фиг. 1, могут быть реализован аппаратными средствами, программным обеспечением или комбинацией программного обеспечения и аппаратных средств.It should be noted that the structure shown in FIG. 1 does not particularly limit the device 100. In some other embodiments of the present application, the device 100 may include more or fewer components than those shown in FIG. 1, or device 100 may include a combination of some of the components shown in FIG. 1, or device 100 may include subcomponents of some of the components shown in FIG. 1. The components shown in FIG. 1 may be implemented in hardware, software, or a combination of software and hardware.

Процессор 110 может включать в себя один или несколько процессоров. Например, процессор 110 может включать в себя процессор приложений (application processor, AP), процессор модема, блок графической обработки (graphics processing unit, GPU), процессор сигналов изображения (image signal processor, ISP), контроллер, память, видеокодек, процессор цифровых сигналов (digital signal processor, DSP), процессор основной полосы частот и блок обработки нейронной сети (neural-network processing unit, NPU).Processor 110 may include one or more processors. For example, processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, memory, a video codec, a digital digital signal processor (DSP), baseband processor and neural-network processing unit (NPU).

Различные блоки обработки могут быть независимыми устройствами или могут быть интегрированными устройствами.The various processing units may be independent devices or may be integrated devices.

Контроллер может вырабатывать сигнал управления операцией на основе кода операции инструкции и сигнала синхронизации, чтобы завершить управление выборкой инструкции и исполнением инструкции.The controller may generate an operation control signal based on the instruction operation code and the timing signal to complete control of instruction fetch and instruction execution.

Процессор 110 может быть дополнительно снабжен памятью для хранения инструкций и данных. В некоторых вариантах осуществления память в процессоре 110 представляет собой кэш. Память может хранить инструкции или данные, только что использованные или циклически используемые процессором 110. Если процессору 110 необходимо снова использовать инструкции или данные, инструкции или данные могут быть напрямую вызваны из памяти. Повторный доступ предотвращается, и время ожидания процессора 110 сокращается, тем самым повышая эффективность системы.The processor 110 may be further provided with memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache. The memory may store instructions or data recently used or cyclically used by the processor 110. If the processor 110 needs to use the instructions or data again, the instructions or data may be directly recalled from the memory. Repeated access is prevented and the latency of the processor 110 is reduced, thereby increasing system efficiency.

В некоторых вариантах осуществления процессор 110 может включать в себя один или несколько интерфейсов. Например, процессор 110 может включать в себя по меньшей мере один из следующих интерфейсов: интерфейс межинтегральной схемы (inter-integrated circuit, I2C), интерфейс звука межинтегральной схемы (inter-integrated circuit sound, I2S), интерфейс с импульсной кодовой модуляцией (pulse code modulation, PCM), интерфейс универсального асинхронного приемника/передатчика (universal asynchronous receiver/transmitter, UART), интерфейс процессора мобильной индустрии (mobile industry processor interface, MIPI), интерфейс ввода/вывода общего назначения (general-purpose input/output, GPIO), интерфейс SIM и интерфейс USB.In some embodiments, processor 110 may include one or more interfaces. For example, processor 110 may include at least one of the following interfaces: an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code interface modulation, PCM), universal asynchronous receiver/transmitter interface (UART), mobile industry processor interface (MIPI), general-purpose input/output interface (GPIO) , SIM interface and USB interface.

Интерфейс I2C представляет собой последовательную шину с двусторонней синхронизацией и включает в себя линию последовательных данных (serial data line, SDA) и линию последовательной синхронизации (derail clock line, SCL). В некоторых вариантах осуществления процессор 110 может включать в себя множество групп шин I2C. Процессор 110 может быть отдельно подключен к датчику 180K касания, зарядному устройству, вспышке, камере 193 и т.п. с использованием различных интерфейсов шины I2C. Например, процессор 110 может быть подключен к датчику 180K касания с использованием интерфейса I2C, так что процессор 110 обменивается данными с датчиком 180K касания с помощью интерфейса шины I2C, чтобы реализовать функцию касания электронного устройства 100.The I2C interface is a bidirectional clocked serial bus and includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, processor 110 may include multiple groups of I2C buses. The processor 110 may be separately connected to a touch sensor 180K, a charger, a flash, a camera 193, or the like. using various I2C bus interfaces. For example, the processor 110 may be connected to the touch sensor 180K using an I2C interface such that the processor 110 communicates with the touch sensor 180K using the I2C bus interface to implement the touch function of the electronic device 100.

Интерфейс I2S может быть выполнен с возможностью выполнения аудиосвязи. В некоторых вариантах осуществления процессор 110 может включать в себя множество групп шин I2S. Процессор 110 может быть подключен к аудиомодулю 170 с использованием шины I2S для осуществления связи между процессором 110 и аудиомодулем 170. В некоторых вариантах осуществления аудиомодуль 170 может передавать аудиосигнал в модуль 160 беспроводной связи с использованием интерфейса I2S, чтобы реализовать функцию ответа на вызов с помощью гарнитуры Bluetooth.The I2S interface may be configured to perform audio communication. In some embodiments, processor 110 may include multiple groups of I2S buses. Processor 110 may be coupled to audio module 170 using an I2S bus to enable communication between processor 110 and audio module 170. In some embodiments, audio module 170 may transmit audio to wireless module 160 using an I2S interface to implement headset call answering functionality. Bluetooth.

Интерфейс PCM также может использоваться для аудиосвязи и выборки, квантования и кодирования аналогового сигнала. В некоторых вариантах осуществления аудиомодуль 170 может быть подсоединен к модулю 160 беспроводной связи с использованием интерфейса шины PCM. В некоторых вариантах осуществления аудиомодуль 170 может альтернативно передавать аудиосигнал в модуль 160 беспроводной связи с использованием интерфейса PCM, чтобы реализовать функцию ответа на вызов с помощью гарнитуры Bluetooth. Как интерфейс I2S, так и интерфейс PCM могут быть сконфигурированы для выполнения аудиосвязи. The PCM interface can also be used for audio communication and analog signal sampling, quantization and encoding. In some embodiments, audio module 170 may be coupled to wireless module 160 using a PCM bus interface. In some embodiments, audio module 170 may alternatively transmit audio to wireless module 160 using a PCM interface to implement call answering functionality using a Bluetooth headset. Both the I2S interface and the PCM interface can be configured to perform audio communications.

Интерфейс UART представляет собой универсальную шину последовательных данных и сконфигурирован для асинхронной связи. Шина может быть шиной двусторонней связи. Шина преобразует подлежащие передаче данные между последовательной и параллельной связью. В некоторых вариантах осуществления интерфейс UART обычно конфигурируется для соединения процессора 110 и модуля 160 беспроводной связи. Например, процессор 110 обменивается данными с модулем Bluetooth в модуле 160 беспроводной связи с помощью интерфейса UART для реализации функции Bluetooth. В некоторых вариантах осуществления аудиомодуль 170 может передавать аудиосигнал в модуль 160 беспроводной связи с использованием интерфейса UART, чтобы реализовать функцию воспроизведения музыки с помощью гарнитуры Bluetooth.The UART interface is a universal serial data bus and is configured for asynchronous communication. The bus may be a two-way communication bus. The bus converts the data to be transmitted between serial and parallel communications. In some embodiments, a UART interface is typically configured to connect the processor 110 and the wireless communication module 160. For example, processor 110 communicates with the Bluetooth module in wireless communication module 160 using a UART interface to implement Bluetooth functionality. In some embodiments, audio module 170 may transmit an audio signal to wireless module 160 using a UART interface to enable music playback functionality using a Bluetooth headset.

Интерфейс MIPI может быть выполнен с возможностью подключения процессора 110 к периферийному компоненту, такому как дисплей 194 или камера 193. Интерфейс MIPI включает в себя последовательный интерфейс камеры (camera serial interface, CSI), последовательный интерфейс дисплея (display serial interface, DSI) и т.п. В некоторых вариантах осуществления процессор 110 обменивается данными с камерой 193 с использованием интерфейса CSI, чтобы реализовать функцию фотографирования электронного устройства 100. Процессор 110 обменивается данными с дисплеем 194 с помощью интерфейса DSI, чтобы реализовать функцию отображения электронного устройства 100.The MIPI interface may be configured to connect the processor 110 to a peripheral component, such as a display 194 or a camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. .P. In some embodiments, processor 110 communicates with camera 193 using a CSI interface to implement a photographing function of electronic device 100. Processor 110 communicates with display 194 using a DSI interface to implement a display function of electronic device 100.

Интерфейс GPIO может конфигурироваться с использованием программного обеспечения. Интерфейс GPIO может быть сконфигурирован как интерфейс сигналов управления или интерфейс сигналов данных. В некоторых вариантах осуществления интерфейс GPIO может быть выполнен с возможностью подключения процессора 110 к камере 193, дисплею 194, модулю 160 беспроводной связи, аудиомодулю 170 и модулю 180 датчиков. Альтернативно, интерфейс GPIO может быть сконфигурирован как интерфейс I2C, интерфейс I2S, интерфейс UART или интерфейс MIPI.The GPIO interface can be configured using software. The GPIO interface can be configured as a control signal interface or a data signal interface. In some embodiments, the GPIO interface may be configured to connect the processor 110 to the camera 193, display 194, wireless module 160, audio module 170, and sensor module 180. Alternatively, the GPIO interface can be configured as an I2C interface, I2S interface, UART interface, or MIPI interface.

Интерфейс 130 USB является интерфейсом, который соответствует спецификации стандарта USB, например, может быть интерфейсом мини (Mini) USB, интерфейсом микро (Micro) USB или интерфейсом USB типа C (USB Type C). USB-интерфейс 130 может быть выполнен с возможностью подключения к зарядному устройству для зарядки устройства 100, передачи данных между устройством 100 и периферийным устройством или подключения к гарнитуре для воспроизведения звука с использованием гарнитуры. USB-интерфейс 130 может быть дополнительно выполнен с возможностью подключения к другому устройству 100, такому как устройство AR.The USB interface 130 is an interface that conforms to the USB standard specification, for example, may be a Mini USB interface, a Micro USB interface, or a USB Type C interface. The USB interface 130 may be configured to connect to a charger to charge the device 100, transfer data between the device 100 and a peripheral device, or connect to a headset to play audio using the headset. The USB interface 130 may further be configured to connect to another device 100, such as an AR device.

Отношение соединения между модулями, показанными на фиг. 1, является просто примером для описания и не является ограничением отношения соединения между модулями устройства 100. При необходимости модули устройства 100 могут альтернативно использовать комбинацию из множества способов соединения, представленных в приведенном выше варианте осуществления.The connection relationship between the modules shown in FIG. 1 is merely an example for description and is not a limitation on the connection relationship between modules of the device 100. If necessary, the modules of the device 100 may alternatively use a combination of the plurality of connection methods presented in the above embodiment.

Модуль 140 управления зарядкой выполнен с возможностью получать электроэнергию от зарядного устройства. Зарядное устройство может быть беспроводным или проводным зарядным устройством. В некоторых вариантах осуществления проводной зарядки модуль 140 управления зарядкой может получать ток от проводного зарядного устройства с использованием интерфейса 130 USB. В некоторых вариантах осуществления беспроводной зарядки модуль 140 управления зарядкой может принимать электромагнитную волну (путь тока показан пунктирной линией) с использованием катушки беспроводной зарядки устройства 100. В дополнение к зарядке аккумуляторной батареи 142 модуль 140 управления зарядкой может дополнительно подавать питание на устройство 100 с использованием модуля 141 управления электропитанием.The charging control module 140 is configured to receive electrical power from the charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging control module 140 may receive current from a wired charger using the USB interface 130 . In some wireless charging embodiments, the charging control module 140 may receive an electromagnetic wave (current path shown in dashed line) using the wireless charging coil of the device 100. In addition to charging the battery 142, the charging control module 140 may further supply power to the device 100 using the module 141 power management.

Модуль 141 управления электропитанием выполнен с возможностью подключения аккумуляторной батареи 142, модуля 140 управления зарядкой и процессора 110. Модуль 141 управления электропитанием принимает входной сигнал из аккумуляторной батареи 142 и/или входной сигнал из модуля 140 управления зарядкой и подает питание на процессор 110, внутреннюю память 121, дисплей 194, камеру 193, модуль 160 беспроводной связи и т.п. Модуль 141 управления электропитанием может быть дополнительно выполнен с возможностью контроля параметров, таких как емкость аккумуляторной батареи, количество циклов перезарядки аккумуляторной батареи и состояние работоспособности аккумуляторной батареи (например, утечка или импеданс). При необходимости модуль 141 управления электропитанием может быть расположен в процессоре 110, или модуль 141 управления электропитанием и модуль 140 управления зарядкой могут быть расположены в одном и том же устройстве.The power management module 141 is configured to connect the battery 142, the charging control module 140, and the processor 110. The power management module 141 receives an input signal from the battery 142 and/or an input signal from the charging control module 140 and supplies power to the processor 110, internal memory 121, display 194, camera 193, wireless communication module 160, and the like. The power management module 141 may be further configured to monitor parameters such as battery capacity, number of battery recharge cycles, and battery health status (eg, leakage or impedance). If desired, the power management module 141 may be located in the processor 110, or the power management module 141 and the charging control module 140 may be located in the same device.

Функция беспроводной связи устройства 100 может быть реализована с использованием устройств, таких как антенна 1, антенна 2, модуль 150 мобильной связи, модуль 160 беспроводной связи, процессор модема и процессор основной полосы частот.The wireless communication function of the device 100 may be implemented using devices such as antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor, and baseband processor.

Антенна 1 и антенна 2 выполнены с возможностью передачи и приема сигналов электромагнитных волн. Каждая антенна в устройстве 100 может быть выполнена с возможностью покрытия одного или нескольких диапазонов частот связи. Различные антенны также могут быть мультиплексированы для улучшения их использования. Например, антенна 1 может быть мультиплексирована в разнесенную антенну беспроводной локальной сети. В некоторых других вариантах осуществления антенна может использоваться в сочетании с переключателем настройки.Antenna 1 and antenna 2 are configured to transmit and receive electromagnetic wave signals. Each antenna in device 100 may be configured to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve their use. For example, antenna 1 may be multiplexed into a wireless LAN diversity antenna. In some other embodiments, the antenna may be used in combination with a tuning switch.

Модуль 150 мобильной связи может предоставить решение, которое применимо к беспроводной связи в устройстве 100, например, по меньшей мере одно из следующих решений: решение для мобильной связи второго поколения (2nd generation, 2G), решение для мобильной связи третьего поколения (3rd generation 3G), решение для мобильной связи четвертого поколения (4th generation, 4G) и решение для мобильной связи 5-го поколения (5th generation, 5G). Модуль 150 мобильной связи может включать в себя по меньшей мере один фильтр, переключатель, усилитель мощности, малошумящий усилитель (low noise amplifier, LNA) и т.п. Модуль 150 мобильной связи может принимать электромагнитную волну с использованием антенны 1, выполнять такую обработку, как фильтрация и усиление принятой электромагнитной волны, и затем передавать электромагнитную волну в процессор модема для демодуляции. Модуль 150 мобильной связи может дополнительно усиливать сигнал, который модулируется процессором модема, и преобразовывать сигнал в электромагнитную волну для излучения с использованием антенны 1. В некоторых вариантах осуществления по меньшей мере некоторые функциональные модули модуля 150 мобильной связи могут быть расположены в процессоре 110. В некоторых вариантах осуществления по меньшей мере некоторые функциональные модули модуля 150 мобильной связи могут быть расположены в том же устройстве, что и по меньшей мере некоторые модули процессора 110.The mobile communication module 150 may provide a solution that is applicable to wireless communication in the device 100, for example, at least one of the following solutions: a second generation ( 2nd generation, 2G) mobile communication solution, a third generation (3rd generation) mobile communication solution generation 3G), a solution for fourth generation mobile communications (4 th generation, 4G) and a solution for 5th generation mobile communications (5 th generation, 5G). Mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), and the like. The mobile communication unit 150 may receive an electromagnetic wave using the antenna 1, perform processing such as filtering and amplifying the received electromagnetic wave, and then transmit the electromagnetic wave to a modem processor for demodulation. The mobile communication module 150 may further amplify the signal that is modulated by the modem processor and convert the signal into an electromagnetic wave for radiation using antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be located in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be located in the processor 110. In embodiments, at least some of the functional modules of the mobile communication module 150 may be located in the same device as at least some of the modules of the processor 110.

Процессор модема может включать в себя модулятор и демодулятор. Модулятор выполнен с возможностью модуляции низкочастотного модулирующего сигнала, подлежащего передаче, в среднечастотный или высокочастотный сигнал. Демодулятор выполнен с возможностью демодуляции принятого сигнала электромагнитной волны в низкочастотный сигнал основной полосы частот. Затем демодулятор передает низкочастотный сигнал основной полосы частот, полученный в результате демодуляции, в процессор основной полосы частот для обработки. Низкочастотный сигнал основной полосы частот обрабатывается процессором основной полосы частот и затем передается в процессор приложений. Процессор приложений выводит звуковой сигнал с использованием аудиоустройства (например, динамика 170А, приемника 170В) или отображает изображение или видео с использованием дисплея 194. В некоторых вариантах осуществления процессор модема может быть независимым устройством. В некоторых других вариантах процессор модема может быть независимым от процессора 110 и находиться в том же устройстве, что и модуль 150 мобильной связи или другой функциональный модуль.The modem processor may include a modulator and a demodulator. The modulator is configured to modulate the low-frequency modulating signal to be transmitted into a mid-frequency or high-frequency signal. The demodulator is configured to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then passes the low-frequency baseband signal resulting from demodulation to the baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then sent to the application processor. The application processor outputs an audio signal using an audio device (eg, speaker 170A, receiver 170B) or displays an image or video using a display 194. In some embodiments, the modem processor may be an independent device. In some other embodiments, the modem processor may be independent of the processor 110 and located in the same device as the mobile communication module 150 or other functional module.

Аналогично модулю 150 мобильной связи, модуль 160 беспроводной связи также может предоставлять решение беспроводной связи, которое применяется к устройству 100, например, по меньшей мере одно из следующих решений: беспроводная локальная сеть (wireless local area networks, WLAN), Bluetooth (Bluetooth, BT), Bluetooth с низким энергопотреблением (Bluetooth low energy, BLE), сверхширокополосная (ultra wide band, UWB) связь, глобальная навигационная спутниковая система (global navigation satellite system, GNSS), частотная модуляция (frequency modulation, FM), связь ближнего радиуса действия (near field Communication, NFC) и инфракрасная (infrared, IR) технология. Модуль 160 беспроводной связи может быть одним или несколькими устройствами, объединяющими по меньшей мере один модуль процессора связи. Модуль 160 беспроводной связи принимает электромагнитную волну с использованием антенны 2, выполняет частотную модуляцию и фильтрацию сигнала электромагнитной волны и отправляет обработанный сигнал в процессор 110. Модуль 160 беспроводной связи может дополнительно принимать сигнал, который должен быть отправлен из процессора 110, выполнять частотную модуляцию и усиление сигнала и преобразовывать сигнал в электромагнитную волну для излучения с помощью антенны 2.Similar to the mobile communication module 150, the wireless communication module 160 may also provide a wireless communication solution that applies to the device 100, such as at least one of wireless local area networks (WLAN), Bluetooth (BT) ), Bluetooth low energy (BLE), ultra wide band (UWB), global navigation satellite system (GNSS), frequency modulation (FM), near field communications (near field communication, NFC) and infrared (IR) technology. The wireless communication module 160 may be one or more devices integrating at least one communication processor module. The wireless communication module 160 receives the electromagnetic wave using the antenna 2, performs frequency modulation and filtering of the electromagnetic wave signal, and sends the processed signal to the processor 110. The wireless communication module 160 may further receive the signal to be sent from the processor 110, perform frequency modulation and amplification signal and convert the signal into an electromagnetic wave for radiation using antenna 2.

В некоторых вариантах осуществления антенна 1 устройства 100 подключена к модулю 150 мобильной связи, и антенна 2 устройства 100 подключена к модулю 160 беспроводной связи, так что электронное устройство 100 может поддерживать связь с сетью и другим электронным устройством с использованием технологии беспроводной связи. Технология беспроводной связи может включать в себя по меньшей мере одну из следующих технологий связи: глобальную систему мобильной связи (global system for mobile communications, GSM), службу пакетной передачи данных общего пользования (general packet radio service, GPRS), множественный доступ с кодовым разделением каналов (code division multiple access, CDMA), широкополосный множественный доступ с кодовым разделением каналов (wideband code division multiple access, WCDMA), множественный доступ с временным разделением каналов (time-division code division multiple access, TD-SCDMA), долгосрочное развитие (long term evolution, LTE), BT, GNSS, WLAN, NFC, FM, технологию IR. GNSS может включать в себя по меньшей мере одну из следующих технологий позиционирования: глобальную систему позиционирования (global positioning system, GPS), глобальную навигационную спутниковую систему (global navigation satellite system, GLONASS), навигационную спутниковую систему BeiDou (BeiDou navigation satellite system, BDS), квазизенитную спутниковую систему (quasi-zenith Satellite system, QZSS) и спутниковую систему функционального дополнения (satellite based augmentation systems, SBAS).In some embodiments, antenna 1 of device 100 is connected to mobile communication module 150, and antenna 2 of device 100 is connected to wireless communication module 160 so that electronic device 100 can communicate with a network and other electronic device using wireless communication technology. The wireless communication technology may include at least one of the following communication technologies: global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access channels (code division multiple access, CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long-term development ( long term evolution, LTE), BT, GNSS, WLAN, NFC, FM, IR technology. GNSS may include at least one of the following positioning technologies: global positioning system (GPS), global navigation satellite system (GLONASS), BeiDou navigation satellite system (BDS) , quasi-zenith satellite system (QZSS) and satellite based augmentation systems (SBAS).

Устройство 100 может реализовать функцию отображения с использованием GPU, дисплея 194 и процессора приложений. GPU представляет собой микропроцессор обработки изображений, который подключен к дисплею 194 и процессору приложений. Графический процессор выполнен с возможностью выполнения математических и геометрических вычислений для визуализации графики. Процессор 110 может включать в себя один или несколько графических процессоров, которые исполняют программные инструкции для выработки или изменения информации отображения.The device 100 may implement the display function using the GPU, display 194, and application processor. The GPU is an image processing microprocessor that is coupled to the display 194 and application processor. The GPU is configured to perform mathematical and geometric calculations to render graphics. Processor 110 may include one or more graphics processors that execute software instructions to generate or modify display information.

Дисплей 194 может быть выполнен с возможностью отображения изображения или видео. Дисплей 194 включает в себя дисплейную панель. Панель индикации может использовать жидкокристаллический дисплей (liquid crystal display, LCD), органический светодиод (organic light-emitting diode, OLED), органический светодиод с активной матрицей (active-matrix organic light-emitting diode, AMOLED), гибкий светодиод (flex LED, FLED), мини-светодиод (mini LED, Mini LED), микросветодиод (micro LED, Micro LED), микро OLED (Micro OLED) или светодиод с квантовыми точками (Quantum Dot Light-Emitting Diods, QLED). В некоторых вариантах осуществления устройство 100 может включать в себя один или N дисплеев 194, где N – положительное целое число больше 1.The display 194 may be configured to display an image or video. Display 194 includes a display panel. The display panel can use liquid crystal display (LCD), organic light-emitting diode (OLED), active-matrix organic light-emitting diode (AMOLED), flexible LED (flex LED, FLED), mini LED (mini LED, Mini LED), micro LED (micro LED, Micro LED), micro OLED (Micro OLED) or quantum dot LED (Quantum Dot Light-Emitting Diods, QLED). In some embodiments, device 100 may include one or N displays 194, where N is a positive integer greater than 1.

Устройство 100 может реализовать функцию съемки с использованием ISP, камеры 193, видеокодека, графического процессора, дисплея 194, процессора приложений и т.п.The device 100 may implement a shooting function using an ISP, camera 193, video codec, GPU, display 194, application processor, or the like.

ISP выполнен с возможностью обработки данных, возвращаемых камерой 193. Например, во время фотографирования нажимается затвор, свет передается на светочувствительный элемент камеры с использованием объектива, оптический сигнал преобразуется в электрический сигнал, и светочувствительный элемент камеры передает электрический сигнал на ISP для обработки, так что электрический сигнал преобразуется в изображение, видимое невооруженным глазом. ISP может выполнять оптимизацию алгоритма по шумовой точке, яркости и цвету изображения, и ISP может дополнительно оптимизировать параметры, такие как экспозиция и цветовая температура сценария съемки. В некоторых вариантах осуществления ISP может быть расположен в камере 193.The ISP is configured to process data returned by the camera 193. For example, when a photograph is taken, the shutter is pressed, light is transmitted to the camera photosensitive element using the lens, the optical signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing, so that the electrical signal is converted into an image visible to the naked eye. The ISP can perform algorithm optimization on the noise point, brightness and color of the image, and the ISP can further optimize parameters such as exposure and color temperature of the shooting scenario. In some embodiments, the ISP may be located in camera 193.

Камера 193 выполнена с возможностью захвата неподвижного изображения или видео. Оптическое изображение объекта вырабатывается с использованием линзы и проецируется на светочувствительный элемент. Светочувствительный элемент может быть прибором с зарядовой связью (charge coupled device, CCD) или фототранзистором на основе комплементарного металл-оксидного полупроводника (complementary metal-oxide-semiconductor, CMOS). Светочувствительный элемент преобразует оптический сигнал в электрический сигнал, и затем передает электрический сигнал в ISP. ISP преобразует электрический сигнал в цифровой сигнал изображения. ISP выводит цифровой сигнал изображения на DSP для обработки. DSP преобразует цифровой сигнал изображения в стандартный сигнал изображения в формате, таком как красный, зеленый, синий (red green blue, RGB) или YUV. В некоторых вариантах осуществления устройство 100 может включать в себя одну или N камер 193, где N – положительное целое число больше 1.Camera 193 is configured to capture a still image or video. An optical image of an object is generated using a lens and projected onto a photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a phototransistor based on a complementary metal-oxide semiconductor (CMOS). The photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP. The ISP converts the electrical signal into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into a standard image signal in a format such as red green blue (RGB) or YUV. In some embodiments, device 100 may include one or N cameras 193, where N is a positive integer greater than 1.

Процессор цифровых сигналов выполнен с возможностью обработки цифрового сигнала. В дополнение к обработке цифрового сигнала изображения, процессор цифровых сигналов может дополнительно обрабатывать другой цифровой сигнал. Например, когда устройство 100 выбирает частоту, процессор цифровых сигналов конфигурируется для выполнения преобразования Фурье и т.п. по частотной энергии.The digital signal processor is configured to process the digital signal. In addition to processing the digital image signal, the digital signal processor may additionally process another digital signal. For example, when device 100 selects a frequency, the digital signal processor is configured to perform a Fourier transform or the like. by frequency energy.

Видеокодек выполнен с возможностью сжатия или распаковки цифрового видео. Устройство 100 может поддерживать один или несколько типов видеокодеков. Таким образом, устройство 100 может воспроизводить или записывать видео во множестве форматов кодирования, таких как группа экспертов по движущимся изображениям (moving picture experts group, MPEG) 1, MPEG 2, MPEG 3 и MPEG 4.The video codec is designed to compress or decompress digital video. Device 100 may support one or more types of video codecs. Thus, device 100 can play back or record video in a variety of encoding formats, such as moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, and MPEG 4.

NPU представляет собой процессор, используемый для обращения к структуре биологической нейронной сети. Например, NPU быстро обрабатывает входную информацию, обращаясь к режиму передачи между нейронами человеческого мозга, и может дополнительно непрерывно выполнять самообучение. Функции, такие как интеллектуальное распознавание, устройства 100 могут быть реализованы с использованием NPU, например, распознавание изображений, распознавание лиц, распознавание речи и понимание текста.The NPU is a processor used to access a biological neural network structure. For example, the NPU quickly processes input information by accessing the transmission mode between neurons in the human brain, and can additionally perform self-learning continuously. Functions such as intelligent recognition devices 100 may be implemented using the NPU, such as image recognition, face recognition, speech recognition, and text understanding.

Интерфейс 120 внешней памяти может быть выполнен с возможностью подключения к внешней карте памяти, такой как защищенная цифровая (secure digital, SD) карта, для расширения возможностей хранения устройства 100. Внешняя карта памяти обменивается данными с процессором 110, используя интерфейс 120 внешней памяти, чтобы реализовать функцию хранения данных. Например, файлы, такие как музыкальные или видео, хранятся на внешней карте памяти.The external memory interface 120 may be configured to connect to an external memory card, such as a secure digital (SD) card, to enhance the storage capabilities of the device 100. The external memory card communicates with the processor 110 using the external memory interface 120 to implement data storage function. For example, files such as music or videos are stored on an external memory card.

Внутренняя память 121 может быть выполнена с возможностью хранения исполняемого на компьютере программного кода, где исполняемый программный код включает в себя инструкции. Внутренняя память 121 может включать в себя область хранения программ и область хранения данных. В области хранения программ может храниться операционная система и приложение, запрашиваемое по меньшей мере одной функцией (например, функцией воспроизведения голоса или функцией воспроизведения изображения). В области хранения данных могут храниться данные (такие как аудиоданные или телефонная книга), созданные во время использования устройства 100. В дополнение к этому, внутренняя память 121 может включать в себя быстродействующую память с произвольным доступом и может дополнительно включать в себя энергонезависимую память, такую как по меньшей мере одно запоминающее устройство на магнитном диске, устройство флэш-памяти или универсальное флэш-хранилище (universal flash storage, UFS). Процессор 110 выполняет различные способы обработки устройства 100 путем исполнения инструкций, хранящихся во внутренней памяти 121, и/или инструкции, хранящиеся в памяти, расположенной в процессоре.The internal memory 121 may be configured to store computer-executable program code, where the executable program code includes instructions. The internal memory 121 may include a program storage area and a data storage area. The program storage area may store an operating system and an application requested by at least one function (eg, a voice playback function or an image playback function). The data storage area may store data (such as audio data or a phone book) created during use of the device 100. In addition, internal memory 121 may include high-speed random access memory and may further include non-volatile memory such such as at least one magnetic disk storage device, flash memory device, or universal flash storage (UFS). The processor 110 performs various processing methods on the device 100 by executing instructions stored in internal memory 121 and/or instructions stored in memory located in the processor.

Устройство 100 может реализовать функцию аудио, такую как воспроизведение и запись музыки, с использованием аудиомодуля 170, динамика 170А, приемника 170В, микрофона 170С, разъема 170D для гарнитуры, процессора приложений и т.п.The device 100 may implement an audio function, such as playing and recording music, using an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headset jack 170D, an application processor, and the like.

Аудиомодуль 170 выполнен с возможностью преобразования цифровой аудиоинформации в аналогового выходного аудиосигнала, а также может быть выполнен с возможностью преобразования аналогового входного аудиосигнала в цифровой аудиосигнал. Аудиомодуль 170 может быть дополнительно выполнен с возможностью кодирования и декодирования аудиосигналов. В некоторых вариантах осуществления аудиомодуль 170 или некоторые функциональные модули аудиомодуля 170 могут быть расположены в процессоре 110.Audio module 170 is configured to convert digital audio information to an analog output audio signal, and may also be configured to convert an analog input audio signal to a digital audio signal. Audio module 170 may be further configured to encode and decode audio signals. In some embodiments, audio module 170 or certain functional modules of audio module 170 may be located in processor 110.

Динамик 170А также называется рупором и выполнен с возможностью преобразования электрического аудиосигнала в звуковой сигнал. Устройство 100 может прослушивать музыку или прослушивать вызов в режиме громкой связи с использованием динамика 170А.The speaker 170A is also referred to as a horn and is configured to convert an electrical audio signal into an audio signal. The device 100 can listen to music or listen to a hands-free call using speaker 170A.

Приемник 170B также называется телефонной трубкой и выполнен с возможностью преобразования электрического аудиосигнала в звуковой сигнал. Когда пользователь отвечает на вызов или слушает аудиоинформацию с помощью устройства 100, приемник 170B может быть помещен рядом с ухом для прослушивания голоса.The receiver 170B is also called a handset and is configured to convert an electrical audio signal into an audio signal. When the user answers a call or listens to audio information using the device 100, the receiver 170B may be placed next to the ear to listen to the voice.

Микрофон 170С также называется динамиком и выполнен с возможностью преобразования звукового сигнала в электрический сигнал. При совершении вызова или отправке голосовой информации пользователь может издавать звук рядом с микрофоном 170С для ввода звукового сигнала в микрофон 170С. По меньшей мере один микрофон 170С может быть расположен в устройстве 100. В некоторых других вариантах осуществления в устройстве 100 могут быть расположены два микрофона 170С для реализации функции шумоподавления. В некоторых других вариантах осуществления в устройстве 100 альтернативно могут быть расположены три, четыре или более микрофонов 170С для реализации таких функций, как идентификация источника звука и направленная запись. Процессор 110 может обрабатывать электрический сигнал, выдаваемый микрофоном 170С. Например, аудиомодуль 170 и модуль 160 беспроводной связи могут быть подключены с использованием интерфейса PCM. После преобразования окружающего звука в электрический сигнал (например, сигнал PCM) микрофон 170С передает электрический сигнал в процессор 110 с использованием интерфейса PCM. Процессор 110 выполняет анализ громкости и частотный анализ электрического сигнала для определения громкости и частоты окружающего звука.The microphone 170C is also called a speaker and is configured to convert an audio signal into an electrical signal. When making a call or sending voice information, the user can make sound near the microphone 170C to input an audio signal into the microphone 170C. At least one microphone 170C may be located in the device 100. In some other embodiments, two microphones 170C may be located in the device 100 to provide noise reduction functionality. In some other embodiments, three, four, or more microphones 170C may alternatively be located within device 100 to provide functions such as audio source identification and directional recording. Processor 110 may process the electrical signal output by microphone 170C. For example, audio module 170 and wireless module 160 may be connected using a PCM interface. After converting the ambient sound into an electrical signal (eg, a PCM signal), microphone 170C transmits the electrical signal to processor 110 using the PCM interface. Processor 110 performs loudness analysis and frequency analysis of the electrical signal to determine the loudness and frequency of ambient sound.

Гнездо 170D для гарнитуры выполнено с возможностью подключения к проводной гарнитуре. Гнездо 170D для гарнитуры может быть USB-интерфейсом 130 или может быть стандартным интерфейсом открытой платформы мобильного устройства 100 3,5 мм (open mobile terminal platform, OMTP) или стандартным интерфейсом ассоциации индустрии сотовой связи США (cellular telecommunications industry association of the USA, CTIA).The 170D headset jack is designed to connect to a wired headset. The headset jack 170D may be a USB interface 130 or may be a standard 3.5 mm open mobile terminal platform (OMTP) interface 100 or a standard cellular telecommunications industry association of the USA (CTIA) interface ).

Датчик 180А давления выполнен с возможностью считывать сигнал давления и может преобразовывать сигнал давления в электрический сигнал. В некоторых вариантах осуществления датчик 180А давления может быть расположен на дисплее 194. Существует много типов датчиков 180А давления, например, резистивный датчик давления, индуктивный датчик давления или емкостный датчик давления. Емкостной датчик давления может включать по меньшей мере две параллельные пластины из проводящих материалов. Когда к датчику 180А давления прикладывается сила, емкость между электродами изменяется, и устройство 100 определяет силу давления на основе изменения емкости. Когда операция касания выполняется на дисплее 194, устройство 100 определяет интенсивность операции касания с помощью датчика 180А давления. Устройство 100 также может вычислять местоположение касания на основе сигнала обнаружения датчика 180А давления. В некоторых вариантах осуществления операции касания, которые выполняются в одном и том же месте касания, но имеют разную интенсивность операций касания, могут соответствовать разным операционным инструкциям. Например, когда операция касания, чья интенсивность операции касания меньше первого порогового значения нажатия, выполняется значке приложения для обмена SMS-сообщениями, исполняется инструкция для просмотра SMS-сообщения; или, когда операция касания, чья интенсивность операции касания больше или равна первому пороговому значению давления, выполняется на значке приложения для обмена SMS-сообщениями, исполняется инструкция для создания нового SMS-сообщения.The pressure sensor 180A is configured to sense a pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be located on the display 194. There are many types of pressure sensors 180A, such as a resistive pressure sensor, an inductive pressure sensor, or a capacitive pressure sensor. The capacitive pressure sensor may include at least two parallel plates of conductive materials. When a force is applied to the pressure sensor 180A, the capacitance between the electrodes changes, and the device 100 determines the pressure force based on the change in capacitance. When a touch operation is performed on the display 194, the device 100 determines the intensity of the touch operation using the pressure sensor 180A. The device 100 may also calculate the location of the touch based on the detection signal of the pressure sensor 180A. In some embodiments, touch operations that are performed at the same touch location but have different intensities of touch operations may correspond to different operating instructions. For example, when a touch operation whose touch operation intensity is less than the first touch threshold is performed on the SMS messaging application icon, an instruction for viewing the SMS message is executed; or, when a touch operation whose touch operation intensity is greater than or equal to the first pressure threshold value is performed on the SMS messaging application icon, an instruction for creating a new SMS message is executed.

Гироскопический датчик 180B может быть выполнен с возможностью определения положения движения устройства 100. В некоторых вариантах осуществления угловые скорости устройства 100 вокруг трех осей (а именно оси x, оси y и оси z) могут определяться с использованием гироскопического датчика 180B. Гироскопический датчик 180B может быть выполнен с возможностью реализации стабилизации изображения во время съемки. Например, при нажатии на кнопку затвора гироскопический датчик 180В определяет угол дрожания устройства 100 и вычисляет на основе этого угла расстояние, которое модуль объектива должен компенсировать, и позволяет объективу устранять дрожание устройства 100 посредством обратного движения, чтобы реализовать стабилизацию изображения. Гироскопический датчик 180B можно дополнительно использовать в сценариях, таких как навигация и соматические игры.The gyro sensor 180B may be configured to determine the motion position of the device 100. In some embodiments, the angular velocities of the device 100 about three axes (namely, the x-axis, the y-axis, and the z-axis) may be determined using the gyro sensor 180B. The gyroscopic sensor 180B may be configured to implement image stabilization during shooting. For example, when the shutter button is pressed, the gyroscopic sensor 180B detects the angle of shake of the device 100 and, based on this angle, calculates the distance that the lens module should compensate, and allows the lens to eliminate the shake of the device 100 through reverse movement to realize image stabilization. The 180B gyro sensor can be further used in scenarios such as navigation and somatic games.

Датчик 180C барометрического давления выполнен с возможностью измерения барометрического давления. В некоторых вариантах осуществления устройство 100 вычисляет высоту на основе значения барометрического давления, которое измеряется датчиком 180С барометрического давления, чтобы помочь при позиционировании и навигации.The barometric pressure sensor 180C is configured to measure barometric pressure. In some embodiments, device 100 calculates altitude based on the barometric pressure value that is measured by barometric pressure sensor 180C to assist with positioning and navigation.

Магнитный датчик 180D включает в себя датчик Холла. Устройство 100 может обнаруживать открытие и закрытие откидного футляра с помощью магнитного датчика 180D. В некоторых вариантах осуществления, когда устройство 100 представляет собой телефон-раскладушку, устройство 100 может обнаруживать открытие и закрытие откидной крышки на основе магнитного датчика 180D. Устройство 100 может установить такую функцию, как автоматическая разблокировка откидной крышки на основе обнаруженного состояния открытия/закрытия футляра или обнаруженного состояния открытия/закрытия откидной крышки.The 180D magnetic sensor includes a Hall sensor. The device 100 can detect the opening and closing of the flip case using the magnetic sensor 180D. In some embodiments, when the device 100 is a flip phone, the device 100 may detect the opening and closing of the flip cover based on the magnetic sensor 180D. The device 100 may set a function such as automatically unlocking the flip flap based on a detected case open/close state or a detected flap open/close state.

Датчик 180E ускорения может обнаруживать величину ускорений устройства 100 во всех направлениях (как правило, по оси x, оси y и оси z). Когда устройство 100 неподвижно, можно определить величину и направление силы тяжести. Датчик 180E ускорения может быть дополнительно выполнен с возможностью определения положения устройства 100 в качестве входного параметра приложения, такого как переключение между альбомным экраном и портретным экраном или шагомером.Acceleration sensor 180E can detect the magnitude of accelerations of device 100 in all directions (typically x-axis, y-axis, and z-axis). When the device 100 is stationary, the magnitude and direction of gravity can be determined. The acceleration sensor 180E may be further configured to detect the position of the device 100 as an application input, such as switching between a landscape screen and a portrait screen or a pedometer.

Датчик 180F расстояния выполнен с возможностью измерения расстояния. Устройство 100 может измерять расстояние с помощью инфракрасного или лазерного излучения. В некоторых вариантах осуществления, например, в сценарии съемки, устройство 100 может использовать датчик 180F расстояния для измерения расстояния для осуществления быстрой фокусировки.The distance sensor 180F is configured to measure distance. The device 100 can measure distance using infrared or laser light. In some embodiments, such as in a shooting scenario, device 100 may use distance sensor 180F to measure distance to achieve rapid focusing.

Оптический датчик 180G приближения может включать в себя, например, светоизлучающий диод (light-emitting diode, LED) и оптический детектор, такой как фотодиод. Светодиод может быть инфракрасным светодиодом. Устройство 100 излучает инфракрасный свет наружу с помощью светодиода. Устройство 100 обнаруживает отраженный инфракрасный свет от близлежащего объекта с помощью фотодиода. При обнаружении отраженного света устройство 100 может определить то, что поблизости находится объект. Когда отраженный свет не обнаружен, устройство 100 может определить то, что поблизости нет объекта. Устройство 100 может обнаруживать с помощью оптического датчика 180G приближения то, держит ли пользователь портативное устройство 100 близко к уху, чтобы автоматически отключать экран для экономии электроэнергии. Оптический датчик 180G приближения также может использоваться для автоматической разблокировки и автоматической блокировки в футлярном режиме или карманном режиме.The optical proximity sensor 180G may include, for example, a light-emitting diode (LED) and an optical detector such as a photodiode. The LED may be an infrared LED. The device 100 emits infrared light outward using an LED. The device 100 detects reflected infrared light from a nearby object using a photodiode. By detecting reflected light, device 100 can determine that an object is nearby. When the reflected light is not detected, the device 100 can determine that there is no object nearby. The device 100 can detect, using the optical proximity sensor 180G, whether the user is holding the portable device 100 close to the ear to automatically turn off the screen to save power. The 180G optical proximity sensor can also be used for auto unlock and auto lock in case mode or pocket mode.

Датчик 180L окружающего света выполнен с возможностью определения яркости окружающего света. Устройство 100 может адаптивно регулировать яркость дисплея 194 на основе измеренной яркости окружающего света. Датчик 180L окружающего света также может быть выполнен с возможностью автоматической регулировки баланса белого во время фотографирования. Датчик 180L окружающего света может дополнительно взаимодействовать с оптическим датчиком 180G приближения, чтобы обнаруживать то, находится ли устройство 100 в кармане, во избежание случайного касания.The ambient light sensor 180L is configured to detect the brightness of the ambient light. The device 100 may adaptively adjust the brightness of the display 194 based on the measured ambient light brightness. The ambient light sensor 180L may also be configured to automatically adjust the white balance during photography. The ambient light sensor 180L may further cooperate with the optical proximity sensor 180G to detect whether the device 100 is in a pocket to avoid accidental touching.

Датчик 180H отпечатков пальцев выполнен с возможностью сбора отпечатков пальцев. Устройство 100 может использовать свойство собранного отпечатка пальца для реализации таких функций, как разблокировка, доступ к блокировке приложения, фотографирование и ответ на вызов.The fingerprint sensor 180H is configured to collect fingerprints. The device 100 may use the collected fingerprint property to perform functions such as unlocking, accessing an application lock, taking a photo, and answering a call.

Датчик 180J температуры выполнен с возможностью определения температуры. В некоторых вариантах осуществления устройство 100 выполняет политику обработки температуры на основе температуры, которая определяется датчиком 180J температуры. Например, когда температура, сообщаемая датчиком 180J температуры, превышает пороговое значение, устройство 100 снижает производительность процессора, расположенного рядом с датчиком 180J температуры, для снижения энергопотребления и реализации тепловой защиты. В некоторых других вариантах осуществления, когда температура ниже другого порогового значения, устройство 100 нагревает аккумуляторную батарею 142 во избежание аварийного отключения устройства 100 из-за низкой температуры. В некоторых других вариантах осуществления, когда температура ниже еще одного порогового значения, устройство 100 выполняет повышение выходного напряжения аккумуляторной батареи 142 во избежание аварийного отключения из-за низкой температуры.The temperature sensor 180J is configured to detect temperature. In some embodiments, device 100 implements a temperature processing policy based on the temperature that is detected by temperature sensor 180J. For example, when the temperature reported by temperature sensor 180J exceeds a threshold value, device 100 reduces the performance of a processor located adjacent to temperature sensor 180J to reduce power consumption and implement thermal protection. In some other embodiments, when the temperature is below another threshold, device 100 heats battery 142 to prevent device 100 from shutting down due to low temperature. In some other embodiments, when the temperature is below another threshold value, the device 100 increases the output voltage of the battery 142 to avoid a low temperature shutdown.

Датчик 180K касания также упоминается как сенсорное устройство. Датчик 180K касания может быть расположен на дисплее 194. Датчик 180K касания и дисплей 194 образуют сенсорный экран, и сенсорный экран также упоминается как сенсорный экран. Датчик 180K касания выполнен с возможностью обнаружения касания, выполняемого на датчике 180К касания или рядом с ним. Датчик 180K касания может передавать обнаруженную операцию касания в процессор приложений для определения типа события касания. Визуальный вывод, относящийся к операции касания, может быть обеспечен с использованием дисплея 194. В некоторых других вариантах реализации датчик 180K касания также может быть расположен на поверхности устройства 100 в положении, отличном от положения дисплея 194.The 180K touch sensor is also referred to as a touch device. The touch sensor 180K may be located on the display 194. The touch sensor 180K and the display 194 form a touch screen, and the touch screen is also referred to as a touch screen. The touch sensor 180K is configured to detect a touch performed on or adjacent to the touch sensor 180K. The touch sensor 180K may transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation may be provided using the display 194. In some other embodiments, the touch sensor 180K may also be located on the surface of the device 100 in a position different from the position of the display 194.

Датчик 180M костной проводимости может получать вибрационный сигнал. В некоторых вариантах осуществления датчик 180M костной проводимости может получать вибрационный сигнал кости части голосовых связок человека. Датчик 180M костной проводимости может также контактировать с пульсом тела для приема сигнала биения артериального давления. В некоторых вариантах осуществления датчик 180M костной проводимости может альтернативно располагаться в гарнитуре для получения гарнитуры костной проводимости. Аудиомодуль 170 может получать речевой сигнал посредством синтаксического анализа на основе вибрационного сигнала, полученного датчиком 180M костной проводимости от вибрации костной массы части голосовых связок, для реализации речевой функции. Процессор приложений может анализировать информацию о частоте сердечных сокращений на основе сигнала артериального давления и пульса, полученного датчиком 180M костной проводимости, для реализации функции обнаружения частоты сердечных сокращений.The 180M bone conduction sensor can receive vibration signal. In some embodiments, the bone conduction sensor 180M may receive a vibration signal from the bone of a portion of a person's vocal cords. The 180M bone conduction sensor can also contact the body's pulse to receive the blood pressure beating signal. In some embodiments, the bone conduction sensor 180M may alternatively be located in the headset to provide a bone conduction headset. The audio module 170 may obtain a speech signal by parsing the vibration signal obtained by the bone conduction sensor 180M from the vibration of the bone mass of the vocal cord portion to realize a speech function. The application processor can analyze the heart rate information based on the blood pressure and pulse signal received by the 180M bone conduction sensor to realize the heart rate detection function.

Клавиша 190 включает в себя клавишу включения и клавишу регулировки громкости. Клавиша 190 может быть механической или сенсорной. Устройство 100 может принимать сигнал ввода с клавиши для реализации функции, которая относится к сигналу ввода с клавиши.The key 190 includes a power key and a volume key. Key 190 can be mechanical or touch. The device 100 may receive a key input signal to implement a function that is related to the key input signal.

Мотор 191 может генерировать вибрацию. Мотор 191 может быть выполнен с возможностью предоставления подсказки о входящем вызове или может быть выполнен с возможностью обеспечения сенсорной обратной связи. Мотор 191 может генерировать различные эффекты обратной связи с вибрацией для различных операций касания, выполняемых в различных приложениях. Для операций касания, выполняемых в разных областях дисплея 194, мотор 191 также может генерировать различные эффекты обратной связи с вибрацией. Различные сценарии применения (например, напоминание о времени, получение информации, будильник, игра) могут соответствовать разным эффектам обратной связи с вибрацией. Эффект обратной связи с вибрацией при касании можно дополнительно настроить.The motor 191 may generate vibration. Motor 191 may be configured to provide a prompt for an incoming call or may be configured to provide touch feedback. Motor 191 may generate different vibration feedback effects for different touch operations performed in different applications. For touch operations performed on different areas of the display 194, the motor 191 may also generate various vibration feedback effects. Different application scenarios (e.g., time reminder, information, alarm, game) may correspond to different vibration feedback effects. The touch vibration feedback effect can be further customized.

Индикатор 192 может быть световым индикатором и может быть выполнен с возможностью индикации состояния зарядки и изменения мощности или может быть выполнен с возможностью индикации сообщения, пропущенного вызова и уведомления.The indicator 192 may be an indicator light and may be configured to indicate charging status and power changes, or may be configured to indicate a message, missed call, and notification.

Интерфейс 195 SIM-карты выполнен с возможностью подключения к SIM-карте. SIM-карта может быть вставлена в интерфейс 195 SIM-карты для осуществления связи с устройством 100 или может быть удалена из интерфейса 195 SIM-карты для осуществления отделения от устройства 100. Устройство 100 может поддерживать один или N интерфейсов SIM-карты, где N – положительное целое число больше 1. Множество карт может быть одновременно вставлено в один и тот же интерфейс 195 SIM-карты. Типы множества карт могут быть одинаковыми или разными. Интерфейс 195 SIM-карты также может быть совместим с внешней картой памяти. Устройство 100 взаимодействует с сетью с использованием SIM-карты для реализации таких функций, как вызов и передача данных. В некоторых вариантах осуществления устройство 100 использует встроенную SIM-карту (embedded-SIM, eSIM). Карта eSIM может быть встроена в устройство 100 и не может быть отделена от устройства 100.The SIM card interface 195 is configured to connect to a SIM card. The SIM card may be inserted into the SIM card interface 195 to communicate with the device 100, or may be removed from the SIM card interface 195 to effect separation from the device 100. The device 100 may support one or N SIM card interfaces, where N is a positive integer greater than 1. Multiple cards can be simultaneously inserted into the same SIM card interface 195. The types of multiple cards may be the same or different. The SIM card interface 195 may also be compatible with an external memory card. The device 100 communicates with the network using a SIM card to implement functions such as calling and data transfer. In some embodiments, device 100 uses an embedded SIM card (embedded-SIM, eSIM). The eSIM card may be embedded in the device 100 and cannot be separated from the device 100.

Выше была подробно описана аппаратная система устройства 100. Далее приводится описание программной системы устройства 100. Программная система может использовать многоуровневую архитектуру, управляемую событиями архитектуру, микроядерную архитектуру, микросервисную архитектуру или облачную архитектуру. В этом варианте осуществления настоящей заявки многоуровневая архитектура используется в качестве примера для описания программной системы устройства 100.The hardware system of the device 100 has been described in detail above. The following is a description of the software system of the device 100. The software system may use a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. In this embodiment of the present application, a layered architecture is used as an example to describe the software system of the device 100.

Как показано на фиг. 2, программная система, использующая многоуровневую архитектуру, разделена на несколько уровней, и каждый уровень имеет четкую роль и задачу. Уровни взаимодействуют друг с другом с помощью программного интерфейса. В некоторых вариантах осуществления система Android разделена на четыре уровня: уровень приложения, уровень инфраструктуры приложения, среда выполнения Android (Android runtime) и системная библиотека, а также уровень ядра сверху вниз.As shown in FIG. 2, a software system using layered architecture is divided into several layers, and each layer has a clear role and task. The levels interact with each other using a software interface. In some embodiments, the Android system is divided into four layers: the application layer, the application infrastructure layer, the Android runtime and system library, and the kernel layer from top to bottom.

Уровень приложения может включать в себя такие приложения, как «Камера», «Галерея», «Календарь», «Телефон», «Карты», «Навигация», «WLAN», «Bluetooth», «Музыка», «Видео» и «Обмен сообщениями».The application layer may include applications such as Camera, Gallery, Calendar, Phone, Maps, Navigation, WLAN, Bluetooth, Music, Video, and "Message exchange".

Уровень инфраструктуры приложения обеспечивает интерфейс прикладного программирования (application programming interface, API) и структуру программирования для приложения на уровне приложения. Уровень инфраструктуры приложения может включать в себя некоторые заданные функции.The application infrastructure layer provides the application programming interface (API) and programming framework for the application at the application level. The application infrastructure layer may include some specified functionality.

Например, уровень инфраструктуры приложения включает в себя диспетчер окон, поставщик содержания, систему просмотра, диспетчер телефона, диспетчер ресурсов и диспетчер уведомлений.For example, the application infrastructure layer includes a window manager, a content provider, a browsing system, a phone manager, a resource manager, and a notification manager.

Диспетчер окон выполнен с возможностью управления оконной программой. Диспетчер окон может получить размер дисплея, определить то, имеется ли строка состояния, выполнить блокировку экрана, сделать снимок экрана и т.п.The window manager is configured to manage a window program. The window manager can get the display size, determine whether there is a status bar, lock the screen, take a screenshot, and so on.

Поставщик содержания используется для хранения и получения данных и обеспечения доступа к данным посредством приложения. Данные могут включать в себя видео, изображение, аудио, сделанные и принятые вызовы, историю просмотра и закладки, адресную книгу и т.п.The content provider is used to store and retrieve data and provide access to data through the application. The data may include video, image, audio, calls made and received, browsing history and bookmarks, address book, etc.

Система просмотра включает в себя визуальные элементы управления, такие как элемент управления для отображения текста и элемент управления для отображения изображения. Система просмотра может быть выполнена с возможностью построения приложения. Интерфейс дисплея может включать в себя одно или несколько представлений, например, включать в себя интерфейс дисплея значка уведомления о SMS-сообщении и может включать в себя представление для отображения текста и представление для отображения изображения.The viewing system includes visual controls such as a control for displaying text and a control for displaying an image. The browsing system may be configured to build an application. The display interface may include one or more views, for example, include an SMS message notification icon display interface and may include a view for displaying text and a view for displaying an image.

Диспетчер телефона выполнен с возможностью обеспечения функции связи для устройства 100, например, управления статусом вызова (в том числе ответ или отклонение).The telephone manager is configured to provide a communication function for the device 100, such as managing the status of a call (including answering or rejecting).

Диспетчер ресурсов предоставляет различные ресурсы для приложения, такие как локализованная строка, значок, изображение, файл макета и видеофайл.The resource manager provides various resources for the application, such as a localized string, icon, image, layout file, and video file.

Диспетчер уведомлений позволяет приложению отображать информацию уведомления в строке состояния, которая может использоваться для передачи сообщения типа уведомления и может автоматически исчезать после кратковременного пребывания, не требуя вмешательства пользователя. Например, диспетчер уведомлений выполнен с возможностью предоставления уведомления о завершении загрузки и отправки уведомления о сообщении. Диспетчер уведомлений может также управлять уведомлением, которое появляется в верхней строке состояния системы в виде графика или текста полосы прокрутки, например, уведомлением о приложении, работающем в фоновом режиме. Диспетчер уведомлений может также управлять уведомлением, которое появляется на дисплее в виде диалогового окна. Например, в строке состояния запрашивается текстовая информация, воспроизводится звук уведомления, электронное устройство вибрирует или мигает световой индикатор.Notification Manager allows an application to display notification information in the status bar, which can be used to convey a notification type message and can automatically disappear after a short stay without requiring user intervention. For example, the notification manager is configured to provide a download completion notification and send a message notification. The notification manager can also manage the notification that appears on the top system status bar as a graphic or scroll bar text, such as a notification about an app running in the background. The notification manager can also manage the notification that appears on the display as a dialog box. For example, the status bar prompts for text information, plays a notification sound, vibrates the electronic device, or flashes an indicator light.

Среда выполнения Android включает в себя базовую библиотеку и виртуальную машину. Среда выполнения Android отвечает за планирование и управление системой Android.The Android runtime includes a core library and a virtual machine. The Android runtime is responsible for scheduling and managing the Android system.

Базовая библиотека включает в себя две части: функцию, которую нужно вызывать на языке Java, и базовую библиотеку Android.The core library includes two parts: a function that needs to be called in Java, and a core Android library.

Уровень приложения и уровень инфраструктуры приложения выполняются на виртуальной машине. Виртуальная машина выполняет Java-файлы на уровне приложения и на уровне инфраструктуры приложения как двоичные файлы. Виртуальная машина используется для реализации таких функций, как управление жизненным циклом объекта, управление стеком, управление потоками, управление безопасностью и исключениями, а также сборка мусора.The application layer and the application infrastructure layer run on a virtual machine. The virtual machine executes Java files at the application level and at the application infrastructure level as binary files. The virtual machine is used to implement functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

Системная библиотека может включать в себя множество функциональных модулей, например, диспетчер поверхностей (surface manager), медиа-библиотеку (Media Libraries), библиотеку обработки трехмерной графики (например, открытую графическую библиотеку для встраиваемых систем (open graphics library for embedded systems, OpenGL ES) и движок 2D-графики (например, графическая библиотека skia (skia graphics library, SGL)).The system library may include many functional modules, for example, a surface manager, a media library (Media Libraries), a 3D graphics processing library (for example, open graphics library for embedded systems, OpenGL ES ) and a 2D graphics engine (for example, the skia graphics library (SGL)).

Диспетчер поверхностей выполнен с возможностью: управления подсистемой отображения и объединения двухмерных и трехмерных уровней для множества приложений.The surface manager is configured to: manage the display subsystem and combine 2D and 3D layers for a variety of applications.

Медиа-библиотека поддерживает воспроизведение и запись звука в множестве форматов, воспроизведение и запись видео в множестве форматов и файлы неподвижных изображений. Медиа-библиотека может поддерживать множество форматов кодирования аудио и видео, таких как MPEG 4, H.264, уровень III аудио экспертной группы по движущимся изображениям (moving picture experts group audio layer III, MP3), улучшенное кодирование аудио (advanced audio coding, AAC), адаптивные многоскоростные (adaptive multi-rate, AMR) алгоритмы, совместная группа экспертов по фотографии (joint photographic experts group, JPG) и портативная сетевая графика (portable network graphics, PNG).The media library supports playback and recording of audio in multiple formats, playback and recording of video in multiple formats, and still image files. The media library can support multiple audio and video encoding formats such as MPEG 4, H.264, moving picture experts group audio layer III (MP3), advanced audio coding (AAC) ), adaptive multi-rate (AMR), joint photographic experts group (JPG), and portable network graphics (PNG).

Библиотека обработки трехмерной графики может быть выполнена с возможностью реализации рисования трехмерной графики, визуализации изображения, компоновки и обработки уровней.The 3D graphics processing library may be configured to implement 3D graphics drawing, image rendering, layout, and level processing.

Механизм двумерной графики представляет собой механизм рисования для двумерного рисования.The 2D graphics engine is a drawing engine for 2D drawing.

Уровень ядра представляет собой уровень между аппаратными средствами и программным обеспечением. Уровень ядра может включать в себя модули драйверов, такие как драйвер дисплея, драйвер камеры, драйвер аудио и драйвер датчика.The kernel layer is the layer between hardware and software. The kernel layer may include driver modules such as a display driver, a camera driver, an audio driver, and a sensor driver.

Далее приводится описание примера рабочей процедуры программной системы и аппаратной системы устройства 100 со ссылкой на отображение сценария фотографирования.Next, a description will be given of an example operating procedure of the software system and the hardware system of the device 100 with reference to displaying a photographing scenario.

Когда пользователь выполняет операцию касания на датчике 180K касания, на уровень ядра отправляется соответствующее аппаратное прерывание. Уровень ядра обрабатывает операцию касания в необработанное событие ввода, и необработанное событие ввода включает в себя такую информацию, как координаты касания и отметка времени операции касания. Необработанное событие ввода сохраняется на уровне ядра. Уровень инфраструктуры приложения получает необработанное событие ввода от уровня ядра, идентифицирует элемент управления, соответствующий необработанному событию ввода, и уведомляет приложение (application, APP), соответствующее элементу управления. Например, операция касания – это операция постукивания, и приложение, соответствующее элементу управления, является приложение камеры. После того, как приложение камеры пробуждается операцией касания, драйвер камеры на уровне ядра может быть вызван с использованием API, и драйвер камеры управляет камерой 193 для фотографирования.When the user performs a touch operation on the 180K touch sensor, a corresponding hardware interrupt is sent to the kernel level. The kernel layer processes the touch operation into a raw input event, and the raw input event includes information such as the touch coordinates and the timestamp of the touch operation. The unhandled input event is stored at the kernel level. The application infrastructure layer receives the raw input event from the kernel layer, identifies the control corresponding to the raw input event, and notifies the application (APP) corresponding to the control. For example, a touch operation is a tapping operation, and the application corresponding to the control is a camera application. After the camera application is awakened by a touch operation, the kernel-level camera driver can be called using the API, and the camera driver controls the camera 193 to take photographs.

Ниже используется устройство 100 в качестве примера для описания способа сохранения зашифрованного текста согласно настоящей заявке.Below, the device 100 is used as an example to describe a method for storing ciphertext according to the present application.

Для обеспечения безопасности файлов во внешней памяти файлы во внешней памяти могут быть зашифрованы, и затем сохранены во внешней памяти, и ключи для дешифрования файлов сохранены во внутренней памяти устройства 100. Таким образом, содержание внешней памяти может быть считано в устройстве 100 только как открытый текст. Когда внешняя память подключена к другому электронному устройству, так как в другом электронном устройстве не хранится ключ, содержание внешней памяти не может быть дешифровано другим электронным устройством, что обеспечивает безопасность файлов во внешней памяти.To ensure the security of files in the external memory, files in the external memory can be encrypted, and then stored in the external memory, and keys for decrypting the files are stored in the internal memory of the device 100. Thus, the contents of the external memory can be read in the device 100 only as plaintext . When the external memory is connected to another electronic device, since the other electronic device does not store the key, the contents of the external memory cannot be decrypted by the other electronic device, which ensures the security of the files in the external memory.

Внешняя память может представлять собой SD-карту, флэш-накопитель USB или другой тип памяти. Внешняя память может устанавливать соединение для передачи данных с устройством 100 способом вставки или может устанавливать соединение для передачи данных с устройством 100 проводным или беспроводным способом. Конкретный тип внешней памяти и способ соединения внешней памяти и устройства 100 не ограничены в настоящей заявке. Ниже, в качестве примера, для описания используется SD.External memory can be an SD card, USB flash drive, or other type of memory. The external memory may establish a data connection with the device 100 in an insertion manner, or may establish a data connection with the device 100 in a wired or wireless manner. The specific type of external memory and the method of connecting the external memory and the device 100 are not limited in the present application. Below, SD is used for description as an example.

Пользователь может инициировать процесс шифрования SD-карты в интерфейсе настройки шифрования, показанном на фиг. 3. Пользователь может нажать «шифрование карты памяти» (фиг. 3), чтобы войти в интерфейс подтверждения настроек шифрования, показанный на фиг. 4. Затем пользователь нажимает «шифрование карты памяти» (фиг. 4), чтобы убедиться, что файл на SD-карте зашифрован. Интерфейс обработки шифрования показан на фиг. 5. Алгоритм шифрования, который используется в процессе шифрования, не ограничен в настоящей заявке.The user can initiate the SD card encryption process in the encryption setting interface shown in FIG. 3. The user can click "memory card encryption" (Fig. 3) to enter the encryption settings confirmation interface shown in Fig. 4. Then the user clicks “memory card encryption” (Fig. 4) to ensure that the file on the SD card is encrypted. The encryption processing interface is shown in FIG. 5. The encryption algorithm that is used in the encryption process is not limited in this application.

После того как файл на SD-карте зашифрован, необходимо правильно сохранить ключ шифрования файла (file encryption key, FEK). Способ сохранения FEK состоит в многократном шифровании FEK и последующем сохранении FEK в стираемом разделе. Способ показан на фиг. 6.After the file on the SD card is encrypted, you need to properly save the file encryption key (FEK). The way to store a FEK is to encrypt the FEK multiple times and then store the FEK in an erasable partition. The method is shown in Fig. 6.

После того, как пользователь инициирует процесс шифрования SD-карты в интерфейсе настройки шифрования, показанном на фиг. 3, модуль настройки шифрования SD-карты вырабатывает инструкцию шифрования. В зависимости от условия установки пароля экрана блокировки существует два случая для модуля, вызываемого инструкцией шифрования.After the user initiates the SD card encryption process in the encryption setting interface shown in FIG. 3, the SD card encryption setting module generates an encryption instruction. Depending on the lock screen password setting condition, there are two cases for the module called by the encryption instruction.

Случай 1: Пароль экрана блокировки не установлен.Case 1: The lock screen password is not set.

Модуль шифрования SD-карты вызывает модуль управления шифрованием (Vold) с помощью инструкции шифрования для шифрования FEK. Если пользователь не установил пароль для экрана блокировки, значение по умолчанию может затем использоваться для шифрования ключа шифрования файла (file encryption key encryption key, FEKEK). Далее подробно описывается процесс шифрования FEK.The SD card encryption module calls the encryption control module (Vold) with the encryption instruction to encrypt the FEK. If the user has not set a password for the lock screen, the default value can then be used to encrypt the file encryption key (FEKEK). The following describes the FEK encryption process in detail.

Случай 2: Пароль блокировки экрана установлен.Case 2: Screen lock password is set.

Модуль шифрования SD-карты вызывает службу LockSettingsService (LockSettingsService), используя инструкцию шифрования для получения хэш-значения пароля. Затем служба LockSettingsService передает хэш-значение пароля в модуль управления шифрованием (Vold), чтобы хэш-значение пароля использовалось в дальнейшем для шифрования ключа шифрования файла. Хэш-значение пароля – это информация, выработанная на основе пароля экрана блокировки. Например, служба LockSettingsService выполняет хэш-вычисление пароля экрана блокировки, когда пользователь устанавливает пароль экрана блокировки для выработки хэш-значения пароля, получает ранее сохраненное хэш-значение пароля после того, как пользователь запускает шифрование SD-карты, и передает пароль хеш-значение в модуль управления шифрованием.The SD card encryption module calls the LockSettingsService service (LockSettingsService) using the encryption instruction to obtain the hash value of the password. The LockSettingsService then passes the password hash value to the encryption management module (Vold) so that the password hash value is later used to encrypt the file encryption key. The password hash value is information generated from the lock screen password. For example, the LockSettingsService service performs a lock screen password hash calculation when the user sets a lock screen password to generate a password hash value, retrieves a previously stored password hash value after the user initiates SD card encryption, and passes the password hash value to encryption control module.

Vold отвечает за реализацию основных функций шифрования и дешифрования. Vold запускает логику шифрования или логику дешифрования для SD-карты, вызывая библиотеку шифрования или библиотеку дешифрования.Vold is responsible for implementing basic encryption and decryption functions. Vold runs the encryption logic or decryption logic for the SD card by calling the encryption library or decryption library.

Когда файловая система (такая как eCryptfs) создает файл на SD-карте, файловая система генерирует случайное число для каждого файла. Например, когда eCryptfs создает новый файл, случайная функция, предоставляемая ядром, создает случайное число. Случайное число – это FEK. FEK используется для шифрования файла на SD-карте и для дешифрования зашифрованного файла на SD-карте.When a file system (such as eCryptfs) creates a file on an SD card, the file system generates a random number for each file. For example, when eCryptfs creates a new file, a random function provided by the kernel produces a random number. The random number is FEK. FEK is used to encrypt the file on the SD card and to decrypt the encrypted file on the SD card.

При необходимости eCryptfs хранит зашифрованный файл в формате файла с достаточно хорошей конфиденциальностью (open pretty good privacy, OpenPGP). Зашифрованный файл может быть разделен на множество логических блоков (extent), и размер каждого логического блока можно регулировать. Однако размер каждого логического блока обычно не превышает размера физической страницы.Optionally, eCryptfs stores the encrypted file in an open pretty good privacy (OpenPGP) file format. The encrypted file can be divided into many logical blocks (extent), and the size of each logical block can be adjusted. However, the size of each logical block is usually no larger than the size of the physical page.

После того как файл на SD-карте зашифрован, необходимо зашифровать и сохранить FEK. Когда пользователь устанавливает шифрование SD-карты, Vold размонтирует и затем перемонтирует файловую систему. В этом случае генерируется случайное число. Случайным числом является FEKEK (пример первого ключа). FEKEK используется для шифрования FEK (пример второго ключа), где FEKEK устанавливается Vold для набора ключей (keyring) ядра, и файловая система получает FEKEK из набора ключей при шифровании FEK. Зашифрованный FEK хранится в метаданных (meta data) зашифрованного файла.Once the file on the SD card is encrypted, you need to encrypt and save the FEK. When a user sets SD card encryption, Vold unmounts and then remounts the file system. In this case, a random number is generated. The random number is FEKEK (an example of the first key). FEKEK is used for FEK encryption (second key example), where FEKEK is set by Vold to the kernel keyring, and the filesystem receives FEKEK from the keyring when encrypting FEK. The encrypted FEK is stored in the meta data of the encrypted file.

После того как FEK зашифрован, FEKEK также необходимо зашифровать и сохранить. Так как Vold является модулем универсальной среды исполнения (rich execution environment, REE), и безопасность не соответствует требованиям, FEKEK не может быть зашифрован. Vold может вызывать модуль управления ключами в доверенной среде исполнения (trust execution environment, TEE) с помощью клиентского приложения (client application, CA), то есть доверенного приложения (trust application, TA) мастера ключей, и TA мастера ключей завершает шифрование на FEKEK.Once the FEK is encrypted, the FEKEK must also be encrypted and stored. Since Vold is a rich execution environment (REE) module and the security is not compliant, FEKEK cannot be encrypted. Vold can call the key management module in a trust execution environment (TEE) using a client application (CA), that is, a key master trust application (TA), and the key master TA completes the encryption on FEKEK.

TA мастера ключей может использовать хэш-значение пароля и шифровать FEKEK в соответствии с усовершенствованным стандартом шифрования (advanced encryption standard, AES) для генерации ciphertext 1 (пример пятого зашифрованного текста). Затем TA мастера ключей может использовать аппаратный уникальный ключ (hardware unique key, HUK) и шифровать хэш-значение пароля в соответствии с AES, чтобы сгенерировать keymaster_key_blob (пример шестого зашифрованный текста). ТА мастера ключей хранит ciphertext 1 и keymaster_key_blob в стираемом разделе (/data path).The key master TA can use the hash of the password and encrypt FEKEK according to the advanced encryption standard (AES) to generate ciphertext 1 (an example of the fifth ciphertext). The keymaster TA can then use the hardware unique key (HUK) and encrypt the password hash according to AES to generate the keymaster_key_blob (sixth ciphertext example). The key master TA stores ciphertext 1 and keymaster_key_blob in the erasable partition (/data path).

Так как HUK разных устройств являются уникальными, хэш-значения паролей шифруются с использованием HUK, чтобы гарантировать то, что вышеупомянутый keymaster_key_blob может быть дешифрован только на устройстве 100, чтобы обеспечить безопасность зашифрованного файла на SD-карте.Since the HUKs of different devices are unique, the password hashes are encrypted using the HUK to ensure that the aforementioned keymaster_key_blob can only be decrypted on the device 100 to ensure the security of the encrypted file on the SD card.

Процедура шифрования, относящаяся к фиг. 6 показана на фиг. 7.The encryption procedure related to FIG. 6 is shown in FIG. 7.

Если на текущей SD-карте существуют два подлежащих шифрованию файла (файл 1 и файл 2), файловая система генерирует два случайных числа, а именно FEK1 и FEK2, для двух файлов. Затем файловая система использует FEK1 для шифрования файла 1 и использует FEK2 для шифрования файла 2.If there are two files to be encrypted (file 1 and file 2) on the current SD card, the file system generates two random numbers, namely FEK1 and FEK2, for the two files. The file system then uses FEK1 to encrypt file 1 and uses FEK2 to encrypt file 2.

После завершения шифрования файла 1 и файла 2 файловая система получает FEKEK из набора ключей и отдельно шифрует FEK1 и FEK2 с использованием FEKEK. Зашифрованный FEK1 хранится в метаданных файла 1, и зашифрованный FEK2 хранится в метаданных файла 2.After encryption of file 1 and file 2 is complete, the file system obtains FEKEK from the key set and separately encrypts FEK1 and FEK2 using FEKEK. The encrypted FEK1 is stored in the metadata of file 1, and the encrypted FEK2 is stored in the metadata of file 2.

Затем Vold вызывает TA мастера ключей, используя CA, и TA мастера ключей шифрует FEKEK, используя хэш-значение пароля. Затем TA мастера ключей шифрует хеш-значение пароля с помощью аппаратного HUK.Vold then calls the key master TA using the CA, and the key master TA encrypts the FEKEK using the hash value of the password. The key master TA then encrypts the hash value of the password using a hardware HUK.

Когда файл шифрования на SD-карте необходимо дешифровать, устройство 100 выполняет процесс, обратный процедуре шифрования, показанной на фиг. 7. Например, Vold вызывает TA мастера ключей, используя CA для выполнения следующего этапа дешифрования: TA мастера ключей получает keymaster_key_blob и ciphertext 1 из стираемого раздела, сначала дешифрует keymaster_key_blob с помощью HUK, чтобы получить хэш-значение пароля, и затем дешифрует ciphertext 1, используя хэш-значение пароля, чтобы получить FEKEK. После получения FEKEK от ключевого мастера TA, Vold устанавливает FEKEK в наборе ключей. Файловая система получает FEKEK из набора ключей, дешифрует FEK, и затем дешифрует дешифрованный файл на SD-карте с помощью FEK.When the encryption file on the SD card needs to be decrypted, the device 100 performs the reverse process of the encryption procedure shown in FIG. 7. For example, Vold calls the keymaster TA using the CA to perform the following decryption step: the keymaster TA obtains the keymaster_key_blob and ciphertext 1 from the erased partition, first decrypts the keymaster_key_blob with HUK to obtain the hash value of the password, and then decrypts ciphertext 1. using the hash value of the password to get FEKEK. After receiving the FEKEK from the TA keymaster, Vold installs the FEKEK in the keyring. The file system receives the FEKEK from the key set, decrypts the FEK, and then decrypts the decrypted file on the SD card using the FEK.

Например, когда eCryptfs открывает зашифрованный файл, eCryptfs считывает метаданные заголовка зашифрованного файла, используя файловую систему нижнего уровня, и доставляет метаданные в модуль хранилища ключей (включая модуль TA мастера ключей); модуль хранилища ключей получает FEKEK из набора ключей и дешифрует зашифрованный FEK в метаданных, используя FEKEK для генерации FEK; и затем eCryptfs дешифрует зашифрованный файл с помощью FEK. При дешифровании зашифрованного файла каждый логический блок (extent) зашифрованного файла считывается в кэш страниц (page cache) и дешифруется с помощью Kernel Crypto API.For example, when eCryptfs opens an encrypted file, eCryptfs reads the encrypted file's header metadata using the lower-level file system and delivers the metadata to the key store module (including the key master TA module); the key store module receives the FEKEK from the key set and decrypts the encrypted FEK in the metadata, using the FEKEK to generate the FEK; and then eCryptfs decrypts the encrypted file using FEK. When decrypting an encrypted file, each logical block (extent) of the encrypted file is read into the page cache and decrypted using the Kernel Crypto API.

Когда устройство 100 выполняет сброс первого типа (который также называется «пользовательским сбросом», то есть пользователь сбрасывает устройство 100 из меню настройки системы) данных в стираемой области очищаются. В этом случае устройство 100 может создать резервную копию ciphertext 1 и keymaster_key_blob, так что файлы на SD-карте не могут быть дешифрованы, так как ciphertext 1 и keymaster_key_blob были удалены. Процедура резервного копирования пользовательского сброса показана на фиг. 8.When the device 100 performs the first type of reset (also called a “custom reset,” that is, the user resets the device 100 from the system setup menu), the data in the erase area is cleared. In this case, device 100 may back up ciphertext 1 and keymaster_key_blob so that the files on the SD card cannot be decrypted because ciphertext 1 and keymaster_key_blob have been deleted. The user reset backup procedure is shown in FIG. 8.

Пользователь управляет, используя интерфейс настройки, устройством 100 для восстановления заводских настроек. Устройство 100 проверяет пароль экрана блокировки, который вводится пользователем. Например, устройство 100 выполняет вычисление пароля экрана блокировки, который вводится пользователем, для получения хеш-значения пароля, и затем сравнивает хэш-значение пароля, полученное посредством вычисления, с сохраненным хэш-значением пароля. Если два хеш-значения паролей совпадают, определяется то, что два хэш-значения паролей проверены.The user controls, using a setup interface, the device 100 to restore factory settings. The device 100 verifies the lock screen password that is entered by the user. For example, device 100 computes a lock screen password that is entered by the user to obtain a password hash value, and then compares the password hash value obtained by the calculation with the stored password hash value. If two password hashes match, it is determined that the two password hashes have been verified.

После проверки уровень инфраструктуры (framework) приложения отправляет широковещательное сообщение для восстановления заводских настроек. После приема широковещательного сообщения, Vold запускает процедуру резервного копирования ключа, вызывает TA мастера ключей, используя CA для дешифрования FEKEK из стираемого раздела, и затем шифрует FEKEK, используя значение по умолчанию, и шифрует значение по умолчанию с помощью HUK. Зашифрованный FEKEK и значение по умолчанию (пример седьмого зашифрованного текста и восьмого зашифрованного текста) сохраняются в нестираемом разделе.After verification, the application's framework layer sends a broadcast message to restore factory settings. After receiving the broadcast message, Vold starts the key backup procedure, calls the key master TA using the CA to decrypt the FEKEK from the erased partition, and then encrypts the FEKEK using the default value and encrypts the default value using the HUK. The encrypted FEKEK and the default value (an example of the seventh ciphertext and eighth ciphertext) are stored in the non-erasable partition.

В настоящей заявке нестираемый раздел относится к области хранения, в которой данные не стираются во время сброса второго типа (который также называется «сбросом к заводским настройкам», то есть пользователь не сбрасывает устройство 100 с использованием меню настройки системы). Нестираемым разделом может быть /sec_storage и может быть другая защищенная область хранения в TEE, например, защищенный от несанкционированной перезаписи блок памяти (replay protected memory block, RPMB).As used herein, a non-erasable partition refers to a storage area in which data is not erased during a second type of reset (which is also called a “factory reset,” i.e., the user does not reset the device 100 using the system setup menu). The non-erasable partition can be /sec_storage and can be another protected storage area in the TEE, such as a replay protected memory block (RPMB).

После восстановления заводских настроек и перезапуска устройство 100 определяет то, находится ли SD-карта в нужном месте. Когда SD находится в нужном месте, TA мастер ключей копирует зашифрованный FEKEK и значение по умолчанию из нестираемого раздела в стираемый раздел, чтобы зашифрованный FEKEK и значение по умолчанию можно было использовать для восстановления FEK и дешифрования файла в SD-карте.After a factory reset and restart, device 100 determines whether the SD card is in the correct location. When the SD is in the correct location, the TA key master copies the encrypted FEKEK and default value from the non-erasable partition to the erasable partition so that the encrypted FEKEK and default value can be used to recover the FEK and decrypt the file in the SD card.

В заключение, до и после того, как устройство 100 выполняет сброс пользователя, условие изменения ключа, которое сохраняется в области хранения, показано на фиг. 9.Finally, before and after the device 100 performs a user reset, a key change condition that is stored in the storage area is shown in FIG. 9.

После того, как пользователь инструктирует устройство 100 выполнить пользовательский сброс, устройство 100 инициируется для выполнения резервного копирования ключа. На этапе резервного копирования ключа ciphertext 1 и keymaster_key_blob сохраняются в стираемом разделе. Ciphertext 1 и keymaster_key_blob дешифруются и шифруются и сохраняются в нестираемом разделе в виде «FEKEK, зашифрованного с использованием значения по умолчанию, и значения по умолчанию, зашифрованного с использованием HUK».After the user instructs the device 100 to perform a user reset, the device 100 is initiated to perform a key backup. During the backup phase, the keys ciphertext 1 and keymaster_key_blob are stored in the erased partition. Ciphertext 1 and keymaster_key_blob are decrypted and encrypted and stored in the non-erasable partition as "FEKEK encrypted with default and default encrypted with HUK."

После завершения резервного копирования ключа устройство 100 вступает в стадию форматирования. На этапе форматирования данные в стираемом разделе очищаются, и данные в нестираемом разделе сохраняются.Once the key backup is complete, the device 100 enters a formatting phase. During the formatting phase, the data in the erasable partition is cleared, and the data in the non-erasable partition is preserved.

После завершения форматирования устройство 100 переходит к стадии восстановления ключа. На этапе восстановления ключа зашифрованный текст в нестираемом разделе (FEKEK, зашифрованный с использованием значения по умолчанию и значения по умолчанию, зашифрованного с помощью HUK) копируется в стираемый раздел, тем самым завершая восстановление ключа.Once formatting is complete, device 100 proceeds to the key recovery stage. During the key recovery phase, the ciphertext in the non-erasable partition (FEKEK encrypted with the default value and the default value encrypted with HUK) is copied to the erased partition, thereby completing key recovery.

В описанном выше процессе пользовательского сброса пользователю необходимо отформатировать устройство 100 с помощью меню настройки системы. Устройство 100 имеет возможность резервного копирования зашифрованного текста (зашифрованного FEKEK) в стираемом разделе, так что файл на SD-карте все еще может быть дешифрован после форматирования устройства 100. Однако, когда пользователь выполняет сброс второго типа (например, сброс к заводским настройкам) на устройстве 100 без использования меню настройки системы, зашифрованный текст в стираемом разделе удаляется без копирования в нестираемый раздел, и, таким образом, файл, на отформатированной SD-карте устройства 100, не может быть дешифрован.In the above user reset process, the user needs to format the device 100 using the system setup menu. The device 100 has the ability to back up the ciphertext (encrypted FEKEK) in an erasable partition so that the file on the SD card can still be decrypted after the device 100 is formatted. However, when the user performs a second type of reset (such as a factory reset) on device 100 without using the system setup menu, the ciphertext in the erasable partition is deleted without being copied to the non-erasable partition, and thus the file on the formatted SD card of device 100 cannot be decrypted.

Далее приводится описание другого варианта осуществления способа сохранения зашифрованного текста согласно настоящей заявке, так что файл на SD-карте устройства 100 после сброса к заводским настройкам все еще может быть дешифрован. Этот вариант осуществления может быть применен к устройству 100 вместе с предыдущим вариантом осуществления «пользовательского сброса» или может быть отдельно применен к устройству 100.Next, a description will be given of another embodiment of a method for storing ciphertext according to the present application, so that a file on the SD card of the device 100 after a factory reset can still be decrypted. This embodiment may be applied to device 100 together with the previous "user reset" embodiment or may be applied to device 100 separately.

После того, как пользователь запускает шифрование на SD-карте в интерфейсе настройки, показанном на фиг. 3, устройство 100 выполняет процедуру резервного копирования ключа, показанную на фиг. 10. Как показано на фиг. 10, модуль настройки шифрования SD-карты вызывает модуль входа в систему с помощью учетной записи, используя инструкцию шифрования для выполнения последующей обработки. В зависимости от условия входа в систему с помощью учетной записи существует два способа обработки модуля входа в систему с помощью учетной записи:After the user starts encryption on the SD card in the setting interface shown in FIG. 3, the device 100 performs the key backup procedure shown in FIG. 10. As shown in FIG. 10, the SD card encryption setting module calls the account login module using the encryption instruction to perform subsequent processing. Depending on the account login condition, there are two ways to handle the account login module:

Случай 3: Пользователь не входит в систему с помощью учетной записи.Case 3: The user is not logged in with an account.

Модуль входа в систему с помощью учетной записи отображает интерфейс входа в систему с помощью учетной записи, как показано на фиг. 11, чтобы предложить пользователю войти в систему с помощью учетной записи (например, в систему с помощью учетной записи Honor). После успешного входа в систему с помощью учетной записи модуль входа в систему с помощью учетной записи вычисляет хеш-значение идентификатора учетной записи (идентификатор, ID) и затем передает хэш-значение идентификатора учетной записи в Vold.The account login module displays an account login interface as shown in FIG. 11 to prompt the user to sign in with an account (for example, sign in with an Honor account). After successfully logging in with an account, the Account Login module calculates the hash value of the account ID (ID) and then passes the hash value of the account ID to Vold.

Случай 4: Пользователь вошел в систему с помощью учетной записи.Case 4: The user is logged in using an account.

Модуль входа в систему с помощью учетной записи получает хэш-значение идентификатора учетной записи и передает хэш-значение идентификатора учетной записи в Vold. При необходимости, если модуль входа в систему с помощью учетной записи не вычисляет хэш-значение идентификатора учетной записи до того, как пользователь инициирует шифрование SD-карты, модуль входа в систему с помощью учетной записи вычисляет хэш-значение идентификатора учетной записи, когда пользователь запускает шифрование SD-карты; или, если модуль входа в систему с помощью учетной записи вычисляет хеш-значение идентификатора учетной записи до того, как пользователь инициирует шифрование SD-карты, модуль входа в систему с помощью учетной записи напрямую получает хэш-значение идентификатора учетной записи, когда пользователь запускает шифрование SD-карты.The account login module obtains the hash value of the account ID and passes the hash value of the account ID to Vold. Optionally, if the account login module does not calculate the account ID hash value before the user initiates SD card encryption, the account login module calculates the account ID hash value when the user initiates SD card encryption; or, if the account login module calculates the account ID hash value before the user initiates SD card encryption, the account login module directly obtains the account ID hash value when the user initiates encryption SD cards.

После получения хэш-значения идентификатора учетной записи, Vold вызывает TA мастера ключей с помощью CA, и TA мастера ключей шифрует и создает резервную копию FEKEK.After receiving the hash value of the account ID, Vold calls the key master TA using the CA, and the key master TA encrypts and backs up the FEKEK.

TA мастера ключей может использовать хеш-значение идентификатора учетной записи и шифровать FEKEK в соответствии с AES для генерации ciphertext 2 (пример первого зашифрованного текста). Затем ТА мастера ключей может использовать HUK и зашифровать хеш-значение идентификатора учетной записи в соответствии с AES, чтобы сгенерировать keymaster_key_blob_bak (пример второго зашифрованного текста). ТА мастера ключей вызывает API TEE для сохранения ciphertext 2 и keymaster_key_blob_bak в нестираемом разделе (/sec_storage path), тем самым завершая резервное копирование FEKEK.The key master TA can use the hash value of the account ID and encrypt FEKEK according to AES to generate ciphertext 2 (example first ciphertext). The keymaster TA can then use the HUK and encrypt the account ID hash value according to AES to generate keymaster_key_blob_bak (an example of a second ciphertext). The keymaster TA calls the TEE API to store ciphertext 2 and keymaster_key_blob_bak in a non-erasable partition (/sec_storage path), thereby completing the FEKEK backup.

Так как HUK разных устройств уникальны, хэш-значение идентификатора учетной записи шифруется с использованием HUK, чтобы гарантировать то, что вышеупомянутый keymaster_key_blob_bak может быть дешифрован только на устройстве 100, чтобы обеспечить безопасность зашифрованного файла на SD-карте.Since the HUKs of different devices are unique, the account ID hash value is encrypted using the HUK to ensure that the aforementioned keymaster_key_blob_bak can only be decrypted on the device 100 to ensure the security of the encrypted file on the SD card.

В способе, показанном на фиг. 10, после того, как пользователь инициирует шифрование на SD-карте с помощью интерфейса настройки, устройство 100 может создать резервную копию FEKEK в любой момент перед выполнением сброса к заводским настройкам. Даже если устройство 100 затем выполняет сброс к заводским настройкам, устройство 100 может восстановить FEKEK после перезапуска, тем самым решая проблему невозможности дешифрования файла на SD-карте после сброса к заводским настройкам.In the method shown in FIG. 10, after the user initiates encryption on the SD card using the setup interface, the device 100 can backup the FEKEK at any time before performing a factory reset. Even if the device 100 then performs a factory reset, the device 100 can restore FEKEK after a restart, thereby solving the problem of the SD card being unable to decrypt a file after a factory reset.

При необходимости после того как устройство 100 выполнит способ, показанный на фиг. 10, если пользователь переключает идентификатор зарегистрированной учетной записи, Vold получает хэш-значение нового идентификатора учетной записи и обновляет ciphertext 2 и keymaster_key_blob_bak, используя хэш-значение нового идентификатора учетной записи. Процесс обновления показан на фиг. 12.If necessary, after the device 100 has performed the method shown in FIG. 10, if the user switches the registered account ID, Vold gets the hash value of the new account ID and updates ciphertext 2 and keymaster_key_blob_bak with the hash value of the new account ID. The update process is shown in Fig. 12.

Далее описывается процесс, в котором устройство 100 дешифрует файл на SD-карте после выполнения сброса к заводским настройкам.The following describes the process in which the device 100 decrypts a file on the SD card after performing a factory reset.

Пользователь сначала блокирует экран (или выключает) устройства 100, и затем может нажать комбинацию клавиш (например, «клавиша громкости» + «клавиша питания»), чтобы позволить устройству 100 войти в режим восстановления и отображать интерфейс настройки сброса к заводским настройкам, показанный на фиг. 13. Затем устройство 100 отображает интерфейс подтверждения, показанный на фиг. 14, после того, как пользователь коснется надписи «восстановить заводские настройки». После того, как пользователь коснется надписи «восстановить заводские настройки» в интерфейсе, показанном на фиг. 13, устройство 100 выполняет сброс к заводским настройкам, чтобы отобразить интерфейс сброса к заводским настройкам, показанный на фиг. 15.The user first locks the screen (or turns off) the device 100, and then can press a key combination (for example, "Volume key" + "Power key") to allow the device 100 to enter recovery mode and display the factory reset setting interface shown in fig. 13. Then, the device 100 displays the confirmation interface shown in FIG. 14, after the user touches the inscription “restore factory settings”. After the user taps "restore factory settings" on the interface shown in FIG. 13, the device 100 performs a factory reset to display the factory reset interface shown in FIG. 15.

После завершения сброса к заводским настройкам устройство 100 перезапускается, запускает программу мастера включения питания и выполняет процедуру восстановления ключа, показанную на фиг. 16.After the factory reset is completed, the device 100 restarts, launches the Power On Wizard program, and performs the key recovery procedure shown in FIG. 16.

Программа мастера включения питания вызывает модуль поиска мобильного телефона, чтобы определить то, было ли активировано состояние защиты от сброса к заводским настройкам (factory reset protection, FRP). Модуль извлечения мобильного телефона с помощью CA для защиты от кражи вызывает TA для защиты от кражи, чтобы определить то, было ли запущено состояние FRP. Если состояние FRP было инициировано, модуль поиска мобильного телефона отображает интерфейс проверки учетной записи, показанный на фиг. 17. Учетная запись, которая проверяется интерфейсом проверки учетной записи, является учетной записью, связанной с состоянием FRP (то есть последней зарегистрированной учетной записью до того, как устройство 100 выполнит возврат к заводским настройкам). После того, как пользователь ввел правильный пароль на этом интерфейсе, модуль поиска мобильного телефона уведомляет об успешной проверке учетной записи Vold. Затем Vold вызывает, используя CA, ТА мастера ключей для выполнения следующих шагов по восстановлению ключа.The Power On Wizard calls the mobile phone finder to determine whether the factory reset protection (FRP) state has been activated. The mobile phone retrieval module using the anti-theft CA calls the anti-theft TA to determine whether the FRP state has been triggered. If the FRP state has been initiated, the mobile phone search module displays the account verification interface shown in FIG. 17. The account that is verified by the account verification interface is the account associated with the FRP state (that is, the last registered account before the device 100 performs a factory reset). After the user has entered the correct password on this interface, the mobile phone search module notifies that the Vold account has been successfully verified. Vold then calls the key master TA using the CA to perform the following steps to recover the key.

TA мастера ключей получает keymaster_key_blob_bak и ciphertext 2 из нестираемого раздела, сначала дешифрует keymaster_key_blob_bak с использованием HUK, чтобы получить хэш-значение идентификатора учетной записи, и затем дешифрует ciphertext 2 с использованием хеш-значения идентификатор учетной записи, чтобы получить FEKEK.The keymaster TA obtains the keymaster_key_blob_bak and ciphertext 2 from the non-erasable partition, first decrypts the keymaster_key_blob_bak using the HUK to obtain the account ID hash value, and then decrypts the ciphertext 2 using the account ID hash value to obtain the FEKEK.

TA мастера ключей повторно шифрует FEKEK с использованием значения по умолчанию для генерации третьего зашифрованного текста и использует HUK для шифрования значения по умолчанию для генерации четвертого зашифрованного текста. Зашифрованный FEKEK и значение по умолчанию сохраняются в нестираемом разделе (/sec_storage path) как резервные ключи. Затем TA мастера ключей копирует зашифрованный FEKEK и значение по умолчанию в стираемый раздел (/data path), чтобы использовать их при шифровании или дешифровании файла на SD-карте. Старый пароль экрана блокировки удаляется после того, как устройство 100 выполняет сброс к заводским настройкам. В предыдущем варианте осуществления устройство 100 может дешифровать SD-карту, используя значение по умолчанию в качестве ключа, когда не установлен новый пароль блокировки экрана.The key master TA re-encrypts FEKEK using the default value to generate the third ciphertext and uses HUK to encrypt the default value to generate the fourth ciphertext. The encrypted FEKEK and the default value are stored in the non-erasable partition (/sec_storage path) as backup keys. The keymaster TA then copies the encrypted FEKEK and default value to the erasable partition (/data path) to use when encrypting or decrypting the file on the SD card. The old lock screen password is deleted after the device 100 performs a factory reset. In the previous embodiment, the device 100 can decrypt the SD card using the default value as a key when a new screen lock password is not set.

При необходимости TA мастера ключей может зашифровать FEKEK без использования значения по умолчанию и напрямую скопировать keymaster_key_blob_bak и ciphertext 2 из нестираемого раздела в стираемый раздел. В этом случае устройство 100 может предложить пользователю установить новый пароль экрана блокировки, чтобы использовать новый пароль экрана блокировки для шифрования FEKEK.If necessary, the keymaster TA can encrypt FEKEK without using the default value and directly copy keymaster_key_blob_bak and ciphertext 2 from the non-erasable partition to the erasable partition. In this case, device 100 may prompt the user to set a new lock screen password to use the new lock screen password for FEKEK encryption.

Когда файл на SD-карте необходимо зашифровать, TA мастера ключей дешифрует FEKEK из стираемого раздела и передает FEKEK в набор ключей, используя Vold. После шифрования файла на SD-карте, используя FEK, файловая система получает FEKEK из набора ключей, шифрует FEK, используя FEKEK, и сохраняет зашифрованный FEK в виде метаданных файла.When a file on the SD card needs to be encrypted, the keymaster TA decrypts the FEKEK from the erased partition and passes the FEKEK to the keyring using Vold. After encrypting a file on the SD card using FEK, the file system obtains the FEKEK from the key set, encrypts the FEK using the FEKEK, and stores the encrypted FEK as file metadata.

Когда файл на SD-карте необходимо дешифровать, TA мастера ключей дешифрует FEKEK из стираемого раздела и передает FEKEK в набор ключей, используя Vold. Файловая система дешифрует FEK из метаданных файла SD-карты, используя FEKEK, и затем дешифрует файл, используя FEK.When a file on the SD card needs to be decrypted, the key master TA decrypts the FEKEK from the erased partition and passes the FEKEK to the keyring using Vold. The file system decrypts the FEK from the SD card file metadata using FEKEK and then decrypts the file using FEK.

В заключение, до и после того, как устройство 100 выполняет сброс к заводским настройкам, условие изменения ключа, которое сохраняется в области хранения, показано на фиг. 18.Finally, before and after the device 100 performs a factory reset, a key change condition that is stored in the storage area is shown in FIG. 18.

Когда пользователь инструктирует устройство 100 зашифровать файл на SD-карте, устройство 100 инициируется для выполнения резервного копирования ключа. На этапе резервного копирования ключа стираемый раздел хранит ciphertext 1 и keymaster_key_blob, и нестираемый раздел сохраняет ciphertext 2 и keymaster_key_blob_bak. Ciphertext 1 – это FEKEK, зашифрованный с использованием хэш-значения пароля, keymaster_key_blob –хэш-значение пароля, зашифрованное с использованием HUK, ciphertext 2 – FEKEK, зашифрованный с использованием хэш-значения идентификатора учетной записи, и keymaster_key_blob_bak –хэш-значение идентификатора учетной записи, зашифрованное с использованием HUK.When the user instructs the device 100 to encrypt a file on the SD card, the device 100 is triggered to perform a key backup. During the key backup phase, the erasable partition stores ciphertext 1 and keymaster_key_blob, and the non-erasable partition stores ciphertext 2 and keymaster_key_blob_bak. Ciphertext 1 is a FEKEK encrypted with a hash of the password, keymaster_key_blob is a hash of the password encrypted with a HUK, ciphertext 2 is a FEKEK encrypted with a hash of the account ID, and keymaster_key_blob_bak is a hash of the account ID , encrypted using HUK.

После того, как пользователь инструктирует устройство 100 выполнить сброс к заводским настройкам, устройство 100 входит в стадию сброса к заводским настройкам и выполняет форматирование. На этапе сброса к заводским настройкам данные в стираемом разделе очищаются, и данные в нестираемом разделе сохраняются.After the user instructs the device 100 to perform a factory reset, the device 100 enters the factory reset stage and performs a format. During the factory reset phase, the data in the erased partition is cleared and the data in the non-erased partition is retained.

После завершения форматирования устройство 100 переходит к стадии восстановления ключа. На стадии восстановления ключа зашифрованный текст (ciphertext 2 и keymaster_key_blob_bak) в нестираемом разделе дешифруется, шифруется и копируется в стираемый раздел в виде «FEKEK, зашифрованного с использованием значения по умолчанию и значения по умолчанию, зашифрованного с использованием HUK», тем самым завершая восстановление ключа.Once formatting is complete, device 100 proceeds to the key recovery stage. During the key recovery stage, the ciphertext (ciphertext 2 and keymaster_key_blob_bak) in the non-erasable partition is decrypted, encrypted, and copied to the erased partition as "FEKEK encrypted with default and default encrypted with HUK", thereby completing key recovery .

Выше был подробно описан пример способа сохранения зашифрованного текста согласно настоящей заявке. Можно понять, что для реализации вышеуказанных функций соответствующее устройство включает в себя соответствующую аппаратную структуру и/или программный модуль, который выполняет каждую функцию. Специалисту в данной области техники будет очевидно, что со ссылкой на примеры, описанные в вариантах осуществления, раскрытых в этом описании, блоки и этапы алгоритма могут быть реализованы в виде аппаратных средств или комбинации аппаратных средств и компьютерного программного обеспечения, представленных в настоящей заявке. То, реализуется ли функция аппаратными средствами или аппаратными средствами под управлением компьютерного программного обеспечения, зависит от конкретного приложения и конструктивных ограничений технического решения. Специалист в данной области техники может использовать разные способы для реализации описанных функций для каждого конкретного приложения, но такую реализацию не следует рассматривать как выходящую за рамки настоящей заявки.An example of a method for storing ciphertext according to the present application has been described in detail above. It can be understood that in order to implement the above functions, a corresponding device includes a corresponding hardware structure and/or a software module that performs each function. It will be apparent to one skilled in the art that, with reference to the examples described in the embodiments disclosed herein, the blocks and steps of the algorithm may be implemented in hardware or a combination of hardware and computer software provided herein. Whether a function is implemented in hardware or in hardware controlled by computer software depends on the specific application and the design constraints of the solution. One skilled in the art may employ different methods to implement the described functionality for each particular application, but such implementation should not be considered beyond the scope of this application.

В настоящей заявке устройство для сохранения зашифрованного текста может быть разделено на функциональные блоки на основе приведенных выше примеров способов. Например, каждый функциональный блок может быть получен путем разделения на основе соответствующей функции, или две или более функции могут быть объединены в один блок. Вышеупомянутый интегрированный блок может быть реализован в виде аппаратных средств или может быть реализован в виде функционального блока программного обеспечения. Следует отметить, что модульное разделение в настоящей заявке является примером и является просто логическим разделением функций, и во время фактической реализации может использоваться другой способ разделения.In the present application, the device for storing ciphertext can be divided into functional units based on the above example methods. For example, each function block can be obtained by dividing based on the corresponding function, or two or more functions can be combined into one block. The above integrated block may be implemented as hardware or may be implemented as a software functional block. It should be noted that the modular division in the present application is an example and is simply a logical division of functions, and other division method may be used during actual implementation.

На фиг. 19 показано схематичное представление структуры устройства для сохранения зашифрованного текста согласно настоящей заявке. Устройство 1900 включает в себя блок 1910 обработки и блок 1920 ввода.In fig. 19 is a schematic diagram of the structure of an apparatus for storing ciphertext according to the present application. The device 1900 includes a processing unit 1910 and an input unit 1920.

Блок 1920 ввода выполнен с возможностью получения инструкции шифрования, где инструкция шифрования инструктирует зашифровать файл во внешней памяти.The input unit 1920 is configured to receive an encryption instruction, where the encryption instruction instructs to encrypt a file in the external memory.

Блок 1910 обработки выполнен с возможностью: получения собственного значения первого идентификатора учетной записи на основе инструкции шифрования; шифрования первого ключа с использованием собственного значения первого идентификатора учетной записи для генерации первого зашифрованного текста, где первый ключ используется для шифрования второго ключа, и второй ключ используется для шифрования первого файла во внешней памяти; шифрования собственного значения первого идентификатора учетной записи, чтобы сгенерировать второй зашифрованный текст; и сохранения первого зашифрованного текста и второго зашифрованного текста в нестираемом разделе.The processing unit 1910 is configured to: obtain its own value of the first account ID based on the encryption instruction; encrypting a first key using the first account identifier's own value to generate a first ciphertext, where the first key is used to encrypt the second key, and the second key is used to encrypt the first file in the external memory; encrypting the eigenvalue of the first account identifier to generate a second ciphertext; and storing the first ciphertext and the second ciphertext in an indelible section.

При необходимости блок 1920 ввода дополнительно выполнен с возможностью получения информации указателя для переключения учетной записи.If necessary, the input unit 1920 is further configured to obtain pointer information for account switching.

Блок 1910 обработки дополнительно выполнен с возможностью: проверки первого идентификатора учетной записи на основе информации указания; получения собственного значения второго идентификатора учетной записи после проверки первого идентификатора учетной записи; и обновления первого зашифрованного текста и второго зашифрованного текста на основе собственного значения второго идентификатора учетной записи.The processing unit 1910 is further configured to: check the first account ID based on the indication information; obtaining its own value of the second account identifier after checking the first account identifier; and updating the first ciphertext and the second ciphertext based on the own value of the second account identifier.

При необходимости процессор 1910 дополнительно выполнен с возможностью определения того, активировано ли состояние FRP; проверки первого идентификатора учетной записи при инициировании состояния FRP; и, когда первый идентификатор учетной записи проверен успешно, дешифрования первого зашифрованного текста и второго зашифрованного текста, чтобы сгенерировать первый ключ.If necessary, the processor 1910 is further configured to determine whether the FRP state is activated; checking the first account ID when initiating the FRP state; and, when the first account ID is verified successfully, decrypting the first ciphertext and the second ciphertext to generate the first key.

При необходимости процессор 1910 дополнительно выполнен с возможностью: шифрования первого ключа с использованием значения по умолчанию для генерации третьего зашифрованного текста; шифрования значения по умолчанию для генерации четвертого зашифрованного текста; и сохранения третьего зашифрованного текста и четвертого зашифрованного текста в нестираемом разделе.If necessary, processor 1910 is further configured to: encrypt the first key using a default value to generate a third ciphertext; default encryption to generate a fourth ciphertext; and storing the third ciphertext and the fourth ciphertext in an indelible section.

При необходимости блок 1910 обработки дополнительно выполнен с возможностью: копирования третьего зашифрованного текста и четвертого зашифрованного текста из нестираемого раздела в стираемый раздел; генерации первого ключа на основе третьего зашифрованного текста и четвертого зашифрованного текста в стираемом разделе; и дешифрования файла во внешней памяти на основе первого ключа.If necessary, the processing unit 1910 is further configured to: copy the third ciphertext and the fourth ciphertext from the non-erasable section to the erasable section; generating a first key based on the third ciphertext and the fourth ciphertext in the erased section; and decrypting the file in external memory based on the first key.

Что касается конкретного способа, в котором устройство 1900 выполняет способ сохранения зашифрованного текста, и полученного полезного эффекта, смотри соответствующее описание вариантов осуществления способа.With regard to the specific manner in which the device 1900 performs the method of storing ciphertext, and the resulting beneficial effect, see the corresponding description of embodiments of the method.

На фиг. 20 показано схематичное представление структуры электронного устройства согласно настоящей заявке. Пунктирная линия на фиг. 20 указывает то, что устройство или модуль являются дополнительными. Устройство 2000 может быть выполнено с возможностью реализации способа, описанного в предыдущих вариантах осуществления способа.In fig. 20 is a schematic diagram of the structure of an electronic device according to the present application. The dotted line in Fig. 20 indicates that the device or module is optional. The device 2000 may be configured to implement the method described in the previous method embodiments.

Устройство 2000 включает в себя один или несколько процессоров 2001. Один или несколько процессоров 2001 могут поддерживать устройство 2000 для реализации способа в вариантах осуществления способа. Процессор 2001 может быть процессором общего назначения или процессором специального назначения. Например, процессор 2001 может быть центральным процессором (central processing unit, CPU), процессором цифровых сигналов (digital signal processor, DSP), специализированной интегральной схемой (application specific integrated circuit, ASIC), программируемой пользователем вентильной матрицей (field programmable gate array, FPGA) или другим программируемым логическим устройством, таким как дискретный вентиль, транзисторное логическое устройство или дискретный аппаратный компонент.Apparatus 2000 includes one or more processors 2001. One or more processors 2001 may support apparatus 2000 to implement a method in embodiments of the method. Processor 2001 may be a general purpose processor or a special purpose processor. For example, processor 2001 may be a central processing unit (CPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA). ) or other programmable logic device such as a discrete gate, transistor logic device, or discrete hardware component.

Процессор 2001 может быть выполнен с возможностью управления устройством 2000, исполнения программы программного обеспечения и обработки данных программы программного обеспечения. Устройство 2000 может дополнительно включать в себя блок 2005 связи, который может быть выполнен с возможностью осуществления ввода (приема) и вывода (передачи) сигнала.The processor 2001 may be configured to control the device 2000, execute a software program, and process software program data. The device 2000 may further include a communication unit 2005, which may be configured to input (receive) and output (transmit) a signal.

Например, устройство 2000 может быть микросхемой, блок 2005 связи может быть входной схемой и/или выходной схемой микросхемы, или блок 2005 связи может быть интерфейсом связи микросхемы, и микросхема может использоваться как неотъемлемая часть терминального устройства или другого электронного устройства.For example, device 2000 may be a chip, communication unit 2005 may be input circuitry and/or output circuitry of the chip, or communication unit 2005 may be a communication interface of the chip, and the chip may be used as an integral part of a terminal device or other electronic device.

В качестве другого примера, устройство 2000 может быть терминальным устройством, и блок 2005 связи может быть приемопередатчиком терминального устройства, или блок 2005 связи может быть схемой приемопередатчика терминального устройства.As another example, device 2000 may be a terminal device, and communication unit 2005 may be a transceiver circuit of the terminal device, or communication unit 2005 may be transceiver circuitry of the terminal device.

Устройство 2000 может включать в себя одно или несколько устройств памяти 2002. Программа 2004 хранится в памяти 2002. Программа 2004 может запускаться процессором 2001 для выработки инструкции 2003, позволяющей процессору 2001 выполнять на основе инструкции 2003, способ, описанный в приведенных выше вариантах осуществления способе. При необходимости память 2002 может дополнительно хранить данные. При необходимости процессор 2001 может дополнительно считывать данные (например, первый зашифрованный текст и второй зашифрованный текст), хранящиеся в памяти 2002, где данные могут храниться с теми же самыми адресами ячеек памяти, как и программа 2004, или данные могут храниться с разными адресами ячеек памяти, как и программа 2004.The device 2000 may include one or more memory devices 2002. The program 2004 is stored in the memory 2002. The program 2004 may be executed by the processor 2001 to generate an instruction 2003 allowing the processor 2001 to execute, based on the instruction 2003, the method described in the above embodiments of the method. Memory 2002 can additionally store data as needed. If necessary, processor 2001 may additionally read data (eg, the first ciphertext and the second ciphertext) stored in memory 2002, where the data may be stored at the same memory location addresses as program 2004, or the data may be stored at different location addresses. memory, like the 2004 program.

Процессор 2001 и память 2002 могут быть расположены отдельно, или могут быть интегрированы вместе, например, интегрированы в систему на кристалле (system on chip, SOC) терминального устройства.The processor 2001 and memory 2002 may be located separately, or may be integrated together, for example, integrated into a system on chip (SOC) of a terminal device.

Настоящая заявка дополнительно предусматривает компьютерный программный продукт. Когда компьютерный программный продукт исполняется процессором 2001, реализуется способ согласно любому варианту осуществления способа, представленному в настоящей заявке.The present application further provides a computer program product. When the computer program product is executed by the processor 2001, the method according to any embodiment of the method presented in this application is implemented.

Компьютерный программный продукт может храниться в памяти 2002, например, может быть программой 2004, и программа 2004 окончательно преобразуется в исполняемый целевой файл, который может исполняться процессором 2001 после процесса обработки, такого как предварительная обработка, компиляция, сборка и компоновка.The computer program product may be stored in memory 2002, for example, may be program 2004, and program 2004 is finally converted into an executable target file that can be executed by processor 2001 after processing processes such as preprocessing, compilation, assembly, and linking.

Настоящая заявка дополнительно предусматривает машиночитаемый носитель данных. Машиночитаемый носитель данных хранит компьютерную программу. Когда компьютерная программа исполняется компьютером, реализуется способ согласно любому варианту осуществления способа, представленному в настоящей заявке. Компьютерная программа может быть программой, написанной на языке высокого уровня, или может быть исполняемой целевой программой.The present application further provides a computer-readable storage medium. A computer-readable storage medium stores a computer program. When the computer program is executed by a computer, the method according to any embodiment of the method presented in this application is implemented. The computer program may be a program written in a high-level language or may be an executable target program.

Например, машиночитаемый носитель данных представляет собой память 2002. Память 2002 может быть энергозависимой памятью или энергонезависимой памятью, или память 2002 может включать в себя как энергозависимую память, так и энергонезависимую память. Энергонезависимая память может быть постоянной памятью (read-only memory, ROM), программируемой ROM (programmable ROM, PROM), стираемой PROM (erasable PROM, EPROM), электрически стираемой EPROM (electrically EPROM, EEPROM) или флэш-памятью. Энергонезависимая память может быть оперативной памятью (random access memory, RAM) и использоваться в качестве внешнего кэша. Например, но не для ограничения, доступны многие формы RAM, такие как статическая RAM (static RAM, SRAM), динамическая RAM (dynamic RAM, DRAM), синхронная DRAM (synchronous DRAM, SDRAM), SDRAM с удвоенной скоростью передачи данных (double data rate SDRAM, DDR SDRAM), улучшенная SDRAM (enhanced SDRAM, ESDRAM), DRAM с синхронной связью (synchlink DRAM, SLDRAM) и RAM с шиной прямого резидентного доступа (direct rambus RAM, DR RAM).For example, the computer-readable storage medium is memory 2002. Memory 2002 may be volatile memory or non-volatile memory, or memory 2002 may include both volatile memory and non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable EPROM (electrically EPROM, EEPROM), or flash memory. Non-volatile memory can be random access memory (RAM) and used as an external cache. For example, but not by way of limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data SDRAM rate SDRAM, DDR SDRAM), enhanced SDRAM (enhanced SDRAM, ESDRAM), synchronous DRAM (synchlink DRAM, SLDRAM) and RAM with direct rambus RAM, DR RAM.

Специалист в данной области техники должен четко понимать, что для удобства и краткости описания подробного рабочего процесса и технического эффекта вышеописанного аппаратного устройства и устройства может быть сделана ссылка на соответствующий процесс и технический эффект в приведенных выше вариантах осуществления способа, и подробности в данном документе повторно не описываются.It should be clearly understood by one skilled in the art that for convenience and brevity in describing the detailed operating process and technical effect of the above-described hardware and apparatus, reference may be made to the corresponding process and technical effect in the above method embodiments, and the details are not repeated herein. are described.

В нескольких вариантах осуществления, представленных в настоящей заявке, раскрытые система, устройство и способ могут быть реализованы другими способами. Например, некоторые особенности описанных выше вариантов осуществления способа могут быть проигнорированы или не выполнены. Описанный вариант осуществления устройства является просто примером. Разделение на блоки является просто логическим разделением функций и в фактической реализации может быть другим разделением. Множество блоков или компонентов могут быть объединены или интегрированы в другую систему. В дополнение к этому, связи между блоками или связи между компонентами могут быть прямыми связями или косвенными связями. Связи включают в себя соединения в электронной, механической или другой форме.In several embodiments presented herein, the disclosed system, apparatus, and method may be implemented in other ways. For example, certain features of the method embodiments described above may be ignored or not implemented. The described embodiment of the device is merely an example. The block division is simply a logical division of functions and may be a different division in the actual implementation. Multiple blocks or components can be combined or integrated into another system. In addition to this, connections between blocks or connections between components can be direct connections or indirect connections. Connections include connections in electronic, mechanical or other forms.

Следует понимать, что в различных вариантах осуществления настоящей заявки порядковые номера вышеупомянутых процессов не означают последовательности выполнения. Последовательности выполнения процессов должны определяться на основе функций и внутренней логики процессов и не должны рассматриваться как какое-либо ограничение процессов реализации вариантов осуществления настоящей заявки.It should be understood that in various embodiments of the present application, the sequence numbers of the above-mentioned processes do not indicate the sequence of execution. The execution sequences of the processes should be determined based on the functions and internal logic of the processes and should not be construed as any limitation on the processes for implementing the embodiments of this application.

В дополнение к этому, термины «система» и «сеть» в данном описании часто используются взаимозаменяемо. В этой спецификации термин «и/или» используется только для описания отношения ассоциации между ассоциированными объектами и указывает то, что могут существовать три отношения. Например, A и/или B могут означать следующее: существует только A, существуют как A, так и B, и существует только B. В дополнение к этому, символ «/» в этой спецификации обычно указывает на отношение «или» между ассоциированными объектами.In addition, the terms "system" and "network" are often used interchangeably in this description. In this specification, the term "and/or" is used only to describe an association relationship between associated objects and indicates that three relationships may exist. For example, A and/or B can mean the following: only A exists, both A and B exist, and only B exists. In addition to this, the "/" symbol in this specification typically indicates an "or" relationship between associated objects .

В заключение, предыдущие описания являются просто предпочтительными вариантами технических решений настоящей заявки и не предназначены для ограничения объема охраны настоящей заявки. Любые модификации, эквиваленты, модификации и т.п, выполненные в соответствии с сущностью и принципами настоящей заявки, должны подпадать под объем охраны настоящей заявки.In conclusion, the previous descriptions are merely preferred embodiments of the technical solutions of the present application and are not intended to limit the scope of protection of the present application. Any modifications, equivalents, modifications, etc. made in accordance with the spirit and principles of this application shall fall within the scope of protection of this application.

Claims (66)

1. Способ обработки файла, хранящегося во внешней памяти, в котором способ применяется к электронному устройству, при этом электронное устройство содержит внутреннюю память, которая содержит стираемый раздел и нестираемый раздел, и электронное устройство подключено к внешней памяти, в котором способ содержит:1. A method for processing a file stored in an external memory, wherein the method is applied to an electronic device, wherein the electronic device includes an internal memory that includes an erasable section and a non-erasable section, and the electronic device is connected to the external memory, wherein the method comprises: отображение интерфейса настройки шифрования внешней памяти;displaying the external memory encryption configuration interface; прием первой операции, которая выполняется пользователем в интерфейсе настройки шифрования, в котором прием первой операции, которая выполняется пользователем в интерфейсе настройки шифрования, содержит: получение инструкции шифрования, в котором инструкция шифрования инструктирует зашифровать первый файл, хранящийся во внешней памяти;receiving a first operation that is performed by the user at the encryption setting interface, wherein receiving the first operation that is performed by the user at the encryption setting interface comprises: receiving an encryption instruction, wherein the encryption instruction instructs to encrypt a first file stored in the external memory; шифрование первого файла, хранящегося во внешней памяти, с использованием второго ключа в ответ на инструкции шифрования;encrypting a first file stored in the external memory using a second key in response to encryption instructions; получение первого идентификатора учетной записи на основе инструкции шифрования;obtaining the first account ID based on the encryption instruction; шифрование первого ключа на основе первого идентификатора учетной записи для генерации первого зашифрованного текста, причем первый ключ используется для шифрования второго ключа;encrypting a first key based on the first account identifier to generate a first ciphertext, the first key being used to encrypt the second key; шифрование первого идентификатора учетной записи для генерации второго зашифрованного текста; иencrypting the first account identifier to generate a second ciphertext; And сохранение первого зашифрованного текста и второго зашифрованного текста в нестираемом разделе;storing the first ciphertext and the second ciphertext in an indelible section; прием второй операции пользователя;receiving a second user operation; отображение интерфейса настройки сброса к заводским настройкам в ответ на вторую операцию;displaying the factory reset setting interface in response to the second operation; прием третьей операции, которая выполняется пользователем в интерфейсе заводских настроек;receiving a third operation that is performed by the user in the factory settings interface; выполнение сброса к заводским настройкам в ответ на третью операцию, в котором данные в стираемом разделе удаляются при сбросе к заводским настройкам, а данные в нестираемом разделе сохраняются при сбросе к заводским настройкам;performing a factory reset in response to the third operation, in which the data in the erasable partition is deleted during the factory reset, and the data in the non-erasable partition is retained during the factory reset; отображение интерфейса проверки учетной записи;displaying the account verification interface; прием информации проверки, которая вводится пользователем в интерфейсе проверки учетной записи; иreceiving verification information that is input by the user in the account verification interface; And проверку первого идентификатора учетной записи на основе информации проверки, когда первый идентификатор учетной записи проверен успешно, и, когда принята операция, в которой пользователь осуществляет доступ к первому файлу во внешней памяти, дешифрование первого файла, зашифрованного во внешней памяти на основе первого зашифрованного текста и второго зашифрованного текста, хранящихся в нестираемом разделе.checking the first account ID based on the verification information when the first account ID is verified successfully, and, when an operation in which the user accesses the first file in the external memory is received, decrypting the first file encrypted in the external memory based on the first ciphertext, and a second ciphertext stored in an indelible partition. 2. Способ по п. 1, в котором2. The method according to claim 1, in which шифрование первого ключа на основе первого идентификатора учетной записи содержит:the first key encryption based on the first account ID contains: вызов модуля управления ключами для шифрования первого ключа с использованием хэш-значения первого идентификатора учетной записи; иcalling a key management module to encrypt the first key using a hash value of the first account ID; And шифрование первого идентификатора учетной записи содержит:The encryption of the first account ID contains: вызов модуля управления ключами для шифрования хэш-значения первого идентификатора учетной записи;calling a key management module to encrypt a hash value of the first account ID; в котором сохранение первого зашифрованного текста и второго зашифрованного текста в нестираемом разделе содержит:wherein storing the first ciphertext and the second ciphertext in an indelible section contains: вызов интерфейса прикладного программирования доверенной среды исполнения для сохранения первого зашифрованного текста и второго зашифрованного текста в нестираемом разделе.calling the trusted execution environment application programming interface to store the first ciphertext and the second ciphertext in an indelible section. 3. Способ по п. 1, в котором способ дополнительно содержит:3. The method according to claim 1, in which the method additionally contains: получение информации указателя для переключения учетной записи;obtaining pointer information for account switching; проверку первого идентификатора учетной записи на основе информации указателя;checking the first account ID based on the index information; получение второго идентификатора учетной записи после проверки первого идентификатора учетной записи; иobtaining a second account ID after verifying the first account ID; And обновление первого зашифрованного текста и второго зашифрованного текста на основе второго идентификатора учетной записи.updating the first ciphertext and the second ciphertext based on the second account ID. 4. Способ по п. 1, в котором перед дешифрованием зашифрованного первого файла, который зашифрован во внешней памяти, на основе первого зашифрованного текста и второго зашифрованного текста, хранящихся в нестираемом разделе, способ дополнительно содержит:4. The method of claim 1, wherein before decrypting the encrypted first file that is encrypted in the external memory based on the first ciphertext and the second ciphertext stored in the indelible partition, the method further comprises: дешифрование первого зашифрованного текста и второго зашифрованного текста для генерации первого ключа,decrypting the first ciphertext and the second ciphertext to generate the first key, в котором проверка первого идентификатора учетной записи на основе информации проверки содержит:wherein the verification of the first account ID based on the verification information comprises: проверку первого идентификатора учетной записи на основе информации проверки тогда, когда инициировано состояние FRP защиты от сброса к заводским настройкам.checking the first account ID based on the verification information when the factory reset protection FRP state is initiated. 5. Способ по любому одному из пп. 1-4, в котором способ дополнительно содержит:5. Method according to any one of paragraphs. 1-4, in which the method further comprises: шифрование первого ключа с использованием значения по умолчанию для генерации третьего зашифрованного текста;encrypting the first key using a default value to generate a third ciphertext; шифрование значения по умолчанию для генерации четвертого зашифрованного текста; иdefault encryption to generate fourth ciphertext; And сохранение третьего зашифрованного текста и четвертого зашифрованного текста в нестираемом разделе.storing the third ciphertext and the fourth ciphertext in an indelible section. 6. Способ по п. 5, в котором способ дополнительно содержит:6. The method according to claim 5, in which the method additionally contains: копирование третьего зашифрованного текста и четвертого зашифрованного текста из нестираемого раздела в стираемый раздел;copying the third ciphertext and the fourth ciphertext from the non-erasable section to the erasable section; генерацию первого ключа на основе третьего зашифрованного текста и четвертого зашифрованного текста в стираемом разделе; иgenerating a first key based on the third ciphertext and the fourth ciphertext in the erased section; And дешифрование на основе первого ключа первого файла, зашифрованного во внешней памяти.decryption based on the first key of the first file encrypted in external memory. 7. Способ по любому одному из пп. 1-6, в котором выполнение сброса к заводским настройкам в ответ на третью операцию содержит:7. Method according to any one of paragraphs. 1-6, in which performing a factory reset in response to the third operation contains: получение инструкции сброса к заводским настройкам, которая инициируется третьей операцией в интерфейсе настройки сброса к заводским настройкам; иreceiving a factory reset instruction, which is initiated by the third operation in the factory reset setting interface; And форматирование данных в стираемом разделе на основе инструкции сброса к заводским настройкам.formatting data in an erasable partition based on the factory reset instructions. 8. Способ по любому одному из пп. 1-7, в котором первый ключ дополнительно используется для шифрования третьего ключа и третий ключ используется для шифрования второго файла, который зашифрован во внешней памяти.8. Method according to any one of paragraphs. 1-7, wherein the first key is further used to encrypt a third key and the third key is used to encrypt a second file that is encrypted in the external memory. 9. Способ по любому одному из пп. 1-8, в котором способ дополнительно содержит:9. Method according to any one of paragraphs. 1-8, in which the method further comprises: получение пароля экрана блокировки на основе инструкции шифрования;obtaining the lock screen password based on the encryption instruction; шифрование первого ключа на основе пароля экрана блокировки для генерации пятого зашифрованного текста;encrypting a first key based on the lock screen password to generate a fifth ciphertext; шифрование пароля экрана блокировки для генерации шестого зашифрованного текста; иencrypting the lock screen password to generate the sixth ciphertext; And сохранение пятого зашифрованного текста и шестого зашифрованного текста в стираемом разделе,storing the fifth ciphertext and the sixth ciphertext in the erasable partition, в котором шифрование первого ключа на основе пароля экрана блокировки содержит:in which the first key encryption based on the lock screen password contains: вызов модуля управления ключами для шифрования первого ключа с использованием собственного значения пароля экрана блокировки; иcalling the key management module to encrypt the first key using its own lock screen password value; And шифрование пароля экрана блокировки содержит:Lock screen password encryption contains: вызов модуля управления ключами для шифрования хэш-значения пароля экрана блокировки.Calling the key management module to encrypt the hash value of the lock screen password. 10. Способ по п. 9, в котором способ дополнительно содержит:10. The method according to claim 9, in which the method additionally contains: получение пользовательской инструкции сброса, которая инициируется интерфейсом настройки; иreceiving a user reset instruction that is initiated by the configuration interface; And резервное копирование пятого зашифрованного текста и шестого зашифрованного текста в нестираемый раздел на основе пользовательской инструкции сброса.Backs up the fifth ciphertext and the sixth ciphertext to a non-erasable partition based on a user reset instruction. 11. Способ по п. 10, в котором резервное копирование пятого зашифрованного текста и шестого зашифрованного текста в нестираемый раздел на основе пользовательской инструкции сброса содержит:11. The method of claim 10, wherein backing up the fifth ciphertext and the sixth ciphertext to an indelible partition based on the user reset instruction comprises: дешифрование первого ключа из пятого зашифрованного текста и шестого зашифрованного текста на основе пользовательской инструкции сброса;decrypting the first key from the fifth ciphertext and the sixth ciphertext based on the user reset instruction; шифрование первого ключа с использованием значения по умолчанию для генерации седьмого зашифрованного текста;encrypting the first key using a default value to generate a seventh ciphertext; шифрование значения по умолчанию для генерации восьмого зашифрованного текста; иdefault encryption to generate the eighth ciphertext; And сохранение седьмого зашифрованного текста и восьмого зашифрованного текста в нестираемом разделе.storing the seventh ciphertext and the eighth ciphertext in an indelible section. 12. Способ по п. 11, в котором способ дополнительно содержит:12. The method according to claim 11, in which the method additionally contains: копирование седьмого зашифрованного текста и восьмого зашифрованного текста из нестираемого раздела в стираемый раздел после завершения пользовательского сброса;copying the seventh ciphertext and the eighth ciphertext from the non-erasable partition to the erasable partition after the user reset is completed; дешифрование первого ключа из седьмого зашифрованного текста и восьмого зашифрованного текста в стираемом разделе; иdecrypting a first key from the seventh ciphertext and the eighth ciphertext in the erased section; And дешифрование на основе первого ключа первого файла, зашифрованного во внешней памяти.decryption based on the first key of the first file encrypted in external memory. 13. Микросхема, содержащая процессор, в которой, когда процессор исполняет инструкции, процессор выполняет способ по любому одному из пп. 1-12.13. A chip comprising a processor, wherein when the processor executes instructions, the processor executes the method of any one of claims. 1-12. 14. Машиночитаемый носитель данных, в котором машиночитаемый носитель данных хранит компьютерную программу, и, когда компьютерная программа исполняется процессором, процессор может выполнять способ по любому одному из пп. 1-12.14. A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor may perform the method of any one of claims. 1-12.
RU2023102888A 2021-05-24 2022-05-11 Method for processing file stored in external memory RU2809740C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110566480.8 2021-05-24

Publications (2)

Publication Number Publication Date
RU2023102888A RU2023102888A (en) 2023-11-13
RU2809740C2 true RU2809740C2 (en) 2023-12-15

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7729690B1 (en) * 2006-02-15 2010-06-01 Trend Micro, Inc. Backup and restore of user data for mobile telephone
US20120185759A1 (en) * 2011-01-13 2012-07-19 Helen Balinsky System and method for collaboratively editing a composite document
US20140373184A1 (en) * 2013-06-12 2014-12-18 Lookout, Inc. Mobile device persistent security mechanism
CN105809045A (en) * 2016-03-15 2016-07-27 青岛海信移动通信技术股份有限公司 Method and device for processing equipment systems during data reset
US20170337390A1 (en) * 2016-05-18 2017-11-23 Qualcomm Incorporated Data protection at factory reset
US10164955B1 (en) * 2016-05-25 2018-12-25 Google Llc Volatile encryption keys
US20200151356A1 (en) * 2017-08-11 2020-05-14 Duality Technologies, Inc. System and method for fast and efficient searching of encrypted ciphertexts
CN111614698A (en) * 2017-04-28 2020-09-01 李丽萍 Method and device for erasing terminal data
CN112262548A (en) * 2019-02-28 2021-01-22 华为技术有限公司 File processing method and terminal equipment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7729690B1 (en) * 2006-02-15 2010-06-01 Trend Micro, Inc. Backup and restore of user data for mobile telephone
US20120185759A1 (en) * 2011-01-13 2012-07-19 Helen Balinsky System and method for collaboratively editing a composite document
US20140373184A1 (en) * 2013-06-12 2014-12-18 Lookout, Inc. Mobile device persistent security mechanism
CN105809045A (en) * 2016-03-15 2016-07-27 青岛海信移动通信技术股份有限公司 Method and device for processing equipment systems during data reset
US20170337390A1 (en) * 2016-05-18 2017-11-23 Qualcomm Incorporated Data protection at factory reset
US10164955B1 (en) * 2016-05-25 2018-12-25 Google Llc Volatile encryption keys
CN111614698A (en) * 2017-04-28 2020-09-01 李丽萍 Method and device for erasing terminal data
US20200151356A1 (en) * 2017-08-11 2020-05-14 Duality Technologies, Inc. System and method for fast and efficient searching of encrypted ciphertexts
CN112262548A (en) * 2019-02-28 2021-01-22 华为技术有限公司 File processing method and terminal equipment

Similar Documents

Publication Publication Date Title
CN111466099B (en) Login method, token sending method, device and storage medium
KR102503341B1 (en) Security service deletion method and electronic device
US20210149578A1 (en) Data Restoration Method Used When Terminal Is Restored to Factory Settings, and Terminal
EP4152198A1 (en) Method and apparatus for storing ciphertext
WO2021159746A1 (en) File sharing method and system, and related device
WO2020000448A1 (en) Flexible screen display method and terminal
WO2020015259A1 (en) Data backup method and terminal
WO2020107463A1 (en) Electronic device control method and electronic device
WO2021057982A1 (en) Application processing method and related product
WO2022089121A1 (en) Method and apparatus for processing push message
WO2022111469A1 (en) File sharing method and apparatus, and electronic device
CN116484431B (en) Data protection method, electronic equipment and storage medium
CN113590346B (en) Method and electronic equipment for processing service request
RU2809740C2 (en) Method for processing file stored in external memory
CN114692119A (en) Method for verifying application and electronic equipment
WO2020133477A1 (en) Data display method
WO2024032400A1 (en) Picture storage method and apparatus, and terminal device
WO2024061326A1 (en) Data protection method, and electronic device
WO2024046418A1 (en) Data protection method and electronic device
WO2024017332A1 (en) Method for controlling component, and related apparatus
CN114692132A (en) Application program control method and device, electronic equipment and readable storage medium
CN118051376A (en) Data backup method and electronic equipment
CN117784990A (en) Method and related device for displaying icons of application programs in task bar
CN116935869A (en) Audio data distribution method, electronic device and storage medium
CN117668863A (en) Data protection method and electronic equipment