mirror of
https://github.com/FeitianTech/OpenSK_USB.git
synced 2026-08-28 10:40:45 -07:00
add OpenUSB files
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
.DS_Store
|
||||||
|
site/
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
##Feitian Technologies US, Inc.
|
||||||
|
- Website: https://xpasskey.com
|
||||||
|
- Online Store: https://shop.ftsafe.us [US & CANADA]
|
||||||
|
- Amazon Store: https://www.amazon.com/s?me=A30V4CZBKPUCSD&marketplaceID=ATVPDKIKX0DER
|
||||||
|
|
||||||
|
##Feitian Technologies Co., Ltd.
|
||||||
|
- Website: https://www.ftsafe.com
|
||||||
|
- Online Store: https://www.ftsafe.com/Store [Other regions]
|
||||||
|
- Alibaba Store: https://ftsafe.en.alibaba.com/ [Other regions]
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# Overview
|
||||||
|
|
||||||
|
We have two types of OpenSK, V1 and V2. They have almost same schematic but different casing.
|
||||||
|
|
||||||
|
-----
|
||||||
|
## OpenSK V1
|
||||||
|
<img alt="OpenSK V1" src="../images/K46_with_label_reset.png" width="300px">
|
||||||
|
|
||||||
|
### 1. Switch To DFU mode
|
||||||
|
After connect OpenSK to USB port, please insert a paper clip or a SIM-eject tool to the RESET button hole to switch it to DFU mode. This is similar as user push the RESET button on original nRF52840 USB dongle.
|
||||||
|
|
||||||
|
!!! note "NOTE"
|
||||||
|
RESET button hole is covered by OpenSK label. So if you want to program the firmware occasionally, you can choose not to cover the label although we send the label to you together with OpenSK hardware.
|
||||||
|
|
||||||
|
### 2. LED status
|
||||||
|
| LED behaviour | Mode type | Triger Method |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| Blue LED is breathing | DFU mode | Use a paper clip or a SIM-eject tool to push RESET button in RESET button hole |
|
||||||
|
| Blue LED is flashing | DFU mode | Flashing the firmware |
|
||||||
|
| No LED on | Working mode | Idle |
|
||||||
|
| R/G/B LED is flashing | Working mode | Wait for user presence when receiving FIDO command |
|
||||||
|
|
||||||
|
### 3. Hardware
|
||||||
|
The hardawre schematic and PCB files can be downloaded [here](hardware_files/OpenSK_V1.zip).
|
||||||
|
|
||||||
|
-----
|
||||||
|
## OpenSK V2
|
||||||
|
<img alt="OpenSK V1" src="../images/G9_OpenSK_logo.png" width="400px">
|
||||||
|
|
||||||
|
!!! note "NOTE"
|
||||||
|
The LED and User button are together. The button material is transparent, so user can see LED light through the button.
|
||||||
|
|
||||||
|
### 1. Switch To DFU mode
|
||||||
|
after user connect the device to computer, user should push and hold on the user button for more than 8 seconds, then OpenSK will be in DFU mode.
|
||||||
|
|
||||||
|
### 2. LED status
|
||||||
|
| LED behaviour | Mode type | Triger Method |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| Red LED is breathing | DFU mode | Use a paper clip or a SIM-eject tool to push RESET button in RESET button hole |
|
||||||
|
| Red LED is flashing | DFU mode | Flashing the firmware |
|
||||||
|
| No LED on | Working mode | Idle |
|
||||||
|
| R/G/B LED is flashing | Working mode | Wait for user presence when receiving FIDO command |
|
||||||
|
### 3. Hardware
|
||||||
|
The hardawre schematic and PCB are shared [here](hardware_files/OpenSK_V2.zip).
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 173 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 4.2 KiB |
+107
@@ -0,0 +1,107 @@
|
|||||||
|
# <img alt="OpenSK logo" src="images/OpenSK.svg" width="200px">
|
||||||
|
## Welcome to OpenSK USB Dongle
|
||||||
|
|
||||||
|
OpenSK was [announced](https://security.googleblog.com/2020/01/say-hello-to-opensk-fully-open-source.html "Say hello to OpenSK: a fully open-source security key implementation") by Google at January 30, 2020. It is a fully open-source FIDO security key implementation, include hardware and software.
|
||||||
|
In this [**announcement**](https://security.googleblog.com/2020/01/say-hello-to-opensk-fully-open-source.html "Say hello to OpenSK: a fully open-source security key implementation"), Google said
|
||||||
|
```
|
||||||
|
By opening up OpenSK as a research platform, our hope is that
|
||||||
|
it will be used by researchers, security key manufacturers,
|
||||||
|
and enthusiasts to help develop innovative features and
|
||||||
|
accelerate security key adoption.
|
||||||
|
```
|
||||||
|
The firmware of OpenSK is developed in Rust and it implements both FIDO U2F and FIDO2 [specifications](https://fidoalliance.org/specs/fido2/fido-client-to-authenticator-protocol-v2.1-rd-20191217.html). These specifications are released by [FIDO Alliance](https://fidoalliance.org/ "FIDO Alliance"), which is an open industry association with a focused mission: authentication standards to help reduce the world’s over-reliance on passwords. FEITIAN is the Board Member.
|
||||||
|
|
||||||
|
To help and accelerate FIDO security key adoption, FEITIAN improves the housing and makes new design of OpenSK USB Dongle, remove unused PCB components, public the design. Users can build firmware from source code of [Google OpenSK github repository](https://github.com/google/opensk "OpenSK") without changing anything, provision it to this OpenSK hardware, to experence and try [FIDO](https://fidoalliance.org/ "FIDO Alliance") authentications.
|
||||||
|
|
||||||
|
Before you try to program firmware to OpenSK, please read original [OpenSK guide](https://github.com/google/OpenSK) at first. The following documents are most like additional remarks.
|
||||||
|
|
||||||
|
### OpenSK Model
|
||||||
|
We have two model of OpenSK USB Dongle, V1 and V2. They are designed according to [nRF52840 USB dongle](https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52840-Dongle), which is used by Google OpenSK firmware. The difference between V1 and V2 is the method to Trigger DFU mode after connect it to USB port.
|
||||||
|
|
||||||
|
To OpenSK V1, user should insert a paper clip or a SIM-eject tool to the RESET button hole to switch it to DFU mode. This is similar as user push the RESET button on nRF52840 USB dongle.
|
||||||
|
|
||||||
|
To OpenSK V2, after user connect the device to computer, he should push and hold on the user button for more 8 seconds, then OpenSK will be in DFU mode.
|
||||||
|
|
||||||
|
For detailed informations, please refer to [hardware description page](./hardware.md).
|
||||||
|
|
||||||
|
## Programming firmware
|
||||||
|
|
||||||
|
### Pre-requisite
|
||||||
|
|
||||||
|
- The OpenSK USB Dongle V1 or V2.
|
||||||
|
Before you program the firmware to OpenSK USB Dongle, you should switch it to DFU mode. Please refer to [Harware Page](./hardware.md) to learn how to switch OpenSK to DFU mode.
|
||||||
|
- Read Original OpenSK guide.
|
||||||
|
Before you perform following opertaions, please read [OpenSK](https://github.com/google/opensk) and its [installation guide](https://github.com/google/OpenSK/blob/master/docs/install.md) to learn how to customize your security key, for example, to change the signature counter mechnisam and Attestation Certificate.
|
||||||
|
|
||||||
|
### Develop Environment and configuration
|
||||||
|
1. Prepare develop environment.
|
||||||
|
You should prepare developing environment by yourself according to [this section](https://github.com/google/OpenSK/blob/master/docs/install.md#software).
|
||||||
|
2. Clone [Google OpenSK github repository](https://github.com/google/opensk "OpenSK").
|
||||||
|
```
|
||||||
|
$ git clone --recursive https://github.com/google/OpenSK.git
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Initial setup.
|
||||||
|
If you just cloned this repository, you need to run the following script:
|
||||||
|
```
|
||||||
|
$ ./setup.sh
|
||||||
|
```
|
||||||
|
For more information, please refer to [Initial setup](https://github.com/google/OpenSK/blob/master/docs/install.md#initial-setup).
|
||||||
|
|
||||||
|
4. Configure the OpenSK security parameter.
|
||||||
|
Please follow the description to change [Attestation Certificate](https://github.com/google/OpenSK/blob/master/docs/install.md#replacing-the-certificates) as you want. If you are not familar with OpenSK and FIDO, we recommend you do not change anything.
|
||||||
|
|
||||||
|
### LED status
|
||||||
|
The LEDs show different behaviour in DFU mode and working mode.
|
||||||
|
|
||||||
|
##### OpenSK V1
|
||||||
|
| LED behaviour | Mode type | Triger Method |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| Blue LED is breathing | DFU mode | Use a paper clip or a SIM-eject tool to push RESET button in RESET button hole |
|
||||||
|
| Blue LED is flashing | DFU mode | Flashing the firmware |
|
||||||
|
| No LED on | Working mode | Idle |
|
||||||
|
| R/G/B LED is flashing | Working mode | Wait for user presence when receiving FIDO command |
|
||||||
|
|
||||||
|
##### OpenSK V2
|
||||||
|
| LED behaviour | Mode type | Triger Method |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| Red LED is breathing | DFU mode | Use a paper clip or a SIM-eject tool to push RESET button in RESET button hole |
|
||||||
|
| Red LED is flashing | DFU mode | Flashing the firmware |
|
||||||
|
| No LED on | Working mode | Idle |
|
||||||
|
| R/G/B LED is flashing | Working mode | Wait for user presence when receiving FIDO command |
|
||||||
|
|
||||||
|
### Flashing the firmware
|
||||||
|
|
||||||
|
Although you can download the firmware to our OpenSK V1 and V2 by using J-LINK as described in [OpenSK installation guide](https://github.com/google/OpenSK/blob/master/docs/install.md), we recommend you program the firmware through USB interface, it is more convenient.
|
||||||
|
|
||||||
|
1. Switch OpenSK to DFU mode.
|
||||||
|
Please refer to [OpenSK Model](./index.md#opensk-model) or [hardware description page](./hardware.md) to learn how to switch OpenSK to DFU mode.
|
||||||
|
The LEDs show different behaviour in differet mode. Please refer to [LED status](./hardware.md#LED) .
|
||||||
|
2. Program the OpenSK USB dongle.
|
||||||
|
```
|
||||||
|
$ ./deploy.py --board=nrf52840_dongle_dfu --opensk --programmer=nordicdfu
|
||||||
|
```
|
||||||
|
When prompt
|
||||||
|
```
|
||||||
|
Press [ENTER] when ready.
|
||||||
|
```
|
||||||
|
Just press Enter, the firmware will be flahsed to your OpenSK USB Dongle.
|
||||||
|
|
||||||
|
3. Lock the working mode.
|
||||||
|
```
|
||||||
|
$ ./deploy.py --board=nrf52840_dongle_dfu --programmer=nordicdfu --no-app --dont-clear-apps
|
||||||
|
```
|
||||||
|
When prompt
|
||||||
|
```
|
||||||
|
Press [ENTER] when ready.
|
||||||
|
```
|
||||||
|
Please press Enter and wait for the progress bar to be end.
|
||||||
|
|
||||||
|
Without Step 3, your USB Dongle will return to DFU mode when you remove and reinsert it. This step just locks the working mode unless you do Step 1 to swith it to DFU mode again.
|
||||||
|
|
||||||
|
!!! note "NOTE"
|
||||||
|
1. Step 2 and Step 3 are learned from [this discussion](https://github.com/google/OpenSK/issues/81 "Flash USB dongle without additional hardware"). The steps may change in the future.
|
||||||
|
2. Above commands are examples on macOS. If you use Linux and Windows, there may be some difference.
|
||||||
|
|
||||||
|
### Test FIDO functions
|
||||||
|
Please refer to [Test Page](./test.md).
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
Congratulations that you have got your own OpenSK USB dongle, now you can try FIDO functions to do fast online authentication. OpenSK implements [FIDO2(CTAP2)](https://fidoalliance.org/fido2/) and FIDO U2F specifications, it can support any website leveraging [W3C WebAuthN](https://www.w3.org/TR/webauthn/).
|
||||||
|
|
||||||
|
##Manage OpenSK
|
||||||
|
There are two ways to manage your OpenSK USB Dongle, include Reset, Set and Change PIN.
|
||||||
|
####Windows Settings
|
||||||
|
1. Open the **Windows Settings app**, select **Accounts**, select **Sign-in options**, select **Security Key**, and then select **Manage**.
|
||||||
|
2. You can then attach OpenSK to USB port to manage it as as you want.
|
||||||
|
|
||||||
|
!!! note "NOTE"
|
||||||
|
1. Please refer to [Microsoft Document](https://docs.microsoft.com/en-us/azure/active-directory/user-help/security-info-setup-security-key#manage-your-security-key-settings-from-windows-settings "Manage your security key settings from Windows Settings") for detailed information.
|
||||||
|
2. **Security Key** option in **Windows Settings** is only available from Windows 10 1903.
|
||||||
|
|
||||||
|
####Chrome Browser
|
||||||
|
1. From Chrome browser, select **Preferences...**, search **security key**, click **More** to expand, you can see **Manage security keys** at the bottom of the page.
|
||||||
|
2. Select **Manage security keys** to open a new page, then you can do corresponding operations following the tips.
|
||||||
|
|
||||||
|
!!! note "NOTE"
|
||||||
|
1. The alternative way to open Security Key Setting UI from Chrome is open **chrome://settings/securityKeys**.
|
||||||
|
2. I don't know the exact version of Chrome which started to add this UI, but please update it to latest version to have this function.
|
||||||
|
|
||||||
|
##Demo Websites
|
||||||
|
There are a lot of Demo websites list [here](https://github.com/herrjemand/awesome-webauthn#demos), you can try and test.
|
||||||
|
|
||||||
|
|
||||||
|
!!! warning "WARNING"
|
||||||
|
I can not guaranty that all the website can work well with OpenSK.
|
||||||
|
|
||||||
|
##Real use cases
|
||||||
|
There are a lot of online servides which can user FIDO2/U2F to do 2FA or passwordless authentication, please refer to [FEITIAN website](https://www.ftsafe.com/article/620.html) and click corresponding service ICON to learn.
|
||||||
|
|
||||||
|
Here just emphasize services from two big FIDO players, Google and Microsoft.
|
||||||
|
|
||||||
|
### Google
|
||||||
|
#### - Google 2-Step Verification
|
||||||
|
- Please refer to [Google's help](https://support.google.com/accounts/answer/185839?co=GENIE.Platform%3DAndroid&hl=en) to bind OpenSK to your Google services. Or
|
||||||
|
- Take a look at 2.2 of [Feitian's help document](https://www.ftsafe.com/download/webdownload/FIDO/Manual/FEITIAN%20U2F%20scenarios%20instructions.pdf) to bind and try OpenSK instead of ePass FIDO security key.
|
||||||
|
|
||||||
|
#### - Googel Advanced Protection
|
||||||
|
- Please refer to [landing page](https://landing.google.com/advancedprotection/) or [help page](https://support.google.com/accounts/answer/7519408?co=GENIE.Platform%3DAndroid&hl=en&oco=0) of Google Advanced Protection to get how to setup.
|
||||||
|
|
||||||
|
### Microsoft
|
||||||
|
#### Microsoft Account Passwordless Logon
|
||||||
|
- Please refer to [Microsoft Blog](https://www.microsoft.com/en-us/microsoft-365/blog/2018/11/20/sign-in-to-your-microsoft-account-without-a-password-using-windows-hello-or-a-security-key/) to learn how to do Microsoft Account Passwordless Logon with FIDO2 security keys. Or
|
||||||
|
- Take a look at Chapter 2.2 of [FEITIAN FIDO2 scenarios](https://download.ftsafe.com/files/FIDO/fido2/FEITIAN%20FIDO2%20scenarios%20instructions.pdf) to configure OpenSK with Microsoft Account step by step.
|
||||||
|
|
||||||
|
### Others
|
||||||
|
Surely there are a lot of other online services except for Google's and Microsoft's, you can learn from
|
||||||
|
- [FIDO2 Scenarios](https://download.ftsafe.com/files/FIDO/fido2/FEITIAN%20FIDO2%20scenarios%20instructions.pdf) and [U2F Scenarios](https://www.ftsafe.com/download/webdownload/FIDO/Manual/FEITIAN%20U2F%20scenarios%20instructions.pdf) from Feitian's resources.
|
||||||
|
- [Knowledge Base](https://xpass.freshdesk.com/support/solutions/60000318639) from Feitian
|
||||||
|
|
||||||
|
|
||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
site_name: OpenSK USB Dongle
|
||||||
|
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
features:
|
||||||
|
- instant
|
||||||
|
- tabs
|
||||||
|
palette:
|
||||||
|
scheme: default
|
||||||
|
primary: indigo
|
||||||
|
accent: indigo
|
||||||
|
logo: images/OpenSK.png
|
||||||
|
#favicon: images/OpenSK.png
|
||||||
|
extra:
|
||||||
|
social:
|
||||||
|
- icon: fontawesome/brands/github-alt
|
||||||
|
link: https://github.com/FeitianTech
|
||||||
|
- icon: fontawesome/brands/twitter
|
||||||
|
link: https://twitter.com/FEITIAN_Tech
|
||||||
|
- icon: fontawesome/brands/linkedin
|
||||||
|
link: https://www.linkedin.com/company/feitian-technologies-co.-ltd./
|
||||||
|
markdown_extensions:
|
||||||
|
- admonition
|
||||||
|
- codehilite:
|
||||||
|
guess_lang: false
|
||||||
|
linenums: false
|
||||||
|
- toc:
|
||||||
|
permalink: true
|
||||||
|
- footnotes
|
||||||
|
- meta
|
||||||
|
- def_list
|
||||||
|
- pymdownx.arithmatex
|
||||||
|
- pymdownx.betterem:
|
||||||
|
smart_enable: all
|
||||||
|
- pymdownx.caret
|
||||||
|
- pymdownx.critic
|
||||||
|
- pymdownx.details
|
||||||
|
- pymdownx.emoji:
|
||||||
|
emoji_generator: !!python/name:pymdownx.emoji.to_png
|
||||||
|
- pymdownx.inlinehilite
|
||||||
|
- pymdownx.magiclink
|
||||||
|
- pymdownx.mark
|
||||||
|
- pymdownx.smartsymbols
|
||||||
|
- pymdownx.superfences
|
||||||
|
- pymdownx.tasklist
|
||||||
|
- pymdownx.tilde
|
||||||
|
|
||||||
|
nav:
|
||||||
|
- Home: 'index.md'
|
||||||
|
- Hardware: 'hardware.md'
|
||||||
|
- Test FIDO: 'test.md'
|
||||||
|
- About: 'about.md'
|
||||||
|
copyright: Copyright © 2020 Feitian Technologies
|
||||||
Reference in New Issue
Block a user