Consider two closed convex cones $A$ and $B$ in $\mathbb{R}^3$. Assume that they are convex even without zero vector, i.e. $A \setminus \{0\}$ and $B \setminus \{0\}$ are also convex (it helps to avoid weird cases like a plane being convex cone). Suppose that they do not have common directions, i.e. $A \cap B = \{0\}$. It seems that in this case there must exist a strict separating plane, i.e. there exists some unit vector $d$ such that $d \cdot a > 0$ for $a \in A \setminus \{0\}$ and $d \cdot b < 0$ for $b \in B \setminus \{0\}$.

I have tried to prove it myself, but to no avail. If we take a unit sphere $S$, then we may consider convex sets $\mathcal{H}(A \cap S)$ and $\mathcal{H}(B \cap S)$. They are compact and disjoint, so perpendicular bisector between the pair of closest points should separate these sets. If these two closest points are both on unit sphere $S$, then the bisector passes through origin and everything is OK. But in other cases the bisector is not helpful.

After some searching, I have found several topics which may be related to the question:

- Hahn–Banach separation theorem gives separating plane for convex sets. However, the plane provided may touch both cones.
- Farkas's lemma also provides a separating plane for cones. But in classical formulation one cone must be a ray, and the other one must be cone hull of finite number of vectors. Also, the separating plane constructed is nonstrict for one of the cones.
- $A \cap S$ and $B \cap S$ should be geodesically convex on the unit sphere $S$. Since they do not intersect, there might be a strict separating big circle between them. I'm not even sure how to treat this sort of objects though.

I would be glad to see either a reference to literature or a simple proof.