{"action":"created","comment":{"url":"https://api.github.com/repos/kaaproject/kaa/pulls/comments/75446805","id":75446805,"diff_hunk":"@@ -9,77 +9,75 @@ sort_idx: 10\n {:toc}\n \n {% include variables.md %}\n- \n-Kaa establishes a mechanism to uniquely identify each endpoint and associated endpoint credentials. \n-This article contains brief description of endpoint authentication mechanism and also process of provisioning and validation of endpoint credentials and registration information.\n \n-## Endpoint Authentication\n+To function within the [Kaa platform]({{root_url}}Glossary/#kaa-platform), every [endpoint]({{root_url}}Glossary/#endpoint-ep) must be uniquely identified and provisioned with credentials.\n+This section discusses the process of endpoint authentication and the functionality of the Kaa Credentials service.\n \n-Kaa uses hybrid encryption system that is based on RSA with 2048-bit key pair and AES with 256(512)-bit key. \n-During the start of new session, endpoint delivers encrypted session key and the digital signature of this key.\n-Session key is a randomly generated AES key that is also encrypted with public key of the kaa node which serves this session or request. \n-Session key signature is based on the private key of the endpoint.\n-In order to authenticate endpoint and validate integrity of the request, kaa node validates signature of the session key.\n+## Endpoint authentication\n \n-Although other authentication strategies are possible they are out of scope of this article.\n+Kaa uses hybrid encryption system that is based on RSA with 2048-bit key pair and AES with 256(512)-bit key.\n+During the start of a new session, every endpoint sends an encrypted and digitally signed session key.\n+Session key is a randomly generated AES key that is also encrypted with public key of the Kaa node that handles this session or request.\n+The digital signature of a session key is based on the private key of the endpoint.\n+To authenticate an endpoint and validate its request, Kaa node validates the digital signature of the session key.\n \n-## Endpoint Registration\n+Although other authentication strategies are possible, they are out of scope of this section.\n \n-The endpoint registration is the process of initial communication setup that ensures that the endpoint is registered within the Kaa cluster \n-along with the corresponding security credentials and the endpoint profile. \n-It is not until the endpoint registers on the server that the Kaa framework services become available to the client application. \n-During the process of registration, the Kaa endpoint at first communicates with one or multiple Bootstrap services to obtain a list of available Operations services, \n-and then with the Operations service to submit the endpoint data and complete the registration.\n+## Endpoint registration\n \n+To function within a [Kaa cluster]({{root_url}}Glossary/#kaa-cluster), every endpoint must be registered using the security credentials and the endpoint profile.\n+During the registration process, the endpoint first communicates with one or multiple [Bootstrap services]({{root_url}}Glossary/#bootstrap-service) to obtain a list of available [Operations services]({{root_url}}Glossary/#operations-service).\n+Then it communicates with the Operations service to submit the endpoint data and complete the registration.","path":"doc/Programming-guide/Key-platform-features/Devices-provisioning-and-registration/index.md","position":46,"original_position":46,"commit_id":"bc6eb9ce614eb6b01e97514a7d8ca523138ccac7","original_commit_id":"bc6eb9ce614eb6b01e97514a7d8ca523138ccac7","user":{"login":"hunch7","id":15980649,"avatar_url":"https://avatars.githubusercontent.com/u/15980649?v=3","gravatar_id":"","url":"https://api.github.com/users/hunch7","html_url":"https://github.com/hunch7","followers_url":"https://api.github.com/users/hunch7/followers","following_url":"https://api.github.com/users/hunch7/following{/other_user}","gists_url":"https://api.github.com/users/hunch7/gists{/gist_id}","starred_url":"https://api.github.com/users/hunch7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hunch7/subscriptions","organizations_url":"https://api.github.com/users/hunch7/orgs","repos_url":"https://api.github.com/users/hunch7/repos","events_url":"https://api.github.com/users/hunch7/events{/privacy}","received_events_url":"https://api.github.com/users/hunch7/received_events","type":"User","site_admin":false},"body":"Done.","created_at":"2016-08-19T08:45:50Z","updated_at":"2016-08-19T08:45:50Z","html_url":"https://github.com/kaaproject/kaa/pull/997#discussion_r75446805","pull_request_url":"https://api.github.com/repos/kaaproject/kaa/pulls/997","_links":{"self":{"href":"https://api.github.com/repos/kaaproject/kaa/pulls/comments/75446805"},"html":{"href":"https://github.com/kaaproject/kaa/pull/997#discussion_r75446805"},"pull_request":{"href":"https://api.github.com/repos/kaaproject/kaa/pulls/997"}}},"pull_request":{"url":"https://api.github.com/repos/kaaproject/kaa/pulls/997","id":81841915,"html_url":"https://github.com/kaaproject/kaa/pull/997","diff_url":"https://github.com/kaaproject/kaa/pull/997.diff","patch_url":"https://github.com/kaaproject/kaa/pull/997.patch","issue_url":"https://api.github.com/repos/kaaproject/kaa/issues/997","number":997,"state":"open","locked":false,"title":"KAA-290: Endpoint provisioning and registration - reviewed.","user":{"login":"hunch7","id":15980649,"avatar_url":"https://avatars.githubusercontent.com/u/15980649?v=3","gravatar_id":"","url":"https://api.github.com/users/hunch7","html_url":"https://github.com/hunch7","followers_url":"https://api.github.com/users/hunch7/followers","following_url":"https://api.github.com/users/hunch7/following{/other_user}","gists_url":"https://api.github.com/users/hunch7/gists{/gist_id}","starred_url":"https://api.github.com/users/hunch7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hunch7/subscriptions","organizations_url":"https://api.github.com/users/hunch7/orgs","repos_url":"https://api.github.com/users/hunch7/repos","events_url":"https://api.github.com/users/hunch7/events{/privacy}","received_events_url":"https://api.github.com/users/hunch7/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-08-18T15:59:21Z","updated_at":"2016-08-19T08:45:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1fbe3658e41b0eadb0dc4ca0bff60011ca2ee830","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/kaaproject/kaa/pulls/997/commits","review_comments_url":"https://api.github.com/repos/kaaproject/kaa/pulls/997/comments","review_comment_url":"https://api.github.com/repos/kaaproject/kaa/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kaaproject/kaa/issues/997/comments","statuses_url":"https://api.github.com/repos/kaaproject/kaa/statuses/bc6eb9ce614eb6b01e97514a7d8ca523138ccac7","head":{"label":"hunch7:kaa-290-provisioning-review","ref":"kaa-290-provisioning-review","sha":"bc6eb9ce614eb6b01e97514a7d8ca523138ccac7","user":{"login":"hunch7","id":15980649,"avatar_url":"https://avatars.githubusercontent.com/u/15980649?v=3","gravatar_id":"","url":"https://api.github.com/users/hunch7","html_url":"https://github.com/hunch7","followers_url":"https://api.github.com/users/hunch7/followers","following_url":"https://api.github.com/users/hunch7/following{/other_user}","gists_url":"https://api.github.com/users/hunch7/gists{/gist_id}","starred_url":"https://api.github.com/users/hunch7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hunch7/subscriptions","organizations_url":"https://api.github.com/users/hunch7/orgs","repos_url":"https://api.github.com/users/hunch7/repos","events_url":"https://api.github.com/users/hunch7/events{/privacy}","received_events_url":"https://api.github.com/users/hunch7/received_events","type":"User","site_admin":false},"repo":{"id":62389542,"name":"kaa","full_name":"hunch7/kaa","owner":{"login":"hunch7","id":15980649,"avatar_url":"https://avatars.githubusercontent.com/u/15980649?v=3","gravatar_id":"","url":"https://api.github.com/users/hunch7","html_url":"https://github.com/hunch7","followers_url":"https://api.github.com/users/hunch7/followers","following_url":"https://api.github.com/users/hunch7/following{/other_user}","gists_url":"https://api.github.com/users/hunch7/gists{/gist_id}","starred_url":"https://api.github.com/users/hunch7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hunch7/subscriptions","organizations_url":"https://api.github.com/users/hunch7/orgs","repos_url":"https://api.github.com/users/hunch7/repos","events_url":"https://api.github.com/users/hunch7/events{/privacy}","received_events_url":"https://api.github.com/users/hunch7/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hunch7/kaa","description":"Kaa open-source middleware platform for building, managing, and integrating connected products with the Internet of Everything.","fork":true,"url":"https://api.github.com/repos/hunch7/kaa","forks_url":"https://api.github.com/repos/hunch7/kaa/forks","keys_url":"https://api.github.com/repos/hunch7/kaa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hunch7/kaa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hunch7/kaa/teams","hooks_url":"https://api.github.com/repos/hunch7/kaa/hooks","issue_events_url":"https://api.github.com/repos/hunch7/kaa/issues/events{/number}","events_url":"https://api.github.com/repos/hunch7/kaa/events","assignees_url":"https://api.github.com/repos/hunch7/kaa/assignees{/user}","branches_url":"https://api.github.com/repos/hunch7/kaa/branches{/branch}","tags_url":"https://api.github.com/repos/hunch7/kaa/tags","blobs_url":"https://api.github.com/repos/hunch7/kaa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hunch7/kaa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hunch7/kaa/git/refs{/sha}","trees_url":"https://api.github.com/repos/hunch7/kaa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hunch7/kaa/statuses/{sha}","languages_url":"https://api.github.com/repos/hunch7/kaa/languages","stargazers_url":"https://api.github.com/repos/hunch7/kaa/stargazers","contributors_url":"https://api.github.com/repos/hunch7/kaa/contributors","subscribers_url":"https://api.github.com/repos/hunch7/kaa/subscribers","subscription_url":"https://api.github.com/repos/hunch7/kaa/subscription","commits_url":"https://api.github.com/repos/hunch7/kaa/commits{/sha}","git_commits_url":"https://api.github.com/repos/hunch7/kaa/git/commits{/sha}","comments_url":"https://api.github.com/repos/hunch7/kaa/comments{/number}","issue_comment_url":"https://api.github.com/repos/hunch7/kaa/issues/comments{/number}","contents_url":"https://api.github.com/repos/hunch7/kaa/contents/{+path}","compare_url":"https://api.github.com/repos/hunch7/kaa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hunch7/kaa/merges","archive_url":"https://api.github.com/repos/hunch7/kaa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hunch7/kaa/downloads","issues_url":"https://api.github.com/repos/hunch7/kaa/issues{/number}","pulls_url":"https://api.github.com/repos/hunch7/kaa/pulls{/number}","milestones_url":"https://api.github.com/repos/hunch7/kaa/milestones{/number}","notifications_url":"https://api.github.com/repos/hunch7/kaa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hunch7/kaa/labels{/name}","releases_url":"https://api.github.com/repos/hunch7/kaa/releases{/id}","deployments_url":"https://api.github.com/repos/hunch7/kaa/deployments","created_at":"2016-07-01T11:51:08Z","updated_at":"2016-07-01T11:51:18Z","pushed_at":"2016-08-18T15:58:19Z","git_url":"git://github.com/hunch7/kaa.git","ssh_url":"git@github.com:hunch7/kaa.git","clone_url":"https://github.com/hunch7/kaa.git","svn_url":"https://github.com/hunch7/kaa","homepage":"http://www.kaaproject.org","size":140408,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kaaproject:develop","ref":"develop","sha":"194c3228730b28f82d50dd9cad85518381c3b16d","user":{"login":"kaaproject","id":6984613,"avatar_url":"https://avatars.githubusercontent.com/u/6984613?v=3","gravatar_id":"","url":"https://api.github.com/users/kaaproject","html_url":"https://github.com/kaaproject","followers_url":"https://api.github.com/users/kaaproject/followers","following_url":"https://api.github.com/users/kaaproject/following{/other_user}","gists_url":"https://api.github.com/users/kaaproject/gists{/gist_id}","starred_url":"https://api.github.com/users/kaaproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaaproject/subscriptions","organizations_url":"https://api.github.com/users/kaaproject/orgs","repos_url":"https://api.github.com/users/kaaproject/repos","events_url":"https://api.github.com/users/kaaproject/events{/privacy}","received_events_url":"https://api.github.com/users/kaaproject/received_events","type":"Organization","site_admin":false},"repo":{"id":17839346,"name":"kaa","full_name":"kaaproject/kaa","owner":{"login":"kaaproject","id":6984613,"avatar_url":"https://avatars.githubusercontent.com/u/6984613?v=3","gravatar_id":"","url":"https://api.github.com/users/kaaproject","html_url":"https://github.com/kaaproject","followers_url":"https://api.github.com/users/kaaproject/followers","following_url":"https://api.github.com/users/kaaproject/following{/other_user}","gists_url":"https://api.github.com/users/kaaproject/gists{/gist_id}","starred_url":"https://api.github.com/users/kaaproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaaproject/subscriptions","organizations_url":"https://api.github.com/users/kaaproject/orgs","repos_url":"https://api.github.com/users/kaaproject/repos","events_url":"https://api.github.com/users/kaaproject/events{/privacy}","received_events_url":"https://api.github.com/users/kaaproject/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kaaproject/kaa","description":"Kaa open-source middleware platform for building, managing, and integrating connected products with the Internet of Everything.","fork":false,"url":"https://api.github.com/repos/kaaproject/kaa","forks_url":"https://api.github.com/repos/kaaproject/kaa/forks","keys_url":"https://api.github.com/repos/kaaproject/kaa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kaaproject/kaa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kaaproject/kaa/teams","hooks_url":"https://api.github.com/repos/kaaproject/kaa/hooks","issue_events_url":"https://api.github.com/repos/kaaproject/kaa/issues/events{/number}","events_url":"https://api.github.com/repos/kaaproject/kaa/events","assignees_url":"https://api.github.com/repos/kaaproject/kaa/assignees{/user}","branches_url":"https://api.github.com/repos/kaaproject/kaa/branches{/branch}","tags_url":"https://api.github.com/repos/kaaproject/kaa/tags","blobs_url":"https://api.github.com/repos/kaaproject/kaa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kaaproject/kaa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kaaproject/kaa/git/refs{/sha}","trees_url":"https://api.github.com/repos/kaaproject/kaa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kaaproject/kaa/statuses/{sha}","languages_url":"https://api.github.com/repos/kaaproject/kaa/languages","stargazers_url":"https://api.github.com/repos/kaaproject/kaa/stargazers","contributors_url":"https://api.github.com/repos/kaaproject/kaa/contributors","subscribers_url":"https://api.github.com/repos/kaaproject/kaa/subscribers","subscription_url":"https://api.github.com/repos/kaaproject/kaa/subscription","commits_url":"https://api.github.com/repos/kaaproject/kaa/commits{/sha}","git_commits_url":"https://api.github.com/repos/kaaproject/kaa/git/commits{/sha}","comments_url":"https://api.github.com/repos/kaaproject/kaa/comments{/number}","issue_comment_url":"https://api.github.com/repos/kaaproject/kaa/issues/comments{/number}","contents_url":"https://api.github.com/repos/kaaproject/kaa/contents/{+path}","compare_url":"https://api.github.com/repos/kaaproject/kaa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kaaproject/kaa/merges","archive_url":"https://api.github.com/repos/kaaproject/kaa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kaaproject/kaa/downloads","issues_url":"https://api.github.com/repos/kaaproject/kaa/issues{/number}","pulls_url":"https://api.github.com/repos/kaaproject/kaa/pulls{/number}","milestones_url":"https://api.github.com/repos/kaaproject/kaa/milestones{/number}","notifications_url":"https://api.github.com/repos/kaaproject/kaa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kaaproject/kaa/labels{/name}","releases_url":"https://api.github.com/repos/kaaproject/kaa/releases{/id}","deployments_url":"https://api.github.com/repos/kaaproject/kaa/deployments","created_at":"2014-03-17T18:48:31Z","updated_at":"2016-08-19T06:06:06Z","pushed_at":"2016-08-18T23:31:00Z","git_url":"git://github.com/kaaproject/kaa.git","ssh_url":"git@github.com:kaaproject/kaa.git","clone_url":"https://github.com/kaaproject/kaa.git","svn_url":"https://github.com/kaaproject/kaa","homepage":"http://www.kaaproject.org","size":150239,"stargazers_count":417,"watchers_count":417,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":143,"mirror_url":null,"open_issues_count":33,"forks":143,"open_issues":33,"watchers":417,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kaaproject/kaa/pulls/997"},"html":{"href":"https://github.com/kaaproject/kaa/pull/997"},"issue":{"href":"https://api.github.com/repos/kaaproject/kaa/issues/997"},"comments":{"href":"https://api.github.com/repos/kaaproject/kaa/issues/997/comments"},"review_comments":{"href":"https://api.github.com/repos/kaaproject/kaa/pulls/997/comments"},"review_comment":{"href":"https://api.github.com/repos/kaaproject/kaa/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kaaproject/kaa/pulls/997/commits"},"statuses":{"href":"https://api.github.com/repos/kaaproject/kaa/statuses/bc6eb9ce614eb6b01e97514a7d8ca523138ccac7"}}}}
{"actor":{"display_login":"hunch7"}}