Go to file
openharmony_ci 7fb01e857d
!1024 fuzz覆盖率提升
Merge pull request !1024 from 陈伟健/master
2024-08-29 12:40:23 +00:00
common fix 2024-08-29 11:22:06 +08:00
figures update readme 2022-07-08 10:36:37 +08:00
frameworks !1017 增加判空 2024-08-29 06:30:51 +00:00
interfaces/inner_api !1007 Initialize to null 2024-08-23 03:23:45 +00:00
param fingerprint disable support 2023-12-07 09:18:12 +00:00
sa_profile UserAuth SA侧自定义事件没有权限控制,需要增加发送方的发送权限和接收方的权限校验 2024-08-24 02:17:33 +00:00
services !1017 增加判空 2024-08-29 06:30:51 +00:00
test fuzz覆盖率提升 2024-08-29 19:43:45 +08:00
user_auth_icon dos2unix files 2024-04-28 14:43:21 +08:00
.gitignore add userauth executor 2022-05-08 22:46:36 +08:00
bundle.json bundle.json中新增features开关 2024-07-17 10:41:57 +08:00
cfi_blocklist.txt fix : Security and privacy compliance 2023-09-02 07:21:54 +00:00
CODEOWNERS move ipc code to single .h file and add CODEOWNERS file 2023-07-01 06:29:14 +00:00
hisysevent.yaml update hisysevent.yaml. 2024-08-23 19:05:29 +00:00
LICENSE fix UserAuth issue 2022-03-12 20:47:37 +08:00
OAT.xml fix : update pin_auth user_auth idl to 2_0 2024-04-02 11:59:49 +08:00
README_ZH.md update readme 2022-07-11 14:22:45 +08:00
README.md fix : update pin_auth user_auth idl to 2_0 2024-04-02 11:59:49 +08:00

Unified User Authentication (userauth)

Introduction

As a basic component of the User Identity & Access Management (IAM) subsystem, Unified User Authentication (userauth) implements unified user authentication and provides biometric feature authentication APIs to third-party applications.

Figure 1 userauth architecture

userauth_architecture

The userauth APIs support user authentication of the target Authentication Trust Level (ATL). The target ATL is specified by the service. The target user ID can be specified by the service (system service or basic system application) or obtained from the system context (third-party application).

Directory Structure

//base/useriam/user_auth_framework
├── frameworks          # Framework code
├── interfaces          # Directory for storing external interfaces
│   └── innerkits       # Header files exposed to the internal subsystems
├── sa_profile          # Profile of the Service ability
├── services            # Implementation of the Service ability
├── test                # Directory for storing test code
├── utils               # Directory for storing utility code
├── bundle.json         # Component description file
└── userauth.gni        # Build configuration

Usage

Available APIs

Table 1 APIs for unified user authentication

API Description
getAvailableStatus(authType : AuthType, authTrustLevel : AuthTrustLevel) : number; Obtains the available authentication status.
auth(challenge: BigInt, authType : AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): BigInt; Performs user authentication.

Usage Guidelines

  • Vendors must implement the following in a Trusted Execution Environment (TEE):
  1. Authentication scheme: Determine the user authentication scheme based on the user credentials entered and the target ATL.
  2. Authentication result evaluation: Evaluate whether the authentication reaches the target ATL based on the authentication result returned by the executor.
  • The APIs defined in the header file user_auth/v1_0/IUserAuthInterface.idl in the drivers_interface repository must be implemented in a TEE, and the security of user authentication scheme and result evaluation must be ensured.

Repositories Involved

useriam_user_auth_framework

useriam_pin_auth

useriam_face_auth

drivers_peripheral

drivers_interface