throbber
10/14/2020
`
`Authentication and Authorization
`
`Authentication and Authorization
`
`Code security protects the normal, day-to-day operations of an app, tool, or daemon. But what happens when your code is under
`siege? It is often essential to know not only what the user is doing but also who the user is and whether the user is allowed to do
`that. This is where authentication and authorization come into play.
`
`Authentication
`
`“If you know yourself but not your enemy, for every victory gained you will also suffer a defeat.”
`—Sun Tzu,
`
`When securing software, the first thing you must do is find a way to distinguish friend from foe. This process is called
`.
`In computer security, authentication verifies the identity of a user or service. Authentication usually serves one of two purposes:
`
`As a precursor to authorization, identifying the requesting entity to determine whether that entity should have permission to
`perform an operation
`For producing an audit trail by logging who performed an operation so that blame can be cast when something breaks
`
`Three types of authentication are most common:
`
` Verifying a user’s identity is usually performed by the operating system as the first step in
`authorization. If your code is running as a normal user, the operating system limits what your code can do based on that user’s
`permissions. Your code can also ask the operating system for the identity of the user for auditing purposes.
` Verifying the authenticity of a remote server is often necessary—for example, to determine
`whether it is safe to send credit card information to a specific website. (Digital certificates, described in the next chapter, are a
`common way to achieve this.)
` Users are often authenticated by remote servers when performing certain tasks. Authenticating a
`user remotely requires that your code send credentials in some form, such as a password, a cookie, or a digital certificate.
`
`Authorization
`
`Authorization is the process by which an entity such as a user or a server gets permission to perform a restricted operation. The
`term is also often used to refer to the right itself, as in “The soldier has authorization to enter the command bunker.”
`
`The difference between authentication and authorization is somewhat subtle. Often, the mere fact that a user has an account
`means that the user is authorized to do something, in which case authentication and authorization are the same thing. However, in
`more complex systems, the difference becomes more obvious.
`
`Consider a computer with two users. Each user is known to the system. Therefore, both users can each log in to the computer, and
`it authenticates them. However, neither user is authorized to modify the other’s files, and as a result, neither user can do so.
`
`The details of authorization depend on whether you are using iOS or macOS.
`In iOS, the user can set a passcode (which by default is a four-digit personal identification number) to prevent unauthorized use of
`the device. After entering this passcode, the user of the device is presumed to be authorized to use the device. In addition, each
`app is digitally signed and can therefore be authenticated by the operating system. Therefore, there are no user authentication or
`authorization APIs in iOS.
`
`In macOS, there are several layers of authorization:
`
`If FileVault 2 (full-disk encryption) is enabled, the computer requires a password to decrypt the boot volume.
`If automatic login is disabled, macOS displays a login screen after booting.
`macOS also displays a login screen when the user logs out.
`
`https://developer.apple.com/library/archive/documentation/Security/Conceptual/Security_Overview/AuthenticationAndAuthorization/Authenticatio… 1/2
`
`Apple v. Maxell
`IPR2020-00202
`Maxell Ex. 2025
`
`Page 1 of 2
`
`The Art of War
`authentication
`Local user authentication.
`Network host authentication.
`Remote user authentication.
`

`

`Authentication and Authorization
`10/14/2020
`If the appropriate checkbox in the Security system preferences pane is checked, macOS displays a login screen when waking
`from sleep or when leaving a screen saver.
`When an app or tool requests access to a locked keychain, a password is required.
`If an app or tool needs elevated privileges, an administrator password is required.
`Some apps may restrict access to parts of their functionality through the Authorization Services API.
`
`In addition, on both macOS and iOS, some apps may require you to log in to a remote server, which in turn performs authentication
`and authorization.
`
`To Learn More
`
`For a more detailed conceptual overview of authentication and authorization in macOS, read
`.
`You can also learn about other Apple and third-party security books in Other Security Resources.
`
`Copyright © 2012 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2012-12-13
`
`https://developer.apple.com/library/archive/documentation/Security/Conceptual/Security_Overview/AuthenticationAndAuthorization/Authenticatio… 2/2
`
`Apple v. Maxell
`IPR2020-00202
`Maxell Ex. 2025
`
`Page 2 of 2
`
`Authentication, Authorization, and
`Permissions Guide
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket